var xmlhttp1;
var xmlhttp2;
var xmlhttp3;

var postdata1;
var postdata2;
var postdata3;

var expireDate; 

// RESET FORM
resetForm();
function resetForm() {
	document.deviceForm.reset();
	document.deviceForm.brandSelect.value = '';
	document.deviceForm.modelSelect.value = '';
	document.deviceForm.brandSelect.disabled = true;
	document.deviceForm.modelSelect.disabled = true;
	document.getElementById('deviceResults').innerHTML = '';
	document.getElementById('deviceResults').style.height = '';
	document.getElementById('deviceResults').style.display = 'none';
	document.getElementById('formMinimize').style.display = 'none';
}

function typeSelected(){
	document.deviceForm.brandSelect.disabled = true;
	document.deviceForm.modelSelect.disabled = true;
	document.deviceForm.brandSelect.value = '';
	document.deviceForm.modelSelect.value = '';
	//document.getElementById('deviceResults').innerHTML = '';
	//document.getElementById('deviceResults').style.height = '';
	//document.getElementById('formMinimize').style.display = 'none';
	if (document.deviceForm.typeSelect.value != '') { document.formLoader.style.display = 'block'; getBrands(); }
}

function brandSelected(){
	document.deviceForm.modelSelect.disabled = true;
	document.deviceForm.modelSelect.value = '';
	//document.getElementById('deviceResults').innerHTML = '';
	//document.getElementById('deviceResults').style.height = '';
	//document.getElementById('formMinimize').style.display = 'none';
	if (document.deviceForm.brandSelect.value != '') { document.formLoader.style.display = 'block'; getModels(); }
}

function modelSelected(){
	//document.getElementById('deviceResults').style.height = '';
	//document.getElementById('formMinimize').style.display = 'none';
	if (document.deviceForm.modelSelect.value != '') { 
		document.formLoader.style.display = 'block'; getResults(); 
		if(document.getElementById('deviceResults').innerHTML != ''){
			document.getElementById('deviceResults').innerHTML = '<div id="whatYouNeed"><h5>Loading...</h5></div>';
		}
	}
}

function getBrands(){
	postdata1 =  skinDir+'forms/sortBrandsUK.php';
	expireDate = new Date();
	expireDate.setHours(expireDate.getHours()+48);
	document.cookie = 'powermatType=' + document.deviceForm.typeSelect.value + '; expires='+ expireDate +'; path=/';
	xmlhttp1 = GetXmlHttpObject();
	xmlhttp1.onreadystatechange = stateChangedBrands;
	xmlhttp1.open("GET", postdata1,true);
	xmlhttp1.send(null);
}

function getModels(){
	postdata2 = skinDir+'forms/sortModelsUK.php';
	expireDate = new Date();
	expireDate.setHours(expireDate.getHours()+48);
	document.cookie = 'powermatBrand='+document.deviceForm.brandSelect.value + '; expires='+ expireDate +'; path=/';
	xmlhttp2 = GetXmlHttpObject();
	xmlhttp2.onreadystatechange = stateChangedModels;
	xmlhttp2.open("GET", postdata2,true);
	xmlhttp2.send(null);
}

function getResults(){
	postdata3 = skinDir+'forms/sortResultsUK.php';
	expireDate = new Date();
	expireDate.setHours(expireDate.getHours()+48);
	document.cookie = 'powermatModel='+document.deviceForm.modelSelect.value + '; expires='+ expireDate +'; path=/';
	xmlhttp3 = GetXmlHttpObject();
	xmlhttp3.onreadystatechange = stateChangedResults;
	xmlhttp3.open("GET", postdata3,true);
	xmlhttp3.send(null);
}

function stateChangedBrands(){
	if (xmlhttp1.readyState==4){
		document.getElementById('brandSelect').innerHTML = xmlhttp1.responseText;
		document.deviceForm.brandSelect.disabled = false;
		document.formLoader.style.display = 'none';
	}
}

function stateChangedModels(){
	if (xmlhttp2.readyState==4){
		document.getElementById('modelSelect').innerHTML = xmlhttp2.responseText;
		document.deviceForm.modelSelect.disabled = false;
		document.formLoader.style.display = 'none';
	}
}

function stateChangedResults(){
	if (xmlhttp3.readyState==4){
		document.getElementById('deviceResults').innerHTML = xmlhttp3.responseText;
		document.getElementById('deviceResults').style.height = '300px';
		document.getElementById('deviceResults').style.display = 'block';
		document.formLoader.style.display = 'none';
		document.getElementById('formMinimize').style.display = 'block';
	}
}

function GetXmlHttpObject(){
	if (window.ActiveXObject){
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else if (window.XMLHttpRequest){
		return new XMLHttpRequest();
	}
	return null;
}
