	// Detect browser for Flash
	var isIE = (navigator.appName == 'Microsoft Internet Explorer');
	var isWin = ( navigator.userAgent.indexOf('Windows') != -1 );
	
	var flashEnabled = false;
	var flash4Installed = false;
	var flash5Installed = false;
	var flash6Installed = false;
	var flash7Installed = false;
	var flash8Installed = false;
	
	if(isIE && isWin){
		document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');  // Must break up tag so it doesn't break our script
		document.write('on error resume next \n');
		document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
		document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');	
		document.write('flash6Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');	
		document.write('flash7Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7"))) \n');
		document.write('flash8Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.8"))) \n');
		document.write('</SCR' + 'IPT\> \n'); 		// Must break up tag so it doesn't break our script
	}
	
	if( navigator.plugins && (navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]) ) {
		var flashName = navigator.plugins["Shockwave Flash 2.0"] ? "Shockwave Flash 2.0" : "Shockwave Flash";
		var flashDesc = navigator.plugins[flashName].description;
		var flashVersion = parseInt(flashDesc.charAt(flashDesc.indexOf(".")-1));
		flash4Installed = flashVersion == 4 || flashVersion == 5;
		flash5Installed = flashVersion == 5;
		flash6Installed = flashVersion == 6;
		flash7Installed = flashVersion == 7;
		flash8Installed = flashVersion == 8;
	}
	
	flashEnabled =  flash4Installed || flash5Installed || flash6Installed || flash7Installed || flash8Installed ? true : flashEnabled;

	// Check to see if user has cookies enabled
	function cookiesEnabled () {
	/**************************************************************************
	Version: 1.0
	Date: 06-28-2004
	Description: RealTime check wether user has cookies disabled\enabled.
	***************************************************************************/
	cookieSet('test', 'sitehelptest', 180, '/' );
	var cookieTest = cookieGet('test');
     	if (cookieTest == "") { 
     		return false; 
     	} else {
     		cookieDelete('test', '/');
     		return true;
     	}
     }
	// delete a cookie
	function cookieDelete(name, path, domain) {
		/***********************************************************
		Version 1.0
		Date: 03-23-04
		Description: Deletes a cookie
		************************************************************/
		var value = cookieGet(name);
		if (value != null) {
			document.cookie = name + '=' + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + '; expires=Thu, 01-Jan-70 00:00:01 GMT';
		}
		return value;
	}
	// retrieve a cookie
	function cookieGet(name) {
		/***********************************************************
		Version 1.0
		Date: 03-23-04
		Description: Gets a cookie value
		************************************************************/
		var docCookie = document.cookie;
		// find beginning of cookie value in document.cookie
		var prefix = name + "=";
		var start = docCookie.indexOf("; " + prefix);
		if (start == -1) {
			start = docCookie.indexOf(prefix);
			if (start != 0) return null;
		}	else {
			start += 2;
		}	
		var end = docCookie.indexOf(";", start);
		if (end == -1) {
			end = docCookie.length;
		}
		return unescape(docCookie.substring(start + prefix.length, end));
	}
	// set a cookie
	function cookieSet(name, value, daysToKeep, path, domain, secure) {
		/***********************************************************
		Version 1.0
		Date: 03-23-04
		Description: Sets a cookie value
		************************************************************/
		var today = new Date();
		var expires = new Date();
		if( !daysToKeep ) { daysToKeep = 1; }
		expires.setTime(today.getTime() + 3600000*24*daysToKeep);
		var tmpCookie = name + '=' + escape(value) + ((expires) ? '; expires=' + expires.toGMTString() : '') + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + ((secure) ? '; secure' : '');
		document.cookie = tmpCookie;
	}
	/*********************************************************************
		Version 1.0
		Date: 03-23-04
		Description: Checks for valid form information 
					 on locate a dealer global header
	**********************************************************************/
	function CheckDealerLocator() {
		var frmLocator = document.forms["find_dealer"];
		
		if(frmLocator.txtSearchBy.value == "") {
			alert("You must provide dealer search criteria.");
			return false;
		}
		if(frmLocator.txtSearchBy.value == "City, State or Zip") {
			alert("You must provide dealer search criteria.");
			return false;
		}
		cookieSet("dlr_search", frmLocator.txtSearchBy.value, 180, '/');
		if((IsNumeric(frmLocator.txtSearchBy.value)) && (IsZipCode(frmLocator.txtSearchBy.value))) {
			cookieSet("zip", frmLocator.txtSearchBy.value, 180, '/');
		}
		return true;
	}
	function ChangeStoredZip() {
		var frmZip = document.forms["frmChangeZip"];
		if((IsNumeric(frmZip.txtZip.value)) && (IsZipCode(frmZip.txtZip.value))) {
			cookieSet("zip", frmZip.txtZip.value, 180, '/');
			cookieSet("dlr_search", frmZip.txtZip.value, 180, '/');
			document.location.reload();
		}
	}
	/*********************************************************************
		Version 1.0
		Date: 03-23-04
		Description: Checks for valid form information 
					 on locate a dealer global header
	**********************************************************************/
	function CheckCPODealerLocator() {
		var frmLocator = document.forms["frmCPO"];
		
		if(frmLocator.txtSearchBy.value == "") {
			alert("You must provide dealer search criteria.");
			return false;
		}
		if(frmLocator.txtSearchBy.value == "City, State or Zip") {
			alert("You must provide dealer search criteria.");
			return false;
		}
		cookieSet("dlr_search", frmLocator.txtSearchBy.value, 180, '/');
		if((IsNumeric(frmLocator.txtSearchBy.value)) && (IsZipCode(frmLocator.txtSearchBy.value))) {
			cookieSet("zip", frmLocator.txtSearchBy.value, 180, '/');
		}
		return true;
	}
	/*************************************************************
		Version: 1.0
		Date: 06-21-04
		Description: Clears zipcode input box on the footer.
	**************************************************************/
	function ClearDealerBox() {
		var sValue = cookieGet("dlr_search");
		if(!sValue) { 
			sValue = ""; 
		}
		if (document.forms["find_dealer"].txtSearchBy.value == "City, State or Zip") {
			if(sValue == "") {
				document.forms["find_dealer"].txtSearchBy.value = "";
			} else {
				document.forms["find_dealer"].txtSearchBy.value = sValue;
			}
		} else {
			if(sValue == "") {
				document.forms["find_dealer"].txtSearchBy.value = "";
			} else {
				document.forms["find_dealer"].txtSearchBy.value = sValue;
			}
		}
	}
	/*************************************************************
		Version: 1.0
		Date: 06-21-04
		Description: Clears zipcode input box on the footer.
	**************************************************************/
	function ClearCPODealerBox() {
		var sValue = cookieGet("dlr_search");
		if(!sValue) { 
			sValue = ""; 
		}
		if (document.forms["frmCPO"].txtSearchBy.value == "City, State or Zip") {
			if(sValue == "") {
				document.forms["frmCPO"].txtSearchBy.value = "";
			} else {
				document.forms["frmCPO"].txtSearchBy.value = sValue;
			}
		} else {
			if(sValue == "") {
				document.forms["frmCPO"].txtSearchBy.value = "";
			} else {
				document.forms["frmCPO"].txtSearchBy.value = sValue;
			}
		}
	}
	function ClearFooterSearch() {
		/***********************************************************
		Version: 1.0
		Date: 06-28-04
		Description: Clears search input box on the footer.
		************************************************************/
		if (document.forms["frmKeyword"].query.value == "Search") {
			document.forms["frmKeyword"].query.value = "";
		}
	}
				/***********************************************
					Begin: Site Help Javascript Detection
				************************************************/
				// get the browser the user is using
				agt = navigator.userAgent.toLowerCase();
				ie = (agt.indexOf("msie") != -1);
				ns = (navigator.appName.indexOf("Netscape") != -1);
				opera = (agt.indexOf("opera") != -1);
				win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
				mac = (agt.indexOf("mac")!=-1);
				// set all variables to FALSE
				var quicktime = "FALSE";
				var pluginlist = "";
				// get screen width and heigth
				var width = screen.width;
				var height = screen.height;
			
				if (ie && win) { 
					pluginlist = detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime"); 
				}
				if (opera) {
					nse = ""; for (var i=0;i<navigator.mimeTypes.length;i++) nse += navigator.mimeTypes[i].type.toLowerCase();
					pluginlist = detectNS("video/quicktime","QuickTime");
				}
				if (ns || !win) {
					nse = ""; for (var i=0;i<navigator.mimeTypes.length;i++) nse += navigator.mimeTypes[i].type.toLowerCase();
					pluginlist = detectNS("video/quicktime","QuickTime");
				}
				function detectIE(ClassID,name) {
					result = false;
					document.writeln('<SCRI'+'PT LANGUAGE=VBScript>');
					document.writeln('on error resume next');
					document.writeln('If ScriptEngineMajorVersion >= 2 then');
					document.writeln('result = False');
					document.writeln('result = IsObject(CreateObject("' + ClassID + '"))');
					document.writeln('If (err) then');
					document.writeln('result = False');
					document.writeln('End If');
					document.writeln('Else');
					document.writeln('result = False');
					document.writeln('End If');
					document.writeln('</SCRI'+'PT>');
					if (result) return name+','; else return '';
				}
				function detectNS(ClassID,name) {
					n = ""; 
					if (nse.indexOf(ClassID) != -1) if (navigator.mimeTypes[ClassID].enabledPlugin != null) n = name+","; return n;
				}
				pluginlist += navigator.javaEnabled() ? "Java," : "";
				if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);
				//detect QuickTime
				if (pluginlist.indexOf("QuickTime")!=-1) quicktime = "TRUE";
	
	function drawQuicktime ( qtPath, staticPath, width, height, url ) {
		if( quicktime == "TRUE" ){
			document.write('<embed src="' + qtPath + '" autoplay="true" controller="true" width="' + width + '" height="' +  height + '" pluginspage="http://www.apple.com/quicktime/download/">' );
		} else {
			document.write('<a href="http://www.apple.com/quicktime/download/" target="_blank"><img src="' + staticPath + '" width="' + width + '" height="' + height + '" border="0" /></a>' );
		}
	}
	// image rollover helper function
	function findObj(n, d) { //v4.01
		var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
		for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
		if(!x && d.getElementById) x=d.getElementById(n); return x;
	}	
	function getLoc() {
	window.location = "/deadlink.asp"
	}
	function getURI() {
		/***********************************************************
		Description: Returns the URI portion of the current URL
		************************************************************/
		var url = document.URL;
		var splitURL = url.split(document.domain);
		return splitURL[1];
	}
	var gnavActive = false;
	var gnavCurrent = 'none';
	var gnavOffSwitch;
	function gnavChange(gnavID) {
		// Hide hdr dropdown
		if (hdrCurrent != 'none') {
			if (hdr2Current != 'none') {
				layerHide(hdr2Current);
			}
			layerHide(hdrCurrent);		
		}
		// Sets global gnav active flag;
		gnavActive = true;
		clearTimeout(gnavOffSwitch);
		// Hides old rollbox and sets global variable before showing new rollbox
		if (gnavCurrent != 'none') {
			layerHide(gnavCurrent);		
		}
		// Sets current rollbox id to global variable, shows new rollbox
		gnavCurrent = gnavID;
		layerShow(gnavCurrent);		
	}
	function gnavHide() {
		if ((gnavCurrent != 'none') && (!gnavActive)) {
			layerHide(gnavCurrent);		
		}
	}
	function gnavOut() {
		gnavActive = false;
		gnavOffSwitch = setTimeout("gnavHide();", 1500);
	}
	function gnavOver() {
		gnavActive = true;
	}
	var hdrActive = false;
	var hdrCurrent = 'none';
	var hdrOffSwitch;
	function hdrChange(hdrID) {
		if( !browser.isSafari) {
			if ((hdr2Current != 'none') && (!hdr2Active)) {
				layerHide(hdr2Current);		
			}
			// Hide gnav rollbox
			if (gnavCurrent != 'none') {
				if (hdr2Current != 'none') {
					layerHide(hdr2Current);
				}
				layerHide(gnavCurrent);		
			}
			// Sets global hdr active flag;
			hdrActive = true;
			clearTimeout(hdrOffSwitch);
			// Hides old dropdown and sets global variable before showing new dropdown
			if (hdrCurrent != 'none') {
				layerHide(hdrCurrent);		
			}
			// Sets current dropdown id to global variable, shows new dropdown
			hdrCurrent = hdrID;
			layerShow(hdrCurrent);
		}
	}
	function hdrHide() {
		if ((hdr2Current != 'none') && (!hdr2Active)) {
			layerHide(hdr2Current);		
		}
		if ((hdrCurrent != 'none') && (!hdrActive)) {
			layerHide(hdrCurrent);		
		}
	}
	function hdrOut() {
		swapImgRestore();
		hdrActive = false;
		hdr2Active = false;
		clearTimeout(hdrOffSwitch);
		hdrOffSwitch = setTimeout("hdrHide();", 1500);
	}
	function hdrOver() {
		hdrActive = true;
	}
	var hdr2Active = false;
	var hdr2Current = 'none';
	var hdr2OffSwitch;
	function hdr2Change(hdr2ID) {
		// Sets global hdr active flag;
		hdr2Active = true;
		clearTimeout(hdr2OffSwitch);
		// Sets current dropdown id to global variable, shows new dropdown
		hdr2Current = hdr2ID;
		layerShow(hdr2Current);		
	}
	function hdr2Out() {
		hdr2Active = false;
	}
	function hdr2Over() {
		hdrActive = true;
		hdr2Active = true;
	}
	// show layer
	function layerShow( layerName ) {
		document.getElementById(layerName).style.visibility='visible';
	}  	
	// hide layer
	function layerHide( layerName ) {
		document.getElementById(layerName).style.visibility='hidden';
	}
	var moveMent;
	var msrpRight = -172;
	function msrpMove() {
		if (msrpRight < -2) {
			document.getElementById("home_msrp").style.right = (msrpRight+10)+'px';
			msrpRight = msrpRight+10;
			clearTimeout(moveMent);
			moveMent = setTimeout("msrpMove();", 30);
		}
	}
	function msrpDrawLayer() {
		var writeMSRP = "<div id=\"home_msrp\">";
		writeMSRP += "<strong>" + jsAltText + "</strong><br />Starting at " + jsMSRP + "*<br />";
		writeMSRP += "<a href=\"/shoptools/config.asp\">Build &amp; Price</a><br />";
		writeMSRP += "<a href=\"/shoptools/financing.asp\">Estimate Payments</a><br />";
		writeMSRP += "<a href=\"/shoptools/request.asp?form=drive\">Test Drive</a><br />";
		writeMSRP += "</div>";
		document.write(writeMSRP); 
	}

	// Browser Detect Lite  v2.1
	// http://www.dithered.com/javascript/browser_detect/index.html
	// modified by Chris Nott (chris@NOSPAMdithered.com - remove NOSPAM)
	//
	// modified by Michael Lovitt to include OmniWeb and Dreamcast
	function navBrowserDetectLite() {
		var ua = navigator.userAgent.toLowerCase(); 
		this.ua = ua;
	
		// browser name
		this.isGecko     = (ua.indexOf('gecko') != -1);
		this.isMozilla   = (this.isGecko && ua.indexOf("gecko/") + 14 == ua.length);
		this.isNS        = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
		this.isIE        = ( (ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1) ); 
		this.isOpera     = (ua.indexOf("opera") != -1); 
		this.isKonqueror = (ua.indexOf("konqueror") != -1); 
		this.isIcab      = (ua.indexOf("icab") != -1); 
		this.isAol       = (ua.indexOf("aol") != -1); 
		this.isWebtv     = (ua.indexOf("webtv") != -1); 
		this.isOmniweb   = (ua.indexOf("omniweb") != -1);
		this.isDreamcast   = (ua.indexOf("dreamcast") != -1);
		this.isSafari	 = (ua.indexOf("safari") != 1);
		
		// spoofing and compatible browsers
		this.isIECompatible = ( (ua.indexOf("msie") != -1) && !this.isIE);
		this.isNSCompatible = ( (ua.indexOf("mozilla") != -1) && !this.isNS && !this.isMozilla);
		
		// browser version
		this.versionMinor = parseFloat(navigator.appVersion); 
		
		// correct version number for NS6+ 
		if (this.isNS && this.isGecko) {
			this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
		}
		
		// correct version number for IE4+ 
		else if (this.isIE && this.versionMinor >= 4) {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
		}
		
		// correct version number for Opera 
		else if (this.isOpera) {
			if (ua.indexOf('opera/') != -1) {
				this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera/') + 6 ) );
			}
			else {
				this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera ') + 6 ) );
			}
		}
		
		// correct version number for Konqueror
		else if (this.isKonqueror) {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
		}
		
		// correct version number for iCab 
		else if (this.isIcab) {
			if (ua.indexOf('icab/') != -1) {
				this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab/') + 6 ) );
			}
			else {
				this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab ') + 6 ) );
			}
		}
		
		// correct version number for WebTV
		else if (this.isWebtv) {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('webtv/') + 6 ) );
		}
		
		this.versionMajor = parseInt(this.versionMinor); 
		this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
		
		// platform
		this.isWin   = (ua.indexOf('win') != -1);
		this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1) );
		this.isMac   = (ua.indexOf('mac') != -1);
		this.isUnix  = (ua.indexOf('unix') != -1 || ua.indexOf('linux') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
		
		// specific browser shortcuts
		this.isNS4x = (this.isNS && this.versionMajor == 4);
		this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
		this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
		this.isNS4up = (this.isNS && this.versionMinor >= 4);
		this.isNS6x = (this.isNS && this.versionMajor == 6);
		this.isNS6up = (this.isNS && this.versionMajor >= 6);
		
		this.isIE4x = (this.isIE && this.versionMajor == 4);
		this.isIE4up = (this.isIE && this.versionMajor >= 4);
		this.isIE5x = (this.isIE && this.versionMajor == 5);
		this.isIE55 = (this.isIE && this.versionMinor == 5.5);
		this.isIE5up = (this.isIE && this.versionMajor >= 5);
		this.isIE6x = (this.isIE && this.versionMajor == 6);
		this.isIE6up = (this.isIE && this.versionMajor >= 6);
		
		this.isIE4xMac = (this.isIE4x && this.isMac);
	}
	var browser = new navBrowserDetectLite();
		//---------------------------------------------------------------
	// Opacity Displayer, Version 1.0
	// Copyright Michael Lovitt, 6/2002.
	// Distribute freely, but please leave this notice intact.
	//---------------------------------------------------------------
	
	//---------------------------------------------------------------
	// OPACITY OBJECT
	//
	// Instantiates the object, defines the properties and methods.
	function navOpacityObject(divId, strPath) {
		this.id = divId;
		this.path = strPath;
		if (ns){
			if (browserVersion>=5) {
				this.layerObject = document.getElementById(divId).style;
			} else { 
				this.layerObject = eval("document."+divId);
			}
		} else {
			this.layerObject = eval(divId + ".style");
		}
		this.setBackground = navObject_setBackground;
	}
	// Uses AlphaImageLoader filter, or the css background property,
	// as appropriate, to apply a PNG or GIF as the background of the layerObject.
	function navObject_setBackground() {	
		if (pngAlpha) {
			this.layerObject.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.path+".png', sizingMethod='scale')";
		} else if (pngNormal) {
			this.layerObject.backgroundImage = 'url('+this.path+'.png)';
		} else {
			this.layerObject.backgroundImage = 'url('+this.path+'.gif)';
		}
	}

	//set objects to null
	var objMyImage = null;	
	function navInit() {
		objMyImage = new navOpacityObject('gnav_bkg','/img/nav_back');
		objMyImage.setBackground();
		document.getElementById("gnav_bkg").style.backgroundColor = "transparent";
	}
	//---------------------------------------------------------------
	
	//---------------------------------------------------------------
	// OPACITY ROLL-OVER FUNCTIONS
	function navRollOver(strId, strColor) {	
		if (pngAlpha) {
			document.getElementById(strId).style.backgroundColor = strColor;
		} else {
			if (document.images && (flag == true)) {
				document[strId].src = eval(strId + "on.src");
			}
		}
	}
	function navRollOut(strId, strColor) {	
		if (pngAlpha) {
			document.getElementById(strId).style.backgroundColor = strColor;
		} else {
			if (document.images) {
				document[strId].src = eval(strId + "off.src");
			}
		}
	}
	function noPeek(flag) {
		if ( flag!="owners" ) {
			document.getElementById("errorMsg").innerHTML = "";
			return false;
		} else {
			document.getElementById("errorMsg").innerHTML = "";
			document.getElementById("errorMsg2").innerHTML = "";
			document.getElementById("errorMsg3").innerHTML = "";
			document.getElementById("errorMsg4").innerHTML = "";
			document.getElementById("errorMsg5").innerHTML = "";
			document.getElementById("errorMsg6").innerHTML = "";
			document.getElementById("errorMsg7").innerHTML = "";
			return false;
		}
	}
	//---------------------------------------------------------------
	
	//---------------------------------------------------------------
	// global variables
	
	// if IE5.5+ on win32, then display PNGs with AlphaImageLoader
	if ((browser.isIE55 || browser.isIE6up) && browser.isWin32) {
		var pngAlpha = true;
		var strExt = ".png";
	// else, if the browser can display PNGs normally, then do that. that list includes:
		//     -Gecko Engine: Netscape 6 or Mozilla, Mac or PC
		//     -IE5+ Mac (OpacityObject applies the background image at 100% opacity)
		//     -Opera 6+ PC
		//     -Opera 5+ Mac (Doesn't support dynamically-set background images)
		//     -Opera 6+ Linux 
		//     -Omniweb 3.1+ 
		//     -Icab 1.9+ 
		//     -WebTV 
		//     -Sega Dreamcast
	} else if ((browser.isGecko) || (browser.isIE5up && browser.isMac) || (browser.isOpera && browser.isWin && browser.versionMajor >= 6) || (browser.isOpera && browser.isUnix && browser.versionMajor >= 6) || (browser.isOpera && browser.isMac && browser.versionMajor >= 5) || (browser.isOmniweb && browser.versionMinor >= 3.1) || (browser.isIcab && browser.versionMinor >= 1.9) || (browser.isWebtv) || (browser.isDreamcast)) {
		var pngNormal = true;
		var strExt = ".png";
		// otherwise, we use plain old GIFs
	} else {
		var strExt = ".gif";
	}
	
	var ns = (document.all)?false:true;
	var browserVersion = parseFloat(navigator.appVersion );
	//---------------------------------------------------------------
	function popWindow(winURL, winName, winWidth, winHeight, winScroll, resizeable, toolbar, directories, status, menuBar) { 
		/***********************************************************
		Description: Pops window in the center of client's screen.
		************************************************************/
		if( menuBar == '' ) {
			menuBar = 0
		}
		if( status == '' ) {
			status = 0
		}
		if( directories == '' ) {
			directories = 0
		}
		if( toolbar == '' ) {
			toolbar = 0
		}
		if( resizeable == '' ) {
			resizeable = 0
		}
		if(winScroll == '') {
			winScroll = 0
		}
		if(winWidth == '') {
			winWidth = 800;
		}
		if(winHeight == '') {
			winHeight = 600;
		}
		if(winName == '') {
			winName == 'NewWindow';
		}
		var winLeft = (screen.width - winWidth) / 2;
		var winTop = (screen.height - winHeight) / 2;
		var winProps = 'height='+winHeight+',width='+ winWidth+',top='+winTop+',left='+winLeft+',scrollBars='+winScroll+',resizeable='+resizeable+',toolbar='+toolbar+',directories='+directories+',status='+status+',menuBar='+menuBar;
		var win = window.open(winURL, winName, winProps);
	}
	
	function popFamilyPlan( vehName ){
	var curVeh = vehName;
	var myURL = eval('"/simple/default.asp?brand=m&vehicle=' + curVeh + '"');
	var popFeatures = "width=404,height=525,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=1,resizable=1";
	var familyPop = window.open( myURL,'popWin', popFeatures );
	familyPop.focus();
}

	function SubmitToFooterSearch() {
		/********************************************************************
		Version: 1.0
		Date: 06-28-04
		Description: checks to make sure the keyword search is not empty.
		*********************************************************************/
		if ((document.forms["frmKeyword"].query.value == "") || (document.forms["frmKeyword"].query.value == "Search")) {
			alert("You must enter a keyword to continue.");
			document.forms["frmKeyword"].query.focus();
			return false;
		} else {
			document.forms["frmKeyword"].submit();
		}
	}
	/**************************************************************************
 	swapImage() and swapImage2() can be use in conjuction with
	swapImgRestore() and swapImgRestore2() to perform multiple rollovers
 	for one mouse event and later return either image to its previous state
 	USAGE:
	onMouseOver="swapImage('imgName','','/pathToImageRollover.jpg',1);"
	onMouseOut="swapImgRestore();"
	***************************************************************************/
	// image rollover
	function swapImage() {
	  var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}
	// secondary image rollover
	function swapImage2() {
	  var i,j=0,x,a=swapImage2.arguments; document.sr2=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=findObj(a[i]))!=null){document.sr2[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}
	// tertiary image rollover
	function swapImage3() {
	  var i,j=0,x,a=swapImage3.arguments; document.sr3=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=findObj(a[i]))!=null){document.sr3[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}
	// image restore
	function swapImgRestore() {
		var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}
	// secondary image restore
	function swapImgRestore2() {
		var i,x,a=document.sr2; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}
	// tertiary image restore
	function swapImgRestore3() {
		var i,x,a=document.sr3; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}
	
	/******************************************************************
	Version 1.0
	Date: 03-23-2004
	Description: tests to see if all the charecters are numeric
	********************************************************************/
	function IsNumeric(sValue) {
		var sValidChars = "0123456789";
		var sChar;
		var blnResult = true;
		
		if (sValue.length == 0) return false;
		for (i = 0; i < sValue.length && blnResult == true; i++)	{
			sChar = sValue.charAt(i);
			if (sValidChars.indexOf(sChar) == -1) {
				blnResult = false;
			}
		}
		return blnResult;
	}
	/***********************************************************
		Version: 1.0
		Date: 06-05-2005
		Description: Validates a zip code.
	************************************************************/
	function IsZipCode(sZip) {
		var valid = "0123456789";
		
		if(sZip.length!=5) {
			return false;
		}
		for(var i=0; i < sZip.length; i++) {
			temp = "" + sZip.substring(i, i+1);
			if (valid.indexOf(temp) == "-1") {
				return false;
			}
		}
		return true;
	}

/***********************************************************
Version 1.0
Date: 08-26-05
Description: set the display of block level elements
Use: used in the newnotable section for media
************************************************************/
function showMediaBlock( thisBlocDesc, thisBlock, thisBlockLength ) {
	for(var i=1; i < thisBlockLength; i++){
		document.getElementById(thisBlocDesc + i).style.display = "none";
	}
	document.getElementById(thisBlocDesc + thisBlock).style.display = "block";
}

function ChangeModelMenu( theForm ) {
		/*********************************************************************
		Version: 1.0
		Date: 02-15-2005
		Description: Changes the vehicle selection with an onChange event
		**********************************************************************/
		var index = theForm.specsMenu.selectedIndex;
		var link = 'models.asp?feature=' + theForm.specsMenu.options[index].value;
		location.href = link;
}

function ChangeModelPrintMenu( theForm ) {
		/*********************************************************************
		Version: 1.0
		Date: 02-15-2005
		Description: Changes the vehicle selection with an onChange event
		**********************************************************************/
		var index = theForm.specsMenu.selectedIndex;
		var link = 'models_print.asp?feature=' + theForm.specsMenu.options[index].value;
		location.href = link;
}

function showPkgDetails( blockID ) {
	document.getElementById('pkg_' + blockID).style.display = "block";
	if( blockID == "article_more" ){
		document.getElementById('link_' + blockID).innerHTML="<a href=\"javascript:hidePkgDetails('" + blockID + "');\">Close Article...</a>";
	} else {
		document.getElementById('link_' + blockID).innerHTML="<a href=\"javascript:hidePkgDetails('" + blockID + "');\">(Hide Details)</a>";
	}
}

function hidePkgDetails( blockID ) {
	document.getElementById('pkg_' + blockID).style.display = "none";
	if( blockID == "article_more" ){
		document.getElementById('link_' + blockID).innerHTML="<a href=\"javascript:showPkgDetails('" + blockID + "');\">Read More...</a>";
	} else {
		document.getElementById('link_' + blockID).innerHTML="<a href=\"javascript:showPkgDetails('" + blockID + "');\">(Show Details)</a>";
	}
}

/********************************************************
	SWF Animation, Version 1.0
	10/26/05
	functions below for displaying animations in the specs charts
********************************************************/
function drawSpecsFlash( swfName ){
	document.getElementById("feature_flash").style.display='block';
	document.getElementById("feature_flash").style.left='156px';
	var thisFeature = swfName;
	var fo = new FlashObject("/swf/animationShellSpecs.swf ", "mymovie", "614", "254", "7", "#fff");
	fo.addParam("quality", "best");
	fo.addParam("allowScriptAccess", "sameDomain");
	fo.addParam("wmode", "transparent");
	fo.addParam("salign", "t");
	fo.addVariable("currSwf", thisFeature);
	fo.write("feature_flash");
}

function findPosition( oLink ) {
	if( oLink.offsetParent ) {
		for( var posX = 0, posY = 0; oLink.offsetParent; oLink = oLink.offsetParent ) {
			posX += oLink.offsetLeft;
			posY += oLink.offsetTop;
		}
		document.getElementById("feature_flash").style.visibility = "visible";
		document.getElementById("feature_flash").style.top = posY-120 + "px";
		return [ posX, posY ];
		} else {
		return [ oLink.x, oLink.y ];
	}
}

function removeFlash() {
	document.getElementById("feature_flash").innerHTML = "";
	document.getElementById("feature_flash").style.visibility = "hidden";
}

function trim(str) {
	str = this != window? this : str;
	return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}


function lookupSwfFromFeature( featureID ) {
	featureID = trim(featureID);
	var tmpSwf = "";
	for( i=0; i <= animationArray.length-1; i++ ){
		if( animationArray[i][0] == featureID ){
			tmpSwf = animationArray[i][1];
		}
	}
	drawSpecsFlash( tmpSwf );
}
