var elements = new Array ("category_select","manufacturer_select","product_line_select","model_line_select")
var request;
var rinp = false;
var fallthrough = true;

var isSafari = false;
var vendor = navigator.vendor||"";
if (vendor.indexOf("Apple Computer, Inc.") > -1) {
			isSafari = true;
}
window.dhtmlHistory.create();
var chg=function(newLocation, historyData) 
	{ 
		fallthrough=false;
		window.setTimeout("dosubmit('#"+newLocation+"',0);", 20);
	}
window.onload=function() 
{
	dhtmlHistory.initialize();
	dhtmlHistory.addListener(chg);
	cl=dhtmlHistory.getCurrentLocation();
	fallthrough=true;
	dosubmit((cl==''?cl:'#'+cl),0);
}



function clear_and_disable_box(elementid) {
	var select=document.getElementById(elements[elementid]);
	select.disabled='disabled';
	select.selectedIndex=0;
	select.options.length=0;
	var option;
	option=document.createElement ('option');
	if (document.all){select.add(option); } else {select.add(option,null); }
	option=document.createElement ('option');
	option.text=dtext[elementid];option.value='padding';
	if (document.all){select.add(option); } else {select.add(option,null); }
	document.getElementById(elements[elementid] + '_text').className ='sel_inactivetext';
	if ((elementid==3)&&(mscm==1)) { 
		document.getElementById('submit0').disabled='disabled';
		document.getElementById('submit0').className='sel_button_disabled';
	}
}

function clear_search() {
	clear_and_disable_box(1);
	clear_and_disable_box(2);
	clear_and_disable_box(3);
	document.getElementById('category_select').selectedIndex=0;
	document.getElementById('sel_clear').className='sel_hiddentext';
	if (!isSafari) { dhtmlHistory.add('A',''); };
}


function callback()
{
 var key;
 if(request.readyState == 4)
 {
  if(request.status == 200)
  {
	rinp = false;
	var lastenabled = 0;
	var content=request.responseText.split('^^^');
	if (content.length!=4 )
	{
		alert('Error occured!');
	}
	else
	{	
		for (key=0;key<4;key++)
		{
			if (content[key].length!=0)
			{
				var sel_arr=content[key].split('#');
			
				lastenabled=key;
				var select=document.getElementById(elements[key]);
				select.options.length=0;		
				var emptychildEl = document.createElement ('option');
				emptychildEl.text=dtext[key];
				emptychildEl.value='padding';
				select.options[select.options.length] = emptychildEl;
				select.selectedIndex=0;
				var numcats=0;
				var opt;
				var option;
				while (numcats < sel_arr.length)
				{
					if (sel_arr[numcats]!='')
					{
						option=document.createElement ('option');
						opt=sel_arr[numcats].split('|');
						option.text=opt[1];
						option.value=opt[0];
						if (document.all){select.add(option); } else {select.add(option,null); }
						if (opt[2]=='1') {select.selectedIndex=numcats+1; }
					}
					numcats+=1;
				}
				select.disabled='';
//				if ((lastenabled==3)&&(mscm==1))
//				{
//					document.getElementById('submit0').disabled='';
//					document.getElementById('submit0').className='sel_button';
//				}
				document.getElementById(elements[key]+'_text').className ='sel_activetext';
			}
		}
		if (lastenabled>0) 
		{
			document.getElementById('sel_clear').className='sel_smtxt';
		}
		var f=document.getElementById(elements[lastenabled]);
		if ((f.options.length==2)&&fallthrough) // fall-through
		{
			f.options[1].selected=1;
			if (!((lastenabled==3)&&(mscm==1))) 
			{
				dosubmit(f.options[1].value,lastenabled*1+1);
			}
			else
			{
				dovalidate(f.options[1].value);
			}
		}
		
		
	
 	}
  }
  else 
  {
   clear_search();
   dosubmit((cl==''?cl:'#'+cl),0);
  }
 }
 return 0;
}

function modelsearch() {
	var val = document.getElementById('q').value;
	var RegExp_amp = new RegExp (/&/g);
	val = val.replace (RegExp_amp,' ');
	var q = encodeURIComponent(val);
	if (val.length > 2) {
		window.location.href = 'modelsearch.asp?q='+q;
	} else {
		alert('You must enter at least 3 characters to perform a search');
	}
}

function checkEntersrch(e){
	var characterCode;
	if (e && e.which){ e = e; characterCode = e.which; } else { e = event; characterCode = e.keyCode; }	 
	if(characterCode == 13){ modelsearch(); return false; }
	return true;	
}

function httpRequest(reqType,url,asynch,handler) {
if(window.XMLHttpRequest) { request=new XMLHttpRequest(); }
else
if (window.ActiveXObject) { request=new ActiveXObject("Msxml2.XMLHTTP");
if (! request){	request=new ActiveXObject("Microsoft.XMLHTTP"); } }
if(request){
request.onreadystatechange=handler;
request.open(reqType,url,asynch);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
request.send('');
 } else { alert('Unsupported browser!'); }
}

function dosubmit(vvalue,vtype) {
	if (!rinp) 
	{
		if ((vtype == 0)||((vtype < 4) && (vvalue!='padding') && (vvalue!='')))
		{
			var qs=vvalue;
			if ((qs==null)||(qs=='#')) { qs=''; }
			if (qs.substr(0,1)=='#') { qs='&'+qs.substr(1,qs.length-1); fallthrough=false;}
			else if (qs!='') { if (!isSafari) { dhtmlHistory.add(qs,''); } fallthrough=true; }
			querystring = this_url+'?'+qs;
			for (i=vtype;i<4;i++) { clear_and_disable_box(i); }
			document.getElementById(elements[vtype]).options[0].text = 'Loading...';
			rinp = true;
			httpRequest('GET',querystring,true,callback);
		} 
		else 
		if ((vtype == 4) && (vvalue!='padding')) 
		{
			window.location.href = 'results.asp?'+vvalue;
		}
	}
}

function dovalidate(vvalue) {
	if ((vvalue!='')&&(vvalue!='padding')&&(mscm==1))
	{
		document.getElementById('submit0').disabled='';
		document.getElementById('submit0').className='sel_button';
	}
	else
	{
		document.getElementById('submit0').disabled='disabled';
		document.getElementById('submit0').className='sel_button_disabled';
	}

	
}

// R2.10.0427