
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) { //v3.0
  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); 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 changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}
var preloadFlag = true;
// Check browser version
function checkBrowser() {

	if (document.all) {
	  document.loginForm.submit();
	}
	else if (document.layers) {
	  alert("This application requires Microsoft Internet Explorer version 5 or Netscape 6 and above.");
	}
	else if (document.getElementById) {
	  alert("You are using Netscape 6. Beware that occasional crashes and screen refresh errors might occur due to bugs in Netscape 6.");
	  document.loginForm.submit();
	}
	else {
	  alert("This application requires Microsoft Internet Explorer version 5 or Netscape 6 and above.");
	}
	
	
}

/* changeLayer */
function swapLayer(srcLayer,dstLayer) {
	alert('hello world');
}

/* Set Fuseaction */
function setFuseaction(form,fuseAction) {
	form.fuseaction.value=fuseAction;
}

var modifyWindow;
function OpenWindow(url,width,height,scrollbars,windowname)
{
	var w = width;
	var h = height;
	var s = scrollbars;
	var x = 100;
	var y = 150;
	if (document.all)
	{
		var xMax = screen.width, yMax = screen.height;
		x = ((xMax/2) - (w/2));
		y = ((yMax/2) - (h/2));
	}
	else if (document.layers) 
	{
		var xMax = window.outerWidth, yMax = window.outerHeight;
		x = ((xMax/2) - (w/2));
		y = ((yMax/2) - (h/2));
	}
	
	options = "screenX=" + x + ",screenY=" + y + ",top=" + y + ",left=" + x + ",toolbar=0,status=0,menubar=0,scrollbars="+ s +",resizable=0,width=" + w +",height=" + h;
	modifyWindow = window.open(url,windowname,options);
	if (modifyWindow.opener == null) 
		modifyWindow.opener = self;
	modifyWindow.focus();
}


//move from one select box to the other
function moveVal(from,to) {
	var strText,strVal,optionName;
	for(var ctr=0; ctr < from.options.length; ctr++) {
		if(from.options[ctr].selected) {
			strText=from.options[ctr].text;
			strVal=from.options[ctr].value;
			optionName=new Option(strText, strVal);
			to.options[to.options.length]=optionName;
		}
	}
	//delete them from current one
	while(from.selectedIndex != -1) {
		from.options[from.selectedIndex] = null;
	}
}
//give a drop down object it'll select all the options
function selectall(obj) {
	for(var ctr=0; ctr < obj.length; ctr++) {
		obj.options[ctr].selected=true;
	}
}
// Very basic.. changes the colors.. two variables passed.
// tr and the color to change it to..
function onColor(lay, thisColor)
{
	lay.style.backgroundColor=thisColor;
}

function offColor(lay, thisColor)
{
     if (thisColor == "cccc99") {
	  lay.style.backgroundColor='e1e1e1';
	 } else { 
	  lay.style.backgroundColor=thisColor;
	 }
}


function callFormValidation(form) {
 if (validateForm(form,0,0,0,0)){
  form.submit();
 }
}
function sendToLocation(location)
{
	document.location.href= location;
}
function changeClass(lay, newClass)
{

	lay.className=newClass;
}


function getRequest() {
    var xmlhttp=false;
    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
    // JScript gives us Conditional compilation, we can cope with old IE versions.
    // and security blocked creation of the objects.
     try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
      try {
       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
       xmlhttp = false;
      }
     }
    @end @*/
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
        try {
            xmlhttp = new XMLHttpRequest();
        } catch (e) {
            xmlhttp=false;
        }
    }
    if (!xmlhttp && window.createRequest) {
        try {
            xmlhttp = window.createRequest();
        } catch (e) {
            xmlhttp=false;
        }
    }

    return xmlhttp;
}

function selectYear(modelYear, sourcePage) {
	
	if (selectYear.arguments.length > 1 && sourcePage == "compare")
	{
		var modelDefaultText = "Select a Model";
	}
	else
	{
		var modelDefaultText = "All";
	}
	//do request
	if (modelYear > 0)
	{
    var request = getRequest();
    request.open("get", "/index.cfm/fuseaction/inventory.ajaxGetNewCarModels/internalAction/divisions/modelYear/" + modelYear, false);
    request.send(null)

    //populate division dropdown and clear model dropdown
    fillSelect(document.getElementById("division"), request.responseText, "Select a Make");
    clearSelect(document.getElementById("newModel"), modelDefaultText);
	}
	else
	{
		 clearSelect(document.getElementById("division"), "Select a Year");
		 clearSelect(document.getElementById("newModel"), modelDefaultText);
	}
}

function fillModelsSelect(selectElm, modelsArray) {
    selectElm.options.length = 0;
    selectElm.options[0] = new Option("All", "-1", true, true);
    for (var i = 0; i < modelsArray.length; i++) {
        var model = modelsArray[i];
       	selectElm.options[selectElm.options.length] = new Option(model);
    }
    selectElm.disabled = false;
}


function selectDivision(divisionId, modelDefaultText) {
	if (selectDivision.arguments.length < 2)
	{
		var modelDefaultText = "All";
	}
	//get year
 	var modelYear = document.getElementById("newYear").value;
    //do request
    var request = getRequest();
    request.open("get", "/index.cfm/fuseaction/inventory.ajaxGetNewCarModels/internalAction/models/divisionId/" + divisionId + "/modelYear/" + modelYear, false);
    request.send(null);

	fillSelect(document.getElementById("newModel"), request.responseText, modelDefaultText);
    //sort models


}
function selectUsedCarMakes(make, modelDefaultText) {
	if (selectUsedCarMakes.arguments.length < 2)
	{
		var modelDefaultText = "All";
	}
	
    var request = getRequest();
    request.open("get", "/index.cfm/fuseaction/inventory.ajaxGetUsedCarModels/internalAction/models/make/" + make, false);
    request.send(null);

	fillSelect(document.getElementById("ucModels"), request.responseText, modelDefaultText);
    //sort models


}

function clearSelect(selectElm, defaultOption) {
    if (selectElm.options != null) {
        selectElm.options.length = 0;
		 selectElm.options[0] = new Option(defaultOption, "-1", true, true);
    }
    selectElm.disabled = true;
}

function fillSelect(selectElm, responseText, defaultOption) {
	var selectedModel = selectElm.getAttribute('selectedModel');
    selectElm.options.length = 0;
    selectElm.options[0] = new Option(defaultOption, "-1", true, true);
    var response = responseText.split(";;");
    for (var i = 0; i < response.length; i++) {
        var style = response[i].split("~~");
		if (selectedModel && selectedModel.length && selectedModel == style[0])
		{
			isSelected = true;
		} else {
			isSelected = false;
		}
       	selectElm.options[selectElm.options.length] = new Option(style[1], style[0], false, isSelected);
		
    }

    selectElm.disabled = false;
}
// Parts of Code By:  Gregor (legreg@legreg.de) 
// Modified by Umer Farooq (umer@octadyne.com)
// (c) Octadyne System Inc.
// You can use this code as long as the above notices stay in place.
angel = (navigator.appName == "Netscape");
devel = (navigator.appName == "Microsoft Internet Explorer");
var ie4 = (document.all) ? true : false;
var ns4 = (document.layers) ? true : false;
var ns6 = (document.getElementById && !document.all) ? true : false;
function showlayer(lay) {
if (ie4) {document.all[lay].style.display = "inline";}
if (ns4) {document.layers[lay].display = "inline";}
if (ns6) {
//document.getElementById([lay]).style.visibility = "visible";
 divTags = document.getElementsByTagName("div");
 divTags[lay].style.display = "inline";
 }
}

function hidelayer(lay) {
if (ie4) {
          document.all[lay].style.display = "none"; 
          document.all[lay].style.zIndex = 0;
		  }
else if (ns4) {document.layers[lay].display = "none";
          }
else if (ns6) {
//document.getElementById([lay]).style.visibility = "hidden";
// The above listed code seems to work as long as the layer is visible from the start..
// but if the layer is hidden from the start it doesn't work..
// So we get all the div tags.. and then we select the div tag we are working on
// and go from there. Draw back is we might run into problems with the layer being 
// set in the span tag. But since SPAN is not to happy in netscape.. we will stay away from it.
// if u use span then you can fix that by.. checking if the divTags[lay] is defined.. 
// if it is not then u would work with the span..
 divTags = document.getElementsByTagName("div");
 divTags[lay].style.display = "none";
}
}

function recordClick(clickType,dealerId)
{
	var clickImage = new Image();
	var uniqueKey = new Date().getTime();
	clickImage.src = 'index.cfm?fuseaction=home.recordClick&clickType='+clickType+'&dealerId='+dealerId+'&unique='+uniqueKey;
	
}

function recordPrintAd(clickType,dealerId,adImage)
{
	var clickImage = new Image();
	var uniqueKey = new Date().getTime();
	clickImage.src = 'index.cfm?fuseaction=home.recordClick&clickType='+clickType+'&dealerId='+dealerId+'&unique='+uniqueKey+'&adImage='+adImage;
}
function recordPrintVehicleAd(clickType,dealerId,stockNum,vinNumber,vehicleInfo)
{
	var clickImage = new Image();
	var uniqueKey = new Date().getTime();
	clickImage.src = 'index.cfm?fuseaction=home.recordClick&clickType='+clickType+'&dealerId='+dealerId+'&unique='+uniqueKey+'&stockNum='+stockNum+'&vinNumber='+vinNumber+'&vehicleInfo='+vehicleInfo;
}