﻿function RegisterAgency()
{
    var objAgencyId = document.getElementById(FindControlName("input", "hdAgencyId"));
    var objAgencyName = document.getElementById(FindControlName("input", "txtAgencyName"));
    var objAdd1 = document.getElementById(FindControlName("input", "txtAddress1"));
    var objAdd2 = document.getElementById(FindControlName("input", "txtAddress2"));
    var objStreet = document.getElementById(FindControlName("input", "txtStreet"));
    var objDistrict = document.getElementById(FindControlName("input", "txtDistrict"));
    var objProvince = document.getElementById(FindControlName("select", "optProvince"));
    var objCountry = document.getElementById(FindControlName("input", "txtCountry"));
    var objTel = document.getElementById(FindControlName("input", "txtTel"));
    var objFax = document.getElementById(FindControlName("input", "txtFax"));
    var objUserName = document.getElementById(FindControlName("input", "txtUserName"));
    var objPassword = document.getElementById(FindControlName("input", "txtPassword"));
    var strXml;
    var strError = "";

    if (objAgencyName.value.length == 0) {
        strError = strError + "* Agency name required\n";
    }
    if (objAdd1.value.length == 0) {
        strError = strError + "* Address 1 required\n"; 
    }
    if (objStreet.value.length == 0) {
        strError = strError + "* Street required\n";
    }
    if (objDistrict.value.length == 0) {
        strError = strError + "* District required\n";
    }
    
    if (objCountry.value.length == 0) {
        strError = strError + "* Country required\n";
    }
    if (objTel.value.length == 0) {
        strError = strError + "* Telephone required\n";
    }
    if (objUserName.value.length == 0) {
        strError = strError + "* Username required\n";
    }
    if (objPassword.value.length == 0) {
        strError = strError + "* Password required\n";
    }

    if (strError.length == 0) 
    {
        strXml = "<Agency>" +
                 "<agency_id>" + objAgencyId.value + "</agency_id>" +
                 "<agency_name>" + ConvertToValidXmlData(objAgencyName.value) + "</agency_name>" +
                 "<address1>" + ConvertToValidXmlData(objAdd1.value) + "</address1>" +
                 "<address2>" + ConvertToValidXmlData(objAdd2.value) + "</address2>" +
                 "<street>" + ConvertToValidXmlData(objStreet.value) + "</street>" +
                 "<district>" + ConvertToValidXmlData(objDistrict.value) + "</district>" +
                 "<county></county>" +
                 "<province>" + objProvince.options[objProvince.selectedIndex].value + "</province>" +
                 "<country>" + ConvertToValidXmlData(objCountry.value) + "</country>" +
                 "<tel>" + ConvertToValidXmlData(objTel.value) + "</tel>" +
                 "<fax>" + ConvertToValidXmlData(objFax.value) + "</fax>" +
                 "<username>" + ConvertToValidXmlData(objUserName.value) + "</username>" +
                 "<password>" + ConvertToValidXmlData(objPassword.value) + "</password>" +
             "</Agency>";

        if (objAgencyId.value.length == 0) 
        {
            HappyAirway.Webservice.wsCoreService.RegisterAgency(strXml, SuccessRegisterAgency, ServiceError, ServiceTimeOut);
        }
        else 
        {
            HappyAirway.Webservice.wsCoreService.EditAgency(strXml, SuccessRegisterAgency, ServiceError, ServiceTimeOut);
        }
        
    }
    else 
    {
        alert(strError);
    }
    
    objAgencyName = null;
    objAdd1 = null;
    objAdd2 = null;
    objStreet = null;
    objDistrict = null;
    objProvince = null;
    objCountry = null;
    objTel = null;
    objFax = null;
    objUserName = null;
    objPassword = null;
}

function SuccessRegisterAgency(result) {

    if (result > 0) {
        alert("Save Complete");
    }
    else {
        alert("Agency information can't be save !!");
    }
    
}
function ClearAgencyRegistration() 
{
    var objAgencyId = document.getElementById(FindControlName("input", "hdAgencyId"));
    var objAgencyName = document.getElementById(FindControlName("input", "txtAgencyName"));
    var objAdd1 = document.getElementById(FindControlName("input", "txtAddress1"));
    var objAdd2 = document.getElementById(FindControlName("input", "txtAddress2"));
    var objStreet = document.getElementById(FindControlName("input", "txtStreet"));
    var objDistrict = document.getElementById(FindControlName("input", "txtDistrict"));
    var objProvince = document.getElementById(FindControlName("select", "optProvince"));
    var objCountry = document.getElementById(FindControlName("input", "txtCountry"));
    var objTel = document.getElementById(FindControlName("input", "txtTel"));
    var objFax = document.getElementById(FindControlName("input", "txtFax"));
    var objUserName = document.getElementById(FindControlName("input", "txtUserName"));
    var objPassword = document.getElementById(FindControlName("input", "txtPassword"));

    objAgencyId.value = "";
    objAgencyName.value = "";
    objAdd1.value = "";
    objAdd2.value = "";
    objStreet.value = "";
    objDistrict.value = "";
    objProvince.selectedIndex = 0;
    objCountry.value = "";
    objTel.value = "";
    objFax.value = "";
    objUserName.value = "";
    objPassword.value = "";

    objAgencyId = null
    objAgencyName = null;
    objAdd1 = null;
    objAdd2 = null;
    objStreet = null;
    objDistrict = null;
    objProvince = null;
    objCountry = null;
    objTel = null;
    objFax = null;
    objUserName = null;
    objPassword = null;
}
function SaveAgencyUser() {

    var objUserId = document.getElementById("hdUserId");
    var objFirstname = document.getElementById("txtFirstname");
    var objLastname = document.getElementById("txtLastname");
    var objUsername = document.getElementById("txtUserName");
    var objPassword = document.getElementById("txtPassword");
    var objConfirm = document.getElementById("txtConfirm");

    if (objPassword.value == objConfirm.value) {

        var strXml;

        strXml = "<AgencyUser>" +
                 "<user_id>" + objUserId.value + "</user_id>" +
                 "<user_name>" + objUsername.value + "</user_name>" +
                 "<password>" + objPassword.value + "</password>" +
                 "<firstname>" + objFirstname.value + "</firstname>" +
                 "<lastname>" + objLastname.value + "</lastname>" +
             "</AgencyUser>";

        HappyAirway.Webservice.wsCoreService.SaveUser(strXml, SuccessSaveAgencyUser, ServiceError, ServiceTimeOut);
        
    }
    else {
        alert("Password Not Match");
    }

    objUserId = null;
    objFirstname = null;
    objLastname = null;
    objUsername = null;
    objPassword = null;
    objConfirm = null;
}

function SuccessSaveAgencyUser(result) {

    if (result == true) {
        alert("Success");
        GetAllAgencyUser();
     }
    else {
        alert("Failed");
    }
    
    ClearAgencyUser();
}

function ClearAgencyUser() 
{
    var objUserId = document.getElementById("hdUserId");
    var objFirstname = document.getElementById("txtFirstname");
    var objLastname = document.getElementById("txtLastname");
    var objUsername = document.getElementById("txtUserName");
    var objPassword = document.getElementById("txtPassword");
    var objConfirm = document.getElementById("txtConfirm");

    objUserId.value = "";
    objFirstname.value = "";
    objLastname.value = "";
    objUsername.value = "";
    objPassword.value = "";
    objConfirm.value = "";

    objUserId = null;
    objFirstname = null;
    objLastname = null;
    objUsername = null;
    objPassword = null;
    objConfirm = null;
}

function GetAllAgencyUser() {
    HappyAirway.Webservice.wsCoreService.GetAllAgencyUser(SuccessGetAllAgencyUser, ServiceError, ServiceTimeOut);
}

function SuccessGetAllAgencyUser(result) {

    var objUserList = document.getElementById(FindControlName("div", "dvUserList"));    
    objUserList.innerHTML = result;
    objUserList = null;
}
function ShowAdminLogin() {

    HappyAirway.Webservice.wsCoreService.ShowAdmin(SuccessAdminLogin, ServiceError, ServiceTimeOut);
}
function SuccessAdminLogin(result) {
    var objMain = document.getElementById("dvMain");
    objMain.innerHTML = result;
    objMain = null
}
function ShowUserLogin() {

    HappyAirway.Webservice.wsCoreService.ShowUser(SuccessAdminLogin, ServiceError, ServiceTimeOut);
}
function EnterLogin(e) {

    if (e.keyCode == 13) {
        UserLogin();
    }
    
}
function SuccessAdminLogin(result) {
    var objMain = document.getElementById("dvMain");
    objMain.innerHTML = result;
    objMain = null
}
function BackToUserHome() {

    HappyAirway.Webservice.wsCoreService.BackToUserHome(SuccessAdminLogin, ServiceError, ServiceTimeOut);
}
function ShowAddAgencyCredit(agencyId) {

    HappyAirway.Webservice.wsCoreService.ShowAddAgencyCredit(agencyId, SuccessShowAddAgencyCredit, ServiceError, ServiceTimeOut);
}

function SuccessShowAddAgencyCredit(result) {
    var objSysContainer = document.getElementById("dvSysContainer");
    objSysContainer.innerHTML = result;
    objSysContainer = null;
}

function AddCreditToAgency() 
{
    var objAgencyId = document.getElementById(FindControlName("input", "hdAgencyId"));
    var objCrAmount = document.getElementById("txtCrAmount");

    if (objCrAmount.value > 0 && objCrAmount.value.length > 0) 
    {
        HappyAirway.Webservice.wsCoreService.AddCreditToAgency(objAgencyId.value, objCrAmount.value, SuccessAddCreditToAgency, ServiceError, ServiceTimeOut);    
    }
    else 
    {
        alert("Please Enter Credit Amount !!");
    }

    objAgencyId = null;
    objCrAmount = null;
}
function SuccessAddCreditToAgency(result) 
{
    if (result == true) {

        alert("Credit Update completed..");
        var objAgencyId = document.getElementById(FindControlName("input", "hdAgencyId"));
        //Reload Credit information
        ShowAddAgencyCredit(objAgencyId.value);
        objAgencyId = null;
    }
    else {
        alert("Credit Update failed!!");
    }
}
function GetAgencyUserInfomation(userId) 
{
    if (userId.length > 0) 
    {
        HappyAirway.Webservice.wsCoreService.GetAgencyUserInfomation(userId, SuccessGetAgencyUserInfomation, ServiceError, ServiceTimeOut);
    }
}
function SuccessGetAgencyUserInfomation(result) 
{
    var objUserId = document.getElementById("hdUserId");
    var objUserName = document.getElementById("txtUserName");
    var objPassword = document.getElementById("txtPassword");
    var objFirstname = document.getElementById("txtFirstname");
    var objLastname = document.getElementById("txtLastname");

    var arrData = result.split("|");

    if (arrData.length > 0) 
    {
        objUserId.value = arrData[0];
        objUserName.value = arrData[1];
        objPassword.value = arrData[2];
        objFirstname.value = arrData[3];
        objLastname.value = arrData[4];
    }
    objUserId = null;
    objUserName = null;
    objPassword = null;
    objFirstname = null;
    objLastname = null;
}
function ShowAgencyCommissionMapping() 
{
    var objOptCommission = document.getElementsByName("rdoCommission");

    if (objOptCommission != null) {
        for (var i = 0; i < objOptCommission.length; i++) {
            if (objOptCommission[i].checked == true) {
                HappyAirway.Webservice.wsCoreService.ShowAgencyCommissionMapping(SuccessShowAgencyCommissionMapping, ServiceError, ServiceTimeOut);
                break;
            }
        }
    }
    objOptCommission = null;
}
function SuccessShowAgencyCommissionMapping(result) {

    if (result.length > 0) {

        //Set Agency Value
        var objOptCommission = document.getElementsByName("rdoCommission");
        var strAgencyId;
        var strAgencyCode;
        var strAgencyName;
        
        for (var i = 0; i < objOptCommission.length; i++) {
            if (objOptCommission[i].checked == true) 
            {
                strAgencyId = objOptCommission[i].value;
                strAgencyCode = document.getElementById("txtAgencyCode_" + strAgencyId).value;
                strAgencyName = document.getElementById("td_an_" + strAgencyId).innerHTML;
                break;
            }
        }
        
        objOptCommission = null;
        
        var objSysContainer = document.getElementById("dvSysContainer");
        objSysContainer.innerHTML = result;
        objSysContainer = null;

        //Set Agency Information
        document.getElementById("hdAgencyId").value = strAgencyId;
        document.getElementById("dvAgencyCode").innerHTML = strAgencyCode;
        document.getElementById("dvAgencyName").innerHTML = strAgencyName;
        document.getElementById("cmdDelete").style.display = "none";
        document.getElementById("cmdMappingEdit").style.display = "none";
    }
}
function GetFlightCommission() {

    var objType = document.getElementById("optSearchBy");
    var objSearchValue = document.getElementById("txtSearchValue");

    HappyAirway.Webservice.wsCoreService.GetFlightCommission(objType.options[objType.selectedIndex].value,
                                                              objSearchValue.value,
                                                              SuccessGetFlightCommission, ServiceError, ServiceTimeOut);
    objType = null;
    objSearchValue = null;
}
function SuccessGetFlightCommission(result) {

    if (result.length > 0) {
        var objSysContainer = document.getElementById("dvFlightResult");
        objSysContainer.innerHTML = result;
        objSysContainer = null;
    }
}

function SaveCommission() {
    var objChkFlightId = document.getElementsByName("chkFlightId");
    var strXml = "";
    var dblComission;
    var bError = false;
    for (var i = 0; i < objChkFlightId.length; i++) {
        if (objChkFlightId[i].checked == true) {
            dblComission = document.getElementById("txtCommission_" + objChkFlightId[i].value).value;
            if (dblComission.length > 0 && dblComission > 0) {
                strXml = strXml + "  <agency_commission>" +
                                  "      <flight_id>" + objChkFlightId[i].value + "</flight_id>" +
                                  "      <commission>" + dblComission + "</commission>" +
                                  "  </agency_commission>";
            }
            else {
                bError = true;
                break;
            }
            dblComission = 0;
        }
    }

    if (bError == false) 
    {
        if (strXml.length > 0) 
        {
            HappyAirway.Webservice.wsCoreService.SaveCommission(strXml, document.getElementById("hdAgencyId").value, SuccessSaveCommission, ServiceError, ServiceTimeOut);
        } 
    }
    else 
    {
        alert("Commission Amount Required");
    }
    
    objChkFlightId = null;
}
function SuccessSaveCommission(result) {
    if (result == true) {
        alert("Save success..");
    }
    else {
        alert("Save failed!!");
    }
}
function ShowEditAgencyCommissionMapping() {
    var objOptCommission = document.getElementsByName("rdoCommission");

    if (objOptCommission != null) {
        for (var i = 0; i < objOptCommission.length; i++) {
            if (objOptCommission[i].checked == true) {
                HappyAirway.Webservice.wsCoreService.ShowAgencyCommissionMapping(SuccessShowEditAgencyCommissionMapping, ServiceError, ServiceTimeOut);
                break;
            }
        }
    }
    objOptCommission = null;
}
function SuccessShowEditAgencyCommissionMapping(result) {

    if (result.length > 0) {

        //Set Agency Value
        var objOptCommission = document.getElementsByName("rdoCommission");
        var strAgencyId;
        var strAgencyCode;
        var strAgencyName;

        for (var i = 0; i < objOptCommission.length; i++) {
            if (objOptCommission[i].checked == true) {
                strAgencyId = objOptCommission[i].value;
                strAgencyCode = document.getElementById("txtAgencyCode_" + strAgencyId).value;
                strAgencyName = document.getElementById("td_an_" + strAgencyId).innerHTML;
                break;
            }
        }

        objOptCommission = null;

        var objSysContainer = document.getElementById("dvSysContainer");
        objSysContainer.innerHTML = result;
        objSysContainer = null;

        //Set Agency Information
        document.getElementById("dvComissionSearchWrapper").style.display = "none";
        document.getElementById("hdAgencyId").value = strAgencyId;
        document.getElementById("dvAgencyCode").innerHTML = strAgencyCode;
        document.getElementById("dvAgencyName").innerHTML = strAgencyName;
        document.getElementById("cmdMappingSave").style.display = "none";
        
        //Call Flight Information
        GetEditCommission(strAgencyId);
    }
}
function GetEditCommission(strAgencyId) {
    HappyAirway.Webservice.wsCoreService.GetEditCommission(strAgencyId, SuccessGetEditCommission, ServiceError, ServiceTimeOut)
}
function SuccessGetEditCommission(result) {

    if (result.length > 0) {
        var objSysContainer = document.getElementById("dvFlightResult");
        objSysContainer.innerHTML = result;
        objSysContainer = null;
    }
}
function DeleteCommission() 
{
    var answer = confirm("Are you to delete?")
    if (answer) 
    {
        var objChkFlightId = document.getElementsByName("chkFlightId");
        var strXml = "";
        var dblComission;
        var bError = false;
        for (var i = 0; i < objChkFlightId.length; i++) {
            if (objChkFlightId[i].checked == true) {
                dblComission = document.getElementById("txtCommission_" + objChkFlightId[i].value).value;
                if (dblComission.length > 0 && dblComission > 0) {
                    strXml = strXml + "  <agency_commission>" +
                                  "      <flight_id>" + objChkFlightId[i].value + "</flight_id>" +
                                  "  </agency_commission>";
                }
                else {
                    bError = true;
                    break;
                }
                dblComission = 0;
            }
        }

        if (bError == false) {
            if (strXml.length > 0) {
                HappyAirway.Webservice.wsCoreService.DeleteCommission(strXml, document.getElementById("hdAgencyId").value, SuccessDeleteCommission, ServiceError, ServiceTimeOut);
            }
        }
        else {
            alert("Commission Amount Required");
        }

        objChkFlightId = null;
    }
}
function SuccessDeleteCommission(result) {
    if (result == true) {
        alert("Delete success..");
        GetEditCommission(document.getElementById("hdAgencyId").value);
    }
    else {
        alert("Delete failed!!");
    }
}

function EditCommission() {
    var objChkFlightId = document.getElementsByName("chkFlightId");
    var strXml = "";
    var dblComission;
    var bError = false;
    for (var i = 0; i < objChkFlightId.length; i++) {
        if (objChkFlightId[i].checked == true) {
            dblComission = document.getElementById("txtCommission_" + objChkFlightId[i].value).value;
            if (dblComission.length > 0 && dblComission > 0) {
                strXml = strXml + "  <agency_commission>" +
                                  "      <flight_id>" + objChkFlightId[i].value + "</flight_id>" +
                                  "      <commission>" + dblComission + "</commission>" +
                                  "  </agency_commission>";
            }
            else {
                bError = true;
                break;
            }
            dblComission = 0;
        }
    }

    if (bError == false) {
        if (strXml.length > 0) {
            HappyAirway.Webservice.wsCoreService.EditCommission(strXml, document.getElementById("hdAgencyId").value, SuccessEditCommission, ServiceError, ServiceTimeOut);
        }
    }
    else {
        alert("Commission Amount Required");
    }

    objChkFlightId = null;
}
function SuccessEditCommission(result) {
    if (result == true) {
        alert("Save success..");
    }
    else {
        alert("Save failed!!");
    }
}
