function GetXmlHttpObject(handler){
	var objXMLHttp=null
	
	if(window.XMLHttpRequest){
		objXMLHttp=new XMLHttpRequest()
	} else if(window.ActiveXObject){
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	} 
	
	return objXMLHttp
}

function display_mattress_catalog(){
	
	//TARGET TABLE
	var display_table = document.getElementById('catalog');
		
	if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
		//SET LOADER TIMEOUT
		setTimeout(remove_loader, 1500);		
	}	
	
	function remove_loader(){
		//REMOVE OLD LOADING SCREENS
		var loading_screen = document.getElementById('loading'); if(loading_screen){ loading_screen.parentNode.removeChild(loading_screen); }
		
		//TRIGGER CONTENT LOAD
		load_content();
	}
	
	function load_content(){
		
		//RESPONSE
		var xml_doc = xmlHttp.responseText;
		
		//DISPLAY DATA
		display_table.innerHTML = xml_doc;
		
	}
	
}

function mattress_catalog(url, post_params){
	
	//TARGET TABLE
	var display_table = document.getElementById('catalog');
	display_table.innerHTML = '';
	
	//DISPLAY DATA
	div = document.createElement('div');	
	div.setAttribute('id', 'loading');
	div.className = 'loading';
	div.innerHTML = '<div><h2>Finding Mattresses That Match Your Selections</h2></div><div><img src="../../images/ajax-loader.gif" /></div>';
		
	//INSERT
	display_table.appendChild(div);
			
	//GET PRICE INPUTS
	var input_select = document.getElementsByTagName('input');
	for(i = 0; i < input_select.length; i++){
		if(input_select[i].name.split("_")[0] == "price" || input_select[i].name.split("_")[0] == "sizes" || input_select[i].name.split("_")[0] == "comfort" || input_select[i].name.split("_")[0] == "brand" || input_select[i].name.split("_")[0] == "material"){
			post_params = post_params+'&'+input_select[i].name+'='+input_select[i].value;
		}	
	}
		
	xmlHttp=GetXmlHttpObject()
	if(xmlHttp==null){ alert("Browser does not support HTTP Request"); return; }
	
	post_params = post_params+"&session="+Math.random();
	xmlHttp.onreadystatechange = display_mattress_catalog;
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", post_params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(post_params);
	
}

/* FAST PAGE CHANGE WITHOUT CLEARNING OF INNERHTML */
function mattress_catalog_page(url, post_params){
			
	//GET PRICE INPUTS
	var input_select = document.getElementsByTagName('input');
	for(i = 0; i < input_select.length; i++){
		if(input_select[i].name.split("_")[0] == "price" || input_select[i].name.split("_")[0] == "sizes" || input_select[i].name.split("_")[0] == "comfort" || input_select[i].name.split("_")[0] == "material"){
			post_params = post_params+'&'+input_select[i].name+'='+input_select[i].value;
		}	
	}
		
	xmlHttp=GetXmlHttpObject()
	if(xmlHttp==null){ alert("Browser does not support HTTP Request"); return; }
	
	post_params = post_params+"&session="+Math.random();
	xmlHttp.onreadystatechange = fast_display_mattress_catalog;
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", post_params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(post_params);
	
}

function fast_display_mattress_catalog(){
	
	//TARGET TABLE
	var display_table = document.getElementById('catalog');
		
	if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
		//RESPONSE
		var xml_doc = xmlHttp.responseText;
		
		//DISPLAY DATA
		display_table.innerHTML = xml_doc;		
	}		
}
