
function createRequestObject()
{
	if (window.XMLHttpRequest)
  	{
 		xmlhttp=new XMLHttpRequest();
 	}
 	else if (window.ActiveXObject)
    {
    	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    return xmlhttp;
}


function PopulateFilter2(CurrentForm, CurrentCatalog, Filter1ID)
{

	//redirect them if the fitler1 value is 0, meaning various others.
	if (Filter1ID == "0")
	{
		ShowHideElement('TrLoadingFilter2', 1);
		
		ShowHideElement('TrFilter2', 0);
		ShowHideElement('TrFilter3', 0);
		ShowHideElement('TrFilter4', 0);
		ShowHideElement('TrFilter5', 0);
		document.location.href = '/pages_catalogs_viewproducts_'+ CurrentCatalog +'_0_0_1_0_0_0_0_0_0_0/various-other-models.aspx';
		return;
	}
	
	var DDlFilter2 = GetFormField(CurrentForm, 'DDlFilter2');	
	
	if (Filter1ID != "-1")
	{
		
		setStepImage(2);
		
		ShowHideElement('TrLoadingFilter2', 1);
		
		if (DDlFilter2)
		{
			DDlFilter2.length = 0;
			DDlFilter2[DDlFilter2.length] = new Option("Loading...","-1");
			DDlFilter2.disabled = true;
			DDlFilter2.className = "ProductDrop";
		}
		
		var httpobj = createRequestObject();
		
		httpobj.onreadystatechange=function()
		{
			
			if(httpobj.readyState==4)
			{		
				
				if(httpobj.status==200)
				{	
					
					var str = httpobj.responseXML;
					var doc = str.documentElement;
					var line = doc.getElementsByTagName('line')
					var len = line.length;
					
					
					
					
					
					if (DDlFilter2)
					{
						
						if (len > 1) // the xml that gets returned always contains 1 element; the select element.
						{
							ShowHideElement('TrLoadingFilter2', 0);
							ShowHideElement('TrFilter2', 1);
							DDlFilter2.length = 0;
						
							for(var i=0; i < len; i++)
							{
								var txt=line[i].firstChild.nodeValue;
								txt.replace('#amp', '&');
								
								var val=line[i].attributes[0].value;
								val.replace('#amp', '&');
								
								DDlFilter2.disabled = false;
								DDlFilter2[DDlFilter2.length]=new Option(txt,val);
								
								var bSelected = false;
								
								if (len -1 == 1)
								{
									
									bSelected = true;
									//POPULATE FILTER 3
									PopulateFilter3(CurrentForm, CurrentCatalog, val)
								}
								
								DDlFilter2[DDlFilter2.length - 1].selected = bSelected;

							}
						}
						else
						{
							//nothing gets returned..
							//pages/catalogsl/viewproducts/catalogID/catcategoryID/catsubcatID/pageNum/brandID/sortTypeID/fitler1/filter2/filter3/filter4/filter5/page.aspx
							document.location.href = '/pages_catalogs/viewproducts/'+ CurrentCatalog +'/0/0/1/0/0/' + Filter1ID + '/0/0/0/0/default.aspx';	
							
												
						}
					}
					
					
					
				}
			}
		}
		//alert("/modules/catalogs/getfilters.aspx?SearchType=lines&Filter1ID=" + Filter1ID + "&CatalogID=" + CurrentCatalog);
		httpobj.open("GET","/modules/catalogs/getfilters.aspx?SearchType=lines&Filter1ID=" + Filter1ID + "&CatalogID=" + CurrentCatalog, true);
		httpobj.send(null);
	}
	else
	{
		//CLEAR OUT 2-5;
		ClearDropDownList(CurrentForm, 'DDlFilter2', 'Select a line..');
		ClearDropDownList(CurrentForm, 'DDlFilter3', 'Select a category..');
		ClearDropDownList(CurrentForm, 'DDlFilter4', 'Select a model..');
		ClearDropDownList(CurrentForm, 'DDlFilter5', 'Select a year..');
		setStepImage(1);
		
		
	}
}


function PopulateFilter3(CurrentForm, CurrentCatalog, Filter2ID)
{


	var DDlFilter1 = GetFormField(CurrentForm, 'DDlFilter1');	
	var TempFilter1ID = DDlFilter1.options[DDlFilter1.selectedIndex].value; 

	
	var DDlFilter3 = GetFormField(CurrentForm, 'DDlFilter3');	
	
	
	
	if (Filter2ID != "-1")
	{
		setStepImage(3);
		
		ShowHideElement('TrLoadingFilter3', 1);
		
		if (DDlFilter3)
		{
			DDlFilter3.length = 0;
			DDlFilter3[DDlFilter3.length] = new Option("Loading...","-1");
			DDlFilter3.disabled = true;
			DDlFilter3.className = "ProductDrop";
		}
		
		var httpobj = createRequestObject();
		
		httpobj.onreadystatechange=function()
		{
			
			if(httpobj.readyState==4)
			{		
						
				if(httpobj.status==200)
				{	
					
					var str = httpobj.responseXML;
					var doc = str.documentElement;
					var line = doc.getElementsByTagName('cat')
					var len = line.length;
					
					if (DDlFilter3)
					{
						
						if (len > 1) // the xml that gets returned always contains 1 element; the select element.
						{
							ShowHideElement('TrLoadingFilter3', 0);
							ShowHideElement('TrFilter3', 1);
							DDlFilter3.length = 0;
							
							for(var i=0; i < len; i++)
							{
								var txt=line[i].firstChild.nodeValue;
								txt.replace('#amp', '&');
								
								var val=line[i].attributes[0].value;
								val.replace('#amp', '&');
								
								DDlFilter3.disabled = false;
								DDlFilter3[DDlFilter3.length]=new Option(txt,val);
								
								var bSelected = false;
								if (len -1 == 1)
								{
									bSelected = true;
									
									//POPULATE FILTER 4
									PopulateFilter4(CurrentForm, CurrentCatalog, val)
									
								}
								
								DDlFilter3[DDlFilter3.length - 1].selected = bSelected;

							}
							
							//IF THE COUNT IS ONE, THE XML RETURNS THE FIRST ITEM SELECTED.
							//SEE getfilters.aspx.cs
						}
						else
						{
							//nothing gets returned..
							//pages/catalogsl/viewproducts/catalogID/catcategoryID/catsubcatID/pageNum/brandID/sortTypeID/fitler1/filter2/filter3/filter4/filter5/page.aspx
							document.location.href = '/pages_catalogs/viewproducts/'+ CurrentCatalog +'/0/0/1/0/0/' + TempFilter1ID + '/' + Filter2ID + '/0/0/0/default.aspx';	
						}
					}
				}
			}
		}
		httpobj.open("GET","/modules/catalogs/getfilters.aspx?SearchType=cats&Filter2ID=" + Filter2ID + "&CatalogID=" + CurrentCatalog, true);
		httpobj.send(null);
	}
	else
	{
		//CLEAR OUT 3-5;
		ClearDropDownList(CurrentForm, 'DDlFilter3', 'Select a category..');
		ClearDropDownList(CurrentForm, 'DDlFilter4', 'Select a model..');
		ClearDropDownList(CurrentForm, 'DDlFilter5', 'Select a year..');
		setStepImage(2);
	}
}


function PopulateFilter4(CurrentForm, CurrentCatalog, Filter3ID)
{
	
	//get ids 1 and 2
	var DDlFilter1 = GetFormField(CurrentForm, 'DDlFilter1');	
	var TempFilter1ID = DDlFilter1.options[DDlFilter1.selectedIndex].value; 
	
	var DDlFilter2 = GetFormField(CurrentForm, 'DDlFilter2');	
	var TempFilter2ID = DDlFilter2.options[DDlFilter2.selectedIndex].value; 
	
	
	var DDlFilter4 = GetFormField(CurrentForm, 'DDlFilter4');	
	
	if (Filter3ID != "-1")
	{
		setStepImage(4);
		
		ShowHideElement('TrLoadingFilter4', 1);
		
		if (DDlFilter4)
		{
			DDlFilter4.length = 0;
			DDlFilter4[DDlFilter4.length] = new Option("Loading...","-1");
			DDlFilter4.disabled = true;
			DDlFilter4.className = "ProductDrop";
		}
		
		var httpobj = createRequestObject();
		
		httpobj.onreadystatechange=function()
		{
			
			if(httpobj.readyState==4)
			{		
						
				if(httpobj.status==200)
				{	
					
					var str = httpobj.responseXML;
					var doc = str.documentElement;
					var line = doc.getElementsByTagName('model')
					var len = line.length;
					
					if (DDlFilter4)
					{
						// the xml that gets returned always contains 1 element; the select element.
						if (len > 1) 
						{
							ShowHideElement('TrLoadingFilter4', 0);
							ShowHideElement('TrFilter4', 1);
							DDlFilter4.length = 0;
						
							for(var i=0; i < len; i++)
							{
								var txt=line[i].firstChild.nodeValue;
								txt.replace('#amp', '&');
								
								var val=line[i].attributes[0].value;
								val.replace('#amp', '&');
								
								DDlFilter4.disabled = false;
								DDlFilter4[DDlFilter4.length]=new Option(txt,val);
								
								var bSelected = false;
								
								if (len -1 == 1)
								{
									bSelected = true;
									
									//POPULATE FILTER 4
									PopulateFilter5(CurrentForm, CurrentCatalog, val)
									
								}
								
								DDlFilter4[DDlFilter4.length - 1].selected = bSelected;

							}
						}
						
						else
						{
							//nothing gets returned other than the select item..
							//pages/catalogsl/viewproducts/catalogID/catcategoryID/catsubcatID/pageNum/brandID/sortTypeID/fitler1/filter2/filter3/filter4/filter5/page.aspx
							document.location.href = '/pages_catalogs/viewproducts/'+ CurrentCatalog +'/0/0/1/0/0/' + TempFilter1ID + '/' + TempFilter2ID + '/' + Filter3ID + '/0/0/default.aspx';	
						}
					}
				}
			}
		}
		
		httpobj.open("GET","/modules/catalogs/getfilters.aspx?SearchType=models&Filter3ID=" + Filter3ID + "&CatalogID=" + CurrentCatalog, true);
		httpobj.send(null);
	}
	else
	{
		//CLEAR OUT 4-5;
		ClearDropDownList(CurrentForm, 'DDlFilter4', 'Select a model..');
		ClearDropDownList(CurrentForm, 'DDlFilter5', 'Select a year..');
		setStepImage(3);
	}
}


function PopulateFilter5(CurrentForm, CurrentCatalog, Filter4ID)
{

	//get ids 1,2,3
	var DDlFilter1 = GetFormField(CurrentForm, 'DDlFilter1');	
	var TempFilter1ID = DDlFilter1.options[DDlFilter1.selectedIndex].value; 
	
	var DDlFilter2 = GetFormField(CurrentForm, 'DDlFilter2');	
	var TempFilter2ID = DDlFilter2.options[DDlFilter2.selectedIndex].value; 
	
	var DDlFilter3 = GetFormField(CurrentForm, 'DDlFilter3');	
	var TempFilter3ID = DDlFilter3.options[DDlFilter3.selectedIndex].value; 
	
	
	var DDlFilter5 = GetFormField(CurrentForm, 'DDlFilter5');	
	
	if (Filter4ID != "-1")
	{
		setStepImage(5);
		
		ShowHideElement('TrLoadingFilter5', 1);
		
		if (DDlFilter5)
		{
			DDlFilter5.length = 0;
			DDlFilter5[DDlFilter5.length] = new Option("Loading...","-1");
			DDlFilter5.disabled = true;
			DDlFilter5.className = "ProductDrop";
		}
		
		var httpobj = createRequestObject();
		
		httpobj.onreadystatechange=function()
		{
			
			if(httpobj.readyState==4)
			{		
						
				if(httpobj.status==200)
				{	
					
					var str = httpobj.responseXML;
					var doc = str.documentElement;
					var line = doc.getElementsByTagName('year')
					var len = line.length;
					
					if (DDlFilter5)
					{
						if (len > 1)
						{
							ShowHideElement('TrLoadingFilter5', 0);
							ShowHideElement('TrFilter5', 1);
							DDlFilter5.length = 0;
						
							for(var i=0; i < len; i++)
							{
								var txt=line[i].firstChild.nodeValue;
								txt.replace('#amp', '&');
								
								var val=line[i].attributes[0].value;
								val.replace('#amp', '&');
								
								DDlFilter5.disabled = false;
								DDlFilter5[DDlFilter5.length]=new Option(txt,val);

							}
						}
						else
						{
							//nothing gets returned other than the select item..
							//pages/catalogsl/viewproducts/catalogID/catcategoryID/catsubcatID/pageNum/brandID/sortTypeID/fitler1/filter2/filter3/filter4/filter5/page.aspx
							document.location.href = '/pages_catalogs/viewproducts/'+ CurrentCatalog +'/0/0/1/0/0/' + TempFilter1ID + '/' + TempFilter2ID + '/' + TempFilter3ID + '/' + Filter4ID + '/0/default.aspx';	
						}
					}
				}
			}
		}
		httpobj.open("GET","/modules/catalogs/getfilters.aspx?SearchType=years&Filter4ID=" + Filter4ID + "&CatalogID=" + CurrentCatalog, true);
		httpobj.send(null);
	}
	else
	{
		//CLEAR OUT 5;
		ClearDropDownList(CurrentForm, 'DDlFilter5', 'Select a year..');
		setStepImage(4);
	}
}



function ClearDropDownList(CurrentForm, CurrentDDLID, TxtToShow)
{
	
	var elem = GetFormField(CurrentForm, CurrentDDLID);
	if (elem)
	{
		elem.length = 0;
		elem[elem.length]=new Option(TxtToShow,"0");
		elem.disabled = true;
		elem.className = "commontext";
	}
	
	
}

function ShowHideElement(CurrentElement, ToShow)
{
	var elem = document.getElementById(CurrentElement);
	
	if (ToShow == 1)
		elem.style.display = "block";
	else
		elem.style.display = "none";
}

function GetFormField(f, field)
{
	var formField;
	
	for (i = 0; i < f.elements.length; i++)
	{
		
		if (f.elements[i].name.indexOf(field) >= 0)
		{
			formField = f.elements[i];
			break;
		}
	}
	
	return formField;
}


function setStepImage(Step)
{
	for (i = 1; i <= 5; i++)
	{
		if (document.images['imgStep' + i])
		{
			if (Step == i)
			{
				document.images['imgStep' + i].src = '/modules/catalogs/images/step-' + i + '-blk.gif';
			}
			else
			{
				document.images['imgStep' + i].src = '/modules/catalogs/images/step-' + i + '-gry.gif';
			}
				
		}
	}
}



function addAdditionalLoadEvent(func) {
	var oldonload = window.onload;
	if (window == null || window.onload == null || window.onload.length <= 0) {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func;
		}
	}
	/*
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func;
		}
	}
	*/
}
