var xmlHttp;

function showProduct(iProductID, iCount)
{
	var url = "";

	xmlHttp = GetXmlHttpObject();

	if (xmlHttp == null)
	{
		alert ("Browser does not support HTTP Request")
		return;
	}

	url = url + "ajaxRetrieveProductName.asp?iProductID=" + iProductID;

	//append the count to our url only if we have one
	if ( iCount.length > 0 ) {
		url = url + "&iCount=" + iCount;
	}	
		
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}

function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("productArea").innerHTML = xmlHttp.responseText;
		ResetIframeDimensions();
	} 
} 

function GetXmlHttpObject()
{ 
	var objXMLHttp = null;

	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}

	return objXMLHttp;
}

//Handle hiding or showing the current id
function ShowOrHideTable(sTheID) {
	var oElement	= document.getElementById(sTheID);
	var oiFrame		= document.getElementById("DivShim");

	if ( oElement.style.display == "" )  {
		oElement.style.display	= "none";
		oiFrame.style.display	= "none";
	}
	else {
		oElement.style.display	= "";
		oiFrame.style.width		= oElement.offsetWidth;
		oiFrame.style.height		= oElement.offsetHeight;
		oiFrame.style.top			= oElement.style.top;
		oiFrame.style.left		= oElement.style.left;
		oiFrame.style.zIndex		= oElement.style.zIndex - 1;
		oiFrame.style.display	= "";
	}
}

function ResetIframeDimensions () {
	var oElement	= document.getElementById("cartinfo");
	var oiFrame		= document.getElementById("DivShim");
	oiFrame.style.width		= oElement.offsetWidth;
	oiFrame.style.height		= oElement.offsetHeight;
	oiFrame.style.top			= oElement.style.top;
	oiFrame.style.left		= oElement.style.left;
	oiFrame.style.zIndex		= oElement.style.zIndex - 1;
}

function PositionLayer(layerName)
{	
	var IE = document.all?true:false;
	if(navigator.userAgent.indexOf('Netscape/7.0') != -1) var ns7 = true;
	layer = document.getElementById(layerName);
	
	if(IE)
	{ 
		var newTop = document.documentElement.scrollTop + 250;
		var newLeft = ( document.documentElement.clientWidth / 2 ) - 70;
		newTop += 'px';
		newLeft += 'px';
		layer.style.top = newTop;
		layer.style.left = newLeft;
	}
	else
	{
		var newTop = document.body.parentNode.scrollTop + 300;
		var newLeft = ( document.body.parentNode.clientWidth / 2 ) - 100;
		newTop += 'px';
		newLeft += 'px';
		layer.style.top = newTop;
		layer.style.left = newLeft;
	}
	if(ns7)
	{
		sNetscapeLeft = (window.innerWidth / 2) - 100 + 'px';
		sNetscapeTop = window.pageYOffset + 300 + 'px';
		layer.style.left = sNetscapeLeft;
		layer.style.top = sNetscapeTop;
	}
	if(navigator.userAgent.indexOf('MSIE 5.5') != -1) 
	{
		sIE5Left = (document.body.clientWidth / 2) - 100 + 'px';
		layer.style.left = sIE5Left;
	}
	if (document.getElementById('errorFrame')) {
		frame = document.getElementById('errorFrame'); // find iFrame to position behind layer to fix selects breaking layer.
	
		if(layerName == 'layerDiv')
		{
			var errorFrameTop = layer.style.top.substring(0, layer.style.top.indexOf('px')) - 0;
			var errorFrameLeft = layer.style.left.substring(0, layer.style.left.indexOf('px')) - 0;
			if(document.getElementById('BasketLayer'))
			{
				var errorFrameHeight = document.getElementById('BasketLayer').clientHeight - 0;
			}
			else
			{
				var errorFrameHeight = 120;
			}
			frame.style.top = errorFrameTop+5;
			frame.style.left = errorFrameLeft+5;
			frame.style.width = '265px';
			frame.style.height = errorFrameHeight - 19;
			frame.style.display = "block";
			frame.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
		}
		else
		{
			frame.style.top = layer.style.top;
			frame.style.left = layer.style.left;
			frame.style.width = layer.offsetWidth;
			frame.style.height = layer.offsetHeight;
			frame.style.display="block";
			frame.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
		}	
	}
}

function AddToCart(sFormName) {
	var jForm;
	var jProductID, jCount;

	eval('jForm = document.forms.' + sFormName + ';');

	with (jForm) {
		jProductID	= item.value;
		jCount		= count.value;
		showProduct(jProductID,jCount);
		PositionLayer('cartinfo');
		ShowOrHideTable('cartinfo');
	}
}


function AddWindowProduct () {
	var jProductID	= document.forms.windowcart.item.value;
	var jCount		= document.forms.windowcart.count.value;
	showProduct(jProductID,jCount);
}
