//var curMfg = 0;
//var curDst = 0;
//var curCat = 0;
var mfgTimer = '';
var dstTimer = '';
var catTimer = '';

// parse query string
var queryItem = new Array(3);
var query = document.location.search.substring(1).split('&');
for(i=0;i<query.length;i++){
	query[i] = query[i].split('=');
	queryItem[query[i][0]] = query[i][1];
}
var curMfg = queryItem['mfg'];
var curDst = queryItem['dst'];
var curCat = queryItem['cat'];

function confirmEdit(){
	if(document.getElementById('delete').checked == true){
		if(confirm('Do you really want to delete the entire entry?'))
			document.forms[0].submit();
	}else{
		if(confirm('Are you sure you want to save these changes?'))
			document.forms[0].submit();
	}
}

function resetLists(){
	document.getElementById('mfg').value = 0;
	document.getElementById('dst').value = 0;
	document.getElementById('cat').value = 0;
	getMiniData();
	document.getElementById('mfg').disabled = true;
	document.getElementById('dst').disabled = true;
	document.getElementById('cat').disabled = true;
	reloadMfg('?mfg=0');
	reloadDst('?dst=0');
	reloadCat('?cat=0');
}

function loadLists(){
	if(document.getElementById('mfg')){
		if(!/admin\.php|edit\.php/.test(document.location.pathname)){
			curMfg = 0;
			curDst = 0;
			curCat = 0;
			document.getElementById('mfg').disabled = true;
			document.getElementById('dst').disabled = true;
			document.getElementById('cat').disabled = true;
			reloadMfg('');
			reloadDst('');
			reloadCat('');
			if(curMfg != 0 || curDst != 0 || curCat != 0)
				getMiniData();
			if(/index\.php/.test(document.location.pathname))
				getMiniData();
		}
	}
}

function getMiniData(){
	var url = "includes/mini.php?";
	url += "mfg=" + document.getElementById('mfg').value;
	url += "&dst=" + document.getElementById('dst').value;
	url += "&cat=" + document.getElementById('cat').value;
	ajaxCount=GetXmlHttpObject();
	ajaxCount.onreadystatechange=showMiniResults;
	ajaxCount.open("GET",url,true);
	ajaxCount.send(null);
}

function showMiniResults(){
	if(ajaxCount.readyState == 4){
		if(ajaxCount.status == 200){
			//move this stuff to backend
			if(/search\.php/.test(document.location.pathname) && document.getElementById('mfg').value == curMfg && document.getElementById('dst').value == curDst && document.getElementById('cat').value == curCat){
				document.getElementById('miniresults').innerHTML = ajaxCount.responseText + " results are shown below. Use the dropdown menus to modify your selection, then click 'List.'";
			}else{
				if(document.getElementById('dst').value + document.getElementById('mfg').value + document.getElementById('cat').value == 0){
						document.getElementById('miniresults').innerHTML = "Use the dropdown menus to narrow your selection, or click 'List' to display all " + ajaxCount.responseText + " items.";
				}else{
					if(ajaxCount.responseText > 0)
						document.getElementById('miniresults').innerHTML = "Click 'List' to display " + ajaxCount.responseText + ' results, or continue to narrow your selection.';
					else
						document.getElementById('miniresults').innerHTML = "No results match your selection, click 'Reset' to start a new search, or select 'All items' from a dropdown menu to expand your selection.";
				}
			}
		}
	}
}

function reloadLists(obj){
	if(!/admin\.php|edit\.php/.test(document.location.pathname)){
		queryString = "?mfg=" + document.getElementById('mfg').value;
		//if(document.getElementById('dst').value != 0)
			queryString += "&dst=" + document.getElementById('dst').value;
		//if(document.getElementById('cat').value != 0)
			queryString += "&cat=" + document.getElementById('cat').value;
		reloadCat(queryString);
		
		if(obj.id != 'mfg'){
			document.getElementById('mfg').disabled = true;
			mfgTimer = setTimeout("reloadMfg('');", 5000);
			reloadMfg(queryString);
		}

		if(obj.id != 'dst'){
			document.getElementById('dst').disabled = true;
			dstTimer = setTimeout("reloadDst('');", 5000);
			reloadDst(queryString);
		}
		
		if(obj.id != 'cat'){
			document.getElementById('cat').disabled = true;
			catTimer = setTimeout("reloadCat('');", 5000);
			reloadCat(queryString);
		}
		getMiniData();
	}
}

function reloadMfg(query){
	curMfg = document.getElementById('mfg').value;
	//alert('mfg=' + document.getElementById('mfg').value);
	if(query != ''){
		clearInterval(mfgTimer);
		var url = "includes/mfg.php" + query;
		ajaxMfg=GetXmlHttpObject();
		ajaxMfg.onreadystatechange=mfgChanged;
		ajaxMfg.open("GET",url,true);
		ajaxMfg.send(null);
	}else{
		if(document.getElementById('mfg'))
			document.getElementById('mfg').disabled = false;
	}
}

function reloadCat(query){
	curCat = document.getElementById('cat').value;
	//alert('cat=' + document.getElementById('cat').value);
	if(query != ''){
		clearInterval(catTimer);
		var url = "includes/cat.php" + query;
		ajaxCat=GetXmlHttpObject();
		ajaxCat.onreadystatechange=catChanged;
		ajaxCat.open("GET",url,true);
		ajaxCat.send(null);
	}else{
		if(document.getElementById('cat'))
			document.getElementById('cat').disabled = false;
	}
}

function reloadDst(query){
	curDst = document.getElementById('dst').value;
	//alert('dst=' + document.getElementById('dst').value);
	if(query != ''){
		clearInterval(dstTimer);
		var url = "includes/dst.php" + query;
		ajaxDst=GetXmlHttpObject();
		ajaxDst.onreadystatechange=dstChanged;
		ajaxDst.open("GET",url,true);
		ajaxDst.send(null);
	}else{
		if(document.getElementById('dst'))
			document.getElementById('dst').disabled = false;
	}
}

function mfgChanged(){
	if(ajaxMfg.readyState == 4){
		if(ajaxMfg.status == 200){
			//alert(ajaxMfg.responseText);
			document.getElementById('mfgdiv').innerHTML = ajaxMfg.responseText;
			//document.getElementById('mfg').value = curMfg;
			document.getElementById('mfg').disabled = false;
		}
	}
}

function catChanged(){
	if(ajaxCat.readyState == 4){
		if(ajaxCat.status == 200){
			//alert(ajaxCat.responseText);
			document.getElementById('catdiv').innerHTML = ajaxCat.responseText;
			//document.getElementById('cat').value = curCat;
			document.getElementById('cat').disabled = false;
		}
	}
}

function dstChanged(){
	if(ajaxDst.readyState == 4){
		if(ajaxDst.status == 200){
			//alert(ajaxDst.responseText);
			document.getElementById('dstdiv').innerHTML = ajaxDst.responseText;
			//document.getElementById('dst').value = curDst;
			document.getElementById('dst').disabled = false;
		}
	}
}

function GetXmlHttpObject(){
	var xmlHttp=null;
	try{
		xmlHttp=new XMLHttpRequest();
	}catch(e){
		try{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}