//<!--

//Vilken browser använder klienten
mozilla = (navigator.appName == "Netscape") ? true : false;
ie = (navigator.appName == "Microsoft Internet Explorer") ? true : false;

function pageInitOrderProblemList() {
    setTimeout('RefreshPage()', 180000);
}
function RefreshPage() {
    //  var sURL = unescape(window.location.pathname);
    //  window.location.href = sURL;
    //  location.reload();
    document.form1.bRefresh.click();
    setTimeout('RefreshPage()', 180000);
}


//Denna funktion skall anropas 
//vid onload för att starta timers
//som uppdaterar status på orders
function pageInit() {
    setTimeout('timer()', 30000);
    setTimeout('timerNewOrders()', 0);
    setTimeout('timerCloseOrders()', 180000);
}

//Metod som kollar om sidan behöver laddas
//om eftersom det kommit un nya ordrar
function timerNewOrders() {
    var customerId = document.getElementsByName("lblUser");
    var elements = document.getElementsByName("orderStatus");
    NewOrders(customerId[0].innerHTML);
    setTimeout('timerNewOrders()', 180000);
}

//Metod som kollar om någon orders
//som är öppen har blivit stäng och 
//skall stängas på sidan
function timerCloseOrders() {
    var elements = document.getElementsByName("orderStatus");
    for (var j = 0; j < elements.length; j++) {

        var orderId;
        var orderStatus;
        if (mozilla) {

            orderId = elements[j].childNodes[1].id.split("_")[1];
            orderStatus = elements[j].childNodes[1].innerHTML;
        }
        if (ie) {

            orderId = elements[j].childNodes[0].id.split("_")[1];
            orderStatus = elements[j].childNodes[0].innerHTML;
        }
        if (orderStatus == "Levererad" || orderStatus == "Makulerad") {
            document.getElementsByName("orderBatches_" + orderId)[0].style.display = 'none';
        }


    }

    setTimeout('timerCloseOrders()', 180000);
}

//Metod som updaterar batch- och orderstatus
function timer() {
    var elements = document.getElementsByName("orderStatus");

    for (var j = 0; j < elements.length; j++) {
        var orderId;
        var orderStatus;
        if (mozilla) {
            orderId = elements[j].childNodes[1].id.split("_")[1];
            orderStatus = elements[j].childNodes[1].innerHTML;
        }
        if (ie) {
            orderId = elements[j].childNodes[0].id.split("_")[1];
            orderStatus = elements[j].childNodes[0].innerHTML;
        }

        if (orderStatus != "Levererad" && orderStatus != "Makulerad") {
            GetOrderStatusOrder(orderId);
            var elementsBatches = document.getElementsByName("batchStatus_" + orderId);
            for (var k = 0; k < elementsBatches.length; k++) {
                var batchId;
                if (mozilla) {
                    batchId = elementsBatches[k].childNodes[1].id.split("-")[1];
                }
                if (ie) {
                    batchId = elementsBatches[k].childNodes[0].id.split("-")[1];
                }

                GetBatchStatusBatch(orderId, batchId);
            }
        }
    }

    setTimeout('timer()', 30000);
}

//Metod som anväder AJAX 
//och anropar OnCompleteNewOrders
//när den fått svar om det finns nya ordrar 
function NewOrders(customerId) {
    ret = OTWebApplication.AjaxCommunicator.NrOfOrders(customerId, OnCompleteNewOrders, OnTimeOut, OnError);
    return (true);
}

//Metod som anväder AJAX 
//och anropar OnCompleteOrderStatus
//när den fått svar om status för en order 
function GetOrderStatusOrder(id) {
    ret = OTWebApplication.AjaxCommunicator.GetOrderStatusOrder(id, OnCompleteOrderStatus, OnTimeOut, OnError);
    return (true);
}

//Metod som anväder AJAX 
//och anropar OnCompleteBatchStatus
//när den fått svar om status för en batch 
function GetBatchStatusBatch(id, batchId) {
    ret = OTWebApplication.AjaxCommunicator.GetBatchStatusBatch(id, batchId, OnCompleteBatchStatus, OnTimeOut, OnError);
    return (true);
}

//Metod som anväder AJAX 
//och anropar OnCompleteGetItems
//när den fått svar om items 
//för en batch  
function GetItems(orderId, batchId) {
    ret = OTWebApplication.AjaxCommunicator.GetItems(orderId, batchId, OnCompleteGetItems, OnTimeOut, OnError);
    return (true);
}


//AJAX returmetod som
//relodar sidan om nya ordrar finns   
function OnCompleteNewOrders(arg) {
    //alert(arg);   
    if (arg) {

        //    if(getId("NrOfOrders").innerHTML < 1)
        //      getId("NrOfOrders").innerHTML = arg;  

        //    if(getId("NrOfOrders").innerHTML < arg)
        //    {
        //      getId("NrOfOrders").innerHTML = arg;
        //      var sURL = unescape(window.location.pathname);
        //      window.location.href = sURL;
        //    }    
        if (arg > 0) {
            //getId("NrOfOrders").innerHTML = arg;
            var sURL = unescape(window.location.pathname);
            window.location.href = sURL;
        }
    }

}

//AJAX returmetod som
//lägger till items för på en batch
//med hjälp av att klona en tabel
//kopiera in den under batchen.
function OnCompleteGetItems(arg) {
    el = document.getElementById(arg.__id + "-" + arg.__listBatches[0].__id);
    el.innerHTML = "";

    for (var k = 0; k < arg.__listBatches[0].__listItem.length; k++) {

        var template = document.getElementById('template-4');
        var newnode = template.cloneNode(true);
        newnode.id = "--" + arg.__id + "-" + arg.__listBatches[0].__id;
        newnode.style.display = '';

        if (ie) {
            td1 = newnode.childNodes[0].childNodes[0].childNodes[0];
            td2 = newnode.childNodes[0].childNodes[0].childNodes[1];
        }

        if (mozilla) {
            td1 = newnode.childNodes[1].childNodes[1].childNodes[1];
            td2 = newnode.childNodes[1].childNodes[1].childNodes[3];
        }

        el.appendChild(newnode);

        for (var l = 0; l < arg.__listBatches[0].__listItem[k].__listInfo.length; l++) {
            var field = arg.__listBatches[0].__listItem[k].__listInfo[l].__field;
            var value = arg.__listBatches[0].__listItem[k].__listInfo[l].__value;
            if (field == "template" || field == "title") {
                td1.innerHTML = value;

                for (var m = 0; m < arg.__listBatches[0].__listItem[k].__listInfo.length; m++) {
                    var field = arg.__listBatches[0].__listItem[k].__listInfo[m].__field;
                    var value = arg.__listBatches[0].__listItem[k].__listInfo[m].__value;

                    if (field == "quantity") {
                        td2.innerHTML = value + " st.";
                    }
                }

            }
        }

    }
}

//AJAX returmetod som
//kollar status på en batch
function OnCompleteBatchStatus(arg) {
    var element = document.getElementById("batchStatus_" + arg.__id + "-" + arg.__listBatches[0].__id);
    var elementDate = document.getElementById("batchStatusDate_" + arg.__id + "-" + arg.__listBatches[0].__id);
    var elementTotalQuantity = document.getElementById("batchStatusTotalQuantity_" + arg.__id + "-" + arg.__listBatches[0].__id);


    if (arg.__listBatches[0].__listEvent[0].__value == "created") {

        elementDate.innerHTML = arg.__listBatches[0].__listEvent[0].__date;
        element.innerHTML = "Skapad";
    }
    if (arg.__listBatches[0].__listEvent[0].__value == "inbox") {
        var orderStatus = document.getElementsByName("orderStatus_" + arg.__id)[0].innerHTML;


        elementDate.innerHTML = arg.__listBatches[0].__listEvent[0].__date;
        if (orderStatus == "Levererad") {
            element.innerHTML = "Klar";
        }
        else {
            element.innerHTML = "Efterbehandlas";
        }





    }
    if (arg.__listBatches[0].__listEvent[0].__value == "manually_inbox") {
        elementDate.innerHTML = arg.__listBatches[0].__listEvent[0].__date;
        element.innerHTML = "Klar";
    }
    if (arg.__listBatches[0].__listEvent[0].__value == "processing") {

        elementDate.innerHTML = arg.__listBatches[0].__listEvent[0].__date;
        element.innerHTML = "Bearbetas";
    }
    if (arg.__listBatches[0].__listEvent[0].__value == "printing") {
        elementDate.innerHTML = arg.__listBatches[0].__listEvent[0].__date;
        element.innerHTML = "Framkallas";
    }
    if (arg.__listBatches[0].__listEvent[0].__value == "cancel") {
        elementDate.innerHTML = arg.__listBatches[0].__listEvent[0].__date;
        element.innerHTML = "Makulerad";
        elementTotalQuantity.innerHTML = "0&nbsp;";
    }
    if (arg.__listBatches[0].__listEvent[0].__value == "waiting") {

        elementDate.innerHTML = arg.__listBatches[0].__listEvent[0].__date;
        element.innerHTML = "V" + unescape("%E4") + "ntar p" + unescape("%E5") + " bearbetning";
    }
    if (arg.__listBatches[0].__listEvent[0].__value == "colorStation") {

        elementDate.innerHTML = arg.__listBatches[0].__listEvent[0].__date;
        element.innerHTML = "Manuell kontroll";
    }

}

//AJAX returmetod som
//kollar status på en order
function OnCompleteOrderStatus(arg) {
    var element = document.getElementById("orderStatus_" + arg.__id);
    var elementDate = document.getElementById("orderStatusDate_" + arg.__id);
    var elementTotalAmount = document.getElementById("orderStatusTotalAmount_" + arg.__id);


    if (arg.__listEvent[0].__value == "closed") {
        elementDate.innerHTML = arg.__listEvent[0].__date;
        element.innerHTML = "Levererad";
    }
    if (arg.__listEvent[0].__value == "manually_closed") {

        elementDate.innerHTML = arg.__listEvent[0].__date;
        element.innerHTML = "Levererad";
    }
    if (arg.__listEvent[0].__value == "open") {

        elementDate.innerHTML = arg.__listEvent[0].__date;
        element.innerHTML = "Under behandling";
    }
    if (arg.__listEvent[0].__value == "created") {
        elementDate.innerHTML = arg.__listEvent[0].__date;
        element.innerHTML = "Skapad";
    }
    if (arg.__listEvent[0].__value == "collected") {
        elementDate.innerHTML = arg.__listEvent[0].__date;
        element.innerHTML = "Insamlad";
    }
    if (arg.__listEvent[0].__value == "collected_prep") {
        elementDate.innerHTML = arg.__listEvent[0].__date;
        element.innerHTML = "P" + unescape("%E5") + " efterbehandling";
    }
    if (arg.__listEvent[0].__value == "packing") {
        elementDate.innerHTML = arg.__listEvent[0].__date;
        element.innerHTML = "Packning";
    }
    if (arg.__listEvent[0].__value == "cancel") {
        elementDate.innerHTML = arg.__listEvent[0].__date;
        elementTotalAmount.innerHTML = "0.00&nbsp;";
        element.innerHTML = "Makulerad";
    }

}


//AJAX error returmetoder
function OnTimeOut(arg) {
    //alert("exceptionType:"+arg.get_exceptionType()+" \nmessage:"+arg.get_message()+"\nstackTrace:"+arg.get_stackTrace());
}
function OnError(arg) {
    //alert("Error encountered when calling Say Hello "+ arg);
}


function toggle(id) {
    el = document.getElementById(id);
    var display = el.style.display ? '' : 'none';
    el.style.display = display;
}

function toggleBatch(id) {

    if (ie) {
        el = document.getElementById(id);
    }
    if (mozilla) {
        el = document.getElementById(id);
    }
    var display = el.style.display ? '' : 'none';
    el.style.display = display;

    if (display != 'none') {


        LoadItems(el, id);
    }
}

function LoadItems(element, id) {
    el.innerHTML = "<img src=img/wait.gif />";

    var orderId = id.split("-")[0];
    var batchId = id.split("-")[1];


    GetItems(orderId, batchId);


}


function SetUserFieldEditTable() {

    document.getElementById("__txtUsername").disabled = false;
    document.getElementById("__txtUsername").className = 'txtFieldHeader';

    document.getElementById("__txtAdress").disabled = false;
    document.getElementById("__txtAdress").className = 'txtFieldHeader';

    document.getElementById("__txtPostadress").disabled = false;
    document.getElementById("__txtPostadress").className = 'txtFieldHeader';

    document.getElementById("__txtEmail").disabled = false;
    document.getElementById("__txtEmail").className = 'txtFieldHeader';


    document.getElementById("__txtPwd").disabled = false;
    document.getElementById("__txtPwd").className = 'txtFieldHeader';

    document.getElementById("__txtPwdConfirm").disabled = false;
    document.getElementById("__txtPwdConfirm").className = 'txtFieldHeader';



    document.getElementById("__btnLnkCancelDIV").style.display = '';
    document.getElementById("__btnLnkSaveDIV").style.display = '';
    document.getElementById("setUserFieldEditHref").style.display = 'none';
    document.getElementById("showPwdChkBox").style.display = '';


}

function changeStyle(elem, style) {
    elem.className = style;
}


function EditPassword() {
    el = document.getElementById("__txtPwdRow");
    var display = el.style.display ? '' : 'none';
    el.style.display = display;

    el2 = document.getElementById("__txtPwdConfirmRow");
    var display2 = el2.style.display ? '' : 'none';
    el2.style.display = display;

    n1 = document.getElementById("__regularExpressionValidatorPwd");
    var type1 = n1.enabled ? false : true;
    n1.enabled = type1;

    n2 = document.getElementById("__requiredFieldValidatorPwd");
    var type2 = n2.enabled ? false : true;
    n2.enabled = type2;


    n3 = document.getElementById("__compareValidatorPwd");
    var type3 = n3.enabled ? false : true;
    n3.enabled = type3;

    n4 = document.getElementById("__requiredFieldValidatorPwdConfirm");
    var type4 = n4.enabled ? false : true;
    n4.enabled = type4;


    elem = document.getElementById('__txtUsername');
    changeStyle(elem, 'txtFieldHeader');

}


function changeClass(Elem, myClass) {
    var elem;
    if (document.getElementById) {
        var elem = document.getElementById(Elem);
    } else if (document.all) {
        var elem = document.all[Elem];
    }
    elem.className = myClass;
}

function showForgottenPassword() {

    var display = document.getElementById("_pPasswordReminder2").style.display ? '' : 'none';
    document.getElementById("_pPasswordReminder2").style.display = display;

    var display = document.getElementById("__sButtonLogin").style.display ? '' : 'none';
    document.getElementById("__sButtonLogin").style.display = display;


    var display = document.getElementById("__sPassword").style.display ? '' : 'none';
    document.getElementById("__sPassword").style.display = display;

    var display = document.getElementById("__pTogglePasswordReminder").style.display ? '' : 'none';
    document.getElementById("__pTogglePasswordReminder").style.display = display;

}


//Event för när pekaren rör sig över ett htmlobjekt
function onmousemove_thumbsDiv(e) {
    var DOM_div = getId("imageInfoContainer");
    DOM_div.style.top = 1000;
    DOM_div.style.left = 1000;
}

//Event för när pekaren 
//kommer in på ett htmlobjekt
//visa då hjälprutan
function TopicTipOn(id, event) {
    var targetY = document.body.scrollLeft + event.clientY + 12;
    var targetX = document.body.scrollTop + event.clientX + 12;

    var tip = document.getElementById(id);
    tip.style.right = 200 + "px";
    tip.style.top = 50 + "px";
    tip.style.display = '';
}

//Event för när pekaren 
//kommer lämnar ett htmlobjekt
//dölj då hjälprutan
function TopicTipOff(id) {
    var tip = document.getElementById(id);
    tip.style.display = 'none';
}

//Hjälpmetod för att hämta ett htmlobjekt
function getId(id) {
    return document.getElementById(id);
}

//-->