/* Create a new XMLHttpRequest object to talk to the Web server */
var xmlHttp = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
@end @*/

var loading_msg = "";
var ajaxErr = "";

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
    xmlHttp = new XMLHttpRequest();
}

function changeCountry() {
    lock();
    hideScreen();
    // Get the params from web form
    var countrycode = document.getElementById("country").value;
    if (countrycode == null || trim(countrycode) == ""){
        document.getElementById("countryData").innerHTML = "";
        document.getElementById("paymentRow").style.display = 'none';
        unlock();
        return;
    }
    
    var url = "utilityAction.do?method=changeCountry&";
    
    // Open a connection to the server
    xmlHttp.open("POST", url, true);
    xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // Setup a function for the server to run when it's done
    xmlHttp.onreadystatechange = updateCountryData;
    var param = "countrycode=" + escape(countrycode);
    
    // Send the request
    xmlHttp.send(param);
}

function updateCountryData() {
    var response = "";
    document.getElementById("countryData").innerHTML = "";
    if (xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200){
            var ret = xmlHttp.responseText;
            response = getCountryDataResponseText(ret, "<countrycode>", "</countrycode>");
            document.getElementById("statusData").innerHTML = "";
            document.getElementById("countryData").innerHTML = "&nbsp;(" + response + ")";
            
            var showPayment = getCountryDataResponseText(ret, "<showPayment>", "</showPayment>");
            showPayment += "";
            if(showPayment != null && showPayment == "DEFAULT")
                document.getElementById("paymentRow").style.display = 'block';
            else
                document.getElementById("paymentRow").style.display = 'none';
       
            
            showPayment += "";
            if(showPayment != null && showPayment == "OECS")
                document.getElementById("oecsRow").style.display = 'block';
            else
                document.getElementById("oecsRow").style.display = 'none';
            
            
            showPayment += "";
            if(showPayment != null && showPayment == "TRINIDAD")
                document.getElementById("paymentRowAlt1").style.display = 'block';
            else
                document.getElementById("paymentRowAlt1").style.display = 'none';
            
            var ebill = getCountryDataResponseText(ret, "<ebill>", "</ebill>");
            ebill += "";
            if(ebill != null && ebill == "true")
                document.getElementById("ebill").style.display = 'block';
            else
                document.getElementById("ebill").style.display = 'none';
            
            var auth = getCountryDataResponseText(ret, "<auth>", "</auth>");
            auth += "";
            
            if(auth !=null && auth == "true"){
                var register = getCountryDataResponseText(ret, "<register>", "</register>");
                register += "";
                if(register != null && register == "true"){
                    document.getElementById("register").style.display = 'block';
                    document.getElementById("ebill").style.display = 'none';
                }
                else
                    document.getElementById("register").style.display = 'none';
            }
            
            var link = getCountryDataResponseText(ret, "<link>", "</link>");
            link += "";
            if(link != null)
                document.getElementById("ublink").href = link;
            else
                document.getElementById("ebill").href = 'understanding_your_bill.pdf';
            
        }else{		
            document.getElementById("statusData").innerHTML = "";
            response = "Error Occurred:<br> <font color='#FF0000'><strong>"+xmlHttp.responseText+"</strong></font>";
            document.getElementById("countryData").innerHTML = response;
        }
    
        unlock();
    }else{
        response = "<img src='img/processing.gif'>";
        document.getElementById("statusData").innerHTML = response;
    }	


}

function getCountryDataResponseText(response, startTag, endTag){
    return  response.substring(response.indexOf(startTag)+startTag.length,response.lastIndexOf(endTag));
}

function changeCurrency(countrycode) {
    lock();
    // Get the params from web form
    
    if (countrycode == null || trim(countrycode) == ""){
        document.getElementById("paymentCurrencyData").innerHTML = "";
        unlock();
        return;
    }
    
    var url = "utilityAction.do?method=changeCountry&";
    
    // Open a connection to the server
    xmlHttp.open("POST", url, true);
    xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // Setup a function for the server to run when it's done
    xmlHttp.onreadystatechange = updateCurrencyData;
    var param = "useid=true&countrycode=" + escape(countrycode);
    
    // Send the request
    xmlHttp.send(param);
}

function updateCurrencyData() {
    var response = "";
    document.getElementById("paymentCurrencyData").innerHTML = "";
    if (xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200){
            var ret = xmlHttp.responseText;
            response = getCountryDataResponseText(ret, "<currency>", "</currency>");
            document.getElementById("currencyStatusData").innerHTML = "";
            document.getElementById("paymentCurrencyData").innerHTML = "&nbsp;(" + response + ")";
            
            response = getCountryDataResponseText(ret, "<countrycode>", "</countrycode>");
            document.getElementById("paymentCountryData").innerHTML = "&nbsp;(" + response + ")";
            
        }else{		
            document.getElementById("currencyStatusData").innerHTML = "";
            document.getElementById("paymentCurrencyData").innerHTML = response;
            document.getElementById("paymentCountryData").innerHTML = response;
        }
    
        unlock();
    }else{
        response = "<img src='img/processing.gif'>";
        document.getElementById("paymentCurrencyData").innerHTML = response;
        document.getElementById("paymentCountryData").innerHTML = response;
    }	


}




var status;
//********************************** Payment ***************************//
function processScreen(url, params, status_) {
    lock();
    status = status_;
    // Open a connection to the server
    xmlHttp.open("POST", url, true);
    xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // Setup a function for the server to run when it's done
    xmlHttp.onreadystatechange = updateScreenData;
    
    // Send the request
    xmlHttp.send(params);
}

function updateScreenData() {
    //addClickEvents();
    
    var response = "";
    //  document.getElementById("transactionData").innerHTML = "";
    if (xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200){
            response = xmlHttp.responseText;
            document.getElementById("transactionData").innerHTML = response;
            if(document.getElementById(status)){
                document.getElementById(status).innerHTML = "";
            }
            
        }else{		
            document.getElementById(status).innerHTML = "";
            response = "Error Occurred:<br> <font color='#FF0000'><strong>"+xmlHttp.responseText+"</strong></font>";
            document.getElementById("transactionData").innerHTML = response;
        }
    
        showScreen();
        unlock();
    
    }else{
        response = "<img src='img/processing.gif'>";
        if(document.getElementById(status)){
            document.getElementById(status).innerHTML = response;
        }
    }	 
}
