﻿// JScript File

function makeHttpRequest(url, element, calltype) {
  var http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) 
    {
      http_request.overrideMimeType('text/xml');
      
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }
  if (!http_request) {
    alert('Browser doesn\'t support Ajax. Site will NOT FULLY function properly.');
    return false;
  }
  http_request.onreadystatechange = function() {
    if (http_request.readyState == 4) {
      if (http_request.status == 200) {  
                
        loadXML(http_request.responseXML,calltype);
      } else {
        alert('There was a problem with the request. (Code: ' + http_request.status + ')');
      }
    }
  }
  http_request.open('GET', url, true);
  http_request.send(null);
}


function loadXML(xml,calltype)
{
	
    var objBtnSearch=document.getElementById('inc_home_step_finder_btnSearch');
	objBtnSearch.style.display='none';
	
	var objYear = document.getElementById('inc_home_step_finder_step4');
	objYear.style.display='none';	
	
	if(calltype == 'Make')
	{		
		var string = '';
		var root = xml.getElementsByTagName('root')[0];
		// Fill Model
		var Model = root.getElementsByTagName('Model');		
		var objdrpModel = document.getElementById('inc_home_step_finder_ddModel');	
		
		var objImage=document.getElementById('imgMake');
		
		objImage.style.display='none';
		
		objdrpModel.style.display='';
					
		SelectedModel = objdrpModel.options[objdrpModel.selectedIndex].value;		
		objdrpModel.options.length = 1;
		for (i = 0; i < Model.length; i++)
		{
		    var city = Model[i];  
		    var Text = city.getElementsByTagName("Text")[0].firstChild.nodeValue;  
		    var Val=   city.getElementsByTagName("Value")[0].firstChild.nodeValue;  		
		    addOption(objdrpModel, Text, Val, false);	    		    	    
		}
		selectPreviousOption(objdrpModel, SelectedModel);
		
		// Fill SubModel
		var SubModel = root.getElementsByTagName('SubModel');		
		var objdrpSubModel = document.getElementById('inc_home_step_finder_ddSubModel');				
		SelectedSubModel = objdrpSubModel.options[objdrpSubModel.selectedIndex].value;		
		objdrpSubModel.options.length = 1;
		for (i = 0; i < SubModel.length; i++)
		{
		    var city = SubModel[i];  
		    var Text = city.getElementsByTagName("Text")[0].firstChild.nodeValue;  
		    var Val=   city.getElementsByTagName("Value")[0].firstChild.nodeValue;  		
		    addOption(objdrpSubModel, Text, Val, false);	    		    	    
		}
		selectPreviousOption(objdrpSubModel, SelectedSubModel);
		
		// Fill Year
		var Year = root.getElementsByTagName('Year');		
		var objdrpYear = document.getElementById('inc_home_step_finder_ddYear');				
		SelectedYear = objdrpYear.options[objdrpYear.selectedIndex].value;		
		objdrpYear.options.length = 1;
		for (i = 0; i < Year.length; i++)
		{
		    var city = Year[i];  
		    var Text = city.getElementsByTagName("Text")[0].firstChild.nodeValue;  
		    var Val=   city.getElementsByTagName("Value")[0].firstChild.nodeValue;  		
		    addOption(objdrpYear, Text, Val, false);	    		    	    
		}
		selectPreviousOption(objdrpYear, SelectedYear);
		
	}
	if(calltype == 'Model')
	{	
	    	
		var string = '';
		var root = xml.getElementsByTagName('root')[0];
		
			
		// Fill SubModel
		var SubModel = root.getElementsByTagName('SubModel');		
		var objdrpSubModel = document.getElementById('inc_home_step_finder_ddSubModel');				
		
		var objImage=document.getElementById('imgModel');
		
		objImage.style.display='none';
		
		objdrpSubModel.style.display='';
		
		SelectedSubModel = objdrpSubModel.options[objdrpSubModel.selectedIndex].value;		
		objdrpSubModel.options.length = 1;
		for (i = 0; i < SubModel.length; i++)
		{
		    var city = SubModel[i];  
		    var Text = city.getElementsByTagName("Text")[0].firstChild.nodeValue;  
		    var Val=   city.getElementsByTagName("Value")[0].firstChild.nodeValue;  		
		    addOption(objdrpSubModel, Text, Val, false);	    		    	    
		}
		selectPreviousOption(objdrpSubModel, SelectedSubModel);
		
		// Fill Year
		var Year = root.getElementsByTagName('Year');		
		var objdrpYear = document.getElementById('inc_home_step_finder_ddYear');				
		SelectedYear = objdrpYear.options[objdrpYear.selectedIndex].value;		
		objdrpYear.options.length = 1;
		for (i = 0; i < Year.length; i++)
		{
		    var city = Year[i];  
		    var Text = city.getElementsByTagName("Text")[0].firstChild.nodeValue;  
		    var Val=   city.getElementsByTagName("Value")[0].firstChild.nodeValue;  		
		    addOption(objdrpYear, Text, Val, false);	    		    	    
		}
		selectPreviousOption(objdrpYear, SelectedYear);
		
    }
    if(calltype == 'SubModel')
	{	
	    	
		var string = '';
		var root = xml.getElementsByTagName('root')[0];
		
		
		// Fill Year
		var Year = root.getElementsByTagName('Year');
		if(Year.length>0)
		{
		    //alert("In");
		    var divObj=document.getElementById('inc_home_step_finder_step4');
		    divObj.style.display='';		
		    var objdrpYear = document.getElementById('inc_home_step_finder_ddYear');				
		    SelectedYear = objdrpYear.options[objdrpYear.selectedIndex].value;		
		    objdrpYear.options.length = 1;
		    for (i = 0; i < Year.length; i++)
		    {
		        var city = Year[i];  
		        var Text = city.getElementsByTagName("Text")[0].firstChild.nodeValue;  
		        var Val=   city.getElementsByTagName("Value")[0].firstChild.nodeValue;  		
		        addOption(objdrpYear, Text, Val, false);	    		    	    
		    }
		    selectPreviousOption(objdrpYear, SelectedYear);
		}
		var objImage=document.getElementById('imgSubModel');
		
		objImage.style.display='none';
		objBtnSearch.style.display='';
		
    }
}

function getFilter(calltype)
{
    
    var SearchMake='';
    var SearchModel='';
    var SearchSubModel='';
    var SearchYear='';
    
    var objImageMake=document.getElementById('imgMake');
    var objImageModel=document.getElementById('imgModel');
    var objImageSubModel=document.getElementById('imgSubModel');
    
    SearchMake = document.getElementById('inc_home_step_finder_ddMake').options[document.getElementById('inc_home_step_finder_ddMake').selectedIndex].value;
    
    SearchModel = document.getElementById('inc_home_step_finder_ddModel').options[document.getElementById('inc_home_step_finder_ddModel').selectedIndex].value;
    
    var objSearchModel=document.getElementById('inc_home_step_finder_ddModel');
    
    SearchSubModel = document.getElementById('inc_home_step_finder_ddSubModel').options[document.getElementById('inc_home_step_finder_ddSubModel').selectedIndex].value;
    
    var objSearchSubModel=document.getElementById('inc_home_step_finder_ddSubModel');
        
    SearchYear = document.getElementById('inc_home_step_finder_ddYear').options[document.getElementById('inc_home_step_finder_ddYear').selectedIndex].value;
    
    
    
    
    var url = "ajaxHelper.aspx?CallType="+calltype+"&Make="+SearchMake+"&Model="+SearchModel+"&SubModel="+SearchSubModel+"&Year="+SearchYear;               
    //alert(url);
    if(calltype=="Make")
    {
        objSearchModel.style.display='none';
        objImageMake.style.display='';
        
    }
    else if (calltype=="Model")
    {
        objSearchSubModel.style.display='none';
        objImageModel.style.display='';
    }
    else if (calltype=="SubModel")
    {
        //objSearchSubModel.style.display='none';
        objImageSubModel.style.display='';
    }
    
    makeHttpRequest(url,undefined,calltype);
}

// Add option to drop down list
function addOption(obj,text,value,selected) {
	if (obj!=null && obj.options!=null) {
		obj.options[obj.options.length] = new Option(text, value, false, selected);
		}
	}
	
function selectPreviousOption(obj, Selected)
{
	if (!hasOptions(obj))
	{
	   return;
	}
	for (var i=0; i<obj.options.length; i++)
	{
		if (obj.options[i].value == Selected)
		{
		   obj.options[i].selected = true;
		}
	}
}

function hasOptions(obj) {
	if (obj!=null && obj.options!=null) { return true; }
	return false;
	}
