﻿
function UpdateCartQuantity()
{
	var params = "";
	var inputs = document.getElementsByName("cartItemQuantity");
	for(var n = 0; n < inputs.length; n++)
	{
		params += inputs[n].id + "=" + inputs[n].value + "&";
	}
	params += "cmd=cartUpdate";
	SendUpdateCartData(params);
}
function EmptyCart(msg)
{
	if(confirm(msg))
	{
		SendUpdateCartData("cmd=cartDel&");
	}
}
function ScrollToBasket()
{
	cCart.scrollIntoView();
	//firefox v. resize fix:
	cCart.style.height = "1px";
	window.setTimeout(PostResizecart, 1);
}

function PostResizecart()
{
	cCart.style.height = "";
}

function AddToCart(productId)
{
	var params = productId + "=" + 1 + "&cmd=cartAdd&";
	SendUpdateCartData(params);
}

//var addingToCart = false;
function SendUpdateCartData(params)
{
	var ajax = new GuruAsp.System.AjaxRequest("", CartReceived, "POST");
	ajax.mUrl = "ajax_cart.aspx?" + document.getElementById("hdnCurrentQString").value;
	ajax.mParams = params;
	ajax.Submit();
}

function CartReceived(ajaxObj)
{
	//alert(resp.responseText);
	var text = ajaxObj.GetText();
	//trim white space from begining
	var re  = new RegExp("^[\\s]*");
	text = text.replace(re, "");
	var elem = document.createElement("div");
	elem.innerHTML = text;
	cCart.innerHTML = "";
	cCart.appendChild(elem.childNodes[1]); //cart content
	document.getElementById("cartItemsText").innerHTML = elem.childNodes[0].innerHTML;
	//scroll to cart
	//ScrollToBasket();
}

//function IncreaseQuantity(sender)
//{
//	//alert(sender);
//	sender.parentNode.parentNode.childNodes[1].childNodes[0].value++;
//	UpdateCartQuantity();
//}

function DecreaseQuantity(sender)
{
	sender.parentNode.parentNode.parentNode.childNodes[0].childNodes[1].childNodes[0].value--;
	UpdateCartQuantity();
}

function GetShoppingCart()
{
	SendUpdateCartData("cmd=getCart&");
}

function UpdateProductDescription(sender)
{
	// find parent talbe
	while(sender.tagName.toUpperCase() != "TABLE")
	{
		sender = sender.parentNode;
	}
	var ajax = new GuruAsp.System.AjaxRequest("", CartReceived, "POST");
	ajax.mUrl = "ajax_cart.aspx?" + document.getElementById("hdnCurrentQString").value;
	ajax.AddParameter("cmd", "descUpdate");
	ajax.AddParametersWithSerialize(sender);
	ajax.Submit();
}

// continue shopping button
function BtnContinueShopping(link)
{
	linkToGo = link;
	SaveCartDataDetails("ajax_cart.aspx", DataSavedCartReceived);
}

var linkToGo = "";

function DataSavedCartReceived(ajaxObj)
{
	CartReceived(ajaxObj);
	window.location = linkToGo;
}

// common
function SaveCartDataDetails(ajaxURL, callbackFunction)
{
	var ajax = new GuruAsp.System.AjaxRequest("", callbackFunction, "POST");
	ajax.mUrl = ajaxURL + "?" + document.getElementById("hdnCurrentQString").value;
	ajax.AddParameter("cmd", "descUpdate");
	
	// find elements with class="rechargeData"
	var divs = document.getElementsByTagName("div");
	for(var nn = 0; nn < divs.length; nn++)
	{
		if(divs[nn].className == "rechargeData")
		{
			var inps = divs[nn].getElementsByTagName("input");
			var slct = divs[nn].getElementsByTagName("select");
			if(inps.length > 0)
			{
				// check text length (6 or 7 numbers)
				var re = new RegExp("^[\\d]{6,7}$");
				var match = inps[0].value.match(re);
				if(match == null)
				{
					alert("Molimo da unesete broj mobitela za nadopunu računa.");
					return;
				}
				var sel = slct[0];
               /* var prfx = sel.options[sel.selectedIndex].value;
				if((inps[1].value=="4411" || inps[1].value=="4410") && prfx=='38595')
				{
				    alert("Nedozvoljena kupnja! Ako smatrate da ste ovu poruku primili greškom, molimo vas da se javite na broj telefona 01/6005-605!");
				    return;
				}*/
			}
			ajax.AddParametersWithSerialize(divs[nn]);
		}
	}
	
	if(callbackFunction == GoToCheckout)
	{
		if( ! confirm("Ukoliko ste sigurni da ste uz svaki bon unijeli ispravan broj mobitela, kliknite OK.\r\n" + 
			"Naknadna reklamacija u slučaju neispravnog broja mobitela nije moguća.\r\n"+
			"\r\nAko želite još jednom provjeriti sadržaj košarice i brojeve mobitela, kliknite CANCEL."))
		{
			return;
		}
	}
	ajax.Submit();
}

// checkout button
function BtnCheckout()
{
	SaveCartDataDetails("ajax_cart.aspx", GoToCheckout);
}

function GoToCheckout()
{
	ShowLoginForm();
}
