﻿function PageSelect(obj)
{
	Page(obj.options[obj.selectedIndex].value);
}
function SearchFormKeyPress(e)
{
    if (e.keyCode == 13) {
        SearchForm.submit();
        return false;
    }
    return true;
}
function ClientFormKeyPress(e)
{
    if (e.keyCode == 13) {
        ClientForm.submit();
        return false;
    }
    return true;
}
function ShowPicPreview(sPic, x, y)
{
	var div = document.getElementById("Preview");
	var pic = document.getElementById("PicPreview");
	pic.src=sPic;
	div.style.left = x-50;
	div.style.top = y;
	div.style.display = "inline";
}

function HidePicPreview()
{
	var div = document.getElementById("Preview");
	div.style.display = "none";
}
function FindTR(event)
{
	var e = event.srcElement;
	if (!e)
		e = event.currentTarget;
	if (e.tagName == "IMG")
		e = e.parentElement;
	if (e.tagName == "SPAN")
		e = e.parentElement;
	if (e.tagName == "TD")
		e = e.parentElement;
	return e;
}
function GetChild(element, tag)
{
	i=0;
	while (true)
	{
		if (i >= element.childNodes.length)
			return null;
		if (element.childNodes[i].tagName)
			if (element.childNodes[i].tagName == tag)
				return element.childNodes[i];
		i++;
	}
}
function ChangeChildren(element, fromClass, toClass)
{
	i=0;
	while (true)
	{
		if (i >= element.childNodes.length)
			return;
		if (element.childNodes[i].className == fromClass)
			element.childNodes[i].className = toClass;
		i++;
	}
}
function GetParent(element)
{
	if (element.parentElement)
		return element.parentElement;
	if (element.parentNode)
		return element.parentNode;
	return null;
}
function GetAncestor(element, tag)
{
	elem = element;
	while (elem.tagName != tag)
	{
		elem = GetParent(elem);
		if (!elem)
			return null;
	} 
	return elem;
}
function FindSource(event)
{
	var e = event.srcElement;
	if (!e)
		e = event.target;
	return e;
}
function TDMouseOver(event)
{
	var tr = FindTR(event);
	tr.style.backgroundColor = "#DC007C";
	tr.style.color = "#FFFFFF";
	ChangeChildren(tr, "ResultsAddButton", "ResultsAddButtonHigh");
}

function TDMouseOut(event)
{
	var tr = FindTR(event);
	tr.style.backgroundColor = "";
	tr.style.color = "";
	ChangeChildren(tr, "ResultsAddButtonHigh", "ResultsAddButton");
}
function TDClick(event)
{
	var src = FindSource(event);
	tr = FindTR(event);
	var nSerial = 0;
	if (tr.serial)
		nSerial = tr.serial;
	else
		nSerial = tr.getAttribute("serial");
	if (nSerial <= 0)
		if (tr.prodid)
			nProdID = tr.prodid;
		else
			nProdID = tr.getAttribute("prodid");

	if (tr.upc)
		nUPC = tr.upc;
	else
		nUPC = tr.getAttribute("upc");

	var sSrc = 0;
	if (tr.picname)
		sSrc = tr.picname;
	else
		sSrc = tr.getAttribute("picname");
	if (src.tagName == "IMG")
	{
		if (src.src.indexOf("pic") >= 0)
		{
			if (event.pageY)
			{
				picX = event.pageX;
				picY = event.pageY;
			}
			else
			{
				picX = event.clientX + document.body.scrollLeft;
				picY = event.clientY + document.body.scrollTop;
			}

			ShowPicPreview(sSrc, picX+25, picY-50);
		}
		else if (src.src.indexOf("basket") >= 0)
		{
			if (nSerial > 0)
				AddToBasket(nSerial, nUPC);
		}
	}
	else if (src.className.indexOf("ResultsAddButton") >= 0)
	{
		if (nSerial > 0)
			AddToBasket(nSerial, nUPC);
	}
	else
	{
		if (nSerial > 0)
			Product(nSerial);
		else
			ProductByID(nProdID);
	}
}
function Page(num)
{
	document.PageForm.num.value=num;
	document.PageForm.submit();
}
function Product(num)
{
	document.ProductFormBySerial.serial.value=num;
	document.ProductFormBySerial.submit();
}
function ProductByID(id)
{
	document.ProductFormByID.id.value=id;
	document.ProductFormByID.submit();
}
function JumpToResult(nResult)
{
	document.SearchForm.start.value = nResult;
	document.SearchForm.submit();
}
function OnSubmit()
{
	if (document.NewsForm.title.value.length < 1)
	{
		alert("יש להזין כותרת");
		return false;
	}
	if (document.NewsForm.contents.value.length < 1)
	{
		alert("יש להזין תוכן");
		return false;
	}
	return true;
}
function ProductOver(event)
{
	elem = GetChild(GetChild(GetAncestor(FindSource(event), "TD"), "DIV"), "A");
	elem.className = "AddButtonVis";
}
function ProductOut(event)
{
	elem = GetChild(GetChild(GetAncestor(FindSource(event), "TD"), "DIV"), "A");
	elem.className = "AddButton";
}

function GetBasketDiv() {
    var div = document.getElementById("RightBarFrame");
    if (!div)
        div = document.getElementById("OrderContents");
    return div;
}

function onXmlStateChange(event) {
    if (x.readyState == 4) {
        var div = GetBasketDiv();
        if (!div)
            return;
        div.innerHTML = x.responseText;
    }
}

function BasketOperation(data) {
    if (document.getElementById("RightBarFrame"))
        sPage = "ShowBasket.php";
    else if (document.getElementById("OrderContents"))
        sPage = "ShowOrder.php";
    else
        return;
        
    if (GetSID() == "")
        return;

    if (window.XMLHttpRequest)
        x = new XMLHttpRequest();
    else
        x = new ActiveXObject("Microsoft.XMLHTTP");

    x.onreadystatechange = onXmlStateChange;
    x.open("POST", sPage + "?" + GetSID(), true);
    if (data != "") {
        x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        x.send(data);
    }
    else
        x.send();
}

function AddToBasket(serial, quantity)
{
    var data = "BasketAction=Add&serial=" + serial + "&quantity=" + quantity;
    BasketOperation(data);
}

function RemoveFromBasket(serial)
{
    var data = "BasketAction=Remove&serial=" + serial;
    BasketOperation(data);
}
function EmptyBasket() {
    if (GetLang() != 1) {
        if (!confirm("Are you sure you wish to empty the basket?"))
            return;
    }
    else {
        if (!confirm("האם את/ה בטוח/ה שברצונך לרוקן את תוכן הסל?"))
            return;
    }
    var data = "BasketAction=Empty";
    BasketOperation(data);
}
var qtyEditSerial, qtyEditOld;
function BeforeEditQty(serial) {
    var ctl = document.getElementById("qty" + serial);
    ctl.className = "Editing";
    qtyEditSerial = serial;
    qtyEditOld = ctl.value;
}
function AfterEditQty(serial) {
    if (serial != qtyEditSerial)
        return;
    var ctl = document.getElementById("qty" + serial);
    ctl.className = "";
    var newValue = ctl.value;
    if (newValue == qtyEditOld)
        return;
    var data = "BasketAction=Update&qty" + serial + "=" + newValue;
    BasketOperation(data);
}

function Logout()
{
	// Ask for confirmation, if basket is not empty
	location.href="Client.php?Client=Logout&" + GetSID();
}
function GetSID() {
	if (document.body.SID)
		return document.body.SID;
	return document.body.getAttribute("SID");
}
function GetLang() {
    if (document.body.LanguageID)
        return document.body.LanguageID;
    return document.body.getAttribute("LanguageID");
}
function PlaceOrder()
{
	if (document.forms.OrderForm.FullName)
	{
		if (document.forms.OrderForm.FullName.value.length < 3)
		{
			alert("יש למלא את שם המזמין");
			document.forms.OrderForm.FullName.focus();
			return;
		}
	}
	if (document.forms.OrderForm.Phone1)
	{
		if (document.forms.OrderForm.Phone1.value.length < 3)
		{
			alert("יש למלא מספר טלפון ליצירת קשר");
			document.forms.OrderForm.Phone1.focus();
			return;
		}
    }
    document.OrderForm.submit();
}
function ToggleProductPic()
{
	var pic = document.getElementById("ProductPic");
	if (pic.clientWidth < 300)
		pic.style.width = pic.clientWidth * 2;
	else
		pic.style.width = pic.clientWidth / 2;
}

function onWindowLoad() {
    if (GetSID() == "")
        return;
    var div = GetBasketDiv();
    if (!div)
        return;
    BasketOperation("");
}
window.onload = onWindowLoad;
window.onpageshow = onWindowLoad;
