// JavaScript Document

var fade_counter = 100;
var move_counter = 100;
var counter = 0;
var run_move = false;


function loadParts(cat,make,model,submodel,engine,year,fuel) {
vehicle_xmlHttp=GetXmlHttpObject();

//var url = "partsfinder/pf_parts_test.php";
	
	document.getElementById("parts").innerHTML = "<img src=wait_1_3.gif />";
	
		var url="partsfinder/pf_view_parts.php";
			url=url+"?SubPg="+cat;
			url=url+"&Manuf="+make;
			url=url+"&Model="+model;
			url=url+"&SModel="+submodel;
			url=url+"&EngS="+engine;
			url=url+"&StYr="+year;
			url=url+"&FT="+fuel;
		//	url=url+"&subcat="+index_text;
			url=url+"&sid="+Math.random();
			
			vehicle_xmlHttp.onreadystatechange=function(){
											if (vehicle_xmlHttp.readyState==4 || vehicle_xmlHttp.readyState=="complete") {
			
							document.getElementById("parts").innerHTML=vehicle_xmlHttp.responseText;
							
							
							}
			}
			
			vehicle_xmlHttp.open("GET",url,true);
			vehicle_xmlHttp.send(null);
	
}


function session_showProductGroups(make, model, submodel, engine, year, fuel) {
xmlHttp=GetXmlHttpObject();
	if(xmlHttp == null)
		{
			alert("Your browser does not support HTTP Request which is needed to run Parts Finder.");
			return;
		}	

wait(false, 'make_choice');

if(submodel == "") {
	submodel = "N/A";
}
if(fuel == 4) {
	fuel = "Petrol";
} else if(fuel == 2) {
	fuel = "Diesel";
}
document.getElementById("make_title").innerHTML = "Make:";
document.getElementById("model_title").innerHTML = "Model:";
document.getElementById("submodel_title").innerHTML = "Sub Model:";
document.getElementById("engine_title").innerHTML = "Engine Size:";
document.getElementById("year_title").innerHTML = "Year:";
document.getElementById("fuel_title").innerHTML = "Fuel Type:";


document.getElementById("make_choice").innerHTML = make;
document.getElementById("model_choice").innerHTML = model;
document.getElementById("submodel_choice").innerHTML = submodel;
document.getElementById("engine_choice").innerHTML = engine;
document.getElementById("year_choice").innerHTML = year;
document.getElementById("fuel_choice").innerHTML = fuel;
	
document.getElementById('go_b').style.visibility = 'hidden';
document.getElementById('change_b').style.visibility = 'visible';
	
	
	var url="pf_parts_process.php";
		url=url+"?group=cats";
		url=url+"&make="+make;
		url=url+"&model="+model;
		url=url+"&submodel="+submodel;
		url=url+"&engine="+engine;
		url=url+"&year="+year;
		url=url+"&fuel="+fuel;
		url=url+"&sid="+Math.random();
		xmlHttp.onreadystatechange=stateShowGroups; 
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);

}

		
function showProductGroups() {			//working
xmlHttp=GetXmlHttpObject();
	if(xmlHttp == null)
		{
			alert("Your browser does not support HTTP Request which is needed to run Parts Finder.");
			return;
		}
	
	var make_value = document.getElementById("make_select").value;
	var model_value = document.getElementById("model_select").value;
	
	if(document.getElementById("submodel_choice").innerHTML == "N/A") {
		var submodel_value = "N/A";
		} else {
		var submodel_value = document.getElementById("submodel_select").value;
	}
	
	var engine_value = document.getElementById("engine_select").value;
	var year_value = document.getElementById("year_select").value;
	var fuel_value = document.getElementById("fuel_select").value;
	
	if(fuel_value == 2) {
		var fuel_text = "Diesel";
	} else {
		var fuel_text = "Petrol";
	}
	
	//document.getElementById("make_select").value = make_value;
	//document.getElementById("model_select").value = model_value;
	//document.getElementById("engine_select").value = engine_value;
	//document.getElementById("year_select").value = year_value;
	
	document.getElementById("make_choice").innerHTML = make_value;
	document.getElementById("model_choice").innerHTML = model_value;
	document.getElementById("submodel_choice").innerHTML = submodel_value;
	document.getElementById("engine_choice").innerHTML = engine_value;
	document.getElementById("year_choice").innerHTML = year_value;
	document.getElementById("fuel_choice").innerHTML = fuel_text;
	

	document.getElementById("submodel_info").style.display = "none";
	
	document.getElementById('go_b').style.visibility = 'hidden';
	document.getElementById('change_b').style.visibility = 'visible';
	
//document.getElementById('groups').innerHTML = "";

	var url="pf_parts_process.php";
		url=url+"?group=cats";
		url=url+"&make="+make_value;
		url=url+"&model="+model_value;
		url=url+"&submodel="+submodel_value;
		url=url+"&engine="+engine_value;
		url=url+"&year="+year_value;
		url=url+"&fuel="+fuel_value;
		url=url+"&sid="+Math.random();
		xmlHttp.onreadystatechange=stateShowGroups; 
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	
}



function showSubGroups_one(group, cat_id){			//working
xmlHttp=GetXmlHttpObject();
	if(xmlHttp == null)
		{
			alert("Your browser does not support HTTP Request which is needed to run Parts Finder.");
			return;
		}
//document.getElementById('subgroups').innerHTML = "";
//wait(true, 'subgroups');
document.getElementById(cat_id).selectedIndex = "-1";

	var url="pf_parts_process.php";
		url=url+"?group=subcats";
		url=url+"&p_code="+group;
		url=url+"&sid="+Math.random();
		xmlHttp.onreadystatechange=stateShowSubGroups; 
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
}



function showSubGroups_two(group){			//working
xmlHttp=GetXmlHttpObject();
	if(xmlHttp == null)
		{
			alert("Your browser does not support HTTP Request which is needed to run Parts Finder.");
			return;
		}
document.getElementById('subgroups').innerHTML = "";
wait(true, 'subgroups');
document.getElementById('cat1').selectedIndex = "-1";

	var url="pf_parts_process.php";
		url=url+"?groups=subcats";
		url=url+"&p_code="+group;
		url=url+"&sid="+Math.random();
		xmlHttp.onreadystatechange=stateShowSubGroups; 
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
}



function parts_refresh(cat) {
	var make = document.getElementById("make_choice").innerHTML;
	var model = document.getElementById("model_choice").innerHTML;
	var submodel = document.getElementById("submodel_choice").innerHTML;
	var engine = document.getElementById("engine_choice").innerHTML;
	var year = document.getElementById("year_choice").innerHTML;
		
		
	var url="pf_view_parts.php";	
		url=url+"?SubPg="+prod_group;
		url=url+"&Manuf="+make;
		url=url+"&Model="+model;
		url=url+"&SModel="+submodel;
		url=url+"&EngS="+engine;
		url=url+"&StYr="+year;
		url=url+"&sid="+Math.random();
		xmlHttp.onreadystatechange=stateShowParts; 
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
		
}


function showParts(make,model,submodel,engine,year,fuel){
xmlHttp=GetXmlHttpObject();
	if(xmlHttp == null)
		{
			alert("Your browser does not support HTTP Request which is needed to run Parts Finder.");
			return;
		}
		

		var url="pf_view_parts.php";
			url=url+"?SubPg=disc-br";
			url=url+"&Manuf="+make;
			url=url+"&Model="+model;
			url=url+"&SModel="+submodel;
			url=url+"&EngS="+engine;
			url=url+"&StYr="+year;
			url=url+"&FT="+fuel;
		//	url=url+"&subcat="+index_text;
			url=url+"&sid="+Math.random();
			
			xmlHttp.onreadystatechange=function(){
											if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
			
							document.getElementById('parts').innerHTML=xmlHttp.responseText;
							
							}
			}
			
			xmlHttp.open("GET",url,true);
			xmlHttp.send(null);

}



function show_hide() {
if(document.getElementById("test").style.display == 'none') {
		document.getElementById("test").style.display = 'inline';
	} else {
		document.getElementById("test").style.display = 'none';
	}
}



function stateShowGroups() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
	document.getElementById("subgroups").innerHTML = "<select size=10 style=width:240px; disabled><option>Select Category First"+
												     "</option></select>";

	document.getElementById('groups').innerHTML=xmlHttp.responseText;
} 
}



function stateShowSubGroups() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
 	document.getElementById('subgroups').innerHTML=xmlHttp.responseText;
 } 
}



function stateShowParts() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
	document.getElementById('parts').innerHTML=xmlHttp.responseText;
//wait(false, 'parts');
//show_narrow();
} 
}



function show_narrow(){
xmlHttp=GetXmlHttpObject();
	if(xmlHttp == null)
		{
			alert("Your browser does not support HTTP Request which is needed to run Parts Finder.");
			return;
		}

var page = document.getElementById('page_id').value;
var narrow_string = "process_narrow.php?";
var td_list = document.getElementsByTagName("td");
var param = "";

switch(page) {
		
	case "brakes":
		var search_for = new Array();
		var string = new Array();

			search_for.push("make","position");
			string.push("vehicles=","&fnarrow1=");
		break;
	
	case "filters":
		var search_for = new Array();
		var string = new Array();
		
			search_for.push("make");
			string.push("vehicles=");
		break;
	
	case "exhausts":
		var search_for = new Array();
		var string = new Array();

			search_for.push("make","vehicletype","transmission");
			string.push("vehicles=","&fnarrow1=","&fnarrow2=");
		break;

	case "mirrors":
		var search_for = new Array();
		var string = new Array();

			search_for.push("make");
			string.push("vehicles=");
		break;

	case "cables":
		var search_for = new Array();
		var string = new Array();

			search_for.push("make","position");
			string.push("vehicles=","&fnarrow1=");
		break;

	case "aircon":
		var search_for = new Array();
		var string = new Array();

			search_for.push("make","desc");
			string.push("vehicles=","&fnarrow1=");
		break;
	
}

for(s=0;s<search_for.length;s++) {			//run through for each search_for

var search_results = new Array();
param = "";

	for(i=0;i<td_list.length;i++) {			//run through for each td to find the id

	
	var should_add = true;
	var split_id = td_list[i].id.split("_");		//split the td id and find the first part ie. make

	if(split_id[0] == search_for[s]) {				//if the first part matches the search parameter

		var value = td_list[i].innerHTML;			//record the text to be added ie. focus 1.8

		var safevalue = escape(value);

			for(rec=0;rec<search_results.length;rec++) {		//if the record already exists, don't add
				if(search_results[rec] == safevalue) {
					should_add = false;
				}
			}
			
			if(should_add) {						//if the record doesn't exits then add
				search_results.push(safevalue);
			}
	}
	}
	for(p=0;p<search_results.length;p++) {			//add a ^ inbetween each field so it can be passed as a string
		if(p==0) {
			param = param + search_results[p];
			} else {
			param = param + "^" + search_results[p];
		}
	}
	narrow_string = narrow_string + string[s] + param;

}

narrow_string=narrow_string+"&page="+page+"&sid="+Math.random();

xmlHttp.onreadystatechange=function() {
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
		document.getElementById('narrow_contents').innerHTML = xmlHttp.responseText;
	}
}
xmlHttp.open("GET",narrow_string,true);
xmlHttp.send(null);	

}



function narrow_results(narrow) {
var cells = document.getElementsByTagName("td");
var rows = document.getElementsByTagName("select");
var tables = document.getElementsByTagName("table");
var num_rows = document.getElementById("num_rows").value;
var match_found = true;
var show_list = new Array();
var search_for = new Array();
var search_loc = new Array();
var trim = true;
var matches_found = 0;

show_all();


for(i=0;i<rows.length;i++) {
	if(rows[i].id != "cat1" && rows[i].id != "cat2" && rows[i].id != "submodel_select") {
		
		var search_cry = document.getElementById(rows[i].id).value;
		
		var loc = rows[i].id;
		var add_loc = loc.split("_");
		search_for.push(search_cry);
		search_loc.push(add_loc[0]);
	}
}


for(i=0;i<num_rows;i++) {
	
	for(rec=0;rec<search_for.length;rec++) {
		
		var ob_id = search_loc[rec]+"_"+i;
		var check = document.getElementById(ob_id).innerHTML;
		
		if(search_for[rec] != "all") {
			var safe_check = check.replace(/&gt;/,">");
			
			if(safe_check != search_for[rec]) {
				match_found = false;
			}
		}
	}
	
	if(!match_found) {
		for(l=0;l<tables.length;l++) {
			if(tables[l].id == i) {
				tables[l].style.display = 'none';
			}
		}
		//alert("Match found");
	}
	
	match_found = true;
}

}



function show_all(){
var rows = document.getElementsByTagName("table");
	
	for(i=0;i<rows.length;i++) {
		rows[i].style.display = 'inline';
	}
}



function fade_options() {
if (fade_counter < 0) {
	clearInterval(fader);
	reset_options(0);
	moveTimer = setInterval("hide_options()", 1);
} else {
	fade_counter = fade_counter - 5;  //change this it alter the fade speed
	document.getElementById("make").style.filter="alpha(opacity="+fade_counter+")";
	document.getElementById("model").style.filter="alpha(opacity="+fade_counter+")";
	document.getElementById("submodel").style.filter="alpha(opacity="+fade_counter+")";
	document.getElementById("engine").style.filter="alpha(opacity="+fade_counter+")";
	document.getElementById("year").style.filter="alpha(opacity="+fade_counter+")";
}
}



function hide_options() {
if (counter < 50) {
	clearInterval(moveTimer);
	showProductGroups();
	} else {
	counter = counter - 5;		//change this to alter the move speed
	pf_selection.style.height = counter+"px";
	}
}



function fader_control() {
if(document.getElementById('year_options').innerHTML != "") {
	var year = document.getElementById('year_select').value;
	document.getElementById('year_title').innerText = "Year: ";
	document.getElementById('year_title_selected').innerText = year;
}

fader = setInterval("fade_options()", 1);
counter = document.getElementById("pf_selection").clientHeight;
document.getElementById("pf_selection").style.height = counter+"px";
}



function blackout(){
	var height = document.body.scrollHeight;
	document.getElementById('black_background').style.height = height;
	document.getElementById('black_background').style.display = 'inline';
}


function basket_add(pnum, price, make, model, desc) {
xmlHttp=GetXmlHttpObject();
	if(xmlHttp == null)
		{
			alert("Your browser does not support HTTP Request which is needed to run Parts Finder.");
			return;
		}
	
	var url="../basket.php";
		url=url+"?action=pf_add&pnum="+pnum;
		url=url+"&price="+price;
		url=url+"&make="+make;
		url=url+"&model="+model;
		url=url+"&desc="+desc;
		url=url+"&qty=1";
		url=url+"&sid="+Math.random();
		xmlHttp.onreadystatechange=function() {
		
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
			document.getElementById('basket_contents').innerHTML=xmlHttp.responseText;
			}
		}
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
}	