﻿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);
    }
    else2
    {
     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("ctl00_head_txtHidden").value = s;
        __doPostBack("ctl00$head$txtHidden", s);
    }
    catch (e) {
    }
}

function MyCall(s) {
     if (s != timText) {
        clearTimeout(tim);
        timText = s;
        timCmd = 'CallServer("' + s + '", "")';
        tim = setTimeout(timCmd, 500);
    }
}

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 = 40;
        }
        else {

            if (n > 3)
                low = n - 3;
            else low = 1;

            if (n < 37)
                high = n + 3;
            else high = 40;
        }
        
        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 < 40; i++) {
            x = window.document.getElementById("b" + i);
     //       x.style.color = "white"
        }
    }

    //window.onload = overb;
    sfHover = function() {
        try {
            var sfEls = document.getElementById("nav").getElementsByTagName("LI");

            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 (e) {
        }
    }

    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 SendControlData(ctl) {
//              var s = ctl.id + " " + ctl.value;
//              CallServer(s, "");
//             }


             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) 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);
             	}
             }
    
    if (window.attachEvent) window.attachEvent("onload", sfHover);
