var mt = 0;

var req;
function doAjax(url, callMethod){
    if(typeof XMLHttpRequest != "undefined"){
        req = new XMLHttpRequest();
        try {
            req.open("GET", url, true);
        } catch (e) {
            alert(e);
        }
        req.onreadystatechange = callMethod;
        req.send(null);
    }else if(window.ActiveXObject){
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if(req){
            req.open("GET", url, true);
            req.onreadystatechange = callMethod;
            req.send();
        }
    }
}

function doAjaxNP(url){
    if(typeof XMLHttpRequest != "undefined"){
        req = new XMLHttpRequest();
        try {
            req.open("GET", url, true);
        } catch (e) {
            alert(e);
        }
        req.send(null);
    }else if(window.ActiveXObject){
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if(req){
            req.open("GET", url, true);
            req.send();
        }
    }
}

function getHTTPObjectUser() {
var xmlhttp;
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {xmlhttp = new XMLHttpRequest();} catch (e) {xmlhttp = false;}
}

if(!xmlhttp && typeof ActiveXObject != "undefined"){
   try{xmlhttp=new ActiveXObject("MSXML2.XMLHTTP");}catch(e){xmlhttp=false;}
   if(!xmlhttp)try{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){xmlhttp=false;}
  }

return xmlhttp;
}

function recalcBasket(){
    doAjax("/Basket.do?method=recalc&uid=" + new Date().getTime(), setBasket);
}

function removeBasketItem(i){
    doAjax("/Basket.do?method=remove&i=" + i + "&uid=" + new Date().getTime(), setBasket);
}

function setBasket(){
    if(req.readyState == 4){
        if(req.status == 200){
            var split = req.responseText.split("@@ebusiness@@");

            if(document.getElementById("basket-dtl"))
                document.getElementById("basket-dtl").innerHTML = split[0];

            if(document.getElementById("basketTotal"))
                document.getElementById("basketTotal").innerHTML = "Total " + split[1];
        }
    }
}

function keySearch(e){

    var characterCode;
    if(e && e.which){
        e = e;
        characterCode = e.which;
    }else{
        e = event;
        characterCode = e.keyCode;
    }

    if(characterCode == 13)
        search();
}

function search(){
    if(validateSearch()){
        document.SearchForm.action = document.SearchForm.action + "?method=view&s=" + escape(document.SearchForm.search.value);
        document.SearchForm.submit();
    }
}

function validateSearch(){
    var s = document.SearchForm.search.value;
    if(s.trim().length == 0 || s == 'Keyword / Product Code')
        return false;

    document.body.style.cursor = 'wait';

    return true;
}

function clearText(theText) {
	theText.value = ""
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

String.prototype.endsWith = function (s) {return this.length >= s.length && this.substr(this.length - s.length) == s;}

function showTab(id){
    mt = setTimeout("setTab('" + id + "')", 500);
}

function setTab(id){

    for(i = 0; i < 10; i++){
        if(document.getElementById("menu-" + i))
            document.getElementById("menu-" + i).style.visibility = 'hidden';
    }

    document.getElementById(id).style.backgroundImage = "url('/oncirrus/system/titlebarBack.jpg')";
    document.getElementById(id).style.backgroundRepeat = 'repeat-x';
    document.getElementById(id).style.textDecoration = 'underline';

    var split = id.split("-");
    if(document.getElementById("menu-" + split[2]))
        document.getElementById("menu-" + split[2]).style.visibility = 'visible';
}

function hideTab(id){
    clearTimeout(mt);
    
    document.getElementById(id).style.backgroundImage = "url('/oncirrus/system/titlebar.jpg')";
    document.getElementById(id).style.backgroundRepeat = 'repeat-x';
    document.getElementById(id).style.textDecoration = 'none';

    var split = id.split("-");
    if(document.getElementById("menu-" + split[2]))
        document.getElementById("menu-" + split[2]).style.visibility = 'hidden';
}

function show(id){
    document.getElementById(id).style.display = 'block';
}

function hide(id){
    document.getElementById(id).style.display = 'none';
}

function showActiveTab(id){
    mt = setTimeout("setActiveTab('" + id + "')", 500);
}

function setActiveTab(id){

    for(i = 0; i < 10; i++){
        if(document.getElementById("menu-" + i))
            document.getElementById("menu-" + i).style.visibility = 'hidden';
    }

    var split = id.split("-");
    if(document.getElementById("menu-" + split[2]))
        document.getElementById("menu-" + split[2]).style.visibility = 'visible';
}

function setMenu(){
    if(req.readyState == 4){
        if(req.status == 200){
            var split = req.responseText.split("@@ebusiness@@");
            document.getElementById(split[0] + "MenuLoad").innerHTML = split[1];
        }
    }
}

function hideActiveTab(id){
    clearTimeout(mt);

    var split = id.split("-");
    if(document.getElementById("menu-" + split[2]))
        document.getElementById("menu-" + split[2]).style.visibility = 'hidden';
}

function showBasket(id){
    document.getElementById(id + 'Menu').style.display = 'block';
}

function hideBasket(id){
    document.getElementById(id + 'Menu').style.display = 'none';
}

function selectSubMenu(id){
    var img = document.getElementById(id).src;
    if(img.endsWith('refineHidden.jpg')){
        document.getElementById(id).src = '/oncirrus/system/refineShow.jpg';
        document.getElementById('sub-' + id).style.display = '';

        var split = id.split("-");
        doAjax("/Menu.do?method=active&n=" + split[0] + "&id=" + split[2] + "&uid=" + new Date().getTime(), setSubMenu);
    }else{
        document.getElementById(id).src = '/oncirrus/system/refineHidden.jpg';
        document.getElementById('sub-' + id).style.display = 'none';
    }
    hideSubMenu(id);
}

function setSubMenu(){
    if(req.readyState == 4){
        if(req.status == 200){
            var split = req.responseText.split("@@ebusiness@@");
            document.getElementById(split[0]).innerHTML = split[1];
        }
    }
}

function hideSubMenu(id){
    var split = id.split("-");
    for(i = 0; i < 100; i++){
        var tid = split[0] + "-" + "menu" + "-" + i;
        if(document.getElementById(tid)){
            if(tid != id){
                document.getElementById(tid).src = '/oncirrus/system/refineHidden.jpg';

                if(document.getElementById("sub-" + tid)){
                    document.getElementById('sub-' + tid).style.display = 'none';
                }
            }
        }
    }
}


function selectSubMainMenu(n, id){
    var img = document.getElementById(id).src;
    if(img.endsWith('refineHidden.jpg')){
        document.getElementById(id).src = '/oncirrus/system/refineShow.jpg';
        document.getElementById('sub-' + id).style.display = '';
        doAjax("/Menu.do?method=leftMenu&n=" + n + "&id=" + id + "&uid=" + new Date().getTime(), setLeftMenu);
    }else{
        document.getElementById(id).src = '/oncirrus/system/refineHidden.jpg';
        document.getElementById('sub-' + id).style.display = 'none';
    }
}

function setLeftMenu(){
    if(req.readyState == 4){
        if(req.status == 200){
            var split = req.responseText.split("@@ebusiness@@");
            document.getElementById('dtl-sub-' + split[0]).innerHTML = split[1];
        }
    }
}

function signout(){
    doAjax("/SignOut.do?method=signout&uid=" + new Date().getTime(), setSignout);
}

function setSignout(){
    if(req.readyState == 4){
        if(req.status == 200){
            if(document.getElementById("welcomeFirstName"))
                document.getElementById("welcomeFirstName").innerHTML = "";
            if(document.getElementById("welcomeLastName"))
                document.getElementById("welcomeLastName").innerHTML = "";
            if(document.getElementById("welcome"))
                document.getElementById("welcome").style.display = "none";
            recalcBasket();
        }
    }
}

function showApplCat(){
    var s = document.getElementById('applCatMenuStatus').innerHTML;

    if(s == 'Show'){
        document.getElementById('applCatMenuSelect').style.display = '';
        document.getElementById('applCatMenuImage').src = '/oncirrus/system/refineShow.jpg';

        for(i = 0; i < 10; i++){
            if(document.getElementById('applCatMenuMain' + i))
                document.getElementById('applCatMenuMain' + i).style.display = '';
        }

        if(document.getElementById('applCatMenuButton'))
            document.getElementById('applCatMenuButton').style.display = '';

        if(document.getElementById('applCatMenuButton2'))
            document.getElementById('applCatMenuButton2').style.display = '';

        document.getElementById('applCatMenuListed').style.display = '';

        document.getElementById('applCatMenuStatus').innerHTML = 'Hide';
    }else{
        document.getElementById('applCatMenuSelect').style.display = 'none';
        document.getElementById('applCatMenuImage').src = '/oncirrus/system/refineHidden.jpg';

        for(i = 0; i < 10; i++){
            if(document.getElementById('applCatMenuMain' + i))
                document.getElementById('applCatMenuMain' + i).style.display = 'none';
        }

        if(document.getElementById('applCatMenuButton'))
            document.getElementById('applCatMenuButton').style.display = 'none';

        if(document.getElementById('applCatMenuButton2'))
            document.getElementById('applCatMenuButton2').style.display = 'none';

        document.getElementById('applCatMenuListed').style.display = 'none';

        document.getElementById('applCatMenuStatus').innerHTML = 'Show';
    }
}

var t = 0;
var mi = 0;
function ajaxSearch(){
    var s = document.SearchForm.search.value;

    var d = new Date();
    t = d.getMilliseconds();
    
    clearTimeout(mi);
    mi = setTimeout("ajaxSearchOne('" + s + "', " + t + ")", 1000);
}

function ajaxSearchOne(s, t){
    if(s.length > 0){
        if(s.replace(' ', '').length > 1){
            document.getElementById("searchPane").style.height = '';
            document.getElementById("searchPane").style.visibility = 'visible';
            document.getElementById("searchPane").style.overflowY = 'hidden';
            document.getElementById("searchResult").innerHTML = "<div style=\"width: 500px; padding-top: 20px; padding-bottom: 20px; text-align: center\"><img src=\"/oncirrus/system/load.gif\" alt=\"Loading\"/></div>";
            document.getElementById("searchResultOne").innerHTML = '';
            document.getElementById("searchResultTwo").innerHTML = '';
            document.getElementById("searchResultThree").innerHTML = '';
            document.getElementById("searchResultFour").innerHTML = '';
            document.getElementById("searchResultFive").innerHTML = '';
            document.getElementById("searchResultSix").innerHTML = '';
            document.getElementById("searchResultSeven").innerHTML = '';
            document.getElementById("searchResultEight").innerHTML = '';
            doAjax("/Search.do?method=searchOne&id=" + escape(s) + "&t=" + t + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchOne);
        }else{
            document.getElementById("searchResult").innerHTML = '';
            document.getElementById("searchResultOne").innerHTML = '';
            document.getElementById("searchResultTwo").innerHTML = '';
            document.getElementById("searchResultThree").innerHTML = '';
            document.getElementById("searchResultFour").innerHTML = '';
            document.getElementById("searchResultFive").innerHTML = '';
            document.getElementById("searchResultSix").innerHTML = '';
            document.getElementById("searchResultSeven").innerHTML = '';
            document.getElementById("searchResultEight").innerHTML = '';
            document.getElementById("searchPane").style.visibility = 'hidden';
        }
    }else{
        document.getElementById("searchResult").innerHTML = '';
        document.getElementById("searchResultOne").innerHTML = '';
        document.getElementById("searchResultTwo").innerHTML = '';
        document.getElementById("searchResultThree").innerHTML = '';
        document.getElementById("searchResultFour").innerHTML = '';
        document.getElementById("searchResultFive").innerHTML = '';
        document.getElementById("searchResultSix").innerHTML = '';
        document.getElementById("searchResultSeven").innerHTML = '';
        document.getElementById("searchResultEight").innerHTML = '';
        document.getElementById("searchPane").style.visibility = 'hidden';
    }
}

function setAjaxSearchOne(){
    if(req.readyState == 4){
        if(req.status == 200){
            var response = req.responseText;
            if(response == 'SESSION'){
                window.location.reload();
            }else{
                var split = response.split("@@ebusiness@@");
                if(split[1] > 0){
                    if(split[1] > 10){
                        document.getElementById("searchPane").style.height = '390px';
                        document.getElementById("searchPane").style.overflowY = 'scroll';
                    }else{
                        document.getElementById("searchPane").style.height = '';
                        document.getElementById("searchPane").style.overflowY = 'hidden';
                    }

                    document.getElementById("searchResult").innerHTML = '';
                    document.getElementById("searchResultOne").innerHTML = split[0];
                    document.getElementById("searchPane").scrollLeft = 0;
                    document.getElementById("searchPane").scrollTop = 0;
                }else{
                    if(split[3] == t)
                        doAjax("/Search.do?method=searchTwo&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchTwo);
                }
            }
        }
    }
}

function setAjaxSearchTwo(){
    if(req.readyState == 4){
        if(req.status == 200){
            var response = req.responseText;
            if(response == 'SESSION'){
                window.location.reload();
            }else{
                var split = response.split("@@ebusiness@@");
                if(split[1] > 0){
                    if(split[1] > 10){
                        document.getElementById("searchPane").style.height = '390px';
                        document.getElementById("searchPane").style.overflowY = 'scroll';
                    }else{
                        document.getElementById("searchPane").style.height = '';
                        document.getElementById("searchPane").style.overflowY = 'hidden';
                    }

                    document.getElementById("searchResult").innerHTML = '';
                    document.getElementById("searchResultTwo").innerHTML = split[0];

                    if(split[1] < 25 && split[3] == t)
                        doAjax("/Search.do?method=searchThree&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchThree);
                }else{
                    if(split[3] == t)
                        doAjax("/Search.do?method=searchThree&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchThree);
                }
            }
        }
    }
}

function setAjaxSearchThree(){
    if(req.readyState == 4){
        if(req.status == 200){
            var response = req.responseText;
            if(response == 'SESSION'){
                window.location.reload();
            }else{
                var split = response.split("@@ebusiness@@");
                if(split[1] > 0){
                    if(split[1] > 10){
                        document.getElementById("searchPane").style.height = '390px';
                        document.getElementById("searchPane").style.overflowY = 'scroll';
                    }else{
                        document.getElementById("searchPane").style.height = '';
                        document.getElementById("searchPane").style.overflowY = 'hidden';
                    }

                    document.getElementById("searchResult").innerHTML = '';
                    document.getElementById("searchResultThree").innerHTML = split[0];

                    if(split[1] < 25 && split[3] == t)
                        doAjax("/Search.do?method=searchFour&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchFour);
                }else{
                    if(split[3] == t)
                        doAjax("/Search.do?method=searchFour&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchFour);
                }
            }
        }
    }
}

function setAjaxSearchFour(){
    if(req.readyState == 4){
        if(req.status == 200){
            var response = req.responseText;
            if(response == 'SESSION'){
                window.location.reload();
            }else{
                var split = response.split("@@ebusiness@@");
                if(split[1] > 0){
                    if(split[1] > 10){
                        document.getElementById("searchPane").style.height = '390px';
                        document.getElementById("searchPane").style.overflowY = 'scroll';
                    }else{
                        document.getElementById("searchPane").style.height = '';
                        document.getElementById("searchPane").style.overflowY = 'hidden';
                    }

                    document.getElementById("searchResult").innerHTML = '';
                    document.getElementById("searchResultFour").innerHTML = split[0];

                    if(split[1] < 25 && split[3] == t)
                        doAjax("/Search.do?method=searchFive&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchFive);
                }else{
                    if(split[3] == t)
                        doAjax("/Search.do?method=searchFive&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchFive);
                }
            }
        }
    }
}

function setAjaxSearchFive(){
    if(req.readyState == 4){
        if(req.status == 200){
            var response = req.responseText;
            if(response == 'SESSION'){
                window.location.reload();
            }else{
                var split = response.split("@@ebusiness@@");
                if(split[1] > 0){
                    if(split[1] > 10){
                        document.getElementById("searchPane").style.height = '390px';
                        document.getElementById("searchPane").style.overflowY = 'scroll';
                    }else{
                        document.getElementById("searchPane").style.height = '';
                        document.getElementById("searchPane").style.overflowY = 'hidden';
                    }

                    document.getElementById("searchResult").innerHTML = '';
                    document.getElementById("searchResultFive").innerHTML = split[0];

                    if(split[1] < 25 && split[3] == t)
                        doAjax("/Search.do?method=searchSix&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchSix);
                }else{
                    if(split[3] == t)
                        doAjax("/Search.do?method=searchSix&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchSix);
                }
            }
        }
    }
}

function setAjaxSearchSix(){
    if(req.readyState == 4){
        if(req.status == 200){
            var response = req.responseText;
            if(response == 'SESSION'){
                window.location.reload();
            }else{
                var split = response.split("@@ebusiness@@");
                if(split[1] > 0){
                    if(split[1] > 10){
                        document.getElementById("searchPane").style.height = '390px';
                        document.getElementById("searchPane").style.overflowY = 'scroll';
                    }else{
                        document.getElementById("searchPane").style.height = '';
                        document.getElementById("searchPane").style.overflowY = 'hidden';
                    }

                    document.getElementById("searchResult").innerHTML = '';
                    document.getElementById("searchResultSix").innerHTML = split[0];

                    if(split[1] < 25 && split[3] == t)
                        doAjax("/Search.do?method=searchSeven&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchSeven);
                }else{
                    if(split[3] == t)
                        doAjax("/Search.do?method=searchSeven&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchSeven);
                }
            }
        }
    }
}

function setAjaxSearchSeven(){
    if(req.readyState == 4){
        if(req.status == 200){
            var response = req.responseText;
            if(response == 'SESSION'){
                window.location.reload();
            }else{
                var split = response.split("@@ebusiness@@");
                if(split[1] > 0){
                    if(split[1] > 10){
                        document.getElementById("searchPane").style.height = '390px';
                        document.getElementById("searchPane").style.overflowY = 'scroll';
                    }else{
                        document.getElementById("searchPane").style.height = '';
                        document.getElementById("searchPane").style.overflowY = 'hidden';
                    }

                    document.getElementById("searchResult").innerHTML = '';
                    document.getElementById("searchResultSeven").innerHTML = split[0];

                    if(split[1] < 25 && split[3] == t)
                        doAjax("/Search.do?method=searchEight&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchEight);
                }else{
                    if(split[3] == t)
                        doAjax("/Search.do?method=searchEight&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchEight);
                }
            }
        }
    }
}

function setAjaxSearchEight(){
    if(req.readyState == 4){
        if(req.status == 200){
            var response = req.responseText;
            if(response == 'SESSION'){
                window.location.reload();
            }else{
                var split = response.split("@@ebusiness@@");
                if(split[1] > 0){
                    if(split[1] > 10){
                        document.getElementById("searchPane").style.height = '390px';
                        document.getElementById("searchPane").style.overflowY = 'scroll';
                    }else{
                        document.getElementById("searchPane").style.height = '';
                        document.getElementById("searchPane").style.overflowY = 'hidden';
                    }

                    document.getElementById("searchResult").innerHTML = '';
                    document.getElementById("searchResultEight").innerHTML = split[0];

                    if(split[1] < 25 && split[3] == t)
                        doAjax("/Search.do?method=searchEight&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchNine);
                }else{
                    if(split[3] == t)
                        doAjax("/Search.do?method=searchEight&id=" + escape(split[2]) + "&q=" + split[1] + "&t=" + split[3] + "&nid=0&uid=" + new Date().getTime(), setAjaxSearchNine);
                }
            }
        }
    }
}

function setAjaxSearchNine(){
    if(req.readyState == 4){
        if(req.status == 200){
            var response = req.responseText;
            if(response == 'SESSION'){
                window.location.reload();
            }else{
                var split = response.split("@@ebusiness@@");
                if(split[1] > 0){
                    if(split[1] > 10){
                        document.getElementById("searchPane").style.height = '390px';
                        document.getElementById("searchPane").style.overflowY = 'scroll';
                    }else{
                        document.getElementById("searchPane").style.height = '';
                        document.getElementById("searchPane").style.overflowY = 'hidden';
                    }

                    document.getElementById("searchResult").innerHTML = '';
                    document.getElementById("searchResultNine").innerHTML = split[0];
                }else{
                    document.getElementById("searchResult").innerHTML = "<div style=\"width: 500px; padding-top: 20px; padding-bottom: 20px; text-align: center\">Search returned 0 results</div>";
                }
            }
        }
    }
}

function clearHomeSearch(t){
    var s = document.SearchForm.search.value;
    if(s == 'Keyword / Product Code'){
        cancelTo();
        clearText(t);
    }
}

function clearSearch(t){
    var s = document.SearchForm.search.value;
    if(s == 'Keyword / Product Code'){
        clearText(t);
    }
}

function showSearch(){
    document.getElementById("searchPane").style.visibility = 'visible';
}

function hideSearch(){
    document.getElementById("searchPane").style.visibility = 'hidden';
}

