// JavaScript Document
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
function clearTextBox(obj)
{
	if (obj.value == '')
	{
		if (obj.name == 'username')
		{
			obj.value = 'User Name'
		}
		else if (obj.name == 'password')
		{
			obj.value = 'Password'
		}
		else if (obj.name == 'search')
		{
			obj.value = 'Search'
		}
		else if (obj.name == 'name')
		{
			obj.value = 'Name'
		}
		else if (obj.name == 'number')
		{
			obj.value = 'Number'
		}
	}
	else if (obj.value == 'User Name' || obj.value == 'Password' || obj.value == 'Search' || obj.value == 'Name' || obj.value == 'Number')
	{
		
			obj.value = '';
	}

}
// ## global.js
// 	Contains code that fixes the resize bug in Netscape, control core functionality for all dynamic layer elements, and sets the appropriate .css file depending on the user's browser. This file is used on all templates.

// FUNCTION LIST:
// 	resizeFix();
// 	popWindow();
// 	popGlossary();
//	BrowserCheck();
// 	DynLayer();
// 	DynLayerMoveTo();
// 	DynLayerMoveBy();
//	DynLayerInit();
// 	DynLayerClipInit();
// 	DynLayerClipTo();
// 	DynLayerClipBy();
//	DynLayerClipValues();
// 	DynLayerWrite();


// TEMPLATE(S) USED:
// 	brochure_request.html
// 	coming_veh.html
// 	contact.html
// 	corporate.html
// 	dealer_results.html
// 	gallery.html
// 	galleryPopup.html
// 	line_up.html
// 	main.html
// 	performance.html
// 	specs.html
// 	vehicles_home.html


//This script checks to see if visitor is using Netscape or MSIE browser. 
//If Netscape or MSIE, make sure it is version 4.x or higher
//If not 4.x or above, send to error page.

var browserVer=parseInt(navigator.appVersion); 
 
if(navigator.appName == "Netscape")
	{
	if (browserVer < 4)
	 	{
			document.location="errorpage.html"
		}
	}

if(navigator.appName == "Microsoft Internet Explorer")
	{
	if (browserVer < 4)
	 	{
			document.location="errorpage.html"
		}
	}

// BEGIN RESIZE CODE
// Copyright (C) 1999 Dan Steinman
// Distributed under the terms of the GNU Library General Public License
// Available at http://www.dansteinman.com/dynapi/

if (navigator.appName=="Netscape" && parseInt(navigator.appVersion)==4) {
	widthCheck = window.innerWidth
	heightCheck = window.innerHeight
	window.onResize = resizeFix
}
function resizeFix() {
	if (widthCheck != window.innerWidth || heightCheck != window.innerHeight)
	document.location.href = document.location.href
}


// Function that pops up a window of a specific size on all target browsers
//    Pass the window URL, the width and the height
function popWindow(urlVal,windowName,widthVal,heightVal,scrollBars,menuBar,reSizeable) {
	var paraString
	var wt
	var ht
	
	if ((is.ie) && (is.mac)) {
			wt = widthVal - 16;
			ht = heightVal - 16;
		} else if (is.ns){
			wt = widthVal;
			ht = heightVal + 2;
		} else {
			wt = widthVal;
			ht = heightVal;
		}
	paraString = "width=" + wt + ",height=" + ht;
	if (scrollBars == 1) {
		paraString = paraString + ",scrollbars=yes";
		} else {
		paraString = paraString + ",scrollbars=no";
		}
	if (menuBar == 1) {
		paraString = paraString + ",menubar=yes";
		}
		
	paraString = paraString + ",resizable=yes";
	paraString = paraString + ",screenX=0,top=0";
	poppedWindow = window.open(urlVal,windowName,paraString);
	poppedWindow.focus();
	}


// Function that passes the appropriate glossary URL, name and size to the popWindow function
function popGlossary(urlVal) {
	popWindow(urlVal,"glossaryWindow",230,310); 
}

// END RESIZE CODE

// BEGIN DYNAMIC LAYERING CODE
// Dynamic Layer Object
// sophisticated layer/element targeting and animation object which provides the core functionality needed in most DHTML applications
// 19990604

// Copyright (C) 1999 Dan Steinman
// Distributed under the terms of the GNU Library General Public License
// Available at http://www.dansteinman.com/dynapi/

// Added by D.Owen during warranty -- sets a variable to track when init is complete
var doneLoading = false;

// BrowserCheck Object
function BrowserCheck() {
	// note: this basic function was altered by d.owen to overcome ns4 bug on config page;
	// notes below were added along with changes on 52201.

	var b = navigator.appName
	if (b=="Netscape") this.b = "ns"
	else if (b=="Microsoft Internet Explorer") this.b = "ie"
	else this.b = b
	this.version = navigator.appVersion
	this.v = parseInt(this.version)
	this.ns = (this.b=="ns" && this.v>=4)
	this.ns4 = (this.b=="ns" && this.v==4)
	this.ns5 = (this.b=="ns" && this.v==5)
	this.ie = (this.b=="ie" && this.v>=4)
	this.ie4 = (this.version.indexOf('MSIE 4')>0)
	this.ie5 = (this.version.indexOf('MSIE 5')>0)
	this.min = (this.ns||this.ie)
	this.pc = (this.version.indexOf('Win')>0)
	this.mac = (this.version.indexOf('PPC')>0)

	// next line added by d.owen on 52201
	this.ns408=(parseFloat(this.version)==4.08);
}
var is = new BrowserCheck()

if (!is.min) location.href = '/global/error/browsercheck.html';

function DynLayer(id,nestref,frame) {
	if (!is.ns5 && !DynLayer.set && !frame) DynLayerInit()
	this.frame = frame || self
	if (is.ns) {
		if (is.ns4) {
			if (!frame) {
				if (!nestref) var nestref = DynLayer.nestRefArray[id]
				if (!DynLayerTest(id,nestref)) return
				this.css = (nestref)? eval("document."+nestref+".document."+id) : document.layers[id]
			}
			else this.css = (nestref)? eval("frame.document."+nestref+".document."+id) : frame.document.layers[id]
			this.elm = this.event = this.css
			this.doc = this.css.document
			this.w = this.css.clip.width
			this.h = this.css.clip.height
			this.x = this.css.left
			this.y = this.css.top
		}
		else if (is.ns5) {
			this.elm = document.getElementById(id)
			this.css = this.elm.style
			this.doc = document
			this.x = this.elm.offsetLeft
			this.y = this.elm.offsetTop
			this.w = this.elm.offsetWidth
			this.h = this.elm.offsetHeight
		}
	}
	else if (is.ie) {
		this.elm = this.event = this.frame.document.all[id]
		this.css = this.frame.document.all[id].style
		this.doc = document
		this.x = this.elm.offsetLeft
		this.y = this.elm.offsetTop
		this.w = this.elm.offsetWidth
		this.h = this.elm.offsetHeight
	}
	this.id = id
	this.nestref = nestref
	this.obj = id + "DynLayer"
	eval(this.obj + "=this")
}
function DynLayerMoveTo(x,y) {
	if (x!=null) {
		this.x = x
		this.css.left = x;
	}
	if (y!=null) {
		this.y = y
		this.css.top = y;
	}
}
function DynLayerMoveBy(x,y) {
	this.moveTo(this.x+x,this.y+y)
}
function DynLayerShow() {
	this.css.visibility = (is.ns4)? "show" : "visible"
}
function DynLayerHide() {
	this.css.visibility = (is.ns4)? "hide" : "hidden"
}
DynLayer.prototype.moveTo = DynLayerMoveTo
DynLayer.prototype.moveBy = DynLayerMoveBy
DynLayer.prototype.show = DynLayerShow
DynLayer.prototype.hide = DynLayerHide
DynLayerTest = new Function('return true')

// DynLayerInit Function
function DynLayerInit(nestref) {
	if (!DynLayer.set) DynLayer.set = true
	if (is.ns) {
		if (is.ns4) {
			if (nestref) ref = eval('document.'+nestref+'.document')
			else {nestref = ''; ref = document;}
			for (var i=0; i<ref.layers.length; i++) {
				var divname = ref.layers[i].name
				DynLayer.nestRefArray[divname] = nestref
				var index = divname.indexOf("Div")
				if (index > 0) {
					eval(divname.substr(0,index)+' = new DynLayer("'+divname+'","'+nestref+'")')
				}
				if (ref.layers[i].document.layers.length > 0) {
					DynLayer.refArray[DynLayer.refArray.length] = (nestref=='')? ref.layers[i].name : nestref+'.document.'+ref.layers[i].name
				}
			}
			if (DynLayer.refArray.i < DynLayer.refArray.length) {
				DynLayerInit(DynLayer.refArray[DynLayer.refArray.i++])
			}
		}
		else if (is.ns5) {
			for (var i=0; i<document.getElementsByTagName("DIV").length; i++) {
				var divname = document.getElementsByTagName("DIV")[i].id
				var index = divname.indexOf("Div")
				if (index > 0) {
					eval(divname.substr(0,index)+' = new DynLayer("'+divname+'")')
				}
			}
		}
	}
	else if (is.ie) {
		for (var i=0; i<document.all.tags("DIV").length; i++) {
			var divname = document.all.tags("DIV")[i].id
			var index = divname.indexOf("Div")
			if (index > 0) {
				eval(divname.substr(0,index)+' = new DynLayer("'+divname+'")')
			}
		}
	}
	doneLoading = true;
	return true
}
DynLayer.nestRefArray = new Array()
DynLayer.refArray = new Array()
DynLayer.refArray.i = 0
DynLayer.set = false

// Clip Methods
function DynLayerClipInit(clipTop,clipRight,clipBottom,clipLeft) {
	if (is.ie) {
		if (arguments.length==4) this.clipTo(clipTop,clipRight,clipBottom,clipLeft)
		else if (is.ie4) this.clipTo(0,this.css.pixelWidth,this.css.pixelHeight,0)
	}
}
function DynLayerClipTo(t,r,b,l) {
	if (t==null) t = this.clipValues('t')
	if (r==null) r = this.clipValues('r')
	if (b==null) b = this.clipValues('b')
	if (l==null) l = this.clipValues('l')
	if (is.ns) {
		this.css.clip.top = t
		this.css.clip.right = r
		this.css.clip.bottom = b
		this.css.clip.left = l
	}
	else if (is.ie) this.css.clip = "rect("+t+"px "+r+"px "+b+"px "+l+"px)"
}
function DynLayerClipBy(t,r,b,l) {
	this.clipTo(this.clipValues('t')+t,this.clipValues('r')+r,this.clipValues('b')+b,this.clipValues('l')+l)
}
function DynLayerClipValues(which) {
	if (is.ie) var clipv = this.css.clip.split("rect(")[1].split(")")[0].split("px")
	if (which=="t") return (is.ns)? this.css.clip.top : Number(clipv[0])
	if (which=="r") return (is.ns)? this.css.clip.right : Number(clipv[1])
	if (which=="b") return (is.ns)? this.css.clip.bottom : Number(clipv[2])
	if (which=="l") return (is.ns)? this.css.clip.left : Number(clipv[3])
}
DynLayer.prototype.clipInit = DynLayerClipInit
DynLayer.prototype.clipTo = DynLayerClipTo
DynLayer.prototype.clipBy = DynLayerClipBy
DynLayer.prototype.clipValues = DynLayerClipValues

// Write Method
function DynLayerWrite(html) {
	if (is.ns) {
		if (is.ns4) {
			this.doc.open()
			this.doc.write(html)
			this.doc.close()
		} else if (is.ns5) {
			this.elm.innerHTML = html;
		}
	}
	else if (is.ie) {
		this.event.innerHTML = html
	}
}
DynLayer.prototype.write = DynLayerWrite
function menuOn(menuName) {
	var theMenu
	if (!navIsLoaded) return;	// check if initialization is complete
	if (menuTimeout) clearTimeout(menuTimeout);	// clear the timeout
	
	if (currentMenu) {			// hide the current menu
		theMenu = eval(currentMenu);
		theMenu.hide();
	}
	currentMenu = menuName;	
	theMenu = eval(currentMenu);
	theMenu.show();				// display menuName
	menuTimeout = setTimeout(currentMenu + '.hide()', 3000);		// set the timeout 
}

// Hides the dropdown menus
// inputs: menuName - name of the menu DIV layer without the Div.  ie. vehicles
// outputs: none
function menuOff(menuName) {
	
	if (!navIsLoaded) return	// check if initialization is complete
	
	if (menuTimeout) clearTimeout(menuTimeout)	// clear the current timeout
	menuTimeout = setTimeout(menuName + '.hide()', 205)		// set the new timeout
}

// Swaps the menu image to the ON state.
// input: imgName - name of the image to turn on
// output: swaps the image to the ON state
function menuLinkOn(imgName) {
	var theImage;
	
	if (menuTimeout) clearTimeout(menuTimeout);
	theImage = (is.ns4) ? eval("document.layers['" + currentMenu + "Div'].document.images['" + imgName + "']") : eval("document." + imgName);
	theImage.src = imgPathNav + imgName + "Roll.gif";
}

// Swaps the menu image to the OFF state.
function menuLinkOff(imgName) {
	var theImage;
	theImage = (is.ns4) ? eval("document.layers['" + currentMenu + "Div'].document.images['" + imgName + "']") : eval("document." + imgName);
	theImage.src = imgPathNav + imgName + ".gif";
	menuOff(currentMenu);
}

// Swaps the link image.
// input: 	imgName - name of the image
//			ON - on or off state
function linkSwap(imgName, ON) {
	var theImage = eval("document." + imgName);
	theImage.src = imgPath + imgName + "_lnk" + ((ON) ? "_on":"") + ".gif"
}

// Swaps the arrow image.
// input: 	imgName - name of the image
//			ON - on or off state
function arrowSwap(linkName, ON, obj, obj2) {
	var theImage = 'document.'
	
	if (obj && is.ie) {
		theImage += 'all.'
	} else if (obj && is.ns) {
	 	theImage += obj + '.document.'
	} 
	
	if (obj2 && is.ns) {
		theImage += obj2 + '.document.'
	}

	theImage += linkName
	theImageObj = eval(theImage);

	theImageObj.src = imgPath + "g_arrow" + ((ON) ? "_on":"") + ".gif";
}


// Swaps the arrow image.
// input: 	imgName - name of the image
//			ON - on or off state
function arrowSwapUp(linkName, ON, obj, obj2) {
	var theImage = 'document.'
	
	if (obj && is.ie) {
		theImage += 'all.'
	} else if (obj && is.ns) {
	 	theImage += obj + '.document.'
	} 
	
	if (obj2 && is.ns) {
		theImage += obj2 + '.document.'
	}

	theImage += linkName
	theImageObj = eval(theImage);

	theImageObj.src = imgPath + "page_up" + ((ON) ? "_on":"") + ".gif";
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);


function setImages()
{
x = randNum(3);

document.MainImage.src = "images/rotating/image" + x + ".jpg";


}
function randNum (num) 
{
    var now = new Date();                                 
    var rand = Math.round(num * Math.cos(now.getTime())); 
    if (rand < 0) rand = - rand; if (rand == 0) rand++;
    return rand;

}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function clearTextBox(obj)
{
	if (obj.value == '')
	{
		if (obj.name == 'username')
		{
			obj.value = 'User Name'
		}
		else if (obj.name == 'password')
		{
			obj.value = 'password'
		}
		else if (obj.name == 'email')
		{
			obj.value = 'Email'
		}
		else if (obj.name == 'name')
		{
			obj.value = 'Name'
		}
		else if (obj.name == 'number')
		{
			obj.value = 'Number'
		}
	}
	else if (obj.value == 'User Name' || obj.value == 'Password' || obj.value == 'Email' || obj.value == 'Name' || obj.value == 'Number')
	{
		
			obj.value = '';
	}

}

function validate(form_name)
{
	if (form_name == 'newsletter')	
	{
		if (document.newsletter.email.value == '' || document.newsletter.email.value == 'Email')
		{
			alert ('Please enter your email address');
			return false;
		}
		else if (document.newsletter.email.value.indexOf("@") == -1)
		{
			alert('Please enter a valid email address');
			return false;			
		}
		document.newsletter.submit();			
	}
	if (form_name == 'login_form')
	{
		if (document.login_form.username.value == '' || document.login_form.username.value == 'User Name' || document.login_form.password.value == '' || document.login_form.password.value == 'Password')
		{
			alert ('Please enter a username and password');
			return false;			
		}
		else
		{
			document.login_form.submit();
		}
	}
	if (form_name == 'callback')
	{
		if (document.callback.name.value == '' || document.callback.name.value == 'Name' || document.callback.number.value == '' || document.callback.number.value == 'Number')
		{
			alert ('Please enter your name and number');
			return false;
		}
		else
		{
			document.callback.submit();
		}
	}
	if (form_name == 'audit')
	{
		if (document.audit_form.contact_email.value == '')
		{
			alert ('Please enter your email address');
			return false;
		}
		else if (document.audit_form.contact_email.value.indexOf("@") == -1)
		{
			alert('Please enter a valid email address');
			return false;			
		}
		else
		{
			document.audit_form.submit();
		}
	}
}

// END DYNAMIC LAYER CODE