﻿var XmlHttp;

//Creating and setting the instance of appropriate XMLHTTP Request object to a “XmlHttp” variable  
function CreateXmlHttp()
{
	//Creating object of XMLHTTP in IE
	try
	{
		XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(oc)
		{
			XmlHttp = null;
		}
	}
	//Creating object of XMLHTTP in Mozilla and Safari 
	if(!XmlHttp && typeof XMLHttpRequest != "undefined") 
	{
		XmlHttp = new XMLHttpRequest();
	}
}
//Create XML HTTP
function window_onload() {
	var hdnLeftSelMake = document.getElementById(hdnLeftSelMakeID);
	var ddlLeftMakes = document.getElementById(ddlLeftMakesID);
	ddlLeftMakes.value = hdnLeftSelMake.value;
	ddlLeftMakes_onchange(0);

	var hdnRightSelMake = document.getElementById(hdnRightSelMakeID);
	var ddlRightMakes = document.getElementById(ddlRightMakesID);
	ddlRightMakes.value = hdnRightSelMake.value;
	ddlRightMakes_onchange(0);
}

function lnkCompare_onclick() {
	var hdnLeftSelMake = document.getElementById(hdnLeftSelMakeID);
	var hdnLeftSelModel = document.getElementById(hdnLeftSelModelID);
	var hdnLeftSelVariant = document.getElementById(hdnLeftSelVariantID);
	var hdnRightSelMake = document.getElementById(hdnRightSelMakeID);
	var hdnRightSelModel = document.getElementById(hdnRightSelModelID);
	var hdnRightSelVariant = document.getElementById(hdnRightSelVariantID);
	
	if ((hdnLeftSelVariant.value == -1) || (hdnRightSelVariant.value == -1)) {
		var div3Select = document.getElementById("divMakeMissingMessage");
  	div3Select.style.display = "block";
		return false;
	}

	if (hdnLeftSelVariant.value == hdnRightSelVariant.value) {
	var divSelect = document.getElementById("divSameVariantMessage");
	divSelect.style.display = "block";
		return false;
	}

	document.location.href= "NewCarCompare.aspx?Ma1=" + hdnLeftSelMake.value 
																				+ "&Mo1=" + hdnLeftSelModel.value
																				+ "&Va1=" + hdnLeftSelVariant.value
																				+ "&Ma2=" + hdnRightSelMake.value 
																				+ "&Mo2=" + hdnRightSelModel.value
																				+ "&Va2=" + hdnRightSelVariant.value ;
							
}

function btCloseMMMM_onclick() {
	var divMakeMissingMessage = document.getElementById("divMakeMissingMessage");
	divMakeMissingMessage.style.display = "none";
	return false;
}
function btClose1MMMM_onclick() {
	var divSameVariantMessage = document.getElementById("divSameVariantMessage");
	divSameVariantMessage.style.display = "none";
	return false;
}
function btSBSCloseMMMM_onclick() {
	ddlLeftMakes_onchange(0);
	return false;
}
var ddlLeftModelTimerID = null;
var ddlLeftVariantTimerID = null;



function ddlLeftMakes_onchange(ShudResetModel) {
	var ddlLeftModels = document.getElementById(ddlLeftModelsID);
	var ddlLeftVariants = document.getElementById(ddlLeftVariantsID);
	var ddlLeftMakes = document.getElementById(ddlLeftMakesID);
	var hdnLeftSelMake = document.getElementById(hdnLeftSelMakeID);
	var hdnLeftSelModel = document.getElementById(hdnLeftSelModelID);
	var hdnLeftSelVariant = document.getElementById(hdnLeftSelVariantID);
	var divSBSMakeMissingMessage = document.getElementById('divSBSMakeMissingMessage');
	var divSBSModelMissingMessage = document.getElementById('divSBSModelMissingMessage');
	var divSBSVariantMissingMessage = document.getElementById('divSBSVariantMissingMessage');

	hdnLeftSelMake.value = ddlLeftMakes.value;
	clearDropdown(ddlLeftModels);
	addOption2Dropdown(ddlLeftModels, 'Select Model', -1);

	clearDropdown(ddlLeftVariants);
	addOption2Dropdown(ddlLeftVariants, 'Select Variant', -1);
    hdnLeftSelModel.value = "-1";
	hdnLeftSelVariant.value = "-1";
			
	
			var requestUrl = "getAJAXCall.aspx?Type=Models&Filter=New&CarMakeId=" + hdnLeftSelMake.value  ;
CreateXmlHttp();
    	
        // If browser supports XMLHTTPRequest object
        if(XmlHttp)
        {
	        //Setting the event handler for the response
	        XmlHttp.onreadystatechange = function(){
	        
	        	// To make sure receiving response data from server is completed
	        if(XmlHttp.readyState == 4)
	        {
		        // To make sure valid response is received from the server, 200 means response received is OK
		        if(XmlHttp.status == 200)
		        {			
			        LeftAJAXDropdownDataReceived('NewCarModels', XmlHttp.responseXML.documentElement);
		        }
		        else
		        {
			        alert("There was a problem retrieving data from the server." );
		        }
	        }
	        
	        }
    		
	        //Initializes the request object with GET (METHOD of posting), 
	        //Request URL and sets the request as asynchronous.
	        XmlHttp.open("GET", requestUrl,  true);
    		
	        //Sends the request to server
	        XmlHttp.send(null);		
	}
			
	return false;
}

function ddlLeftModels_onchange(ShudResetVariant) {
	var ddlLeftVariants = document.getElementById(ddlLeftVariantsID);
	var ddlLeftModels = document.getElementById(ddlLeftModelsID);
	var hdnLeftSelModel = document.getElementById(hdnLeftSelModelID);
	var hdnLeftSelVariant = document.getElementById(hdnLeftSelVariantID);
	var divSBSMakeMissingMessage = document.getElementById('divSBSMakeMissingMessage');
	var divSBSModelMissingMessage = document.getElementById('divSBSModelMissingMessage');
	var divSBSVariantMissingMessage = document.getElementById('divSBSVariantMissingMessage');
	
	hdnLeftSelModel.value = ddlLeftModels.value;
	clearDropdown(ddlLeftVariants);
	addOption2Dropdown(ddlLeftVariants, 'Select Variant', -1);
	hdnLeftSelVariant.value = "-1";
		
	
			var requestUrl = "getAJAXCall.aspx?Type=Variants&Filter=Compare&CarModelId=" + hdnLeftSelModel.value  ;
CreateXmlHttp();
    	
        // If browser supports XMLHTTPRequest object
        if(XmlHttp)
        {
	        //Setting the event handler for the response
	        XmlHttp.onreadystatechange = function(){
	        
	        	// To make sure receiving response data from server is completed
	        if(XmlHttp.readyState == 4)
	        {
		        // To make sure valid response is received from the server, 200 means response received is OK
		        if(XmlHttp.status == 200)
		        {			
			        LeftAJAXDropdownDataReceived('NewCarVariants', XmlHttp.responseXML.documentElement);
		        }
		        else
		        {
			        alert("There was a problem retrieving data from the server." );
		        }
	        }
	        
	        }
    		
	        //Initializes the request object with GET (METHOD of posting), 
	        //Request URL and sets the request as asynchronous.
	        XmlHttp.open("GET", requestUrl,  true);
    		
	        //Sends the request to server
	        XmlHttp.send(null);		
	}
			
	return false;
}

function LeftAJAXDropdownDataReceived(DropdownType, oXmlDom) {
  switch (DropdownType) {
    case 'NewCarModels' :
			var ddlLeftModels = document.getElementById(ddlLeftModelsID);
			clearDropdown(ddlLeftModels);
			
			//responseXML contains an XMLDOM object
			//var oRoot = oXmlDom.documentElement;
			var nodes = oXmlDom.getElementsByTagName("Model");
		
			addOption2Dropdown(ddlLeftModels, 'Select Model', -1);

			for (var i=0; i<nodes.length; i++) {
				var o = document.createElement("option");
				o.value = nodes[i].childNodes[0].firstChild.data;
				o.appendChild(document.createTextNode(nodes[i].childNodes[1].firstChild.data));
				ddlLeftModels.appendChild(o);
			 }

    	addOption2Dropdown(ddlLeftModels, 'Model Missing?', -2);
    	
			document.getElementById("imgLoadingLeftModels").src = "images/1x1.gif";
			var hdnLeftSelModel = document.getElementById(hdnLeftSelModelID);
			//ddlLeftModelTimerID = self.setTimeout("_setddlLeftModelsValue()",100);
			break;

    case 'NewCarVariants' :
			var ddlLeftVariants = document.getElementById(ddlLeftVariantsID);
			clearDropdown(ddlLeftVariants);
			
			//responseXML contains an XMLDOM object
			//var oRoot = oXmlDom.documentElement;
			var nodes = oXmlDom.getElementsByTagName("Variant");
		
			addOption2Dropdown(ddlLeftVariants, 'Select Variant', -1);

			for (var i=0; i<nodes.length; i++) {
				var o = document.createElement("option");
				o.value = nodes[i].childNodes[0].firstChild.data;
				o.appendChild(document.createTextNode(nodes[i].childNodes[1].firstChild.data));
				ddlLeftVariants.appendChild(o);
			 }
			addOption2Dropdown(ddlLeftVariants, 'Variant Missing?', -2);
			
			document.getElementById("imgLoadingLeftVariants").src = "images/1x1.gif";
			
			if (nodes.length>0) {
				var imgLeftCompareTN = document.getElementById('imgLeftCompareTN');
	
				var Size2Image = nodes[0].childNodes[2].firstChild.data;
				if (Size2Image == '')
					imgLeftCompareTN.src = "images/error100.JPG" 
				else    			
					imgLeftCompareTN.src = "NewCarImages/" + Size2Image;
			}
			
			var hdnLeftSelVariant = document.getElementById(hdnLeftSelVariantID);
			//ddlLeftVariantTimerID = self.setTimeout("_setddlLeftVariantsValue()",100);
			break;
  }
}

function _setddlLeftModelsValue() {
	var ddlLeftModels = document.getElementById(ddlLeftModelsID);
	var hdnLeftSelModel = document.getElementById(hdnLeftSelModelID);
	ddlLeftModels.value = hdnLeftSelModel.value;
	clearTimeout(ddlLeftModelTimerID);

	ddlLeftModels_onchange(0); 
}

function _setddlLeftVariantsValue() {
	var ddlLeftVariants = document.getElementById(ddlLeftVariantsID);
	var hdnLeftSelVariant = document.getElementById(hdnLeftSelVariantID);
	ddlLeftVariants.value = hdnLeftSelVariant.value;
	clearTimeout(ddlLeftVariantTimerID);
}

function ddlLeftVariants_onchange() {
	var ddlLeftVariants = document.getElementById(ddlLeftVariantsID);
	var hdnLeftSelVariant = document.getElementById(hdnLeftSelVariantID);
	
	var divSBSMakeMissingMessage = document.getElementById('divSBSMakeMissingMessage');
	var divSBSModelMissingMessage = document.getElementById('divSBSModelMissingMessage');
	var divSBSVariantMissingMessage = document.getElementById('divSBSVariantMissingMessage');
	
	hdnLeftSelVariant.value = ddlLeftVariants.value;
	
		switch (ddlLeftVariants.value) {
		case "-1":
		  divSBSMakeMissingMessage.style.display = "none";
		  divSBSModelMissingMessage.style.display = "none";
		  divSBSVariantMissingMessage.style.display = "none";
			break;

		case "-2":
			divSBSMakeMissingMessage.style.display = "none";
		  divSBSModelMissingMessage.style.display = "none";
		  divSBSVariantMissingMessage.style.display = "block";
		  
			hdnLeftSelVariant.value = "-1";
			ddlLeftVariants.value = hdnLeftSelVariant.value;
			break;
			
		default:
		  divSBSMakeMissingMessage.style.display = "none";
		  divSBSModelMissingMessage.style.display = "none";
		  divSBSVariantMissingMessage.style.display = "none";
			break;
	}
	return false;
}

var ddlRightModelTimerID = null;
var ddlRightVariantTimerID = null;

function ddlRightMakes_onchange(ShudResetModel) {
	var ddlRightModels = document.getElementById(ddlRightModelsID);
	var ddlRightVariants = document.getElementById(ddlRightVariantsID);
	var ddlRightMakes = document.getElementById(ddlRightMakesID);
	var hdnRightSelMake = document.getElementById(hdnRightSelMakeID);
	var hdnRightSelModel = document.getElementById(hdnRightSelModelID);
	var hdnRightSelVariant = document.getElementById(hdnRightSelVariantID);
	var divSBSMakeMissingMessage = document.getElementById('divSBSMakeMissingMessage');
	var divSBSModelMissingMessage = document.getElementById('divSBSModelMissingMessage');
	var divSBSVariantMissingMessage = document.getElementById('divSBSVariantMissingMessage');

	hdnRightSelMake.value = ddlRightMakes.value;
	clearDropdown(ddlRightModels);
	addOption2Dropdown(ddlRightModels, 'Select Model', -1);

	clearDropdown(ddlRightVariants);
	addOption2Dropdown(ddlRightVariants, 'Select Variant', -1);
	hdnRightSelModel.value = "-1";
			hdnRightSelVariant.value = "-1";
		 
	
		  
			var requestUrl = "getAJAXCall.aspx?Type=Models&Filter=New&CarMakeId=" + hdnRightSelMake.value  ;
CreateXmlHttp();
    	
        // If browser supports XMLHTTPRequest object
        if(XmlHttp)
        {
	        //Setting the event handler for the response
	        XmlHttp.onreadystatechange = function(){
	        
	        	// To make sure receiving response data from server is completed
	        if(XmlHttp.readyState == 4)
	        {
		        // To make sure valid response is received from the server, 200 means response received is OK
		        if(XmlHttp.status == 200)
		        {			
			        RightAJAXDropdownDataReceived('NewCarModels', XmlHttp.responseXML.documentElement);
		        }
		        else
		        {
			        alert("There was a problem retrieving data from the server." );
		        }
	        }
	        
	        }
    		
	        //Initializes the request object with GET (METHOD of posting), 
	        //Request URL and sets the request as asynchronous.
	        XmlHttp.open("GET", requestUrl,  true);
    		
	        //Sends the request to server
	        XmlHttp.send(null);		
	}
			
	return false;
}

function ddlRightModels_onchange(ShudResetVariant) {
	var ddlRightVariants = document.getElementById(ddlRightVariantsID);
	var ddlRightModels = document.getElementById(ddlRightModelsID);
	var hdnRightSelModel = document.getElementById(hdnRightSelModelID);
	var hdnRightSelVariant = document.getElementById(hdnRightSelVariantID);
	var divSBSMakeMissingMessage = document.getElementById('divSBSMakeMissingMessage');
	var divSBSModelMissingMessage = document.getElementById('divSBSModelMissingMessage');
	var divSBSVariantMissingMessage = document.getElementById('divSBSVariantMissingMessage');
	
	hdnRightSelModel.value = ddlRightModels.value;
	clearDropdown(ddlRightVariants);
	addOption2Dropdown(ddlRightVariants, 'Select Variant', -1);
hdnRightSelVariant.value = "-1";
			
	
			var requestUrl = "getAJAXCall.aspx?Type=Variants&Filter=Compare&CarModelId=" + hdnRightSelModel.value  ;
CreateXmlHttp();
    	
        // If browser supports XMLHTTPRequest object
        if(XmlHttp)
        {
	        //Setting the event handler for the response
	        XmlHttp.onreadystatechange = function(){
	        
	        	// To make sure receiving response data from server is completed
	        if(XmlHttp.readyState == 4)
	        {
		        // To make sure valid response is received from the server, 200 means response received is OK
		        if(XmlHttp.status == 200)
		        {			
			        RightAJAXDropdownDataReceived('NewCarVariants', XmlHttp.responseXML.documentElement);
		        }
		        else
		        {
			        alert("There was a problem retrieving data from the server." );
		        }
	        }
	        
	        }
    		
	        //Initializes the request object with GET (METHOD of posting), 
	        //Request URL and sets the request as asynchronous.
	        XmlHttp.open("GET", requestUrl,  true);
    		
	        //Sends the request to server
	        XmlHttp.send(null);		
	}
			
	return false;
}

function RightAJAXDropdownDataReceived(DropdownType, oXmlDom) {
  switch (DropdownType) {
    case 'NewCarModels' :
			var ddlRightModels = document.getElementById(ddlRightModelsID);
			clearDropdown(ddlRightModels);
			
			//responseXML contains an XMLDOM object
			//var oRoot = oXmlDom.documentElement;
			var nodes = oXmlDom.getElementsByTagName("Model");
		
			addOption2Dropdown(ddlRightModels, 'Select Model', -1);

			for (var i=0; i<nodes.length; i++) {
				var o = document.createElement("option");
				o.value = nodes[i].childNodes[0].firstChild.data;
				o.appendChild(document.createTextNode(nodes[i].childNodes[1].firstChild.data));
				ddlRightModels.appendChild(o);
			 }
			addOption2Dropdown(ddlRightModels, 'Model Missing?', -2);
			
			document.getElementById("imgLoadingRightModels").src = "images/1x1.gif";
			var hdnRightSelModel = document.getElementById(hdnRightSelModelID);
			ddlRightModelTimerID = self.setTimeout("_setddlRightModelsValue()",100);
			break;

    case 'NewCarVariants' :
			var ddlRightVariants = document.getElementById(ddlRightVariantsID);
			clearDropdown(ddlRightVariants);
			
			//responseXML contains an XMLDOM object
			//var oRoot = oXmlDom.documentElement;
			var nodes = oXmlDom.getElementsByTagName("Variant");
		
			addOption2Dropdown(ddlRightVariants, 'Select Variant', -1);

			for (var i=0; i<nodes.length; i++) {
				var o = document.createElement("option");
				o.value = nodes[i].childNodes[0].firstChild.data;
				o.appendChild(document.createTextNode(nodes[i].childNodes[1].firstChild.data));
				ddlRightVariants.appendChild(o);
			 }

			addOption2Dropdown(ddlRightVariants, 'Variant Missing?', -2);
			document.getElementById("imgLoadingRightVariants").src = "images/1x1.gif";
			
			if (nodes.length>0) {
				var imgRightCompareTN = document.getElementById('imgRightCompareTN');
	
				var Size2Image = nodes[0].childNodes[2].firstChild.data;
				if (Size2Image == '')
					imgRightCompareTN.src = "images/error100.JPG" 
				else    			
					imgRightCompareTN.src = "NewCarImages/" + Size2Image;
			}
			
			var hdnRightSelVariant = document.getElementById(hdnRightSelVariantID);
			ddlRightVariantTimerID = self.setTimeout("_setddlRightVariantsValue()",100);
			break;
  }
}

function _setddlRightModelsValue() {
	var ddlRightModels = document.getElementById(ddlRightModelsID);
	var hdnRightSelModel = document.getElementById(hdnRightSelModelID);
	ddlRightModels.value = hdnRightSelModel.value;
	clearTimeout(ddlRightModelTimerID);

	ddlRightModels_onchange(0); 
}

function _setddlRightVariantsValue() {
	var ddlRightVariants = document.getElementById(ddlRightVariantsID);
	var hdnRightSelVariant = document.getElementById(hdnRightSelVariantID);
	ddlRightVariants.value = hdnRightSelVariant.value;
	clearTimeout(ddlRightVariantTimerID);
}

function ddlRightVariants_onchange() {
	var ddlRightVariants = document.getElementById(ddlRightVariantsID);
	var hdnRightSelVariant = document.getElementById(hdnRightSelVariantID);
	
	hdnRightSelVariant.value = ddlRightVariants.value;
	
		switch (ddlRightVariants.value) {
		case "-1":
		  divSBSMakeMissingMessage.style.display = "none";
		  divSBSModelMissingMessage.style.display = "none";
		  divSBSVariantMissingMessage.style.display = "none";
			break;

		case "-2":
			divSBSMakeMissingMessage.style.display = "none";
		  divSBSModelMissingMessage.style.display = "none";
		  divSBSVariantMissingMessage.style.display = "block";
		  
			hdnRightSelVariant.value = "-1";
			ddlRightVariants.value = hdnRightSelVariant.value;
			break;
			
		default:
		  divSBSMakeMissingMessage.style.display = "none";
		  divSBSModelMissingMessage.style.display = "none";
		  divSBSVariantMissingMessage.style.display = "none";
			break;
	}
	return false;
}
