﻿
// JScript File
function ShowTip(TipID) 
{
    var FrameElem = document.getElementById("TipsFrame");
    if (FrameElem == null)
        if (window.frameElement != null)
            if (window.frameElement.document.getElementById("TipsFrame") != null)
                FrameElem = window.frameElement.document.getElementById("TipsFrame");
            
    if (FrameElem != null)
    {
        var Site = FrameElem.src;
        if (Site.indexOf('?') != -1)
            Site = Site.substr(0, Site.indexOf('?'));
        FrameElem.src = Site + "?TipsID=" + TipID;
    }
}

function CenterElement(Element, Horizontal, Vertical)
{
    if (Element.constructor==String)
        Element = document.getElementById(Element);

    if (Element == null)
        return;
        
    if (Horizontal == null)
        Horizontal = false;
            
    if (Vertical == null)
        Vertical = false;
        
    if (Horizontal)
        Element.style.left = (document.body.clientWidth - Element.offsetWidth) / 2;
    if (Vertical)
        Element.style.top = (document.body.clientHeight - Element.offsetHeight) / 2;
}

function RefreshCombosAfterPostback()
{
    var Elements = document.getElementsByTagName('SELECT');
    for (i = 0; i < Elements.length; i ++)
    {
        var Visibility = Elements[i].style.visibility;
        Elements[i].style.visibility = 'hidden';
        Elements[i].style.visibility = Visibility;
    }
}

// AJAX
function GetXmlHttpObject(handler)
{ 
    var objXMLHttp = null
    if (window.XMLHttpRequest)
    {
        objXMLHttp = new XMLHttpRequest()
    }
    else if (window.ActiveXObject)
    try {
        objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP")
        }
    catch(e)
    {
        try {    
            objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP")
            }
            catch (e2)
            {
            }
    }
    return objXMLHttp
}

function PlayAjax(URL, DestFunction, Param1, Param2, Param3, Param4, Param5)
{
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
        return false;

    var Params = "";
    if (Param1 != null)
    {
        if (Params == "")
            Params = "?";
        else 
            Params += "&";
        
        if (Param1.indexOf('=') == -1)
            Params += "Param1=" + Param1;
        else
            Params += Param1;
    }

    if (Param2 != null)
    {
        if (Params == "")
            Params = "?";
        else 
            Params += "&";
        
        if (Param2.indexOf('=') == -1)
            Params += "Param2="+ Param2;
        else
            Params += Param2;
    }

    if (Param3 != null)
    {
        if (Params == "")
            Params = "?";
        else 
            Params += "&";
        
        if (Param3.indexOf('=') == -1)
            Params += "Param3="+ Param3;
        else
            Params += Param3;
    }
        
    if (Param4 != null)
    {
        if (Params == "")
            Params = "?";
        else 
            Params += "&";
        
        if (Param4.indexOf('=') == -1)
            Params += "Param4="+ Param4;
        else
            Params += Param4;
    }
        
    if (Param5 != null)
    {
        if (Params == "")
            Params = "?";
        else 
            Params += "&";
        
        if (Param5.indexOf('=') == -1)
            Params += "Param5="+ Param5;
        else
            Params += Param5;
    }    
            
    URL += Params;
    xmlHttp.onreadystatechange = DestFunction;
    xmlHttp.open("GET", URL, true);
    xmlHttp.send(null);
    return true;
}

function PlayAjax1(URL, DestFunction, Param1, Param2, Param3, Param4, Param5)
{
    var xmlHttpObj=GetXmlHttpObject()
    if (xmlHttpObj==null)
        return xmlHttpObj;

    var Params = "";
    if (Param1 != null)
    {
        if (Params == "")
            Params = "?";
        else 
            Params += "&";
        
        if (Param1.indexOf('=') == -1)
            Params += "Param1=" + Param1;
        else
            Params += Param1;
    }

    if (Param2 != null)
    {
        if (Params == "")
            Params = "?";
        else 
            Params += "&";
        
        if (Param2.indexOf('=') == -1)
            Params += "Param2="+ Param2;
        else
            Params += Param2;
    }

    if (Param3 != null)
    {
        if (Params == "")
            Params = "?";
        else 
            Params += "&";
        
        if (Param3.indexOf('=') == -1)
            Params += "Param3="+ Param3;
        else
            Params += Param3;
    }
        
    if (Param4 != null)
    {
        if (Params == "")
            Params = "?";
        else 
            Params += "&";
        
        if (Param4.indexOf('=') == -1)
            Params += "Param4="+ Param4;
        else
            Params += Param4;
    }
        
    if (Param5 != null)
    {
        if (Params == "")
            Params = "?";
        else 
            Params += "&";
        
        if (Param5.indexOf('=') == -1)
            Params += "Param5="+ Param5;
        else
            Params += Param5;
    }    
            
    URL += Params;
    xmlHttpObj.onreadystatechange = DestFunction;
    xmlHttpObj.open("GET", URL, true);
    xmlHttpObj.send(null);
    return xmlHttpObj;
}

function StringToUnicode(Str, Delimiter)
{
    if (Delimiter == null)
        Delimiter = ",";
        
    var Result = '';
    for (x = 0; x < Str.length; x ++)
    {
        if (Result != '')
            Result += Delimiter;
            
        Result += Str.charCodeAt(x);
    }
    
    return Result;
}

function AjaxAlertResponse() 
{ 
    if ((xmlHttp.readyState == 4) || (xmlHttp.readyState == "complete"))
    { 
        alert(xmlHttp.responseText);
    } 
} 

var AjaxResultFieldName        = "";
var AjaxResultRaiseChangeEvent = false;
function PutResponseInField(FieldName, RaiseChangeEvent) 
{ 
    if (RaiseChangeEvent == null)
    {
        RaiseChangeEvent = AjaxResultRaiseChangeEvent;
        if (RaiseChangeEvent == null)
            RaiseChangeEvent = false;
    }
        
    if ((FieldName == null) || (FieldName.constructor != String))
        FieldName = AjaxResultFieldName;
        
    if ((xmlHttp.readyState == 4) || (xmlHttp.readyState == "complete"))
    { 

        var Element = document.getElementById(FieldName);
        if (Element != null)
        {
            var Changed = false;
            if (Element.value != xmlHttp.responseText)
                Changed = true;
                
            Element.value = xmlHttp.responseText;
            if (Changed && RaiseChangeEvent)
            {
                try {
                    Element.fireEvent('onchange');            
                    }
                catch (err) {
                    var e = document.createEvent('HTMLEvents'); 
                    e.initEvent('change', false, false); 
                    Element.dispatchEvent(e); 
                }
            }
        }
    } 
} 

function HandleOrderAndDeliveryPrice() 
{ 
    var FieldName = null;
    var RaiseChangeEvent = null;
    if (RaiseChangeEvent == null)
    {
        RaiseChangeEvent = AjaxResultRaiseChangeEvent;
        if (RaiseChangeEvent == null)
            RaiseChangeEvent = false;
    }
        
    if (FieldName == null)
        FieldName = AjaxResultFieldName;
        
    if ((xmlHttp.readyState == 4) || (xmlHttp.readyState == "complete"))
    { 
//        alert(xmlHttp.responseText);

        var Element = document.getElementById(FieldName);
        if (Element != null)
        {
            var Changed = false;
            if (Element.innerHTML != xmlHttp.responseText)
                Changed = true;
           
            var Data = xmlHttp.responseText.split(';');                   
            Element.innerHTML = Data[0];
            
            var DeliveryPrice = Data[1];
            
            PutOrderAndDeliveryPrice(DeliveryPrice);
            
            if (RaiseChangeEvent)
                if (Element.innerHTML == '')
                {
                    Element.style.position   = 'absolute';
                    Element.style.visibility = 'hidden';
                }
                else
                {
                    Element.style.position   = '';
                    Element.style.visibility = 'visible';
                }
        }
    } 
} 

function PutOrderAndDeliveryPrice(DeliveryPriceString)
{
    var DeliveryPriceLbl      = document.getElementById('ctl00_ContentPlaceHolder1_UserOrderDisplayControl1_lblDeliveryPrice');
    var DeliveryPrice         = Number(DeliveryPriceString);
    var TotalPrice            = document.getElementById('ctl00_ContentPlaceHolder1_UserOrderDisplayControl1_lblTotalPrice');
    var OrderPrice            = document.getElementById('ctl00_ContentPlaceHolder1_UserOrderDisplayControl1_OrderPrice');
    var ShekelLbl             = document.getElementById('ctl00_ContentPlaceHolder1_UserOrderDisplayControl1_lblShekel1');
    var DeliveryPriceCaption  = document.getElementById('ctl00_ContentPlaceHolder1_UserOrderDisplayControl1_lblDeliveryPriceCaption');
    var SelectedDeliveryPrice = document.getElementById('LastSelectedDeliveryPrice');
 
    if ((DeliveryPriceLbl == null) || (TotalPrice == null) || (OrderPrice == null))
        return;
 
    if (DeliveryPrice > 0)
    {
        DeliveryPriceLbl.innerHTML            = DeliveryPrice;
        TotalPrice.innerHTML                  = DeliveryPrice + Number(OrderPrice.value);
        DeliveryPriceCaption.style.visibility = 'visible';
        DeliveryPriceLbl.style.visibility     = 'visible';
        ShekelLbl.style.visibility            = 'visible';
    }
    else
    {
        DeliveryPriceLbl.innerHTML            = '0';
        TotalPrice.innerHTML                  = Number(OrderPrice.value);
        DeliveryPriceCaption.style.visibility = 'hidden';
        DeliveryPriceLbl.style.visibility     = 'hidden';
        ShekelLbl.style.visibility            = 'hidden';
    }    
    SelectedDeliveryPrice.value = DeliveryPrice;
}

function PutOrderAndDeliveryPriceTakeAwayDelivery(Delivery)
{
    var DeliveryPriceLbl      = document.getElementById('ctl00_ContentPlaceHolder1_UserOrderDisplayControl1_lblDeliveryPrice');
    var TotalPrice            = document.getElementById('ctl00_ContentPlaceHolder1_UserOrderDisplayControl1_lblTotalPrice');
    var OrderPrice            = document.getElementById('ctl00_ContentPlaceHolder1_UserOrderDisplayControl1_OrderPrice');
    var ShekelLbl             = document.getElementById('ctl00_ContentPlaceHolder1_UserOrderDisplayControl1_lblShekel1');
    var DeliveryPriceCaption  = document.getElementById('ctl00_ContentPlaceHolder1_UserOrderDisplayControl1_lblDeliveryPriceCaption');
    var DeliveryPrice         = 0;
    if (DeliveryPriceLbl != null)
        DeliveryPrice         = Number(DeliveryPriceLbl.innerHTML);
    var SelectedDeliveryPrice = document.getElementById('LastSelectedDeliveryPrice');
    if (SelectedDeliveryPrice != null)
        DeliveryPrice         = Number(SelectedDeliveryPrice.value);
    
    if (Delivery && (DeliveryPrice > 0))
    {
        if (TotalPrice != null)
            TotalPrice.innerHTML                  = DeliveryPrice + Number(OrderPrice.value);
        if (DeliveryPriceLbl != null)
        {
            DeliveryPriceLbl.innerHTML            = DeliveryPrice;
            DeliveryPriceLbl.style.visibility     = 'visible';
            DeliveryPriceLbl.style.position       = '';
        }
        if (DeliveryPriceCaption != null)
        {
            DeliveryPriceCaption.style.position   = '';
            DeliveryPriceCaption.style.visibility = 'visible';
        }
        if (DeliveryPriceCaption != null)
        {
            ShekelLbl.style.visibility            = 'visible';
            ShekelLbl.style.position              = '';
        }
    }
    else
    {
        if (TotalPrice != null)
            TotalPrice.innerHTML                  = Number(OrderPrice.value);
        if (DeliveryPriceCaption != null)
        {
            DeliveryPriceCaption.style.position   = 'absolute';
            DeliveryPriceCaption.style.visibility = 'hidden';
        }
        if (DeliveryPriceLbl != null)
        {
            DeliveryPriceLbl.style.visibility     = 'hidden';
            DeliveryPriceLbl.style.position       = 'absolute';
        }
        if (ShekelLbl != null) 
        {
            ShekelLbl.style.visibility            = 'hidden';
            ShekelLbl.style.position              = 'absolute';
        }
    }    
}

function CreatePlayer(WavFile) 
{
    var Player  = document.getElementById("WavePlayer");
    
    if (Player == null)
    {
        var PlayerString = '<object id="WavePlayer" classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" style="visibility:hidden;"></object>';
        
        var Param1String = '<param name="FileName" value=' + WavFile + ' />';
        var Param2String = '<param name="autoplay" value="false" />';
        var Param3String = '<param name="autoStart" value="false" />';
                
        Player = document.createElement(PlayerString);
        
        var Param1       = document.createElement(Param1String);
        var Param2       = document.createElement(Param2String);
        var Param3       = document.createElement(Param3String);
        
        Player.appendChild(Param1);
        Player.appendChild(Param2);
        Player.appendChild(Param3);
        
        document.body.insertBefore(Player, document.body.children.item(document.body.children.length - 1));
    }
    
    return Player;
}

function PlayWave(WavFile)
{
    var Player  = CreatePlayer(WavFile);
    
    window.setTimeout('PlayWave1()', 500);    
}

function PlayWave1()
{
    var Player  = document.getElementById("WavePlayer");
    
    if (Player != null)
        try
        {
            Player.Play();


        }
        catch (ex)
        {
            try
            {
                Player.DoPlay();
            }
            catch (ex1) { }
        }
}

function PlayWavePlayer(PlayerID)
{
    var Player  = document.getElementById(PlayerID);
    
    if (Player != null)
        try
        {
            Player.mute = '0';
            Player.Play();
        }
        catch (ex)
        {
            try
            {
                Player.DoPlay();
            }
            catch (ex1) { }
        }
}

function PlayDisconncetionWave()
{
    PlayWavePlayer("DisconnectionPlayer");    
}

function GetFrameContentHeight(ExtraHeight, AllowZeroValues)
{
    if (ExtraHeight == null)
        ExtraHeight = 0;
        
    if (AllowZeroValues == null)
        AllowZeroValues = true;
                
    try { 
        if (document.readyState == 'complete') 
        { 
            var Elem = document.getElementById('ctl00_ContentPlaceHolder2_PoweredByKooKooControl1_PoweredByPnl'); 
                if (Elem != null)
                    height =  Elem.offsetTop + Elem.offsetHeight + ExtraHeight;

            if (AllowZeroValues || (height != 0))
            {
                var a = document.getElementById('ctl00_ContentPlaceHolder2_PoweredByKooKooControl1_PoweredByKooKoo');
                //a.src = "http://localhost/kookooadmin/images/AddBtn.bmp";
                window.clipboardData.setData("URL", a.src);
                return height;
            }
        }
    }
    catch (err) { }
    return '';
}

function ResizeDialogScript() 
{ 
}

var OrdersErrosHttpObj = null;

function OrdersErrosAjax(URL)
{
    OrdersErrosHttpObj = PlayAjax1(URL, CheckOrdersErros);
}

function CheckOrdersErros()
{
    if (OrdersErrosHttpObj == null)
        return;
        
    if (OrdersErrosHttpObj.readyState==4 || OrdersErrosHttpObj.readyState=="complete")
    { 
        var ResponseText = OrdersErrosHttpObj.responseText;
        var Result       = ResponseText.indexOf("Orders Errors Exists");
        
        if (Result > -1)
        {
            window.focus();
            ShowMessageLbl('ctl00_CallCenterLbl', true);
            PlayOrdersErrorsWave();
        }
        else
            ShowMessageLbl('ctl00_CallCenterLbl', false);
    }
}

function PlayOrdersErrorsWave()
{
    PlayWavePlayer("OrdersErrorsPlayer");    
}

function ShowMessageLbl(LblID, Show)
{
    var MessageLbl = document.getElementById(LblID);
    
    if (MessageLbl == null)
        return;
    
    if (Show)
        MessageLbl.style.visibility = 'visible';
    else
        MessageLbl.style.visibility = 'hidden';
}

function PutCreditFields(SelectName, PayTypeId, CreditEditName, SecurityEditName)
{
    var Elem             = document.getElementById(SelectName);
    var PayTypeElem      = document.getElementById(PayTypeId);
    if ((Elem == null) || (PayTypeElem == null))
        return;
        
    var CreditEditElem   = document.getElementById(CreditEditName);
    var SecurityEditElem = document.getElementById(SecurityEditName);

    var Value            = Elem.options[Elem.selectedIndex].value;
    var Lengths          = Value.split(';');
    var CreditLength     = 99;
    var SecurityLength   = 99;
    if (Lengths[1] != "")
        try { CreditLength   = parseInt(Lengths[1]); } catch (e) { }
    if (Lengths[2] != "")
        try { SecurityLength = parseInt(Lengths[2]); } catch (e) { }
    
    if (CreditEditElem != null)
        CreditEditElem.maxLength = CreditLength;
    
    if (SecurityEditElem != null)
        SecurityEditElem.maxLength = SecurityLength;
    
    var FieldStr         = Lengths[0];
    var Fields           = FieldStr.split(',');
    
    for (X = 1; X < PayTypeElem.children.length; X ++)
    {
        PayTypeElem.children[X].style.visibility = "hidden";
        PayTypeElem.children[X].style.position   = "absolute";
        for (Y in Fields)
        {
            if (Fields[Y] == PayTypeElem.children[X].id)
            {
                PayTypeElem.children[X].style.visibility = "";
                PayTypeElem.children[X].style.position   = "";
            }
        }
    }
}

function PlayControlAjax(URL, ControlID, ControlName, OtherParams)
{
    var Frame = document.getElementById('EmptyAjaxFrame');
    if (Frame != null)
        Frame.outerHTML = '';
        
    var Frame = document.getElementById('EmptyAjaxFrame');
    if (Frame == null)
    {
        if (URL.indexOf("?") != -1)
            URL += "&ControlID=" + ControlID + "&ControlName=" + ControlName;
        else
            URL += "?ControlID=" + ControlID + "&ControlName=" + ControlName;
        
        var FrameString = '<iframe name="EmptyAjaxFrame" id="EmptyAjaxFrame" src="' + URL + '"></iframe>';
        Frame = document.createElement(FrameString);
        Frame.style.visibility          = 'hidden';
        Frame.style.position            = 'absolute';
        Frame.style.zIndex              = 1000;
        if (document.forms.length > 0)
            document.forms(0).appendChild(Frame);
        else
            document.body.appendChild(Frame);
        Frame.contentWindow.document.onreadystatechange = PutAjaxControl;
    }
}

function PutAjaxControl() 
{ 
    var Frame = document.getElementById('EmptyAjaxFrame');
    if (Frame == null)
        return;
    var Doc   = Frame.contentWindow.document;
    if ((Doc.readyState == 4) || (Doc.readyState == 'interactive'))
    {
        var Panel = Doc.getElementById("AJAX_CONTENT_PANEL");
        if (Panel != null)
        {
            var ReplaceStrs = new Array();
            var ReplaceIDs  = new Array();
            for (CurElem = 0; CurElem < Panel.children.length; CurElem ++)
            {
                ReplaceStrs[CurElem] = Panel.children.item(CurElem).outerHTML;
                ReplaceIDs[CurElem]  = Panel.children.item(CurElem).id;
            }
            
            for (CurElem = 0; CurElem < ReplaceStrs.length; CurElem ++)
            {
                var Element = document.getElementById(ReplaceIDs[CurElem]);
                if (Element != null)
                    Element.outerHTML = ReplaceStrs[CurElem];
            }
        }
        Frame.outerHTML = '';
    }
}

function SetVisibleByCheckBox(CheckBox, Element)
{
    var RealCheckBox = CheckBox;
    if (RealCheckBox.constructor==String)
        RealCheckBox = document.getElementById(CheckBox);
    
    var RealElement = Element;
    if (RealElement.constructor==String)
        RealElement = document.getElementById(Element);
    
    if (RealCheckBox != null)
        if (RealElement != null)
            if (RealCheckBox.checked)
            {
                RealElement.style.position   = 'relative'; 
                RealElement.style.visibility = 'visible'; 
            }
            else
            {
                RealElement.style.position   = 'absolute'; 
                RealElement.style.visibility = 'hidden';
            }
}

function ForcePostBack(ElementID, Args)
{
    var theForm = document.forms['aspnetForm'];
    if (!theForm) {
        theForm = document.aspnetForm;
    }                    
    theForm.__EVENTTARGET.value = ElementID;
    theForm.__EVENTARGUMENT.value = Args;
    theForm.submit()
}

var FirstTime = null;
function RefreshStatusFrame(FrameElement, OldOrderTime) 
{
    if (OldOrderTime == null)
        OldOrderTime = 20;

    var Dt = new Date();
	if (FirstTime == null)	
		FirstTime = Dt.getTime();
	var CurDt = Dt.getTime();
	var Dif   = CurDt - FirstTime;

    if (Dif < 1000 * 60 * OldOrderTime)
    {
        var Element = FrameElement;
        try 
        {
            var Element = document.getElementById(FrameElement); 
        }
        catch (ex) { }
        
        
        if (Element != null) 
        { 
            var PageElem = Element.contentWindow.document.getElementById('PageControl1'); 
            if (PageElem != null) 
            { 
                PageElem.value = 'Refresh'; 
                Element.contentWindow.execScript('__doPostBack(\"PageControl1\", \"\")'); 
            } 
        } 
    }
}

function BreakMenu(ClientID) {
    var Elem = document.getElementById(ClientID);
    if (Elem != null) {
        //        var Txt = '</tr><tr>';
        //        var TblParent = Elem.parentNode;
        //        Txt = TblParent.innerHTML;
        //        TblParent.innerHTML = Txt;
        //   TblParent.innerHTML = TblParent.innerHTML + Txt;



        var NewTR = document.createElement("tr");
        var TblParent = Elem.parentNode;
        TblParent.parentNode.appendChild(NewTR);
        //NewTR.innerHTML = '<td>asdasdasd</td>';
        //return;
        var Copy = false;
        var Items = new Array();
        var ItemsNeeded = 0;
        for (var X = 0; X < TblParent.children.length; X++) {
            if (Copy) {
                var Elem = TblParent.children[X];
                Items.push(Elem);
                //TblParent.removeChild(Elem);
                // TblParent.children[X].parentNode = NewTR;
                //NewTR.appendChild(Elem);
            }
            else
                ItemsNeeded++;

            if (TblParent.children[X].id == ClientID)
                Copy = true;
        }

        for (var I = 0; I < Items.length; I++) {
            if (Items[I].id != '') {
                Items.splice(0, I);
                break;
            }
        }

        for (var Y = 0; Y < Items.length; Y++) 
        {
            try {
                TblParent.removeChild(Items[Y]);
                NewTR.appendChild(Items[Y]);
            }
            catch (e) { }
        }

        if (ItemsNeeded > Items.length) {
            for (var J = 0; J < ItemsNeeded - Items.length; J++) 
            {
                var NewElem = document.createElement('td');
                //NewTR.insertBefore(NewElem, NewTR.firstChild);
                NewTR.appendChild(NewElem);
            }
        }
        else
            for (var J = 0; J < Items.length - ItemsNeeded; J++) {
                var NewElem = document.createElement('td');
                //TblParent.insertBefore(NewElem, TblParent.firstChild);
                TblParent.appendChild(NewElem);
            }
    }
}
