var general_oXmlHttp;

function ajax_call(url, handler){
	general_oXmlHttp = GetHttpObject(handler);
	general_oXmlHttp.open("GET", url, true)
	general_oXmlHttp.send(null);
}


function ajax_post_call(url, parameters, handler){
	general_oXmlHttp = GetHttpObject(handler);
	general_oXmlHttp.open("POST", url, true);
	general_oXmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	general_oXmlHttp.setRequestHeader("Content-length", parameters.length);
	general_oXmlHttp.setRequestHeader("Connection", "close");
	general_oXmlHttp.send(parameters);
}

//Get http object and test whether it's i.e. or others
//Otherwise return false
function GetHttpObject(handler)
{	
	if(!document.all)
	{
		try
		{
			var oRequester = new XMLHttpRequest();
			oRequester.onload=handler;
			oRequester.onerror=handler;
			return oRequester;
		}
		catch (error)
		{
			alert("Your request can not be completed at this time.");
			return false;
		}
	}
	else
	{
		try
		{
			var oRequester = new ActiveXObject("Microsoft.XMLHTTP");
			oRequester.onreadystatechange=handler;
			return oRequester;
		}
		catch (error)
		{
			alert("Your request can not be completed at this time.");
			return false;
		}
	}
}

function getProductInfo(sku, company)
{
	if(sku != '' && company != '')
	{		
		var url = 'http://' + document.domain + '/' + company + '/fns.asp?sku=' + encodeURIComponent(sku);
		ajax_call(url, getDetailsListener);
	}
}


function getDetailsListener()
{
	var response, price, availabilityHTML;
	
	if (general_oXmlHttp.readyState==4 || general_oXmlHttp.readyState=="complete")
	{
		if (general_oXmlHttp.status == '200')
		{			
			response = general_oXmlHttp.responseText;
			price= response.substring(0, response.indexOf('~'));
			availabilityHTML = response.substring(response.indexOf('~') + 1, response.length);	

			if(price != '0' && price != '')
			{
				document.getElementById('priceholder').innerHTML = 'Your Price: ' + price;
				document.getElementById('priceholder').style.display = 'block';
			}
			if(availabilityHTML != '0')
			{
				document.getElementById('instockholder').innerHTML = availabilityHTML;
				document.getElementById('instockholder').style.display = 'block';
			}
		}
	}
}

function getTaxableInfo(company)
{
	if(company != '')
	{		
		var url = 'http://' + document.domain + '/' + company + '/taxfns.asp';  //?sku=' + encodeURIComponent(sku);
		ajax_call(url, getTaxableListener);
	}
}


function getTaxableListener()
{
	var response;	
	if (general_oXmlHttp.readyState==4 || general_oXmlHttp.readyState=="complete")
	{
		if (general_oXmlHttp.status == '200')
		{			
			response = general_oXmlHttp.responseText;
			if(response != '')
			{
				document.getElementById('taxableholder').innerHTML = response;
			}
		}
	}
}