﻿var SuppWindow = null; // global variable
var logoPos = 0;
var tim;
var timText;
var timCmd;
var MasterIdExtra = 'ctl00_head_';
var MasterNameExtra = 'ctl00$head$';
var IM = "\xf5";
var AM = "\xf4";
var VM = "\xf3";
var SVM = "\xf2";
var MySetText = "";

function openSuppWindow(varUrl, varTarget) {

    var Wid;
    var Hite;
    var Args;
    Wid = window.screen.availWidth * 0.9;
    Hite = window.screen.availHeight * 0.9;
    Args = "height=" + Hite + ",width=" + Wid + ",resizable=yes,scrollbars=yes,status=yes";


    if (SuppWindow == null || SuppWindow.closed) {
        SuppWindow = window.open(varUrl, varTarget, Args);
    }
    else {
        SuppWindow.focus();
    };
}


function MySetStore(s) {
   MySetText = s;
}

// ControlName VM Text AM ControlName VM Text ...
function MySet() {
   var Arr, Arr2, i, bot, ctl;
   var s;
      
    try {
       if (MySetText != "") {
          s = MySetText;
          Arr = new Array;
          Arr = s.split(AM);
          bot = Arr.length;
          Arr2 = new Array;
          for (i = 0; i < bot; i++) {
             Arr2 = Arr[i].split(VM);
             ctl = document.getElementById(Arr2[0]);
             if (!ctl)
                ctl = document.getElementById(MasterIdExtra + Arr2[0]);
             if (Arr2[1])
                ctl.innerHTML = Arr2[1];
             else ctl.innerHTML = "";
          }
       }
    }
    catch (e) {
    }
}

function MySend(s) {
    try {

        document.getElementById(MasterIdExtra + "txtHidden").value = s;
        __doPostBack(MasterNameExtra + "txtHidden", s);
    }
    catch (e) {
    }
}

function MyCall(s) {
    if (s != timText) {
        clearTimeout(tim);
        timText = s;
        timCmd = 'MySet();CallServer("' + s + '", "");';
        tim = setTimeout(timCmd, 500); //do it in half a second if no subsequent event
    }
}

//called onmouseout
function clearTim() {
    clearTimeout(tim);
    timText = "";
}

function CalcAdd(n) {
    document.getElementById("ctl00_head_txtQuantity").value += n;
}

function CalcClear() {
    document.getElementById("ctl00_head_txtQuantity").value = '';
}

//left-justify string
function ljust(s, n) {
    var i;
    var l;
    var spaces;
    var s2 = new String(s);

    l = s2.length;
    spaces = "";
    for (i = l; i < n; i++)
        spaces += ".";

    return s2 + spaces;

}

//right-justify string
function rjust(s, n) {
    var i;
    var l;
    var spaces;
    var s2 = new String(s);

    l = s2.length;
    spaces = "";
    for (i = l; i < n; i++)
        spaces += ".";

    return spaces + s2;

}

//edit back order quantities
function MyBO() {

    var cnt = window.document.forms[0].elements.length;
    var i;
    var s, s2, s3, temps, oneline;

    var obj;
    var bad;
    var prcode;
    var sQty;
    var nQty;

    s2 = "";
    bad = "";

    for (i = 0; i < cnt; i++) {
        obj = window.document.forms[0].elements[i];
        s = obj.id;
        if (s.substring(0, 3) == "BO-") {
            prcode = s.substring(3, 99);
            sQty = obj.value;
            if (sQty != "") {
                nQty = parseInt(sQty);
                if (isNaN(nQty) || sQty.indexOf(";") != -1)
                    bad += "\n" + prcode + " (" + sQty + ")";
                else
                    s2 += prcode + " " + nQty.toString() + ";";

            }
        }
    }
    if (bad != "") {
        bad = "Please enter numeric values for these Product Codes - \n" + bad;
        alert(bad);
    }
    else {

        if (s2 == "")
            alert("You haven't input any quantities!");
        else {
            s3 = ljust("Product", 12);
            s3 += ljust("Invoice", 12);
            s3 += rjust("New Quantity", 14);
            s3 += "\n";

            temps = s2.split(";");

            for (i = 0; i < temps.length - 1; i++) {
                oneline = temps[i].split(" ");
                s3 += ljust(oneline[0], 12);
                s3 += ljust(oneline[1], 12);
                s3 += rjust(oneline[2], 14);
                s3 += "\n";
            }

            if (confirm("Are you sure you want to amend the Back Order quantities as follows?\n\n" + s3)) {
                document.getElementById("ctl00_head_txtHidden").value = "QTY " + s2;
                __doPostBack("ctl00$head$txtHidden", s);
            }
        }
    }

}

//edit shopping basket quantities
function MyBA() {

    var cnt = window.document.forms[0].elements.length;
    var i;
    var s;
    var s2;
    var s3;
    var obj;
    var bad;
    var prcode;
    var sQty;
    var nQty;

    s2 = "";
    bad = "";

    for (i = 0; i < cnt; i++) {
        obj = window.document.forms[0].elements[i];
        s = obj.id;
        if (s.substring(0, 3) == "BA-") {
            prcode = s.substring(3, 99);
            sQty = obj.value;
            if (sQty != "") {
                nQty = parseInt(sQty);
                if (isNaN(nQty) || sQty.indexOf(";") != -1)
                    bad += "\n" + prcode + " (" + sQty + ")";
                else
                    s2 += prcode + " " + nQty.toString() + ";";

            }
        }
    }
    if (bad != "") {
        bad = "Please enter numeric values for these Product Codes - \n" + bad;
        alert(bad);
    }
    else {

        if (s2 == "")
            alert("You haven't input any quantities!");
        else {
            s3 = s2.replace(/;/g, "\r\n");
            s3 = s3.replace(/ /g, "  \t");
            if (confirm("Are you sure you want to add these items to your Shopping Basket?\n\n" + s3)) {
                document.getElementById("ctl00_head_txtHidden").value = "BAS " + s2;
                __doPostBack("ctl00$head$txtHidden", s);
            }
        }
    }

}



function over_logo(n) {
    var theLogo;

    switch (n) {
        case 1:

            theLogo = window.document.getElementById("logo");
            theLogo.left -= 1;
            theLogo.width += 2;
            break;

        case 2:

            theLogo = window.document.getElementById("banner");
            theLogo.style.backgroundColor = "";
            theLogo.style.fontSize = "1.04em";
            break;

    }
}

function leave_logo(n) {
    var theLogo;

    switch (n) {
        case 1:

            theLogo = window.document.getElementById("logo");
            theLogo.left += 1;
            theLogo.width -= 2;
            break;
        case 2:

            theLogo = window.document.getElementById("banner");
            theLogo.style.backgroundColor = "";
            theLogo.style.fontSize = "1em";
            break;

    }



}

function overb(n) {

    //var c = new Array("red", "orange", "yellow", "green", "blue", "indigo", "violet");
    var c = new Array("#99aaee", "#7799dd", "#5577bb", "#336699", "#5577bb", "#7799dd", "#88aadd");

    var x;
    var idx;
    var i;
    var a;
    var b;
    var low;
    var high;
    a = new String;
    idx = 0;


    if (!n) {
        low = 1;
        high = 33;
    }
    else {

        if (n > 3)
            low = n - 3;
        else low = 1;

        if (n < 30)
            high = n + 3;
        else high = 33;
    }

    for (i = low; i <= high; i++) {

        a = "b";
        b = i.toString();
        x = window.document.getElementById(a.concat(b));
        if (x) x.style.color = c[idx];
        idx++;
        if (idx > 6) idx = 0;
    }

}

function outb(n) {
    var x;
    var i;

    for (i = 1; i < 35; i++) {
        x = window.document.getElementById("b" + i);
        //       x.style.color = "white"
    }
}


sfHover = function() {
    var sfEls;
    try {

        sfEls = document.getElementById("nav").getElementsByTagName("LI");
        if (sfEls) {
            for (var i = 0; i < sfEls.length; i++) {
                sfEls[i].onmouseover = function() {
                    this.className += " sfhover";
                }
                sfEls[i].onmouseout = function() {
                    this.className = this.className.replace(new RegExp(" sfhover\\b"), "");
                }
            }
        }
    }
    catch (err) {
    }
}


if (window.attachEvent) window.attachEvent("onload", sfHover);

function ReceiveServerData(arg, context) {
    var bot, i, s, ind, ctlname, ctl;
    var arr = new Array();
    arr = arg.split(IM); //p.IM char(245)
    bot = arr.length;
    for (i = 0; i < bot; i++) {
        s = arr[i] + "";
        ind = s.indexOf(" ", 0);
        ctlname = s.substring(0, ind);
        s = s.substring(ind + 1, 99999);
        if (ctlname == "open") {
            window.open(s, "Reports");
        }
        else {
            ctl = document.getElementById(ctlname);
            if (!ctl)
                ctl = document.getElementById(MasterIdExtra + ctlname);
            ctl.innerHTML = s;
        }
    }
    timText = "";
}

function eventTrigger(e) {
    if (!e) e = event;
    return e.target || e.srcElement;
}


function SendControlData(e, sourceControl, destControl, waitText) {

    var ctl;
    if (sourceControl != "") {
        ctl = document.getElementById(sourceControl);
        if (!ctl)
            ctl = document.getElementById(MasterIdExtra + sourceControl);
    }
    else
        ctl = eventTrigger(e);

    if (waitText != "") {
        var ctl2;
        ctl2 = document.getElementById(destControl);
        if (!ctl2)
            ctl2 = document.getElementById(MasterIdExtra + destControl);
        ctl2.innerHTML = waitText;
    }

    var s = ctl.id + " " + ctl.value;
    CallServer(s, "");
}

function HandleEnter(e, sourceControl, destControl, waitText) {
    if (!e) var e = window.event;
    if (e.keyCode == 13)
        SendControlData(e, "", destControl, waitText);
}


//called by body onkeypress
function disableEnterKey(e) {
    var key;
    if (window.event) {
        key = window.event.keyCode; //IE
        if (13 == key)
            window.event.returnValue = false;
    }
    else {
        key = e.which;  //firefox      
        return (key != 13);
    }
}

//<body onkeydown = "return (event.keyCode!=13)">

window.onload = overb;
