// JavaScript Document

function sendRequest(objForm)
{
	toggleLinks("disable");
	
	var vars = 'task=ajax_update';
	var sale_type = "single";
	var item_added = false;
	
	try
	{
		for (var i=0; i<objForm.elements.length; i++)
		{
			if (objForm.elements[i].name)
			{	
				if (objForm.elements[i].name.indexOf("quantity") != -1 && objForm.elements[i].name.indexOf("stock") == -1)
				{
					objForm.elements[i].value = parseInt(objForm.elements[i].value);
					if (!isNaN(objForm.elements[i].value) && objForm.elements[i].value > 0)
					{
						item_added = true;
					}
					else
					{
						objForm.elements[i].value = "";	
					}
				}
				vars += '&'+objForm.elements[i].name+'='+objForm.elements[i].value;
			}
		}
	}
	catch (e)
	{
		//nothing
	}
		
	new Ajax.Request("/inc/ajax_deal_added.php", 
		{ 
			method: 'post', 
			postBody: vars,
			onComplete: showResponse
		});
	
	return false;	//this is needed so page doesn't refresh
}

function showResponse(req)
{
	try
	{
		//split up the response by *@@@* as noted in ajax_item_added.php 
		var cart_actions = req.responseText.split('*@@@*');
		if (cart_actions.length > 1)
		{
			//alert(cart_actions[1]+" "+cart_actions[2]);
			if (cart_actions[1] == "reduce_quantity")
			{
				document.generalForm.elements[cart_actions[3]].value = "";
				alert("We're sorry: This item is no longer in stock.");
			}
		}
		else
		{	
			document.getElementById('show').innerHTML = req.responseText;
			
			var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
			//var dsocleft=document.all? iebody.scrollLeft : pageXOffset;
			var dsoctop=document.all? iebody.scrollTop : pageYOffset;
			//document.getElementById('popup').style.left = parseInt(document.getElementById('popup').style.left) + dsocleft + "px";
			document.getElementById('popup').style.top = (80 + dsoctop) + "px";
			
			
		}
		toggleLinks("enable");
	}
	catch(e)
	{
		//alert(e);	
	}
	
	//split up the response by *###* as noted in ajax_item_added.php 
	var cart_summary = req.responseText.split('*###*');
	try
	{
		if (cart_summary.length == 3)
			document.getElementById("cart_summary").innerHTML = cart_summary[1];
	}
	catch(e)
	{
		//nothing	
	}
}

function toggleLinks(flag)
{
	var toget = "button_arrow", toset = "button_wait";
	if (flag=="enable")
	{
		toget = "button_wait";
		toset = "button_arrow";
	}
	
	var linklist = getElementsByClass(toget);
	
	if (linklist.length > 0)
	{
		for (var i=0; i<linklist.length; i++)
		{
			linklist[i].className = toset;
			//linklist[i].innerHTML = (flag=="disable") ? "PLEASE WAIT" : "ADD TO CART";
			linklist[i].disabled = (flag=="disable");
		}
	}
	
	
	//and again for small links
	toget = "button_arrow_small";
	toset = "button_wait_small";
	if (flag=="enable")
	{
		toget = "button_wait_small";
		toset = "button_arrow_small";
	}
	
	linklist = getElementsByClass(toget);
	
	if (linklist.length > 0)
	{
		for (var i=0; i<linklist.length; i++)
		{
			linklist[i].className = toset;
			//linklist[i].innerHTML = (flag=="disable") ? "PLEASE WAIT" : "ADD TO WISHLIST";
			linklist[i].disabled = (flag=="disable");
		}
	}
}

function getElementsByClass(searchClass,node,tag)
{
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function trim(str)
{
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');	
}

function closePopup(popupid)
{
	document.getElementById(popupid).style.display = "none";	
}