function nullFunc(){ }

var OverlayShown = false;
function showOverLay()
{
	ShowOverlay();
	RepositionOverLay();
}
function hideOverlay()
{
	HideOverlay();
}
function RepositionOverLay()
{
	var innerWindow;
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	try
	{
		innerWindow = document.getElementById("overLay_Inner");
		innerWindow.style.left = ((myWidth/2)-(innerWindow.clientWidth/2)) + "px";
		innerWindow.style.top = ((myHeight/2)-(innerWindow.clientHeight/2)) + "px";
	}
	catch(e) { }
}
function ShowOverlay(id)
{
	OverlayShown = true;
	var scrollY;
	if( typeof( window.pageYOffset ) == 'number' ) {
	  scrollY = window.pageYOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
	  scrollY = document.body.scrollTop;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
	  scrollY = document.documentElement.scrollTop;
	}
	
	var Overlay = document.getElementById('overLay_Container');
	Overlay.style.width = screen.width + "px";
	Overlay.style.height = screen.height + "px";
	try
	{
		Overlay.style.top = scrollY + "px";
	} catch(err) { Overlay.style.top = "0px"; } 
	Overlay.style.left = 0;
	Overlay.style.visibility="visible";
	
	document.body.style.overflow="hidden";
	document.getElementsByTagName("html")[0].style.overflow = "hidden";
}

function HideOverlay()
{
	OverlayShown = false;
	var Overlay = document.getElementById('overLay_Container');
	Overlay.style.visibility="hidden";
	document.getElementsByTagName("html")[0].style.overflow = "auto";
}

function CMD_addItem(PID)
{
	var xmlHttp;
	try
	{
		xmlHttp=new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function()
	{
		var div = document.getElementById("overLay_Inner");
		if(xmlHttp.readyState==4)
		{
			div.innerHTML = xmlHttp.responseText;
			showOverLay();
		}
	}
	xmlHttp.open("GET","/frontend/dogClass/shop/cart/cartAdd.php?pid=" + PID,true);
	xmlHttp.send(null);	
}

function CMD_removeItem(PID)
{
	var xmlHttp;
	try
	{
		xmlHttp=new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
		{
			processQtyUpdate();			
			CMD_loadCart();
		}
	}
	var result = confirm("Are you sure you wish to remove this item?");
	if(result)
	{	
		var div = document.getElementById("itemCount");
		div.innerHTML = "<div align='center'><img src='/frontend/dogClass/shop/cart/images/ajaxLoader.gif'></div>";	
		xmlHttp.open("GET","/frontend/dogClass/shop/cart/cartAdd.php?pid=" + PID + "&delete=true",true);
		xmlHttp.send(null);
	}
}

function CMD_viewCart()
{
	var xmlHttp;
	try
	{
		xmlHttp=new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function()
	{
		try
		{
			var div = document.getElementById("overLay_Inner");
			if(xmlHttp.readyState==4)
			{
				div.innerHTML = xmlHttp.responseText;
				showOverLay();
				CMD_loadCart();
			}
		}
		catch(e) { }
	}
	try
	{
		xmlHttp.open("GET","/frontend/dogClass/shop/cart/showCart.php",true);
		xmlHttp.send(null);	
	}
	catch(e) { return false; }
}

function CMD_loadCart()
{
	var xmlHttp;
	try
	{
		xmlHttp=new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function()
	{
		var div = document.getElementById("cartView");
		if(xmlHttp.readyState==4)
		{
			div.innerHTML = "<div id='cartFade'>"+xmlHttp.responseText+"</div>";
			fadeIn("cartFade",0);
			CMD_loadCartTotal();
		}
	}
	var div = document.getElementById("itemCount");
	div.innerHTML = "<div align='center'><img src='/frontend/dogClass/shop/cart/images/ajaxLoader.gif'></div>";
	xmlHttp.open("GET","/frontend/dogClass/shop/cart/cartItems.php",true);
	xmlHttp.send(null);	
}

function CMD_loadCartTotal()
{
	var xmlHttp;
	try
	{
		xmlHttp=new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function()
	{
		var div = document.getElementById("itemCount");
		if(xmlHttp.readyState==4)
		{
			div.innerHTML = xmlHttp.responseText;
		}
	}
	var div = document.getElementById("itemCount");
	div.innerHTML = "<div align='center'><img src='/frontend/dogClass/shop/cart/images/ajaxLoader.gif'></div>";
	xmlHttp.open("GET","/frontend/dogClass/shop/cart/cartItems.php?itemCount=true",true);
	xmlHttp.send(null);	
}

var qty;
var qtyTxt;
var needUpdate = false;
function CMD_chgQty(pid,inc,tBox,qMin)
{
	needUpdate = true;
	var txtObj = document.getElementById(tBox);
	qtyTxt = txtObj;
	var cVal = parseInt(txtObj.value);
	var cInc = parseInt(inc);
	var nValue = (cVal + cInc);
	qty = nValue;
	if(nValue>=qMin&&nValue>0)
	{
		txtObj.value = qty;
		var unitPriceId = "unitPrice_"+pid;
		var totalPriceId = "totalPrice_"+pid;
		var unitPriceObj = document.getElementById(unitPriceId);
		var totalPriceObj = document.getElementById(totalPriceId);
		var unitPrice = unitPriceObj.value;
		var nTotal = parseFloat(unitPrice) * parseInt(qty);
		totalPriceObj.innerHTML = formatCurrency(nTotal);
		updateSubTotal();
	}	
}
function updateSubTotal()
{
	var subTotalObj = document.getElementById('subtotal');	
	var cartTotal = 0;
	for(i=0; i<document.forms['items'].elements.length; i++)
	{
		var obj = document.forms['items'].elements[i];
		if(obj.type=="text")
		{
			if(obj.name.substr(0,4)=="qty_")
			{
				var PID = obj.name.replace("qty_","");
				var value = obj.value;
				var totalPriceId = "totalPrice_"+PID;	
				var itemTotal = parseFloat(document.getElementById(totalPriceId).innerHTML.replace("$",""));
				cartTotal = parseFloat(cartTotal)+parseFloat(itemTotal);
			}
		}
	}
	subTotalObj.innerHTML = formatCurrency(cartTotal);
}
function formatCurrency(num) 
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}
function processQtyUpdate()
{
	var updateOut = "";
	for(i=0; i<document.forms['items'].elements.length; i++)
	{
		var obj = document.forms['items'].elements[i];
		if(obj.type=="text")
		{
			if(obj.name.substr(0,4)=="qty_")
			{
				var PID = obj.name.replace("qty_","");
				var value = obj.value;
				updateOut += PID + "=" + value + ",";
			}
		}
	}
	updateOut = updateOut.substr(0,updateOut.length-1);
	if(needUpdate){ CMD_updateQTY(updateOut); }
	var TimeOutMax = 30000;
	var TimeOut;
	while(needUpdate&&TimeOut<TimeOutMax)
	{
		TimeOut += 1;
	}
}
function CMD_updateQTY(pidStr)
{
	var xmlHttp;
	try
	{
		xmlHttp=new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
		{
			needUpdate = false;
		}
	}
	var div = document.getElementById("itemCount");
	div.innerHTML = "<div align='center'><img src='/frontend/dogClass/shop/cart/images/ajaxLoader.gif'></div>";	
	xmlHttp.open("GET","/frontend/dogClass/shop/cart/cartAdd.php?pidStr="+pidStr+"&updateqty=true",true);
	xmlHttp.send(null);	
}

function CMD_viewDetails(pid)
{
	document.getElementById('infoView').style.display = 'block';
	document.getElementById('cartView').style.height = '300px';	
	
	var dObj = document.getElementById('details_'+pid);
	document.getElementById('infoView').innerHTML = "<div id='fadeInfo'>"+dObj.innerHTML+"</div>";
	fadeIn("fadeInfo",0);
	
	RepositionOverLay();
}
function fadeIn(objId,opacity) 
{
	obj = document.getElementById(objId);
	if (opacity <= 100) {
	  setOpacity(obj, opacity);
	  opacity += 20;
	  window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
	}
}
function setOpacity(obj, opacity) 
{
  opacity = (opacity == 100)?99.999:opacity;
  obj.style.filter = "alpha(opacity:"+opacity+")";
  obj.style.KHTMLOpacity = opacity/100;
  obj.style.MozOpacity = opacity/100;
  obj.style.opacity = opacity/100;
}
