﻿// JScript File

 
   //Create XML HTTP
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 MfrSelectedIndexChanged() 
	{

	            var ddlManufacturers = document.getElementById(ddlURManufacturersID);    
                var ManufacturerId = ddlManufacturers.options[ddlManufacturers.selectedIndex].value;
                
                  
//                   for (var count = ddlModels.options.length-1; count > -1; count--) {
//		ddlModels.options[count] = null;
//	}    
	
 var ddlModels = document.getElementById(ddlURModelsID);
 var ddlVariants = document.getElementById(ddlURVariantsID);
 clearDropdown(ddlModels);
addOption2Dropdown(ddlModels, 'Select Model', -1);
clearDropdown(ddlVariants);
addOption2Dropdown(ddlVariants, 'Select Variant', -1);
             
//                  for (var count = ddlVariants.options.length-1; count > -1; count--) {
//		ddlVariants.options[count] = null;
//	}     
             
          
//                ddlModels.value = "-1";
//             
//                 ddlVariants.value = "-1";
                
            if (ManufacturerId == -1)
            {
                //var ddlModels = document.getElementById(ddlURModelsID);
                ddlModels.options.length=1;	 
                //var ddlVariants = document.getElementById(ddlURVariantsID);
                ddlVariants.options.length=1;		               
                return false;
            }
            
            
        var requestUrl = "getAJAXCall.aspx?Type=Models&Filter=New&CarMakeId=" + ManufacturerId  ;
        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)
		        {			
			        OnMfrStateChange(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);		
        } 
        

  
  }
  
//    if (ManufacturerId == -1)
//    {
//        var ddlModels = document.getElementById(ddlURModelsID);
//        ddlModels.options.length=1;	 
//        var ddlVariants = document.getElementById(ddlURVariantsID);
//        ddlVariants.options.length=1;		               
//        return false;
//    }
//  	 		
//    document.getElementById(txtManuID).value = ManufacturerId;  
//    
//      var oXmlDom = zXmlDom.createDocument();
//      oXmlDom.onreadystatechange = function () {
//          if (oXmlDom.readyState == 4) {
//              if (oXmlDom.parseError.errorCode == 0) {
//                  OnMfrStateChange(oXmlDom);
//              } else {
//                  var str = "An error occurred!!\n" +
//                      "Description: " + oXmlDom.parseError.reason + "\n" +
//                      "File: " + oXmlDom.parseError.url + "\n" +
//                      "Line: " + oXmlDom.parseError.line + "\n" +
//                      "Line Position: " + oXmlDom.parseError.linepos + "\n" +
//                      "Source Code: " + oXmlDom.parseError.srcText;

//                  alert(str);
//              }
//          }
//      };
//      oXmlDom.load(requestUrl);
//}

function OnMfrStateChange(oXmlDom)
{
   
      var mySelect = document.createElement("mySelect");
      mySelect = document.getElementById(ddlURModelsID);
      for (var count = mySelect.options.length-1; count >-1; count--)
      {
          mySelect.options[count] = null;
      }
      //responseXML contains an XMLDOM object
      //var oRoot = oXmlDom.documentElement;
      var nodes = oXmlDom.getElementsByTagName("Model");
        
      var option = document.createElement("option");
      option.value = -1;
      option.appendChild(document.createTextNode('Select Model'));
      mySelect.appendChild(option);
    
     
//       var mySelect1 = document.createElement("mySelect1");
//       mySelect1 = document.getElementById(ddlURVariantsID);
//         for (var count = mySelect1.options.length-1; count >-1; count--)
//      {
//          mySelect1.options[count] = null;
//      }
      //responseXML contains an XMLDOM object
      //var oRoot = oXmlDom.documentElement;
//      var nodes1 = oXmlDom.getElementsByTagName("Variant");
//        
//      var option1 = document.createElement("option1");
//      option1.value = -1;
//      option1.appendChild(document.createTextNode('Select Variant'));
//      mySelect1.appendChild(option1);
      
      
      for (var i=0; i<nodes.length; i++)
      {
		var o = document.createElement("option");
		o.value = nodes[i].childNodes[0].text;
		o.appendChild(document.createTextNode(nodes[i].childNodes[1].text));
		mySelect.appendChild(o);
      }
      var mySelect2 = document.createElement("mySelect2");
      mySelect2 = document.getElementById(ddlURManufacturersID);
      mySelect2.selectedvalue=document.getElementById(txtManuID).value;
      document.getElementById(txtModelID).value = '-1';
      
                 
}

  function ModelSelectedIndexChanged() 
  {
    //prepare the call, http method=GET, false=asynchronous call
    var ddlModels = document.getElementById(ddlURModelsID);
    var ModelId = ddlModels.options[ddlModels.selectedIndex].value;
    var Modeltxt = ddlModels.options[ddlModels.selectedIndex].text;
  var ddlVariants = document.getElementById(ddlURVariantsID);
     clearDropdown(ddlVariants);
      addOption2Dropdown(ddlVariants, 'Select Variant', -1);       
//   for (var count = ddlVariants.options.length-1; count > -1; count--) {
//		ddlVariants.options[count] = null;
//	}     
//  ddlVariants.value = "-1";
            if (ModelId == -1)
            {
                //var ddlVariants = document.getElementById(ddlURVariantsID);
                ddlVariants.options.length=1;	       
			            document.getElementById(txtModelID).value = '-1';
			            return false;
            }
            	 		
            document.getElementById(txtModelID).value = ModelId; 
            document.getElementById(txtModeltxtID).value = Modeltxt; 

    	var requestUrl = "getAJAXCall.aspx?Type=Variants&Filter=new&CarModelId=" + ModelId  ; //Changed by rama
        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)
		        {			
			        OnModelStateChange(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;
  
  }

//    if (ModelId == -1)
//    {
//        var ddlVariants = document.getElementById(ddlURVariantsID);
//        ddlVariants.options.length=1;	       
//				document.getElementById(txtModelID).value = '-1';
//				return false;
//    }
//  	 		
//    document.getElementById(txtModelID).value = ModelId; 
//    document.getElementById(txtModeltxtID).value = Modeltxt; 

//      var oXmlDom = zXmlDom.createDocument();
//      oXmlDom.onreadystatechange = function () {
//          if (oXmlDom.readyState == 4) {
//              if (oXmlDom.parseError.errorCode == 0) {
//                  OnModelStateChange(oXmlDom);
//              } else {
//                  var str = "An error occurred!!\n" +
//                      "Description: " + oXmlDom.parseError.reason + "\n" +
//                      "File: " + oXmlDom.parseError.url + "\n" +
//                      "Line: " + oXmlDom.parseError.line + "\n" +
//                      "Line Position: " + oXmlDom.parseError.linepos + "\n" +
//                      "Source Code: " + oXmlDom.parseError.srcText;

//                  alert(str);
//              }
//          }
//      };
//      oXmlDom.load(requestUrl);
//  }

  function OnModelStateChange(oXmlDom)
  {
      var mySelect = document.createElement("mySelect");
      mySelect = document.getElementById(ddlURVariantsID);
      for (var count = mySelect.options.length-1; count >-1; count--)
      {
          mySelect.options[count] = null;
      }
      //responseXML contains an XMLDOM object
      //var oRoot = oXmlDom.documentElement;
      var nodes = oXmlDom.getElementsByTagName("Variant");
      
      var option = document.createElement("option");
      option.value = -1;
      option.appendChild(document.createTextNode('Select Variant'));
      mySelect.appendChild(option);
	
      for (var i=0; i<nodes.length; i++)
      {
				var o = document.createElement("option");
				o.value = nodes[i].childNodes[0].text;
				o.appendChild(document.createTextNode(nodes[i].childNodes[1].text));
				mySelect.appendChild(o);
      }
      var mySelect2 = document.createElement("mySelect2");
      mySelect2 = document.getElementById(ddlURModelsID);
      mySelect2.selectedvalue=document.getElementById(txtModelID).value;
      document.getElementById(txtVariantID).value = '-1';          
  }		


  function VariantSelectedIndexChanged() 
  {
    //prepare the call, http method=GET, false=asynchronous call
    var ddlVariants = document.getElementById(ddlURVariantsID);
    var VariantId = ddlVariants.options[ddlVariants.selectedIndex].value;
    var Varianttxt = ddlVariants.options[ddlVariants.selectedIndex].text;

    
    if (VariantId == -1)
    {
      document.getElementById(txtVariantID).value = '-1'; 
    }
  	
    document.getElementById(txtVariantID).value = VariantId;
    document.getElementById(txtVarianttxtID).value = Varianttxt;	    
  }

