﻿
function MakeChanged(objMake,ModelID)
{
    //alert(ModelID.id)
    ModelID = document.getElementById(ModelID.id);	
    if(objMake.options[objMake.selectedIndex].text=="--Select Make--")
    {
        ModelID.disabled=true;  
    }
    else
    {
   // ResetDropDowns("MAKE");
   	for(j=ModelID.length; j>=0; j--)
	  ModelID.options[j]=null;  
	  ModelID.options[0] = new Option("Loading...","Loading...");  
	  ModelID.disabled=true;
    var sMake = objMake.value;    
    var ajaxUrl = document.getElementById("hdnUrl").value;
    ajaxUrl = ajaxUrl + "web/ajax/UsedCarsMakeModelListCtrl.aspx?from=make&makeId=" + sMake;
    
    var browser = document.getElementById("hdnBrowser").value;
    CallMyServer(ajaxUrl, FillModelDropDown, browser);
    //Enabling model dropdown list.
    document.getElementById(ModelID.id).disabled=false;
    }
}

function EnterKeygetUrl(e,url_,Make,Model,Zip,br)
{
    if(!e)
        e = window.event || event;
   
    if(e.keyCode == 13)
    {
        return getUrl(url_,Make,Model,Zip,br)
    }
}

function getUrl(url_,Make,Model,Zip,br)
{
if (Make.value == "0")
{
alert("Make not selected");  
return false;  
}
else
{
    if(Model.length < 1)
    {
        alert("Model not selected");       
        return false;
    }
    else
    if(Model.options[Model.selectedIndex].text == "--Select Model--" )
    {
        alert("Model not selected");   
        return false;
    }
    if(Model.options[Model.selectedIndex].text == "Loading..." )
    {
        alert("Model not selected");     
        return false;
    }
    else
    {
    if(Zip.value == "" || Zip.value == "enter zip" )
    {
        alert("Please enter valid zip code");
        Zip.value = "";
        Zip.focus();
        return false;
    }
    else
    {
    if( Zip.value > 0)
    {
    var zipResponse =  ValidateZipOnlyRequest(Zip.value,url_,br);
    if (zipResponse == 'true')
        window.location= url_ + "cars/used/result.aspx?ddlMake="+Make.options[Make.selectedIndex].text+"&ddlModel="+Model.options[Model.selectedIndex].text.replace(' & ','.And.')+"&ddlDistance=50&ddlPrice=All&zipCode="+Zip.value;
        else
        {
             alert("Please enter valid zip code");
             Zip.value = "";
             Zip.focus();
             return false;
        }
    }
    else
    {
     alert("Please enter valid zip code");
     Zip.value = "";
     Zip.focus();
     return false;
     }
    }
    }
}
}


/////////// getUrlWithoutZipValidation/////////////
function getUrlWithoutZipValidation(url_,Make,Model,Zip,br)
{
alert(url_+ " -- " +Make+ " -- " +Model+ " -- " +Zip+ " -- " +br);
if (Make.value == "0")
{
    alert("Make not selected");   
    return false; 
}
else
{
    if(Model.length < 1)
    {
       alert("Model not selected");       
       return false;
    }
    else
    if(Model.options[Model.selectedIndex].text == "--Select Model--" )
    {
        alert("Model not selected");       
        return false;
    }
    else
    {
    if(Zip == "" )
    {
        return;
        //alert("Please enter valid zip code");        
        //Zip = "";        
    }
    else
    {
    if( Zip > 0)
    {
    var zipResponse =  ValidateZipOnlyRequest(Zip,url_,br);
    if (zipResponse == 'true')    
        window.location= url_ + "cars/used/result.aspx?ddlMake="+Make.options[Make.selectedIndex].text+"&ddlModel="+Model.options[Model.selectedIndex].text+"&ddlDistance=50&ddlPrice=All&zipCode="+Zip;
        else
        {
             return;
        }
    }
    else
    {
        return;
    }
    }
    }
}
}



///////////////////////////////////////////////



function ModelChanged(objModel)
{
    ResetDropDowns("MODEL");
    var sModel = objModel.value;    
    var ajaxUrl = document.getElementById("hdnUrl").value;
    ajaxUrl = ajaxUrl + "web/ajax/MakeModelListCtrl.Ajax.aspx?from=model&modelId=" + sModel;
    
    var browser = document.getElementById("hdnBrowser").value;
    //CallMyServer(ajaxUrl, FillTrimDropDown, browser);    
}

function MakeChangedAsync(objMake)
{
    ResetDropDowns("MAKE");
    var sMake = objMake.value;    
    var ajaxUrl = document.getElementById("hdnUrl").value;
    ajaxUrl = ajaxUrl + "web/ajax/MakeModelListCtrl.Ajax.aspx?from=make&makeId=" + sMake;
    
    var browser = document.getElementById("hdnBrowser").value;
    CallMyServer(ajaxUrl, FillModelDropDown, browser);    
}

function ModelChangedAsync(objModel)
{
    ResetDropDowns("MODEL");
    var sModel = objModel.value;    
    var ajaxUrl = document.getElementById("hdnUrl").value;
    ajaxUrl = ajaxUrl + "web/ajax/MakeModelListCtrl.Ajax.aspx?from=model&modelId=" + sModel;
    
    var browser = document.getElementById("hdnBrowser").value;
    CallMyServer(ajaxUrl, FillTrimDropDown, browser);    
}

function ResetDropDowns(name)
{
    var objMake = document.getElementById(document.getElementById("hdnMake").value);
    var objModel = document.getElementById(document.getElementById("hdnModel").value);
}

function EnableControl(control, enable)
{    
    control.disabled = !enable;            
    control.options.length = 0;
    
    var text = "--Select--";
    if(control.id.indexOf(document.getElementById("hdnMake").value) != -1)
        text = "-- Select Make --";
        
    else if(control.id.indexOf(document.getElementById("hdnModel").value) != -1)
        text = "-- Select Model --";
    control.options.add(new Option(text, ""));
}

var httpRequest = false;

function CallMyServer(url, functionName, browser)
{   
    
    if (window.XMLHttpRequest) 
    {	    
	    httpRequest = new XMLHttpRequest(); 
	    if (httpRequest.overrideMimeType) 
	    { 
		    httpRequest.overrideMimeType('text/xml');     		
	    } 
		
    } 
    else if (window.ActiveXObject) 
    { 
	    // IE 
    try 
    { 
	    httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } 
    catch (e) 
    { 
    try 
    { 
	    httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    catch (e) 
    {} 
    } 
    } 
	    if (!httpRequest) 
	    { 
		    //return false; 
	    } 	   		    
        
	    httpRequest.onreadystatechange = functionName;
	    if(browser == "IE")
	        httpRequest.open('POST', url, true);
	    else 
	        httpRequest.open('GET', url, true);
		   
		
	    httpRequest.send(null);	    
}

function CallServerSync(url, functionName, browser)
{
	if (window.XMLHttpRequest) 
	{
		httpRequest = new XMLHttpRequest();
		
		if (httpRequest.overrideMimeType)
		{
			httpRequest.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject)
	{
		// IE 
	    try 
	    { 
		    httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
	    } 
	    catch (e) 
	    { 
	        try 
	        { 
		        httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
	        } 
	        catch (e) 
	        {} 
	    }
	}					    
	
	if(browser == "IE")
	    httpRequest.open('POST', url, true);
	else
	    httpRequest.open('GET', url, true);
	    
	httpRequest.send(null);
}


function FillMakeDropDown()
{
    if (httpRequest.readyState == 4) 
    { 
	    if (httpRequest.status == 200)
	    {
	        var text = httpRequest.responseText;	        
	        var objMake = document.getElementById(document.getElementById("hdnMake").value);
            objMake.disabled = false;
            
            objMake.options.length = 0;
            objMake.options.add(new Option("--Select Make--", ""));
            
            if(text != null && text != "")
            {
                var arr = text.split("|");                
                for(var i=0; i<arr.length; i++)
                {
                    var splitArr = arr[i].split("@");
                    objMake.options.add(new Option(splitArr[1], splitArr[0]));        
                }
            }   		 
	    }
    }
}

function FillModelDropDown()
{
    if (httpRequest.readyState == 4) 
    { 
	    if (httpRequest.status == 200)
	    {
	        var text = httpRequest.responseText;
	        var objModel = document.getElementById(document.getElementById("hdnModel").value);
            //objModel.disabled = false;
            
            objModel.options.length = 0;
            objModel.options.add(new Option("--Select Model--", ""));
            
            if(text != null && text != "")
            {
                var arr = text.split("|");                
                for(var i=0; i<arr.length; i++)
                {
                    var splitArr = arr[i].split("@");
                    objModel.options.add(new Option(splitArr[0]));        
                }
            }   		 
	    }
    }
}

function BottomupFillUp(carId)
{
    if(carId == null || carId == "" || carId == "0")
        return;
        
    var ajaxUrl = document.getElementById("hdnUrl").value;
    ajaxUrl = ajaxUrl + "web/ajax/MakeModelListCtrl.Ajax.aspx?from=trim&carId=" + carId;
    
    var browser = document.getElementById("hdnBrowser").value;
    CallMyServer(ajaxUrl, BottomupFillUpResponse, browser);    
}

function BottomupFillUpResponse()
{
    if (httpRequest.readyState == 4) 
    { 
	    if (httpRequest.status == 200)
	    {	        
	        var text = httpRequest.responseText;	        
	        var arr = text.split('@');	       
	        var year = arr[0];
	        var makeId = arr[1];
	        var make = arr[2];
	        var modelId= arr[3];
	        var model = arr[4];
	        var trim = arr[5];
	        
	        var objTrim = document.getElementById(document.getElementById("hdnTrim").value);
	        var objModel = document.getElementById(document.getElementById("hdnModel").value);
	        var objMake = document.getElementById(document.getElementById("hdnMake").value);
	        var objYear = document.getElementById(document.getElementById("hdnYear").value);
	        var objCarId = document.getElementById("hdnCarId");
	        
	        objYear.value = year;	        
	        YearChangedAsync(objYear);
	        FillMakeDropDown();
	        
	        objMake.value = makeId;
	        MakeChangedAsync(objMake);
	        FillModelDropDown();
	        
	        objModel.value = modelId;
	        ModelChangedAsync(objModel);
	        FillTrimDropDown();	        
	        objTrim.value = objCarId.value;
	    }
	}
}


