﻿function FlightSave() {

    var objHidden = document.getElementById("hdFlightId");
    var objFlightNumber = document.getElementById("txtFlightNumber");
    var objType = document.getElementById("txtPlaneType");
    var objOrigin = document.getElementById(FindControlName("select", "optOrigin"));
    var objDestination = document.getElementById(FindControlName("select", "optDestination"));

    var strXml = "<Booking>" +
                 "  <Flight>" +
                 "      <flight_id>" + objHidden.value + "</flight_id>" +
                 "      <flight_number>" + objFlightNumber.value + "</flight_number>" +
                 "      <plane_type>" + objType.value + "</plane_type>" +
                 "      <origin_rcd>" + objOrigin.options[objOrigin.selectedIndex].value + "</origin_rcd>" +
                 "      <destination_rcd>" + objDestination.options[objDestination.selectedIndex].value + "</destination_rcd>" +
                 "  </Flight>" +
                 "</Booking>";
                 
    if (objHidden.value.length == 0) {
        HappyAirway.Webservice.wsCoreService.FlightAdd(strXml, SuccessFlightAdd, ServiceError, ServiceTimeOut);
    }
    else {
        HappyAirway.Webservice.wsCoreService.SaveEditFlight(strXml, SuccessFlightAdd, ServiceError, ServiceTimeOut);
    }
    

    objFlightNumber = null;
    objType = null;
    objOrigin = null;
    objDestination = null;
}

function SuccessFlightAdd(result) {

    if (result == true) {
        alert("Save success..");
    }
    else {
        alert("Save failed!!");
    }
}

function FareSave() {

    var objHidden = document.getElementById("hdFareId");
    var objFareCode = document.getElementById("txtFareCode");
    var objFareAmount = document.getElementById("txtFareAmount");

    var strXml = "<Booking>" +
                 "  <Fare>" +
                 "      <fare_id>" + objHidden.value + "</fare_id>" +
                 "      <fare_code>" + objFareCode.value + "</fare_code>" +
                 "      <fare_amount>" + objFareAmount.value + "</fare_amount>" +
                 "  </Fare>" +
                 "</Booking>";

    if (objHidden.value.length == 0) {
        HappyAirway.Webservice.wsCoreService.FareAdd(strXml, SuccessFareSave, ServiceError, ServiceTimeOut);
    }
    else {
        HappyAirway.Webservice.wsCoreService.SaveEditFare(strXml, SuccessFareSave, ServiceError, ServiceTimeOut);
    }
    
}

function SuccessFareSave(result) {

    if (result == true) {
        alert("Save success..");
    }
    else {
        alert("Save failed!!");
    }
}

function ClearScheduleInput() {

    document.getElementById(FindControlName("input", "hdScheduleId")).value = "";
    
    document.getElementById(FindControlName("input", "chkMon")).checked = true;
    document.getElementById(FindControlName("input", "chkTue")).checked = true;
    document.getElementById(FindControlName("input", "chkWed")).checked = true;
    document.getElementById(FindControlName("input", "chkThu")).checked = true;
    document.getElementById(FindControlName("input", "chkFri")).checked = true;
    document.getElementById(FindControlName("input", "chkSat")).checked = true;
    document.getElementById(FindControlName("input", "chkSun")).checked = true;

    document.getElementById(FindControlName("select", "seDeptHour")).selectedIndex = 0
    document.getElementById(FindControlName("select", "seDeptMin")).selectedIndex = 30

    document.getElementById(FindControlName("select", "seArrivalHour")).selectedIndex = 0
    document.getElementById(FindControlName("select", "seArrivalMin")).selectedIndex = 30
}

function SaveScheduleInput() 
{
    var objHdScheduleId = document.getElementById(FindControlName("input", "hdScheduleId"));
    var objHdFlightId = document.getElementById(FindControlName("input", "hdFlightId"));
    var objDeptHour = document.getElementById(FindControlName("select", "seDeptHour"));
    var objDeptMin = document.getElementById(FindControlName("select", "seDeptMin"));
    var objArriHour = document.getElementById(FindControlName("select", "seArrivalHour"));
    var objArriMin = document.getElementById(FindControlName("select", "seArrivalMin"));

    var objMon = document.getElementById(FindControlName("input", "chkMon"));
    var objTue = document.getElementById(FindControlName("input", "chkTue"));
    var objWed = document.getElementById(FindControlName("input", "chkWed"));
    var objThu = document.getElementById(FindControlName("input", "chkThu"));
    var objFri = document.getElementById(FindControlName("input", "chkFri"));
    var objSat = document.getElementById(FindControlName("input", "chkSat"));
    var objSun = document.getElementById(FindControlName("input", "chkSun"));

    var bNew = true;
    
    var strXml = "<Booking>" +
                 "  <Schedule>" +
                 "      <schedule_id>" + objHdScheduleId.value + "</schedule_id>" +
                 "      <flight_id>" + objHdFlightId.value + "</flight_id>" +
                 "      <mon>" + objMon.checked + "</mon>" +
                 "      <tues>" + objTue.checked + "</tues>" +
                 "      <wed>" + objWed.checked + "</wed>" +
                 "      <thur>" + objThu.checked + "</thur>" +
                 "      <fri>" + objFri.checked + "</fri>" +
                 "      <sat>" + objSat.checked + "</sat>" +
                 "      <sun>" + objSun.checked + "</sun>" +
                 "      <departure_time>" + objDeptHour.options[objDeptHour.selectedIndex].value + objDeptMin.options[objDeptMin.selectedIndex].value + "</departure_time>" +
                 "      <arrival_time>" + objArriHour.options[objArriHour.selectedIndex].value + objArriMin.options[objArriMin.selectedIndex].value + "</arrival_time>" +
                 "  </Schedule>" +
                 "</Booking>";

    if (objHdScheduleId.value.length > 0) {
        bNew = false;
    }

    objHdScheduleId = null;
    objHdFlightId = null;
    objDeptHour = null;
    objDeptMin = null;
    objArriHour = null;
    objArriMin = null;

    objMon = null;
    objTue = null;
    objWed = null;
    objThu = null;
    objFri = null;
    objSat = null;
    objSun = null;
    
    //Call Server function
    HappyAirway.Webservice.wsCoreService.SaveScheduleInput(strXml, bNew, SuccessSaveScheduleInput, ServiceError, ServiceTimeOut);
}

function SuccessSaveScheduleInput(result) 
{
    if (result == true) {
        alert("Save success..");
    }
    else {
        alert("Save failed!!");
    }
}

function ShowScheduleManagement(bIsEdit) {

    var objOptFlight = document.getElementsByName("rdoFlight");

    if (objOptFlight != null) {
        for (var i = 0; i < objOptFlight.length; i++) {
            if (objOptFlight[i].checked == true) {
                var strFlightId = objOptFlight[i].value;
                
                if (bIsEdit == false)
                {strFlightId = ""; }

                HappyAirway.Webservice.wsCoreService.ShowScheduleManagement(strFlightId, SuccessShowScheduleManagement, ServiceError, ServiceTimeOut);
                break;
            }
        }
    }
    objOptFlight = null;
}

function SuccessShowScheduleManagement(result) {

    var objOptFlight = document.getElementsByName("rdoFlight");

    //TempStringValue
    var strFlightId = "";
    var strFlightNo = "";
    var strPlaneType = "";
    var strOrigin = "";
    var strDestination = "";

    if (objOptFlight != null) {
        for (var i = 0; i < objOptFlight.length; i++) {
            if (objOptFlight[i].checked == true) {
                strFlightId = objOptFlight[i].value;
                strFlightNo = document.getElementById("td_fn_" + strFlightId).innerHTML;
                strPlaneType = document.getElementById("td_pt_" + strFlightId).innerHTML;
                strOrigin = document.getElementById("td_or_" + strFlightId).innerHTML;
                strDestination = document.getElementById("td_dt_" + strFlightId).innerHTML;
                
                break;
            }
        }
    }
    objOptFlight = null;

    if (strFlightId.length > 0) {

        var objSysContainer = document.getElementById("dvSysContainer");
        objSysContainer.innerHTML = result;
        objSysContainer = null;

        document.getElementById(FindControlName("input", "hdFlightId")).value = strFlightId;
        document.getElementById("dvFlightNo").innerHTML = strFlightNo;
        document.getElementById("dvPlaneType").innerHTML = strPlaneType;
        document.getElementById("dvOrigin").innerHTML = strOrigin;
        document.getElementById("dvDestination").innerHTML = strDestination;

        //Show or Hide Schedule and Generate flight
        document.getElementById("dvScheduleInputWrapper").style.display = "block";
        document.getElementById("dvGenFlightWrappper").style.display = "none";
    }
}

function ShowGenerateFlight() {

    var objOptFlight = document.getElementsByName("rdoFlight");

    if (objOptFlight != null) {
        for (var i = 0; i < objOptFlight.length; i++) {
            if (objOptFlight[i].checked == true) {
                var strFlightId = objOptFlight[i].value;

                HappyAirway.Webservice.wsCoreService.ShowScheduleManagement("", SuccessShowGenerateFlight, ServiceError, ServiceTimeOut);
                break;
            }
        }
    }
    objOptFlight = null;
}

function SuccessShowGenerateFlight(result) {

    var objOptFlight = document.getElementsByName("rdoFlight");

    //TempStringValue
    var strFlightId = "";
    var strFlightNo = "";
    var strPlaneType = "";
    var strOrigin = "";
    var strDestination = "";

    if (objOptFlight != null) {
        for (var i = 0; i < objOptFlight.length; i++) {
            if (objOptFlight[i].checked == true) {
                strFlightId = objOptFlight[i].value;
                strFlightNo = document.getElementById("td_fn_" + strFlightId).innerHTML;
                strPlaneType = document.getElementById("td_pt_" + strFlightId).innerHTML;
                strOrigin = document.getElementById("td_or_" + strFlightId).innerHTML;
                strDestination = document.getElementById("td_dt_" + strFlightId).innerHTML;

                break;
            }
        }
    }
    objOptFlight = null;

    if (strFlightId.length > 0) {

        var objSysContainer = document.getElementById("dvSysContainer");
        objSysContainer.innerHTML = result;
        objSysContainer = null;

        document.getElementById(FindControlName("input", "hdFlightId")).value = strFlightId;
        document.getElementById("dvFlightNo").innerHTML = strFlightNo;
        document.getElementById("dvPlaneType").innerHTML = strPlaneType;
        document.getElementById("dvOrigin").innerHTML = strOrigin;
        document.getElementById("dvDestination").innerHTML = strDestination;

        document.getElementById("h2MappingHeader").innerHTML = "Generate Flight";

        //Show or Hide Schedule and Generate flight
        document.getElementById("dvScheduleInputWrapper").style.display = "none";
        document.getElementById("dvGenFlightWrappper").style.display = "block";

        //Set Initialize Calendar
        show_date('CarFromDate', today.getMonth(), today.getFullYear(), '');
        show_date('CarToDate', today.getMonth(), today.getFullYear(), '');
    }
}

function GenerateFlight() 
{

    var objFlightId = document.getElementById(FindControlName("input", "hdFlightId"));
    var objDateFrom = document.getElementById("txt_CarFromDate");
    var objDateTo = document.getElementById("txt_CarToDate");

    if (objDateFrom.value.length == 0) 
    {
        alert("Date From Required"); 
    }
    else if (objDateTo.value.length == 0) 
    {
        alert("Date To Required");
    }
    else 
    {
        HappyAirway.Webservice.wsCoreService.GenerateFlight(objFlightId.value, objDateFrom.value, objDateTo.value, SuccessGenerateFlight, ServiceError, ServiceTimeOut); 
    }

    objFlightId = null;
    objDateFrom = null;
    objDateTo = null;
}

function SuccessGenerateFlight(result) 
{
    if (result == true) {
        alert("Generate Flight success..");
    }
    else {
        alert("Generate Flight failed!!");
    }
}
function CancelFlight() {

    var objFlightId = document.getElementById(FindControlName("input", "hdFlightId"));
    var objDateFrom = document.getElementById("txt_CarFromDate");
    var objDateTo = document.getElementById("txt_CarToDate");

    if (objDateFrom.value.length == 0) {
        alert("Date From Required");
    }
    else if (objDateTo.value.length == 0) {
        alert("Date To Required");
    }
    else {
        HappyAirway.Webservice.wsCoreService.CancelFlight(objFlightId.value, objDateFrom.value, objDateTo.value, SuccessCancelFlight, ServiceError, ServiceTimeOut);
    }

    objFlightId = null;
    objDateFrom = null;
    objDateTo = null;
}
function ActiveFlight() {

    var objFlightId = document.getElementById(FindControlName("input", "hdFlightId"));
    var objDateFrom = document.getElementById("txt_CarFromDate");
    var objDateTo = document.getElementById("txt_CarToDate");

    if (objDateFrom.value.length == 0) {
        alert("Date From Required");
    }
    else if (objDateTo.value.length == 0) {
        alert("Date To Required");
    }
    else {
        HappyAirway.Webservice.wsCoreService.ActiveFlight(objFlightId.value, objDateFrom.value, objDateTo.value, SuccessCancelFlight, ServiceError, ServiceTimeOut);
    }

    objFlightId = null;
    objDateFrom = null;
    objDateTo = null;
}

function SuccessCancelFlight(result) {
    if (result == true) {
        alert("Update information completed..");
    }
    else {
        alert("No information updated!!");
    }
}

function DeleteFlight() 
{    
    var answer = confirm("Are you to delete?")
    if (answer) 
    {
        var objFlightId = document.getElementById(FindControlName("input", "hdFlightId"));
        var objDateFrom = document.getElementById("txt_CarFromDate");
        var objDateTo = document.getElementById("txt_CarToDate");

        if (objDateFrom.value.length == 0) {
            alert("Date From Required");
        }
        else if (objDateTo.value.length == 0) {
            alert("Date To Required");
        }
        else {
            HappyAirway.Webservice.wsCoreService.DeleteFlight(objFlightId.value, objDateFrom.value, objDateTo.value, SuccessDeleteFlight, ServiceError, ServiceTimeOut);
        }

        objFlightId = null;
        objDateFrom = null;
        objDateTo = null;
    }
}

function SuccessDeleteFlight(result) {
    if (result == true) {
        alert("Delete Flight success..");
    }
    else {
        alert("Delete Flight failed!!");
    }
}
function GetTimeTable() 
{
    HappyAirway.Webservice.wsCoreService.GetTimeTable(SuccessGetTimeTable, ServiceError, ServiceTimeOut);
}
function SuccessGetTimeTable(result) 
{
    var objMain = document.getElementById("dvMain");
    objMain.innerHTML = result;
    objMain = null
}
function CutOverFlight() 
{
    var answer = confirm("Are you sure to set cut over date?");
    if (answer) 
     {
         HappyAirway.Webservice.wsCoreService.CutOverFlight(SuccessCutOverFlight, ServiceError, ServiceTimeOut);
     }
}
function CancelCutOverFlight() 
{
    var answer = confirm("Are You Sure To Set Cut Over Date?");
    if (answer) 
    {
        HappyAirway.Webservice.wsCoreService.CancelCutOverFlight(SuccessCutOverFlight, ServiceError, ServiceTimeOut);
    }
}
function SuccessCutOverFlight(result) 
{
    if (result == true) {
        alert("Operation success..");
    }
    else {
        alert("Operation failed!!");
    }
}
function DeleteFlightInformation() 
{
    var objHidden = document.getElementById("hdFlightId");
    if (objHidden != null) 
    {
        HappyAirway.Webservice.wsCoreService.DeleteFlightInformation(objHidden.value, SuccessDeleteFlightInformation, ServiceError, ServiceTimeOut);
    }
    objHidden = null;

}
function SuccessDeleteFlightInformation(result) {
    if (result == true) {
        alert("Flight is deleted..");
    }
    else {
        alert("Delete failed!!");
    }
}
function DeleteFares() 
{
  var answer = confirm("Are you to delete?")
  if (answer) 
  {
      var strFareId = "";
      var objOptFare = document.getElementsByName("rdoFare");

      if (objOptFare != null) {
          for (var i = 0; i < objOptFare.length; i++) {
              if (objOptFare[i].checked == true) {
                  strFareId = objOptFare[i].value;
                  break;
              }
          }
          if (strFareId.length > 0) {
              HappyAirway.Webservice.wsCoreService.DeleteFares(strFareId, SuccessDeleteFares, ServiceError, ServiceTimeOut);
          }

      }
  }   
}

function SuccessDeleteFares(result) {

    if (result == true) {
        GetFareInformation();
    }
    else {
        alert("Save failed!!");
    }
}