<!-- Modify for divisional implementation -->
var multiBrandEnabled = false;

//Declaration of var 
<!-- Modify for divisional implementation -->
var make = 'sb'; 		//Update for each brand
var currentYearNode = null;
var currentModelCode = "";
var currentYear = "2008";
//manage  tab models desction 
var carnumber=1;
var currentImg= "/images/DI/btn-seda_sport-off.gif";
// end manage  tab models desction 
var selectedModelObject = new Object();


function setDefaultValuesSelect(){
		var counter = 0;
		var selectTemp = "";
		selectTemp = document.getElementsByTagName('select');
		for(counter; counter < selectTemp.length; counter++){
			try{
				//selectTemp = document.getElementById('lvList' + counter);
				if(selectTemp[counter].id.indexOf('lvList') >= 0){
					selectTemp[counter].selectedIndex = 1;
					selectTemp[counter].style.display = "none";
				}
			}
			catch(selErr){
			}
		}
	}

function OnXMLLoaded(){
	
	if (window.ActiveXObject){
	    allBrandsNode = xmlDoc.documentElement;
	}else{
	    allBrandsNode = xmlDoc.responseXML.documentElement;
	}
	
	var i = 0;

	while (i < allBrandsNode.childNodes.length){
		if (allBrandsNode.childNodes[i].nodeType == 1){ // This get rides of #text belonging to "whitespaces" for FF
			if (brand.toUpperCase() == allBrandsNode.childNodes[i].attributes[0].value.toUpperCase()){					
				makeNode = allBrandsNode.childNodes[i];
				fillYearDropDown();
				}
			}
			i++;
		}	

	displayTabsVL();
	changeModelTabs(currentImg);
	// setDefaultValuesSelect();
}

function loadXMLFile(){							
	if (window.ActiveXObject){
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.onreadystatechange = function () {
			if (xmlDoc.readyState == 4)OnXMLLoaded();
			}
		xmlDoc.load("/xml/comparator/brandInfo.xml");
	}
	else if (document.implementation && document.implementation.createDocument){
		xmlDoc = new XMLHttpRequest();
        xmlDoc.onreadystatechange = function () {
			if (xmlDoc.readyState == 4)OnXMLLoaded();
			};
		if (xmlDoc != null) {
		xmlDoc.open("GET","/xml/comparator/brandInfo.xml", true);
		xmlDoc.send(null);
		}
	}
}

//required to change the tabs
function changeTab(TabName)
{
	for(var i=0; i < TabsNames.length; i++)
	{
		if(TabName == TabsNames[i])
		{
			document.getElementById(TabsNames[i]).className = "VehicleSelected";
			document.getElementById("Div" + TabsNames[i]).className = "DivSelected";
			document.getElementById("DivTab" + TabsNames[i]).className = "TabSelected";
		}
		else
		{
			document.getElementById(TabsNames[i]).className = "VehicleNoSelected";
			document.getElementById("Div" + TabsNames[i]).className = "DivNoSelected";
			document.getElementById("DivTab" + TabsNames[i]).className = "TabNoSelected";
		}
	}
}

function fillYearDropDown(){
	var i = 0;
	var j = 1;
	try{
	document.getElementById("yearSelect").options.length  = 1;
	while (i < makeNode.childNodes.length){	
		if (makeNode.childNodes[i].nodeType == 1){ // This get rides of #text belonging to "whitespaces" for FF					
			document.getElementById("yearSelect").options[j] = new Option(makeNode.childNodes[i].attributes[0].value, makeNode.childNodes[i].attributes[0].value);				
			
			if (document.getElementById("yearSelect").options[j].value == initialYear){
				document.getElementById("yearSelect").options[j].selected = true;
			}
			j++;
		}
		i++;
	}
	displayImages();
	}
	catch(fillError){
	}
}

//function to display the Vehicle images
function displayImages(){	
	currentYear = initialYear;
	
	var i = 0;
	while (i < makeNode.childNodes.length){				
		if (makeNode.childNodes[i].nodeType == 1){ // This get rides of #text belonging to "whitespaces" for FF							
			if (currentYear.toUpperCase() == makeNode.childNodes[i].attributes[0].value.toUpperCase())
			{
				currentYearNode = makeNode.childNodes[i];
			}
		}					
		i++;
	}
	displayImagesChangeYear();
}

//Function to update the images according the new year selected
function yearChanged(){
	var SelectedYear = document.forms["imageSelected"].yearSelect[document.forms["imageSelected"].yearSelect.selectedIndex].value;
	var errorMessage = "";	
	carnumber = 1;
	if (SelectedYear=="Select a Year") { errorMessage += "Please select a year.<br />"; }
	
	var errorDiv = document.getElementById("ErrorMessage");
	
	if(errorMessage != ""){		
		errorDiv.innerHTML = errorMessage + "<br />";
		errorDiv.style.display = "block";
		
	} else{
		currentYear = document.forms["imageSelected"].yearSelect[document.forms["imageSelected"].yearSelect.selectedIndex].value;
	
		clearImages();
		
		var i = 0;
		while (i < makeNode.childNodes.length){				
			if (makeNode.childNodes[i].nodeType == 1){ // This get rides of #text belonging to "whitespaces" for FF							
				if (currentYear.toUpperCase() == makeNode.childNodes[i].attributes[0].value.toUpperCase())
				{
					currentYearNode = makeNode.childNodes[i];
				}
			}					
			i++;
		}
			 
		//document.forms["imageSelected"].modelYear.value = currentYear; //paramenters for hidden values
		errorDiv.style.display = "none";
		displayImagesChangeYear();
		displayTabsVL();
		changeModelTabs(currentImg);
	}
	
}

function clearImages(){
	document.getElementById("Div2DoorCoupe").innerHTML = "";
	document.getElementById("Div4DoorSedan").innerHTML = "";
	document.getElementById("DivSportUtility").innerHTML = "";
	document.getElementById("DivCrossover").innerHTML = "";
	document.getElementById("DivSport/Convertible").innerHTML = "";
	document.getElementById("DivPick-UpTruck").innerHTML = "";
	document.getElementById("DivSport/CargoVan").innerHTML = "";
	document.getElementById("DivMediumDuty").innerHTML = "";
}

//Function to display the vehicle images on each tab
function displayImagesChangeYear(){	
	var arrayLong = currentYearNode.childNodes.length;
	//createArray(long);
	var i = 0;
	var j = 0;
	var k = 0;
	
	//go through all the models of the xml file
	while (i < arrayLong){
		if (currentYearNode.childNodes[i].nodeType == 1){ // This get rides of #text belonging to "whitespaces" for FF	
			var vehicleStyleInf = new Array(); 	//Array for each style
			var cabType = new Array();			//Array for each type
			var firstMSRP = new Array();		//Array for each MSRP(prices)
			var typeMMC = new Array();			//Array for each MMC
			var fixedTypes = new Array();
			var actionForm = 'vl_SelectTrim_result.jsp';
			
			image 		 =  currentYearNode.childNodes[i].attributes[2].value;
			currentModel =  currentYearNode.childNodes[i].attributes[0].value;
			currentModelCode = currentYearNode.childNodes[i].attributes[1].value;
			currentSubModel = currentYearNode.childNodes[i].attributes[3].value;
			currentSubModelCode = currentYearNode.childNodes[i].attributes[4].value;
			vehicleName  =  currentModel + ' ' + currentSubModel;
			
			types = currentYearNode.childNodes[i].childNodes;
			//get the data of each type of the current model
			
			j = 0;		//variable for the types
			count = 0;	//variable for styles
			x = 0; 		//variable for the types
			t = 0;		//variable for the mrsp
			n = 0; 		//variable for the mmc
			
			//go for each type of the current model
				while (j < types.length){
					if (types[j].nodeType == 1){
						bodyStyle = types[j].attributes[4].value;
						cabType[x] = types[j].attributes[0].value + "  " +  types[j].attributes[1].value + "  " + types[j].attributes[2].value;
						fixedTypes[x++] = types[j].attributes[0].value + "*" +  types[j].attributes[1].value + "*" + types[j].attributes[2].value;
						typeMMC[n++] = types[j].attributes[3].value;
						
						k = 0;	
						styles = types[j].childNodes;
						
						//required to retrieve the first MRSP on FireFox
						isPriceDisplayed = 0;
						
						//go for each style of the current type
						while (k < styles.length){	
							if (styles[k].nodeType == 1){ 
								//if the flag is True it will display the car.
								//if(styles[k].attributes[5].value == 't' ){
									vehicleStyleInf[count] =  new Array (2);
									
									//(pvcId)
									vehicleStyleInf[count][0] = styles[k].attributes[1].value;
									  
									//prices of each style
									vehicleStyleInf[count++][1] = styles[k].attributes[2].value;
									
									//retrieve the first msrp of the first car
									if(isPriceDisplayed == 0){
										isPriceDisplayed = 1;
										firstMSRP[t++] = styles[k].attributes[2].value;
									}
								//}
																
							}
							k++;
						}
					}
					j++;
				}
			
			//depending of the type of vehicle, it will be shown on a different tab
			//if (firstMSRP.length > 0){
				switch (bodyStyle){
					case "2-Door Coupe":
						displayInfo("Div2DoorCoupe",cabType,fixedTypes,typeMMC,i,firstMSRP,actionForm);
					break;
					case "4-Door Sedan":
						displayInfo("Div4DoorSedan",cabType,fixedTypes,typeMMC,i,firstMSRP,actionForm);
					break;
					case "Sport Utility Vehicle":
						displayInfo("DivSportUtility",cabType,fixedTypes,typeMMC,i,firstMSRP,actionForm);
					break;
					case "Crossover":
						displayInfo("DivCrossover",cabType,fixedTypes,typeMMC,i,firstMSRP,actionForm);
					break;
					case "Sport/Convertible":
						displayInfo("DivSport/Convertible",cabType,fixedTypes,typeMMC,i,firstMSRP,actionForm);
					break;
					case "Pick Up Truck":
						displayInfo("DivPick-UpTruck",cabType,fixedTypes,typeMMC,i,firstMSRP,actionForm);
					break;
					case "Sport/Cargo Van":
						displayInfo("DivSport/CargoVan",cabType,fixedTypes,typeMMC,i,firstMSRP,actionForm);
					break;
					case "Medium Duty":
						actionForm = '/vehiclelocator/locateVehicle.do';
						displayInfo("DivMediumDuty",cabType,fixedTypes,typeMMC,i,firstMSRP,actionForm);
					break;
				}
			//}
		}					
		i++;
	}// end of while of the xml file
}
	
//Function to display the information on each div
function displayInfo(divId, cabType, fixedTypes, typeMMC, position, prices, actionForm){
	count = -1; // 0;
	var selectTemp = "";
	document.getElementById(divId).innerHTML += "<div  id='car"+ carnumber +"' class='Row'><div class='VehicleDiv'><div class='VehicleImage' id='image'><img id='loadedimages' src='" + image + "' width='260' height='150' /></div><center><br /><span>" + vehicleName +" </span><br /><div>Starting at $<label id='initPrice" + position +"'>" + formatPrice(prices[0]) + "</label></div><br /><form id='selectedVehicle"+ position +"' name='selectedVehicle"+ position +"' method='GET' action='"+ actionForm +"'><div id='comboStyles'><select name='lvList"+ position +"' onchange='changedPrice("+ position +");' id='lvList"+ position +"' ></select></div><br /><input type='hidden' name='MMC' id='mmc"+ position +"' /><input type='hidden' name='modelDesignator' id='modelDesignator"+ position +"'><input type='hidden' name='searchCountry' id='searchCountry' value='US'><input type='hidden' name='searchType' id='searchType' value="+ searchtype +"><input type='hidden' name='year' id='year' value='"+currentYear+"'><input type='hidden' name='make' id='make' value='"+ make +"'><input type='hidden' name='brand' id='brand' value='"+ brandId +"'><input type='hidden' name='proximityUnitOfMeasure' value='miles'><input type='hidden' name='searchCity' value='"+ cityState +"'><input type='hidden' name='searchState' value='"+ selectState +"'><input type='hidden' name='modelCode' id='modelCode' value='"+ currentModelCode +"'><input type='hidden' name='subModelCode' id='modelSubCode' value='"+ currentSubModelCode +"'><input type='hidden' name='cabType' id='cabType"+ position +"' ><input type='hidden' name='boxType' id='boxType"+ position +"' ><input type='hidden' name='driveType' id='driveType"+ position +"' ><input type='hidden' name='postalCode' id='postalCode' value='"+ postalCode +"' ><input type='hidden' name='proximity' id='proximity' value='"+ proximity +"' ><input type='hidden' name='mileSelectState' id='mileSelectState' value='"+ mileSelectState +"' ><input type='hidden' name='selectState' id='selectState' value='"+ selectState +"' ><input type='hidden' name='cityState' id='cityState' value='"+ cityState +"' ><input type='hidden' name='ssnId' id='ssnId' value='"+ ssnId +"' ><input type='hidden' name='model' id='currentModel' value='"+ currentModel +"' ><input type='hidden' name='price' id='price"+ position +"' ><input type='hidden' name='msrPrice' id='msrPrice"+ position +"' ><input type='hidden' name='image' id='image' value='"+ image +"' ><input type='hidden' name='BAC' value='"+dealerId+"'><input type='hidden' name='dealerName' value='"+dealerName+"'><input type='hidden' name='dealerDistance' value='"+dealerDistance+"'><input type='hidden' name='gmbpManagerName' value='"+dealerCertified+"'><input type='hidden' name='dealerCity' value='"+dealerCity+"'><input type='hidden' name='dealerState' value='"+dealerState+"'><input type='hidden' name='dealerZipCode' value='"+dealerPostalC+"'><input type='hidden' name='dealerPhoneNumber' value='"+dealerPhone+"'><input type='hidden' name='dealerFax' value='"+dealerFax+"'><input type='hidden' name='dealerWebSite' value='"+dealerWebSite+"'><input type='hidden' name='dealerMap' value='"+dealerMap+"'><input type='hidden' name='dealerDirections' value='"+dealerDirections+"'><input type='hidden' name='dealerAddress' value='"+dealerStreet+"'><input type='hidden' name='makeDesc' value='"+makeDesc+"'><a class='optionSelect' onclick='changedPrice("+ position +");' href='javascript:validateSelecVehicle(document.selectedVehicle"+position+","+position+");' ><img alt='' id='selectVehicleImage' src='/images/DI/select.jpg' /></a></form></center></div></div>";
	carnumber++;
	for (i=0; i <cabType.length; i++) {
		var cabTypeArray = cabType[i];
		var cabT = cabTypeArray.split("  ");
		selectTemp = document.getElementById("lvList" + position);
		if(cabT[0] == "Standard"){
			selectTemp.options[++count] = new Option(cabType[i],prices[i]+"/"+typeMMC[i]+"/"+fixedTypes[i].replace(/^\s*/, "").replace(/\s*$/, ""));
			break;
			}else{
				selectTemp.options[++count] = new Option(cabType[i],prices[i]+"/"+typeMMC[i]+"/"+fixedTypes[i].replace(/^\s*/, "").replace(/\s*$/, ""));
			}
	}
	
}

//Validate the selected vehicle
function validateSelecVehicle(formName,position){
	var optionSelected = "lvList";
	var lvList = optionSelected.concat(position);
	var SVehicle = document.getElementById(lvList);
	var SelecVehicle = SVehicle.options[SVehicle.selectedIndex].text;
	var errorMessage = "";	
	
	//required to save the selected information in Cookies
	var formNameSV = "selectedVehicle";
	var slcVehicle = formNameSV.concat(position);
	var selectedVehicle = document.getElementById(slcVehicle);
	var cMMC = selectedVehicle.MMC.value;
	var cModelCode = selectedVehicle.modelCode.value;
	var cSubModelCode = selectedVehicle.modelSubCode.value;
	var cCabType = selectedVehicle.cabType.value;
	var cCurrentModel = selectedVehicle.currentModel.value;
	var cPrice =  selectedVehicle.price.value;
	var cImage = selectedVehicle.image.value;

	changedPrice(position);
	
	if (SelecVehicle=="Select Configuration") { errorMessage += "Please select a vehicle.<br />"; }
	var errorDiv = document.getElementById("ErrorMessage");
	if(errorMessage != ""){		
		errorDiv.innerHTML = errorMessage + "<br />";
		errorDiv.style.display = "block";
	} else{
		errorDiv.innerHTML = "";
		errorDiv.style.display = "none";
		createCookieCurrentYear();
		createVehicleSelectedCookies(cMMC,'US','0',make,cModelCode,cSubModelCode,cCabType,SelecVehicle,cCurrentModel,cPrice,cImage);
		manageClickSelectVL(brand,cCurrentModel);
		formName.submit();
	}

}

//Function to display the new msrp
function changedPrice(position){
	try{
		var price = document.getElementById('lvList' + position).value;
	var newPrice = price.split("/");
	document.getElementById('initPrice' + position).innerHTML = formatPrice(newPrice[0]);
	document.getElementById("price" + position).value = formatPrice(newPrice[0]);
	document.getElementById('msrPrice' + position).value = formatPrice(newPrice[0]);
	document.getElementById('mmc' + position).value = newPrice[1];
	document.getElementById('modelDesignator' + position).value = newPrice[1];
	var types = newPrice[2].split("*");
	document.getElementById('cabType' + position).value = types[0];
	document.getElementById('boxType' + position).value = types[1];
	document.getElementById('driveType' + position).value = types[2];
	}
	catch(chgErr){
	}
}

// Submit the form with the current position "recordBegin , recordEnd" of the paging
function nextVLPage(recordBegin, recordEnd, result){
	document.forms["nextVLRecord"].recordBegin.value = recordBegin;
	document.forms["nextVLRecord"].recordEnd.value = recordEnd;
	if (result == 'viewall'){
		document.forms["nextVLRecord"].ShowAllresults.value = 'yes';
		}else{
		document.forms["nextVLRecord"].ShowAllresults.value = 'no';
	}
	document.forms["nextVLRecord"].submit();	
}

//Display or hide the different tabs
function displayTabsVL(){
	var foundFirst = false;
	var tabName = "";
	try{
	hideAllTabs();
	if (document.getElementById('Div2DoorCoupe').innerHTML != ""){
		document.getElementById('DivTab2DoorCoupe').style.display = 'block';
		if (!foundFirst) {
			tabName = '2DoorCoupe';
			foundFirst = true;
		}
	}
	if (document.getElementById('Div4DoorSedan').innerHTML != ""){
		document.getElementById('DivTab4DoorSedan').style.display = 'block';
		if (!foundFirst) {
			tabName = '4DoorSedan';
			foundFirst = true;
		}
	}
	if (document.getElementById('DivSportUtility').innerHTML != ""){
		document.getElementById('DivTabSportUtility').style.display = 'block';
		if (!foundFirst) {
			tabName = 'SportUtility';
			foundFirst = true;
		}
	}
	if (document.getElementById('DivCrossover').innerHTML != ""){
		document.getElementById('DivTabCrossover').style.display = 'block';
		if (!foundFirst) {
			tabName = 'Crossover';
			foundFirst = true;
		}
	}
	if (document.getElementById('DivSport/Convertible').innerHTML != ""){
		document.getElementById('DivTabSport/Convertible').style.display = 'block';
		if (!foundFirst) {
			tabName = 'Sport/Convertible';
			foundFirst = true;
		}
	}
	if (document.getElementById('DivPick-UpTruck').innerHTML != ""){
		document.getElementById('DivTabPick-UpTruck').style.display = 'block';
		if (!foundFirst) {
			tabName = 'Pick-UpTruck';
			foundFirst = true;
		}
	}
	if (document.getElementById('DivSport/CargoVan').innerHTML != ""){
		document.getElementById('DivTabSport/CargoVan').style.display = 'block';
		if (!foundFirst) {
			tabName = 'Sport/CargoVan';
			foundFirst = true;
		}
	}
	if (document.getElementById('DivMediumDuty').innerHTML != ""){
		document.getElementById('DivTabMediumDuty').style.display = 'block';
		if (!foundFirst) {
			tabName = 'MediumDuty';
			foundFirst = true;
		}
	}
	
	changeTab(tabName);
	}
	catch(err){ // alert("Error: " + err);
	}
}

function hideAllTabs(){
	try{
	document.getElementById('DivTab2DoorCoupe').style.display = 'none';
	document.getElementById('DivTab4DoorSedan').style.display = 'none';
	document.getElementById('DivTabSportUtility').style.display = 'none';
	document.getElementById('DivTabCrossover').style.display = 'none';
	document.getElementById('DivTabSport/Convertible').style.display = 'none';
	document.getElementById('DivTabPick-UpTruck').style.display = 'none';
	document.getElementById('DivTabSport/CargoVan').style.display = 'none';
	document.getElementById('DivTabMediumDuty').style.display = 'none';
	}catch(hideErr){
	}
}

function changeModelTabs(image){
document.getElementById("Div2DoorCoupe").style.display = "block";
document.getElementById("Div4DoorSedan").style.display = "block";
document.getElementById("DivSportUtility").style.display = "block";
document.getElementById("DivCrossover").style.display = "block";
document.getElementById("DivSport/Convertible").style.display = "block";
document.getElementById("DivPick-UpTruck").style.display = "block";
document.getElementById("DivSport/CargoVan").style.display = "block";
document.getElementById("DivMediumDuty").style.display = "block";

	if(image.indexOf("on")<0){
		if(currentYear == "2008")
		{
			document.getElementById('car1').className = 'Row dn';
			document.getElementById('car2').className = 'Row dn';
			document.getElementById('car3').className = 'Row dn';
			document.getElementById('car4').className = 'Row dn';
			document.getElementById('car5').className = 'Row dn';
			document.getElementById('car6').className = 'Row dn';
			document.getElementById('car7').className = 'Row dn';
			document.getElementById('car8').className = 'Row dn';	
		}
		else { //2009
			document.getElementById('car9').className = 'Row dn';
			document.getElementById('car10').className = 'Row dn';
			document.getElementById('car11').className = 'Row dn';
			document.getElementById('car12').className = 'Row dn';
			document.getElementById('car13').className = 'Row dn';
			document.getElementById('car14').className = 'Row dn';
		}
	document.getElementById('imgSedan').src = '/images/raq/btn-seda_sport-off.gif';
	document.getElementById('imgConvertible').src = '/images/raq/btn-covertible_off.gif';
	document.getElementById('imgSportcombi').src = '/images/raq/btn_sportcombi_off.gif';
	document.getElementById('imgSuv').src = '/images/raq/btn_suv_off.gif';
	if(image.indexOf("seda")>0){
		if(image.indexOf("off")>0){		
			if(currentYear == "2008"){
				document.getElementById('car2').className = 'Row db';			
				document.getElementById('car4').className = 'Row db';
				document.getElementById('car6').className = 'Row db';
			} else{
				document.getElementById('car12').className = 'Row db';			
				document.getElementById('car10').className = 'Row db';
			}
			
			document.getElementById('imgSedan').src = '/images/raq/btn-seda_sport-on.gif';
		}
	}
	if(image.indexOf("covertible")>0){
		if(image.indexOf("off")>0){
			document.getElementById('car1').className = 'Row db';
			document.getElementById('imgConvertible').src = '/images/raq/btn-covertible_on.gif';
			document.getElementById("Div2DoorCoupe").style.display = "none";
			document.getElementById("Div4DoorSedan").style.display = "none";
			document.getElementById("DivSportUtility").style.display = "none";
			document.getElementById("DivCrossover").style.display = "none";
			document.getElementById("DivSport/Convertible").style.display = "block";
			document.getElementById("DivPick-UpTruck").style.display = "none";
			document.getElementById("DivSport/CargoVan").style.display = "none";
			document.getElementById("DivMediumDuty").style.display = "none";		
		}
	}
	if(image.indexOf("sportcombi")>0){
		if(image.indexOf("off")>0){
			document.getElementById('car3').className = 'Row db';
			document.getElementById('car5').className = 'Row db';
			if(currentYear == "2008"){
					document.getElementById('car7').className = 'Row db';
			}
			document.getElementById('imgSportcombi').src = '/images/raq/btn_sportcombi_on.gif';
		}
	}
	if(image.indexOf("suv")>0){
		if(image.indexOf("off")>0){
			if(currentYear == "2008"){
				document.getElementById('car8').className += 'Row db';	
			}else{
				document.getElementById('car6').className += 'Row db';
			}
			document.getElementById('imgSuv').src = '/images/raq/btn_suv_on.gif';
		}
	}
	currentImg = image;
	}
}