<!--

if (typeof DOMParser == "undefined") {
   DOMParser = function () {}
	
   DOMParser.prototype.parseFromString = function (str, contentType) {
      if (typeof ActiveXObject != "undefined") {
         var d = new ActiveXObject("MSXML.DomDocument");
         d.loadXML(str);
         return d;
      } else if (typeof XMLHttpRequest != "undefined") {
         var req = new XMLHttpRequest;
         req.open("GET", "data:" + (contentType || "application/xml") +
                         ";charset=utf-8," + encodeURIComponent(str), false);
         if (req.overrideMimeType) {
            req.overrideMimeType(contentType);
         }
         req.send(null);
         return req.responseXML;
      }
   }
}

function setupReqeustObject()
{
	try
	{
		requester = new XMLHttpRequest();
		//requester.onreadystatechange = stateHandler;
	}
	catch (error)
	{
		try
		{
			requester = new ActiveXObject("Microsoft.XMLHTTP");
			//requester.onreadystatechange = stateHandler;
		}
		catch (error)
		{
			return false;
		}
	}
	
	return requester;
}

function SelectedValue( listObj )
{
	for ( var i = 0; i < listObj.length; i++ )
	{
		if ( listObj[ i ].selected == true )
		{
			return listObj[ i ].value;
		}
	}
	
	return 0;
}

function clearListbox( listbox )
{
	for ( var i = listbox.length - 1; i >= 0; i-- )
	{
		listbox[ i ] = null;
	}
}

function GetMakes( location_list, make_list, model_list, year_list )
{
	var location_id = SelectedValue(location_list);
	var make_list = document.getElementById( make_list );
	var model_list = document.getElementById( model_list );
	var year_list = document.getElementById( year_list );
	
	
	clearListbox( make_list );
	
	clearListbox( model_list );
	clearListbox( year_list );
	model_list.options.add( new Option( "Select Model...", 0, false, true ) );
	year_list.options.add( new Option( "Select Year...", 0, false, true ) );

	var requester = setupReqeustObject();
	
	requester.open( "GET", "ajax_bulbfinder.asp?location=" + location_id );
	requester.onreadystatechange = function()
	{
		if ( requester.readyState == 4 )
		{
			var xmlobject = ( new DOMParser() ).parseFromString( requester.responseText, "text/xml" );
			
			var root = xmlobject.getElementsByTagName('makes')[0];
			
			if ( root != null )
			{
				var items = root.getElementsByTagName("make");
					
				make_list.options.add( new Option( "Select Make...", 0, false, true ) );	
					
				for ( var i = 0; i < items.length; i++ )
				{
					var item = items[i];
			
					var id = item.getElementsByTagName("id")[0].firstChild.nodeValue;
					var name = item.getElementsByTagName("name")[0].firstChild.nodeValue;
	
					make_list.options.add( new Option( name, id, false, true ) );
				}
				
				make_list.options.selectedIndex = 0;
			}
			
		}
	}
	requester.send( null );
}

function GetModels( make_list, model_list )
{
	var make_id = SelectedValue(make_list);
	var model_list = document.getElementById( model_list );
	
	clearListbox( model_list );

	var requester = setupReqeustObject();
	
	requester.open( "GET", "ajax_bulbfinder.asp?make_id=" + make_id );
	requester.onreadystatechange = function()
	{
		if ( requester.readyState == 4 )
		{
			var xmlobject = ( new DOMParser() ).parseFromString( requester.responseText, "text/xml" );
			
			var root = xmlobject.getElementsByTagName('models')[0];
			
			if ( root != null )
			{
				var items = root.getElementsByTagName("model");
					
				model_list.options.add( new Option( "Select Model...", 0, false, true ) );	
					
				for ( var i = 0; i < items.length; i++ )
				{
					var item = items[i];
			
					var id = item.getElementsByTagName("id")[0].firstChild.nodeValue;
					var name = item.getElementsByTagName("name")[0].firstChild.nodeValue;
	
					model_list.options.add( new Option( name, id, false, true ) );
				}
				
				model_list.options.selectedIndex = 0;
			}
			
		}
	}
	requester.send( null );
}

function GetYears( model_list, year_list )
{
	var model_id = SelectedValue(model_list);
	var year_list = document.getElementById( year_list );
	
	clearListbox( year_list );

	var requester = setupReqeustObject();
	
	requester.open( "GET", "ajax_bulbfinder.asp?model_id=" + model_id );
	requester.onreadystatechange = function()
	{
		if ( requester.readyState == 4 )
		{
			var xmlobject = ( new DOMParser() ).parseFromString( requester.responseText, "text/xml" );
			var root = xmlobject.getElementsByTagName('years')[0];
			
			if ( root != null )
			{
				var items = root.getElementsByTagName("year");
				
				year_list.options.add( new Option( "Select Year...", 0, false, true ) );	
				
				for ( var i = 0; i < items.length; i++ )
				{
			
					var item = items[i];
			
					var id = item.getElementsByTagName("id")[0].firstChild.nodeValue;
					var name = item.getElementsByTagName("name")[0].firstChild.nodeValue;
	
					year_list.options.add( new Option( name, id, false, true ) );
				}
				
				year_list.options.selectedIndex = 0;
			}
			
		}
	}
	requester.send( null );
}







function GetBrands( year_list, brand_list )
{
	var year_id = SelectedValue(year_list);
	var brand_list = document.getElementById( brand_list );
	
	clearListbox( brand_list );

	var requester = setupReqeustObject();
	
	requester.open( "GET", "ajax_bulbfinder.asp?year_id=" + year_id );
	requester.onreadystatechange = function()
	{
		if ( requester.readyState == 4 )
		{
			var xmlobject = ( new DOMParser() ).parseFromString( requester.responseText, "text/xml" );
			var root = xmlobject.getElementsByTagName('brands')[0];
			
			if ( root != null )
			{
				var items = root.getElementsByTagName("brand");
				
				brand_list.options.add( new Option( "All Brands...", 0, false, true ) );	
				
				for ( var i = 0; i < items.length; i++ )
				{
			
					var item = items[i];
			
					var id = item.getElementsByTagName("id")[0].firstChild.nodeValue;
					var name = item.getElementsByTagName("name")[0].firstChild.nodeValue;
	
					brand_list.options.add( new Option( name, id, false, true ) );
				}
				
				brand_list.options.selectedIndex = 0;
			}
			
		}
	}
	requester.send( null );
}

-->