var xmlHttp

var xhr = new Array(); // ARRAY OF XML-HTTP REQUESTS

var xi = new Array(0); // ARRAY OF XML-HTTP REQUEST INDEXES

xi[0] = 1; // FIRST INDEX SET TO 1 MAKING IT AVAILABLE


function getKitBuildRequirements($returnElement){
	
	var xhri = xhrRequest('html');			
	
	xhr[xhri].onreadystatechange = function() {stateChange($returnElement,xhri)};
	
	xhr[xhri].open('GET', "/store/resources/ajaxmethods/getKitBuildSessionVariable.php?kit=yes", true);

	xhr[xhri].send(null);

}

function getBuildRequirements($returnElement){
	
	var xhri = xhrRequest('html');			
	
	xhr[xhri].onreadystatechange = function() {stateChange($returnElement,xhri)};
	
	xhr[xhri].open('GET', "/store/resources/ajaxmethods/getKitBuildSessionVariable.php?kit=no", true);

	xhr[xhri].send(null);

}

function getKitBuildBuyNowLink($returnElement){
		
		var xhri = xhrRequest('html');			
	
		xhr[xhri].onreadystatechange = function() {stateChange($returnElement,xhri)};
		
		xhr[xhri].open('GET', "/store/resources/ajaxmethods/getLinerLink.php?kit=yes&showprice=yes", true);

		xhr[xhri].send(null);

}
function getKitBuildBuyNowProLink($returnElement){
		
		var xhri = xhrRequest('html');			
	
		xhr[xhri].onreadystatechange = function() {stateChange($returnElement,xhri)};
		
		xhr[xhri].open('GET', "/store/resources/ajaxmethods/getLinerLink.php?linerBrand=pro&kit=yes&showprice=yes", true);

		xhr[xhri].send(null);
		
}
function getBuildBuyNowLink($returnElement){
		
		var xhri = xhrRequest('html');			
	
		xhr[xhri].onreadystatechange = function() {stateChange($returnElement,xhri)};
		
		xhr[xhri].open('GET', "/store/resources/ajaxmethods/getLinerLink.php?kit=no&showprice=yes", true);

		xhr[xhri].send(null);

}
function getBuildBuyNowProLink($returnElement){
		
		var xhri = xhrRequest('html');			
	
		xhr[xhri].onreadystatechange = function() {stateChange($returnElement,xhri)};
		
		xhr[xhri].open('GET', "/store/resources/ajaxmethods/getLinerLink.php?linerBrand=pro&kit=no&showprice=yes", true);

		xhr[xhri].send(null);
	
}


//populate liner price check widget
function getItemQuickPriceLiner($diam,$length,$returnElement){

	    var xhri = xhrRequest('html');			
	
		xhr[xhri].onreadystatechange = function() {stateChange($returnElement,xhri)};
	
		xhr[xhri].open('GET', "/store/resources/ajaxmethods/getItemPricing.php?isliner=1&diam="+$diam +"&length="+$length, true);

		xhr[xhri].send(null);		
		
		//xmlHttp=GetXmlHttpObject();
			
		//xmlHttp.onreadystatechange= function() {stateChange($returnElement)};
		
		//xmlHttp.open("GET","/store/resources/ajaxmethods/getItemPricing.php?isliner=1&diam="+$diam +"&length="+$length,true);
	
		//xmlHttp.send(null);

		document.getElementById('downarrow').style.visibility = "visible";

            
		
}

function getItemQuickPriceLinerShipTime($state,$returnElement){
	
		var xhri = xhrRequest('html');			
	
		xhr[xhri].onreadystatechange = function() {stateChange($returnElement,xhri)};
	
		xhr[xhri].open('GET', "/store/resources/ajaxmethods/getItemShipTime.php?&state="+$state, true);

		xhr[xhri].send(null);	
		
		//xmlHttp=GetXmlHttpObject();
			
		//xmlHttp.onreadystatechange=function() { stateChange($returnElement);}
		
		//	xmlHttp.open("GET","/store/resources/ajaxmethods/getItemShipTime.php?&state="+$state,true);
	
		//	xmlHttp.send(null);

}

function getItemQuickPriceLinerShipTimeZip($zip,$returnElement){
	
		var xhri = xhrRequest('html');			
	
		xhr[xhri].onreadystatechange = function() {stateChange($returnElement,xhri)};
	
		xhr[xhri].open('GET', "/store/resources/ajaxmethods/getItemShipTime.php?&zip="+$zip, true);

		xhr[xhri].send(null);	
		
		//xmlHttp=GetXmlHttpObject();
			
		//xmlHttp.onreadystatechange=function() { stateChange($returnElement);}
		
		//xmlHttp.open("GET","/store/resources/ajaxmethods/getItemShipTime.php?&zip="+$zip,true);
	
		//xmlHttp.send(null);

}

function checkUPSzipItemView($zip,$service,$weight,$length,$width,$height,$returnElement){

	//document.getElementById('loading').style.visibility = "visible";
	
	if($zip.length > 4){

		var xhri = xhrRequest('html');			
	
		xhr[xhri].onreadystatechange = function() {stateChange($returnElement,xhri)};
	
		xhr[xhri].open('GET', "/store/resources/includes/ups-get.php?zip="+$zip+"&service="+$service+"&weight="+$weight+"&length="+$length+"&width="+$width+"&height="+$height, true);

		xhr[xhri].send(null);	

		setVisibility(document.getElementById('noFreeShipZip'),"visible");
                setVisibility(document.getElementById('loading'),"none");

                //document.getElementById('noFreeShipZip').style.visibility = "visible";
		//document.getElementById('loading').style.visibility = "hidden";
		
		
	}
	else if($zip.length == 0){

                setVisibility(document.getElementById('noFreeShipZip'),"none");
                setVisibility(document.getElementById('loading'),"none");
		//document.getElementById('noFreeShipZip').style.visibility = "hidden";
		//document.getElementById('loading').style.visibility = "hidden";
		
	}
	else
	{
                setVisibility(document.getElementById('noFreeShipZip'),"none");
		//document.getElementById('noFreeShipZip').style.visibility = "hidden";
                setVisibility(document.getElementById('loading'),"none")
	}

      //document.getElementById('loading').style.visibility = "hidden";

}

function setSessionVariable($name,$value){
		
		var xhri = xhrRequest('html');			
	
		xhr[xhri].open('GET', "/store/resources/ajaxmethods/setSessionVariable.php?&name="+$name+"&value="+$value, true);

		xhr[xhri].send(null);	
		
		//xmlHttp=GetXmlHttpObject();
		//xmlHttp.open("GET","/store/resources/ajaxmethods/setSessionVariable.php?&name="+$name+"&value="+$value,true);
	  //  xmlHttp.send(null);
}

function stateChange($element,xhri) 
{  
		if (xhr[xhri].readyState == 4 && xhr[xhri].status == 200) {

                        jQuery(document.getElementById($element)).hide();

			document.getElementById($element).innerHTML =  xhr[xhri].responseText;
                        
                        jQuery(document.getElementById($element)).slideDown("slow");

			xi[xhri] = 1;

			xhr[xhri] = null;

		}
//	if (xmlHttp.readyState==4)
//	{ 

//		document.getElementById($element).innerHTML=xmlHttp.responseText;
//	}
}



function stateChangeConcat($element,xhri) 
{ 
		if (xhr[xhri].readyState == 4 && xhr[xhri].status == 200) {

			document.getElementById($element).innerHTML = document.getElementById($element).innerHTML + xhr[xhri].responseText;

			xi[xhri] = 1;

			xhr[xhri] = null;

		}

	//if (xmlHttp.readyState==4)
	//{ 

	//	document.getElementById($element).innerHTML = document.getElementById($element).innerHTML + xmlHttp.responseText;
	//}
}

function GetXmlHttpObject()
{
	xmlHttp=null;
	try
	  {
	  // Firefox, Opera 8.0+, Safari
	 xmlHttp=new XMLHttpRequest();
	  }
	catch (e)
	  {
	  // Internet Explorer
	  try
		{
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
	  catch (e)
		{
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	  }
	return xmlHttp;
	
}


function xhrRequest(type) {
	if (!type) {
		type = 'html';
	}
	
	
	// xhrsend IS THE xi POSITION THAT GETS PASSED BACK
	// INITIALIZED TO THE LENGTH OF THE ARRAY(LAST POSITION + 1)
	// IN CASE A FREE RESOURCE ISN'T FOUND IN THE LOOP
	var xhrsend = xi.length;
	
	// GO THROUGH AVAILABLE xi VALUES
	for (var i=0; i<xi.length; i++) {
	
		// IF IT'S 1 (AVAILABLE), ALLOCATE IT FOR USE AND BREAK
		if (xi[i] == 1) {
			xi[i] = 0;
			xhrsend = i;
			break;
		}
	}
	
	
	// SET TO 0 SINCE IT'S NOW ALLOCATED FOR USE
	xi[xhrsend] = 0;
	
	
	// SET UP THE REQUEST
	if (window.ActiveXObject) {
			try {
				xhr[xhrsend] = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					xhr[xhrsend] = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		} 
		else if (window.XMLHttpRequest) {
				xhr[xhrsend] = new XMLHttpRequest();
				if (xhr[xhrsend].overrideMimeType) {
					xhr[xhrsend].overrideMimeType('text/' + type);
				}
			}
	return (xhrsend);
}






/*NON AJAX FUNCTIONS*/

function setVisibility($element,$value){

            if($value=="none"){

                   document.getElementById($element).style.visibility = "hidden";
            }
            else{
                jQuery(document.getElementById($element)).slideDown("slow")
                //document.getElementById($element).style.visibility = "visible";
            }

          setDisplay($element,$value);
	}

function setDisplay($element,$value){
	var elem = document.getElementById($element), visStyle = elem.style.display;

		//elem.style.display = (visStyle == 'block' || !visStyle) ? 'none' : 'block';
		elem.style.display = 'block';
}

function setElementHtml($element,$value){
	
	setVisibility($element,$value);
	document.getElementById($element).innerHTML = $value;
}

function setElementHtmlConcat($element,$value){
	document.getElementById($element).innerHTML = document.getElementById($element).innerHTML + $value;
	
}




