﻿/* Generic */
function fmtCurr(num) {
    // US & UK - 1,234.56
    // EU - 1.234,56
    // JP - 1,234
    var thou = ',';
    var dec = '.';
    if (region == "EU") {
        thou = '.';
        dec = ',';
    }
    
    if (isNaN(num)) num = "0";
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    if (region == "JP" && cents > 50) num += 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10) cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
        num = num.substring(0, num.length - (4 * i + 3)) + thou + num.substring(num.length - (4 * i + 3));
    if (region == "JP") {
        return (symbol + num);
    }
    else {
        return (symbol + num + dec + cents);
    }
}

/* Step 4 */
function initEAS() {
    qty = document.getElementById('txtEAS').value;
    if (qty > 0) chgEAS(qty);
    actEAS();
}
function actEAS() {
    if (document.getElementById('rbStep4Row1').checked == true) {
        document.getElementById('txtEAS').disabled = true;
        document.getElementById('eas').style.color = "#AAA";
        try { document.getElementById('csEAS').style.color = "#AAA"; } catch(e) {}
    }
    else if (document.getElementById('rbStep4Row2').checked == true) {
        document.getElementById('txtEAS').disabled = false;
        document.getElementById('txtEAS').focus();
        document.getElementById('eas').style.color = "#000";
        try { document.getElementById('csEAS').style.color = "#000"; } catch(e) {}
    }    
}

function chgEAS(qty) {
    var rate;
    qty = parseInt(qty);
    if (qty > userCnt) {
        qty = userCnt;
        document.getElementById('txtEAS').value = userCnt;
    }
    if (qty == 0) {
        qty = 1;
        document.getElementById('txtEAS').value = 1;
    }
    if (isNaN(qty)) {
        document.getElementById('cost').innerHTML = '';
        return;
    }
    if (qty <= 50) { rate = rate1 }
    else if (qty > 50 && qty <= 100) { rate = rate2 }
    else { rate = rate3 }
    tmp = qty * rate;
    if (isNaN(tmp)) { return; }
    document.getElementById('cost').innerHTML = '[Add ' + fmtCurr(tmp) + ']';
}

/* Step 6 */
function initArch() {
    qty = document.getElementById('txtSonian').value;
    pn = document.getElementById('ddlArchiva').value;
    if (qty > 0) chgSonian(qty);
    if (pn != "") chgArchiva();
    actArch();
}

function actArch() {
    if (document.getElementById('rbStep6Row1').checked == true) {
        document.getElementById('txtSonian').disabled = true;
        document.getElementById('ddlArchiva').disabled = true;
        document.getElementById('sonian').style.color = "#AAA";
        document.getElementById('archiva').style.color = "#AAA";
        document.getElementById('csSonian').style.color = "#AAA";
        document.getElementById('csMA').style.color = "#AAA";        
    }
    else if (document.getElementById('rbStep6Row2').checked == true) {
        document.getElementById('txtSonian').disabled = false;
        document.getElementById('ddlArchiva').disabled = true;
        document.getElementById('txtSonian').focus();
        document.getElementById('sonian').style.color = "#000";
        document.getElementById('archiva').style.color = "#AAA";
        document.getElementById('csSonian').style.color = "#000";
        document.getElementById('csMA').style.color = "#AAA";             
    }
    else if (document.getElementById('rbStep6Row3').checked == true) {
        document.getElementById('txtSonian').disabled = true;
        document.getElementById('ddlArchiva').disabled = false;
        document.getElementById('ddlArchiva').focus();
        document.getElementById('sonian').style.color = "#AAA";
        document.getElementById('archiva').style.color = "#000";
        document.getElementById('csSonian').style.color = "#AAA";
        document.getElementById('csMA').style.color = "#000";                  
    }    
}

function chgSonian(qty) {
    qty = parseInt(qty);
    if (qty > userCnt) {
        qty = userCnt;
        document.getElementById('txtSonian').value = userCnt;
    }
    if (qty == 0) {
        qty = 1;
        document.getElementById('txtSonian').value = 1;
    }
    if (isNaN(qty)) {
        document.getElementById('costSn').innerHTML = '';
        return;
    }
    tmp = qty * rate;
    if (isNaN(tmp)) { return; }
    document.getElementById('costSn').innerHTML = '[Add ' + fmtCurr(tmp) + ']';
}

function chgArchiva() {
    try {
        ddl = document.getElementById("ddlArchiva");
        if (ddl.value == 0) {
            document.getElementById('costMA').innerHTML = '';
            return;
        }
        qty = ddl.options[ddl.selectedIndex].text;
        tmp = price[qty];
        tmp = parseFloat(tmp);
        document.getElementById('costMA').innerHTML = '[Add ' + fmtCurr(tmp) + ']';
    }
    catch (ex) {
        //  alert(ex.message);
        return;
    }
}

/* Session Keepalive */
setInterval("ajaxKeepAlive()", 60000 * 55); // 55 Mins (session timeout is 60)

var xmlHttp;
var timeout;
function ajaxKeepAlive() {
    var url = "keepalive.aspx?" + Math.random();
    xmlHttp = GetXmlHttpObject()
    if (xmlHttp == null) {
        return;
    }
    timeout = setTimeout('xmlHttp.abort()', 5000);
    xmlHttp.onreadystatechange = stateChanged;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}
function stateChanged() {
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
        clearTimeout(timeout);
    }
}
function GetXmlHttpObject() {
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    }
    catch (e) {
        //Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}