﻿function LoadHome() 
{
    setPointer();
    HappyAirway.Webservice.wsCoreService.LoadHome(SuccessLoadHome, ServiceError, ServiceTimeOut);
    
}
function SuccessLoadHome(result) 
{
    var objMain = document.getElementById("dvMain");
    objMain.innerHTML = result;
    objMain = null

    //Set Search Avai Info
    show_date('dvCalendarOutBound', today.getMonth(), today.getFullYear(), '');
    show_date('dvCalendarReturn', today.getMonth(), today.getFullYear(), '');
    resetPointer();
}
function AgencyRegistration(agencyId) {
    HappyAirway.Webservice.wsCoreService.AgencyRegistration(agencyId, SuccessAgencyRegistration, ServiceError, ServiceTimeOut);
}
function SuccessAgencyRegistration(result) {
    var objMain = document.getElementById("dvMain");
    objMain.innerHTML = result;
    objMain = null
}
function AgencyLogin() {

    var objAgencyCode = document.getElementById("txtAgencyCode");
    var objUserName = document.getElementById("txtUserName");
    var objPassword = document.getElementById("txtPassword");
    var strError = CheckedEmptyField(objUserName, objPassword, objAgencyCode);

    if (strError.length == 0) 
    {
        HappyAirway.Webservice.wsCoreService.AgencyLogin(objAgencyCode.value, objUserName.value, objPassword.value, SuccessAgencyLogin, ServiceError, ServiceTimeOut);
    }
    else 
    {
        alert(strError);
    }
}

function SuccessAgencyLogin(result) {

    if (result.length > 0) {
        var objMain = document.getElementById("dvMain");
        objMain.innerHTML = result;
        objMain = null
     }
     else {
         alert("Login Failed");
    }
    
}

function UserLogin() {

    var objUserName = document.getElementById("txtUserName");
    var objPassword = document.getElementById("txtPassword");
    var objAgencyCode = document.getElementById("txtAgencyCode");
    var strError = CheckedEmptyField(objUserName, objPassword, objAgencyCode);

    if (strError.length == 0) 
    {
        HappyAirway.Webservice.wsCoreService.AgencyUserLogin(objAgencyCode.value, objUserName.value, objPassword.value, SuccessUserLogin, ServiceError, ServiceTimeOut);
    }
    else 
    {
        alert(strError);
    }

    objUserName = null;
    objPassword = null;
    objAgencyCode = null;
}
function SuccessUserLogin(result) {

    if (result.length > 0) {
        var objMain = document.getElementById("dvMain");
        objMain.innerHTML = result;
        show_date('dvCalendarOutBound', today.getMonth(), today.getFullYear(), '');
        show_date('dvCalendarReturn', today.getMonth(), today.getFullYear(), '');
        objMain = null
    }
    else {
        alert("User not found");
    }

}

function FindControlName(tagName, ctrlName) {
    var strName = "";
    var objCtrl = document.getElementsByTagName(tagName);

    for (var iCount = 0; iCount < objCtrl.length; iCount++) {
        if (objCtrl[iCount].id.indexOf(ctrlName) != -1) {
            strName = objCtrl[iCount].id.toString();
            break;
        }
    }

    objCtrl = null;
    return strName;
}

function SetComboValue(ctrlName, strValue) {
    var ctrCombo = document.getElementById(ctrlName);
    for (var iCount = 0; iCount < ctrCombo.length; ++iCount) {
        if (ctrCombo.options[iCount].value == strValue) {
            ctrCombo.selectedIndex = iCount;
            break;
        }
    }

    ctrCombo = null;
}
function SetComboName(ctrlName, strValue) {
    var ctrCombo = document.getElementById(ctrlName);
    for (var iCount = 0; iCount < ctrCombo.length; ++iCount) {
        if (ctrCombo.options[iCount].text == strValue) {
            ctrCombo.selectedIndex = iCount;
            break;
        }
    }

    ctrCombo = null;
}

function PrintWindow() {

    browserVersion = parseInt(navigator.appVersion);
    if (browserVersion >= 4) {
        window.print();
    }

}
function SystemLogin() {

    var objUserName = document.getElementById("txtUserName");
    var objPassword = document.getElementById("txtPassword");

    HappyAirway.Webservice.wsCoreService.SystemUserLogin(objUserName.value, objPassword.value, SuccessSystemLogin, ServiceError, ServiceTimeOut);

    objUserName = null;
    objPassword = null;
}
function SuccessSystemLogin(result) {

    if (result.length > 0) 
    {    
        var arrArr = result.split("|");
        var objRole = document.getElementById("hdRole");
        var objMain = document.getElementById("dvMain");
        
        objRole.value = arrArr[0];
        objMain.innerHTML = arrArr[1];
        objMain = null;
        
        //Top Menu
        var objMSystem = document.getElementById("aSetting");
        var objMFlightManagement = document.getElementById("aFlightManagement");
        var objMReport = document.getElementById("aReport");
        var objMAgency = document.getElementById("aAgency");
        
        //Left Menu
        var objWFlight = document.getElementById("mnuWrapperFlight");
        var objWReport = document.getElementById("mnuWrapperReport");
        var objWAgency = document.getElementById("mnuWrapperAgency");
        var objWSetting = document.getElementById("mnuWrapperSetting");

        //Flight Menu
        var objLiAddFlight = document.getElementById("liAddFlight");
        var objLiSearchFare = document.getElementById("liSearchFare");
        var objLiFare = document.getElementById("liFare");
        
        //Tax Menu
        var objSearchTax = document.getElementById("liSearchTax");
        
        if (objRole.value == "SUSER") {
            //Top Menu
            objMSystem.style.display = "none";
            objMFlightManagement.style.display = "block";
            objMReport.style.display = "block";
            //Left Menu
            objWFlight.style.display = "block";
            objWReport.style.display = "none";
            objWAgency.style.display = "none";
            objWSetting.style.display = "none";
            //Flight Menu
            objLiAddFlight.style.display = "none";
            objLiSearchFare.style.display = "none";
            objLiFare.style.display = "none";
            //Tax Menu
            objSearchTax.style.display = "none";
        }
        else if (objRole.value == "USER") 
        {    
            //Top Menu
            objMSystem.style.display = "none";
            objMFlightManagement.style.display = "none";
            objMAgency.style.display = "none";
            objMReport.className = "";
            //Left Menu
            objWFlight.style.display = "none";
            objWReport.style.display = "block";
            objWAgency.style.display = "none";
            objWSetting.style.display = "none";
        }

       
        objRole = null;
        //Top Menu
        objMSystem = null;
        objMFlightManagement = null;
        objMReport = null;
        objMAgency = null;
        //Left Menu
        objWFlight = null;
        objWReport = null;
        objWAgency = null;
        objWSetting = null;
        //FLightMenu
        objLiAddFlight = null;
        objLiSearchFare = null;
        objLiFare = null;
        //Tax Menu
        objSearchTax = null;
    }
    else 
    {
        alert("Login Failed");
    }

}
function CheckedEmptyField(objUsername, objPassword, objAgencyCode) {

    var strError = "";

    if (objUsername.value.length == 0) {
        strError = strError + "* Please Filled in Username\n"
    }
    if (objPassword.value.length == 0) {
        strError = strError + "* Please Filled in  Password\n"
    }
    if (objAgencyCode.value.length == 0) {
        strError = strError + "* Please Filled in Agency Code \n"
    }

    return strError;
}
function PrintItinerary() 
{
    var objHdBookingId = document.getElementById("hdBookingId");
    window.open("Itinerary.aspx?id=" + objHdBookingId.value, "HappyAir", "location=0,status=1,scrollbars=1,toolbar=0, resizable=1"); 
    objHdBookingId = null;
}
function addCommas(nStr) {
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}
function ValidEmail(strEmail) 
{
    var a = false;
    var res = false;

    if (typeof (RegExp) == 'function') 
    {
        var b = new RegExp('abc');
        if (b.test('abc') == true) 
        {
            a = true;
        }
    }
    if (a == true) 
    {
        reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)' + '(\\@)([a-zA-Z0-9\\-\\.]+)' + '(\\.)([a-zA-Z;]{2,4})$');
        res = (reg.test(strEmail));
    }
    else 
    {
        res = (strEmail.search('@') >= 1 && strEmail.lastIndexOf('.') > strEmail.search('@') && strEmail.lastIndexOf('.') >= strEmail.length - 5)
    }
    return (res);
}
function IsNumeric(sText) 
{
    var ValidChars = "0123456789";
    var IsNumber = true;
    var Char;

    for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
            IsNumber = false;
        }
    }
    return IsNumber;

}
function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; } 
    }
}

function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() 
{ //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}

function setPointer() {

    var objTag = document.getElementsByTagName("*");
    for (var i = 0; i < objTag.length; i++) 
    {
        objTag.item(i).style.cursor = "wait";
    }
    objTag = null;
}

function resetPointer() {

    var objTag = document.getElementsByTagName("*");
    for (var i = 0; i < objTag.length; i++) 
    {
        if (objTag.item(i).tagName == "A" || (objTag.item(i).alt != null && objTag.item(i).alt == "button")) 
        {
            objTag.item(i).style.cursor = "pointer";
        }
        else if (objTag.item(i).tagName == "INPUT" && objTag.item(i).type == "text") 
        {
            objTag.item(i).style.cursor = "text";
        }
        else 
        {
            objTag.item(i).style.cursor = "default";
        }
    }
    objTag = null;
}
function setCookie(strName, strValue, dExpires, strPath, strDomain, bSecure) 
{
    var strCookieText = escape(strName) + '=' + escape(strValue);
    strCookieText += (dExpires ? '; EXPIRES=' + dExpires.toGMTString() : '');
    strCookieText += (strPath ? '; PATH=' + strPath : '');
    strCookieText += (strDomain ? '; DOMAIN=' + strDomain : '');
    strCookieText += (bSecure ? '; SECURE' : '');

    document.cookie = strCookieText;
}
function getCookie(strName) 
{
    var strValue = null;
    if (document.cookie)	   //only if exists
    {
        var arr = document.cookie.split((escape(strName) + '='));
        if (2 <= arr.length) {
            var arr2 = arr[1].split(';');
            strValue = unescape(arr2[0]);
        }
    }
    return strValue;
}
function deleteCookie(strName) 
{
    var tmp = getCookie(strName);
    if (tmp)
    { setCookie(strName, tmp, (new Date(1))); }
}