function loadContent(result, controlContent) {
    var errorResult = result.split(",")

    if (errorResult.length == 2 && errorResult[0] == 'Error') {
        if (errorResult[1] == 'session_expired') {
            loadLogout();
        }
        else {
            cleanErrorpanel();
            var pnError = document.getElementById('pnError');
            pnError.innerHTML += "- " + errorResult[1] + "<br />";
        }
    }
    else {
        document.getElementById(controlContent).innerHTML = result;
    }
}

function loadGridPaging(result) {
    var errorResult = result.split(",");
    if (errorResult.length == 2 && errorResult[0] == 'Error') {
        if (errorResult[1] == 'session_expired') {
            loadLogout();
        }
        else {
            cleanErrorpanel();
            var pnError = document.getElementById('pnError');
            pnError.innerHTML += "- " + errorResult[1] + "<br />";
        }
    }
    else {
        var GridSalesReport = document.getElementById('DVsalesReport');
        successed();
        GridSalesReport.innerHTML = result;
        var display = document.getElementById('display');
        var Tr_btnCommand = document.getElementById('Tr_btnCommand');
        display.style.display = "block";
        Tr_btnCommand.style.display = "block";
    }
}

function loadticketsissuereport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadTicketsIssueReport('false', loadticketsissuereportresult)
}

function loadticketsissuereportresult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function LoadBackReport(reportName) {
    switch (reportName) {
        case "IssuedTicketsReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadTicketsIssueReport('true', loadbackticketsissuereportresult);
            break;
        case "FlownTicketsReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadFlownTicketsReport('true', loadbackticketsissuereportresult);
            break;
        case "RefundedTicketsReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadRefundedTicketsReport('true', loadbackticketsissuereportresult);
            break;
        case "CancelledTicketsReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadCancelledTicketsReport('true', loadbackticketsissuereportresult);
            break;
        case "UnflownTicketsReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadUnflownTicketsReport('true', loadbackticketsissuereportresult);
            break;
        case "ExpiredTicketsReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadExpiredTicketsReport('true', loadbackticketsissuereportresult);
            break;
        case "FeesReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadFeesReport('true', loadbackticketsissuereportresult);
            break;
        case "CashbookReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadCashbookReport('true', loadbackChargereportresult);
            break;
        case "CreditCardApprovalsReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadCreditCardApprovalsReport('true', loadbackticketsissuereportresult);
            break;
        case "BookingReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadBookingReport('true', loadbackbookingreportresult);
            break;
        case "PendingPaymentReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadPendingPaymentReport('true', loadbackbookingreportresult);
            break;
        case "PendingRefundReport":
            wait();
            tikAEROWebB2E.WebService.ReportService.LoadPendingRefundReport('true', loadbackbookingreportresult);
            break;
        case "AgencySalesReport":
            LoadBackAgencySalesReport();
            break;
        case "AgencyAccountTransactionsReport":
            tikAEROWebB2E.WebService.ReportService.LoadAgencyAccountTransactionsReport('true', loadbackagencyaccounttransactionsresult);
            break;
        case "AgencyAccountTopUpReport":
            tikAEROWebB2E.WebService.ReportService.LoadAgencyAccountTopUpReport('true', loadbackticketsissuereportresult);
            break;
    }
}

function loadbackbookingreportresult(result) {
    successed();
    loadContent(result, 'content');
    var display = document.getElementById('display');
    var Tr_btnCommand = document.getElementById('Tr_btnCommand');
    display.style.display = "block";
    Tr_btnCommand.style.display = "block";

    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');

    if (document.getElementById('btnflightdatefrom') != null)
        RegisCalendar('ctl00_CalendarExtender2', 'btnflightdatefrom', 'flightdatefrom');

    if (document.getElementById('btnflightdateto') != null)
        RegisCalendar('ctl00_CalendarExtender3', 'btnflightdateto', 'flightdateto');

    document.getElementById('saledateto').value = document.getElementById('reportTo').value;
    document.getElementById('saledatefrom').value = document.getElementById('reportFrom').value;

    if (document.getElementById('passenger') != null)
        document.getElementById('passengerName').value = document.getElementById('passenger').value;

    if (document.getElementById('recordLocator') != null)
        document.getElementById('bookingReference').value = document.getElementById('recordLocator').value;

    if (document.getElementById('flightFrom') != null)
        document.getElementById('flightdatefrom').value = document.getElementById('flightFrom').value;

    if (document.getElementById('flightTo') != null)
        document.getElementById('flightdateto').value = document.getElementById('flightTo').value;

    if (document.getElementById('ticketNumber') != null)
        document.getElementById('tickerNumber').value = document.getElementById('ticketNumber').value;

    if (document.getElementById('flight') != null)
        document.getElementById('uxFlgNum').value = document.getElementById('flight').value;

    window.scrollTo(0, 0);
}

function loadbackticketsissuereportresult(result) {
    successed();
    loadContent(result, 'content');
    var display = document.getElementById('display');
    var Tr_btnCommand = document.getElementById('Tr_btnCommand');
    display.style.display = "block";
    Tr_btnCommand.style.display = "block";

    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');

    if (document.getElementById('btnflightdatefrom') != null)
        RegisCalendar('ctl00_CalendarExtender2', 'btnflightdatefrom', 'flightdatefrom');

    if (document.getElementById('btnflightdateto') != null)
        RegisCalendar('ctl00_CalendarExtender3', 'btnflightdateto', 'flightdateto');

    document.getElementById('saledateto').value = document.getElementById('reportTo').value;
    document.getElementById('saledatefrom').value = document.getElementById('reportFrom').value;

    window.scrollTo(0, 0);
}

function loadbackChargereportresult(result) {
    successed();
    loadContent(result, 'content');
    var display = document.getElementById('display');
    var displaydrill = document.getElementById('drilldown');
    var Tr_btnCommand = document.getElementById('Tr_btnCommand');
    display.style.display = "block";
    displaydrill.style.display = "block";
    Tr_btnCommand.style.display = "block";

    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');

    document.getElementById('saledateto').value = document.getElementById('reportTo').value;
    document.getElementById('saledatefrom').value = document.getElementById('reportFrom').value;

    ChangeCSS('salesreportMain', 'GridItems0_o', 'GridItems0', document.getElementById('hdRow').value);

    window.scrollTo(0, 0);
}

function loadFlownTicketsReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadFlownTicketsReport('false', loadFlownTicketsReportresult)
}

function loadFlownTicketsReportresult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function LoadAgencySalesReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadAgencySalesReport('false', LoadAgencySalesReportresult)
}

function LoadAgencySalesReportresult(result) {
    successed();
    loadContent(result, 'content');

    if (document.getElementById('btnflightdatefrom') != null)
        RegisCalendar('ctl00_CalendarExtender2', 'btnflightdatefrom', 'flightdatefrom');

    if (document.getElementById('btnflightdateto') != null)
        RegisCalendar('ctl00_CalendarExtender3', 'btnflightdateto', 'flightdateto');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function LoadBookingDetail(bookid, reportName, page) {
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');

    var hdformOfPayment = document.getElementById('hdformOfPayment');
    var hdformOfPaymentSubtype = document.getElementById('hdformOfPaymentSubtype');
    var hdDrill = document.getElementById('hdDrill');
    var flightdatefrom = document.getElementById('flightdatefrom');
    var flightdateto = document.getElementById('flightdateto');
    var passengerName = document.getElementById('passengerName');
    var bookingReference = document.getElementById('bookingReference');
    var tickerNumber = document.getElementById('tickerNumber');
    var uxddlFlightNumber = document.getElementById('uxddlFlightNumber');
    var uxFlgNum = document.getElementById('uxFlgNum');

    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;
    var formOfPayment = "";
    var formOfPaymentSubtype = "";
    var Drill = "";
    var strflightdatefrom = "";
    var strflightdateto = "";
    var Airline = getVal(uxddlFlightNumber);
    var FlightNumber = "";
    var strPassengerName = "";
    var strbookingReference = "";
    var strtickerNumber = "";

    if (hdformOfPayment != null)
        formOfPayment = hdformOfPayment.value;
    if (hdformOfPaymentSubtype != null)
        formOfPaymentSubtype = hdformOfPaymentSubtype.value;
    if (hdformOfPayment != null)
        Drill = hdDrill.value;
    if (flightdatefrom != null)
        strflightdatefrom = flightdatefrom.value;
    if (flightdateto != null)
        strflightdateto = flightdateto.value;
    if (uxFlgNum != null)
        FlightNumber = uxFlgNum.value;
    if (passengerName != null)
        strPassengerName = passengerName.value;
    if (bookingReference != null)
        strbookingReference = bookingReference.value;
    if (tickerNumber != null)
        strtickerNumber = tickerNumber.value;

    wait();
    if (reportName != "AgencySalesReport") {
        tikAEROWebB2E.WebService.ReportService.LoadBookingDetail(bookid, Origin, Destination, strTicketingFrom, strTicketingTo,
                    reportName, formOfPayment, formOfPaymentSubtype, Drill, strflightdatefrom, strflightdateto,
                    Airline, FlightNumber, strPassengerName, strbookingReference, strtickerNumber, page, LoadBookingDetailResult);
    }
    else {
        tikAEROWebB2E.WebService.ReportService.LoadBookingDetail(bookid, Origin, Destination, strTicketingFrom, strTicketingTo,
                    reportName, formOfPayment, formOfPaymentSubtype, Drill, strflightdatefrom, strflightdateto,
                    Airline, FlightNumber, strPassengerName, strbookingReference, strtickerNumber, page, LoadBookingAgencySalesReportResult);
    }
//    tikAEROWebB2E.WebService.ReportService.LoadBookingDetail(bookid, Origin, Destination, strTicketingFrom, strTicketingTo,
//                    reportName, formOfPayment, formOfPaymentSubtype, Drill, strflightdatefrom, strflightdateto,
//                    Airline, FlightNumber, strPassengerName, strbookingReference, strtickerNumber, page, LoadBookingDetailResult);
}

function LoadBookingDetailResult(result) {
    successed();
    loadContent(result, 'content');
    window.scrollTo(0, 0);
}

function LoadBookingAgencySalesReportResult(result) {
    successed();
    var dvReportBody = document.getElementById('ReportBody');
    dvReportBody.style.display = "none";
    loadContent(result, 'BookingContent');
    window.scrollTo(0, 0);
}

function LoadBackAgencySalesReport() {
    successed();
    var dvReportBody = document.getElementById('ReportBody');
    dvReportBody.style.display = "block";
    var dvBookingContent = document.getElementById('BookingContent');
    dvBookingContent.innerHTML = "";
}

function GetTicketsIssue(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');

    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (GridPages != null) {
        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();
        tikAEROWebB2E.WebService.ReportService.GetTicketsIssue(cpage, pageindex, true, "/XSL/Reports/IssuedTicketsReport.xsl", strTicketingFrom, strTicketingTo, "", "", Origin, Destination, "", "", "", GetTicketsIssueresult);
    }
}

function GetTicketsIssueresult(result) {
    loadGridPaging(result);
}

function GetTicketsDate(dateType, reportName) {
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');

    var today = new Date();
    var month = today.getMonth() + 1;

    switch (dateType) {
        case "Today":
            saledatefrom.value = SetFormatDate(today.getDate(), month, today.getFullYear());
            saledateto.value = SetFormatDate(today.getDate(), month, today.getFullYear());
            CallReportFunction(reportName);
            break;
        case "Yesterday":
            saledatefrom.value = DateDiff(today, 1); //(today.getDate()-1) + "/" + (today.getMonth() + 1) + "/" + today.getFullYear();
            saledateto.value = DateDiff(today, 1); //(today.getDate()-1) + "/" + (today.getMonth() + 1)  + "/" + today.getFullYear();
            CallReportFunction(reportName);
            break;
        case "ThisWeek":
            saledatefrom.value = DateDiff(today, today.getDay()); //(today.getDate() - today.getDay()) + "/" + (today.getMonth() + 1) + "/" + today.getFullYear();
            saledateto.value = SetFormatDate(today.getDate(), month, today.getFullYear());
            CallReportFunction(reportName);
            break;
        case "LastWeek":
            saledatefrom.value = DateDiff(today, today.getDay() + 6); //(today.getDate() - today.getDay() - 6) + "/" + (today.getMonth() + 1) + "/" + today.getFullYear();
            saledateto.value = DateDiff(today, today.getDay()); //(today.getDate() - today.getDay()) + "/" + (today.getMonth() + 1)  + "/" + today.getFullYear();
            CallReportFunction(reportName);
            break;
        case "LastMonth":
            var oldMonth = month - 1;
            var year = today.getFullYear();
            if (oldMonth == 0) {
                oldMonth = 12;
                year = year - 1;
            }

            saledatefrom.value = SetFormatDate(1, oldMonth, year);
            if (oldMonth == 1 || oldMonth == 3 || oldMonth == 5 || oldMonth == 7 || oldMonth == 8 || oldMonth == 10 || oldMonth == 12)
                saledateto.value = SetFormatDate(31, oldMonth, year);
            else if (oldMonth == 4 || oldMonth == 6 || oldMonth == 9 || oldMonth == 11)
                saledateto.value = SetFormatDate(30, oldMonth, year);
            else if (oldMonth == 2)
                saledateto.value = SetFormatDate(28, oldMonth, year);
            CallReportFunction(reportName);
            break;
    }
}

function SetFormatDate(day, month, year) {
    if (day < 10 && month < 10)
        return "0" + day + "/0" + month + "/" + year;
    else if (day < 10 && month >= 10)
        return "0" + day + "/" + month + "/" + year;
    else if (day >= 10 && month >= 10)
        return day + "/" + month + "/" + year;
    else
        return day + "/0" + month + "/" + year;
}

function DateDiff(date, diff) {
    var day = date.getDate();
    var month = date.getMonth() + 1;
    var year = date.getFullYear();

    if ((day - diff) <= 0) {
        month = month - 1;
        if (month > 0) {
            if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
                day = 31 + (day - diff);
            else if (month == 4 || month == 6 || month == 9 || month == 11)
                day = 30 + (day - diff);
            else if (month == 2)
                day = 28 + (day - diff);
        }
        else {
            month = 12;
            year = year - 1;
        }
    }
    else
        day = day - diff;

    return SetFormatDate(day, month, year);

}

function CallReportFunction(reportName) {
    switch (reportName) {
        case "IssuedTickets":
            GetTicketsIssue(0);
            break;
        case "FlownTickets":
            GetFlownTickets(0);
            break;
        case "RefundedTickets":
            GetRefundedTickets(0);
            break;
        case "CancelledTickets":
            GetTicketsCancelled(0);
            break;
        case "UnflownTickets":
            GetUnflownTickets(0);
            break;
        case "ExpiredTickets":
            GetTicketsExpired(0);
            break;
        case "Fees":
            GetFees(0);
            break;
        case "Cashbook":
            GetCashbook(0);
            break;
        case "CreditCardApprovals":
            GetCreditCardApprovals(0);
            break;
        case "Booking":
            GetGetBookings(0);
            break;
        case "PendingPayment":
            GetPendingPayment(0);
            break;
        case "PendingRefund":
            GetPendingRefund(0);
            break;
        case "AgencySales":
            GetAgencySales(0);
            break;
        case "AgencyAccountTransactions":
            GetTransactions(0);
            break;
        case "AgencyAccountTopUp":
            GetTopUp(0);
            break;
        // Start Yai add TravelAgencyTicketSales 
        case "AgencyTicketSales":
            GetAgencyTicketSales(0);
            break;
        // End Yai add TravelAgencyTicketSales 
    }
}

function GetFlownTickets(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');

    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (GridPages != null) {

        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();
        tikAEROWebB2E.WebService.ReportService.GetFlownTickets(cpage, pageindex, true, "/XSL/Reports/FlownTicketsReport.xsl", strTicketingFrom, strTicketingTo, "", "", Origin, Destination, "", "", "", GetFlownTicketsresult);
    }
}

function GetFlownTicketsresult(result) {
    loadGridPaging(result);
}

function GetRefundedTickets(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');
    
    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (GridPages != null) {
        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();
        tikAEROWebB2E.WebService.ReportService.GetRefundedTickets(cpage, pageindex, true, "/XSL/Reports/RefundedTicketsReport.xsl", strTicketingFrom, strTicketingTo, "", "", Origin, Destination, "", "", "", GetRefundedTicketsresult);
    }
}

function GetRefundedTicketsresult(result) {
    loadGridPaging(result);
}

function OpenTicketDetail(booking_id, passengerId, bookingSegmentId) {
    window.open("ReportPopUp.aspx?bid=" + booking_id + "&pid=" + passengerId + "&sid=" + bookingSegmentId);
}

function LoadRefundedTicketsReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadRefundedTicketsReport('false', LoadRefundedTicketsReportResult)
}

function LoadRefundedTicketsReportResult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function LoadCancelledTicketsReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadCancelledTicketsReport('false', LoadCancelledTicketsReportResult)
}

function LoadCancelledTicketsReportResult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function GetTicketsCancelled(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');

    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (GridPages != null) {
        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();
        tikAEROWebB2E.WebService.ReportService.GetTicketsCancelled(cpage, pageindex, true, "/XSL/Reports/CancelledTicketsReport.xsl", strTicketingFrom, strTicketingTo, "", "", Origin, Destination, "", "", "", GetTicketsCancelledsresult);
    }
}

function GetTicketsCancelledsresult(result) {
    loadGridPaging(result);
}

function LoadUnflownTicketsReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadUnflownTicketsReport('false', LoadUnflownTicketsReportResult)
}

function LoadUnflownTicketsReportResult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function GetUnflownTickets(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');


    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (GridPages != null) {
        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();
        tikAEROWebB2E.WebService.ReportService.GetUnflownTickets(cpage, pageindex, true, "/XSL/Reports/UnflownTicketsReport.xsl", strTicketingFrom, strTicketingTo, "", "", Origin, Destination, "", "", "", GetUnflownTicketsResult);
    }
}

function GetUnflownTicketsResult(result) {
    loadGridPaging(result);
}

function LoadExpiredTicketsReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadExpiredTicketsReport('false', LoadExpiredTicketsReportResult)
}

function LoadExpiredTicketsReportResult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function GetTicketsExpired(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');


    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (GridPages != null) {

        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();


        tikAEROWebB2E.WebService.ReportService.GetTicketsExpired(cpage, pageindex, true, "/XSL/Reports/ExpiredTicketsReport.xsl"
                        , strTicketingFrom, strTicketingTo, "", "", Origin, Destination, "", "", "", GetTicketsExpiredResult);
    }
}

function GetTicketsExpiredResult(result) {
    loadGridPaging(result);
}

function LoadFeesReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadFeesReport('false', LoadFeesReportResult)
}

function LoadFeesReportResult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function GetFees(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');

    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (GridPages != null) {
        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();
        tikAEROWebB2E.WebService.ReportService.GetBookingFeeAccounted(cpage, pageindex, true, "/XSL/Reports/FeesReport.xsl", strTicketingFrom, strTicketingTo, "", "", Origin, Destination, "", "", "", GetFeesResult);
    }
}

function GetFeesResult(result) {
    loadGridPaging(result);
}

function LoadCashbookReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadCashbookReport('false', LoadCashbookReportResult)
}

function LoadCashbookReportResult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function GetCashbook(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');


    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (GridPages != null) {

        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();


        tikAEROWebB2E.WebService.ReportService.GetCashbook(cpage, pageindex, true, "/XSL/Reports/CashbookReport.xsl"
                        , strTicketingFrom, strTicketingTo, "", "", Origin, Destination, "", "", "", GetCashbookResult);
    }
}

function GetCashbookResult(result) {
    var errorResult = result.split(",")

    if (errorResult.length == 2 && errorResult[0] == 'Error') {
        if (errorResult[1] == 'session_expired') {
            loadLogout();
        }
        else {
            cleanErrorpanel();
            var pnError = document.getElementById('pnError');
            pnError.innerHTML += "- " + errorResult[1] + "<br />";
        }
    }
    else {
        var GridSalesReport = document.getElementById('DVsalesReport');
        successed();
        GridSalesReport.innerHTML = result;
        var display = document.getElementById('display');
        display.style.display = "block";

    }

    var display = document.getElementById('drilldown');
    display.style.display = "none";
    var Tr_btnCommand = document.getElementById('Tr_btnCommand');
    Tr_btnCommand.style.display = "none";
}

function LoadCreditCardApprovalsReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadCreditCardApprovalsReport('false', LoadCreditCardApprovalsReportResult)
}

function LoadCreditCardApprovalsReportResult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function GetCreditCardApprovals(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');

    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (GridPages != null) {

        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();
        tikAEROWebB2E.WebService.ReportService.GetCreditCardApprovals(cpage, pageindex, true, "/XSL/Reports/CreditCardApprovalsReport.xsl" , strTicketingFrom, strTicketingTo, "", "", Origin, Destination, "", "", "", GetCreditCardApprovalsResult);
    }
}

function GetCreditCardApprovalsResult(result) {
    loadGridPaging(result);
}

function GetCashbookPayment(pageindex, formOfPayment, formOfPaymentSubtype, itemID, cssName, cssOldName, row) {

    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');
    var hdformOfPayment = document.getElementById('hdformOfPayment');
    var hdformOfPaymentSubtype = document.getElementById('hdformOfPaymentSubtype');
    var hdDrill = document.getElementById('hdDrill');

    hdformOfPayment.value = formOfPayment;
    hdformOfPaymentSubtype.value = formOfPaymentSubtype;
    hdDrill.value = 'payment';

    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (cssName != "")
        ChangeCSS(itemID, cssName, cssOldName, row);

    if (GridPages != null) {

        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();

        tikAEROWebB2E.WebService.ReportService.GetCashbookPayments(cpage, pageindex, true, "/XSL/Reports/CashbookPaymentReport.xsl"
                        , strTicketingFrom, strTicketingTo, "", "", Origin, Destination, "", "", "", formOfPayment
                        , formOfPaymentSubtype, row, GetCashbookPaymentResult);
    }
}

function GetCashbookPaymentResult(result) {
    var errorResult = result.split(",")

    if (errorResult.length == 2 && errorResult[0] == 'Error') {
        if (errorResult[1] == 'session_expired') {
            loadLogout();
        }
        else {
            cleanErrorpanel();
            var pnError = document.getElementById('pnError');
            pnError.innerHTML += "- " + errorResult[1] + "<br />";
        }
    }
    else {
        var GridSalesReport = document.getElementById('DVpayment');
        successed();
        GridSalesReport.innerHTML = result;
        var display = document.getElementById('drilldown');
        var Tr_btnCommand = document.getElementById('Tr_btnCommand');
        display.style.display = "block";
        Tr_btnCommand.style.display = "block";

    }
}

function GetCashbookCharges(pageindex, formOfPayment, formOfPaymentSubtype, itemID, cssName, cssOldName, row) {

    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');
    var hdformOfPayment = document.getElementById('hdformOfPayment');
    var hdformOfPaymentSubtype = document.getElementById('hdformOfPaymentSubtype');
    var hdDrill = document.getElementById('hdDrill');

    hdformOfPayment.value = formOfPayment;
    hdformOfPaymentSubtype.value = formOfPaymentSubtype;
    hdDrill.value = 'charges';


    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (cssName != "")
        ChangeCSS(itemID, cssName, cssOldName, row);

    if (GridPages != null) {

        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();

        tikAEROWebB2E.WebService.ReportService.GetCashbookCharges(cpage, pageindex, true, "/XSL/Reports/CashbookChargeReport.xsl"
                        , strTicketingFrom, strTicketingTo, "", "", Origin, Destination, "", "", "", formOfPayment
                        , formOfPaymentSubtype, row, GetCashbookPaymentResult);
    }
}

function ChangeCSS(itemID, cssName, oldCssName, row) {

    var table = document.getElementById(itemID);
    var rowclick;
    if (row != '') {
        rowclick = parseInt(row, 10);
        for (var i = 0; i < table.rows.length - 2; i++) {
            if ((i + 1) == rowclick) {
                table.rows[i + 1].className = cssName;
            }
            else
                table.rows[i + 1].className = oldCssName;
        }
    }
    else {
        rowclick = table.rows.length - 2;
        for (var i = 0; i < table.rows.length - 2; i++) {
            if ((i + 1) == rowclick)
                table.rows[i + 1].className = cssName;
            else
                table.rows[i + 1].className = oldCssName;
        }
    }


}

function LoadBookingReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadBookingReport('false', LoadBookingReportResult);
}

function LoadBookingReportResult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender2', 'btnflightdatefrom', 'flightdatefrom');
    RegisCalendar('ctl00_CalendarExtender3', 'btnflightdateto', 'flightdateto');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function GetGetBookings(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var flightdatefrom = document.getElementById('flightdatefrom');
    var flightdateto = document.getElementById('flightdateto');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');
    var passengerName = document.getElementById('passengerName');
    var bookingReference = document.getElementById('bookingReference');
    var tickerNumber = document.getElementById('tickerNumber');
    var uxddlFlightNumber = document.getElementById('uxddlFlightNumber');
    var uxFlgNum = document.getElementById('uxFlgNum');


    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strflightdatefrom = flightdatefrom.value;
    var strflightdateto = flightdateto.value;
    var strcreatedatefrom = saledatefrom.value;
    var strcreatedateto = saledateto.value;
    var Airline = getVal(uxddlFlightNumber);
    var FlightNumber = uxFlgNum.value;
    var strPassengerName = passengerName.value;
    var strbookingReference = bookingReference.value;
    var strtickerNumber = tickerNumber.value;


    if (GridPages != null) {

        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();

        tikAEROWebB2E.WebService.ReportService.GetBookings(cpage, pageindex, true, "/XSL/Reports/BookingReport.xsl"
                       , strcreatedatefrom, strcreatedateto, strflightdatefrom, strflightdateto
                       , Origin, Destination, "", Airline, FlightNumber, strPassengerName, strbookingReference
                       , strtickerNumber, GetGetBookingsResult);
    }
}

function GetGetBookingsResult(result) {
    loadGridPaging(result);
}


function LoadPendingPaymentReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadPendingPaymentReport('false', LoadPendingPaymentReportResult)
}

function LoadPendingPaymentReportResult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender2', 'btnflightdatefrom', 'flightdatefrom');
    RegisCalendar('ctl00_CalendarExtender3', 'btnflightdateto', 'flightdateto');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function GetPendingPayment(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var flightdatefrom = document.getElementById('flightdatefrom');
    var flightdateto = document.getElementById('flightdateto');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');
    var uxddlFlightNumber = document.getElementById('uxddlFlightNumber');
    var uxFlgNum = document.getElementById('uxFlgNum');


    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strflightdatefrom = flightdatefrom.value;
    var strflightdateto = flightdateto.value;
    var strcreatedatefrom = saledatefrom.value;
    var strcreatedateto = saledateto.value;
    var Airline = getVal(uxddlFlightNumber);
    var FlightNumber = uxFlgNum.value;


    if (GridPages != null) {

        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();

        tikAEROWebB2E.WebService.ReportService.GetPendingPayment(cpage, pageindex, true, "/XSL/Reports/PendingPaymentReport.xsl"
                       , strcreatedatefrom, strcreatedateto, strflightdatefrom, strflightdateto
                       , Origin, Destination, "", Airline, FlightNumber, GetGetBookingsResult);
    }
}

function GetPendingPaymentResult(result) {
    loadGridPaging(result);
}


function LoadPendingRefundReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadPendingRefundReport('false', LoadPendingRefundReportResult)
}

function LoadPendingRefundReportResult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender2', 'btnflightdatefrom', 'flightdatefrom');
    RegisCalendar('ctl00_CalendarExtender3', 'btnflightdateto', 'flightdateto');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function GetPendingRefund(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var flightdatefrom = document.getElementById('flightdatefrom');
    var flightdateto = document.getElementById('flightdateto');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');
    var uxddlFlightNumber = document.getElementById('uxddlFlightNumber');
    var uxFlgNum = document.getElementById('uxFlgNum');


    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strflightdatefrom = flightdatefrom.value;
    var strflightdateto = flightdateto.value;
    var strcreatedatefrom = saledatefrom.value;
    var strcreatedateto = saledateto.value;
    var Airline = getVal(uxddlFlightNumber);
    var FlightNumber = uxFlgNum.value;


    if (GridPages != null) {

        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();

        tikAEROWebB2E.WebService.ReportService.GetPendingRefund(cpage, pageindex, true, "/XSL/Reports/PendingRefundReport.xsl"
                       , strcreatedatefrom, strcreatedateto, strflightdatefrom, strflightdateto
                       , Origin, Destination, "", Airline, FlightNumber, GetGetBookingsResult);
    }
}

function GetPendingRefundResult(result) {
    loadGridPaging(result);
}
function GetAgencySales(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var uxOrigin = document.getElementById('uxOrigin');
    var uxDest = document.getElementById('uxDest');
    var flightdatefrom = document.getElementById('flightdatefrom');
    var flightdateto = document.getElementById('flightdateto');
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');
    var uxddlFlightNumber = document.getElementById('uxddlFlightNumber');
    var uxFlgNum = document.getElementById('uxFlgNum');
    var ddlStatus = document.getElementById("ddlStatus");
    var ddlOwner = document.getElementById("ddlOwner");

    var Origin = getVal(uxOrigin);
    var Destination = getVal(uxDest);
    var strflightdatefrom = flightdatefrom.value;
    var strflightdateto = flightdateto.value;
    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;
    var Airline = getVal(uxddlFlightNumber);
    var FlightNumber = uxFlgNum.value;
    var Status = ddlStatus.value;
    var Owner = ddlOwner.value;

    /*
    if (trim(saledatefrom.value) != "") {
    strTicketingFrom = ConvertDateForOperation(saledatefrom.value);
    }
    if (trim(saledateto.value) != "") {
    strTicketingTo = ConvertDateForOperation(saledateto.value);
    }
    */

    if (GridPages != null) {

        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();

        tikAEROWebB2E.WebService.ReportService.GetAgencySales(cpage, pageindex, true, "/XSL/Reports/AgencySalesReport.xsl"
                        , "", Origin, Destination, Airline
                        , FlightNumber, strflightdatefrom, strflightdateto, strTicketingFrom, strTicketingTo, "EN"
                        , Status, Owner, "", GetAgencySalesResult); //, status, owner, currency
    }
}

function GetAgencySalesResult(result) {
    loadGridPaging(result);
}

function GetTransactions(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var saledatefrom = document.getElementById('saledatefrom').value;
    var saledateto = document.getElementById('saledateto').value;
    if (GridPages != null) {
        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();

        tikAEROWebB2E.WebService.ReportService.GetTransaction(cpage, pageindex, true, "/XSL/Reports/AgencyAccountTransactionsReport.xsl", saledatefrom, saledateto, GetTransactionsResult);

    }
}

function GetTransactionsResult(result) {
    loadGridPaging(result);
}

function LoadAgencyAccountTransactionsReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadAgencyAccountTransactionsReport('false', LoadAgencyAccountTransactionsReportResult)
}

function LoadAgencyAccountTransactionsReportResult(result) {
    successed();
    loadContent(result, 'content');
    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function loadbackagencyaccounttransactionsresult(result) {
    loadContent(result, 'content');

    var display = document.getElementById('display');
    display.style.display = "block";
    Tr_btnCommand.style.display = "block";

    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');

    document.getElementById('saledateto').value = document.getElementById('reportTo').value;
    document.getElementById('saledatefrom').value = document.getElementById('reportFrom').value;


    window.scrollTo(0, 0);
}

function LoadAgencyAccountTopUpReport() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadAgencyAccountTopUpReport('false', LoadAgencyAccountTopUpReportResult)
}

function LoadAgencyAccountTopUpReportResult(result) {
    successed();

    loadContent(result, 'content');

    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}
function GetTopUp(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var saledatefrom = document.getElementById('saledatefrom').value;
    var saledateto = document.getElementById('saledateto').value;
    if (GridPages != null) {
        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();

        tikAEROWebB2E.WebService.ReportService.GetAgencyAccountTopUp(cpage, pageindex, true, "/XSL/Reports/AgencyAccountTopUpReport.xsl", saledatefrom, saledateto, GetTopUpResult);

    }
}
function GetTopUpResult(result) {
    loadGridPaging(result);
}

// Start Yai add TravelAgencyTicketSales
function LoadAgencyTicketSales() {
    wait();
    tikAEROWebB2E.WebService.ReportService.LoadAgencyTicketSales('false', LoadAgencyTicketSalesResult)
}

function LoadAgencyTicketSalesResult(result) {
    successed();
    loadContent(result, 'content');

    RegisCalendar('ctl00_CalendarExtender4', 'btnsaledatefrom', 'saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5', 'btnsaledateto', 'saledateto');
}

function GetAgencyTicketSales(pageindex) {
    var GridPages = document.getElementById('GridPages');
    //get attribute
    var saledatefrom = document.getElementById('saledatefrom');
    var saledateto = document.getElementById('saledateto');

    var strTicketingFrom = saledatefrom.value;
    var strTicketingTo = saledateto.value;

    if (GridPages != null) {

        var cpage = GridPages.value;
        if (parseInt(pageindex) > 0) pageindex = (parseInt(pageindex) - 1);
        if (cpage == "") cpage = "10";
        wait();

        tikAEROWebB2E.WebService.ReportService.GetAgencyTicketSales(cpage, pageindex, true, "/XSL/Reports/AgencyTicketSalesReport.xsl"
                        , "", "", strTicketingFrom, strTicketingTo, GetAgencyTicketSalesResult);
    }
}

function GetAgencyTicketSalesResult(result) {
    loadGridPaging(result);
}
// End Yai add TravelAgencyTicketSales

///***************************************************///
/// Grid sort ///
///***************************************************///
var currOrder;
var objOrder;
var tabArrIndex = new Array();
var tabArr = new Array();
var tabOrder = new Array();

var currentPage = 0;
var currentMaxPage = 0;
var RowsPerPage = 25;

var lfrom = 0;
var lto = 0;
var currentPage;

function createSort(tabid) {

    var dvTab = document.getElementById('dvTab');
    var tabs = dvTab.getElementsByTagName("TABLE");
    if (tabs == null) return;


    var tabObj = tabs[0];
    var arrIndex = 0;


    if (tabObj == null) return;
    if (tabObj.rows.length <= 0) return;
    //Dynamic cells

    for (var i = 0; i < tabObj.rows[0].cells.length; i++) {
        if (tabObj.rows[0].cells[i].innerHTML.indexOf("sortTab") >= 0) {
            tabArr[arrIndex] = tabObj.rows[0].cells[i].id;
            tabOrder[arrIndex] = "asc";
        }

    }


}

function getArrIndex(cellid) {
    var cindex = 0;
    for (var i = 0; i < tabArr.length; i++) {
        if (tabArr[i] = cellid) {
            return i;
            cindex++;
        }
    }

    tabArr[tabArr.length] = cellid;
    tabOrder[tabArr.length] = "asc";
    return cindex;

}

function GetTabContent(spage) {
    currentPage = spage;
    var dvTab = document.getElementById('dvTab');
    var tabs = dvTab.getElementsByTagName("TABLE");
    if (tabs == null) return;
    var table0 = tabs[0]; //document.getElementById('table0');


    var lastRow = table0.rows.length;
    var olastRow = null;
    if (lastRow <= 1) {
        document.getElementById('dvTab').innerHTML = 'Search not found.'
        olastRow = table0.rows[table0.rows.length - 1];
        olastRow.style.display = "none";
        return;
    }
    //New Search
    var GridPages = document.getElementById('GridPages');
    //alert(GridPages.value)
    if (GridPages != null) RowsPerPage = parseInt(GridPages.value);
    if (RowsPerPage == 0) RowsPerPage = 20;

    olastRow = table0.rows[table0.rows.length - 1];


    //Get Only Items
    var allRows = table0.rows.length - 2;
    var aPage = parseInt(allRows / RowsPerPage);
    var nPage = allRows % RowsPerPage;


    if (allRows <= RowsPerPage) {
        olastRow.style.display = "none";
    } else {
        olastRow.style.display = "";

    }

    var rfrom = 0;
    var rto = 0;

    if (spage == 0) spage = 1;

    currentPage = spage;
    rfrom = ((spage - 1) * RowsPerPage) + 1;
    rto = (spage * RowsPerPage)


    for (var i = lfrom; i <= lto; i++) {
        if (table0.rows[i] != null) table0.rows[i].style.display = "none";
    }
    lfrom = rfrom;
    lto = rto;

    //alert(spage+","+aPage+","+nPage);
    createPaging(olastRow, spage, aPage, nPage)

    table0.rows[0].style.display = "";
    for (var i = rfrom; i <= rto; i++) {
        if (table0.rows[i] != null) table0.rows[i].style.display = "";
    }

}

function QPage(page) {
    wait();
    GetTabContent(page);
    successed();
}
function QNPage() {    
    if ((currentPage + 1) > currentMaxPage) {
        return;
    }
    wait();
    var npage = (currentPage + 1);
    GetTabContent(npage);
    successed();
}

function QPPage() {
    if ((currentPage - 1) <= 0) {
        return;
    }
    wait();
    var npage = (currentPage - 1);
    GetTabContent(npage); 
    successed();
}

function createPaging(rowObj, crPage, Intpage, FreeRow) {
    var tmpPage = 0;
    var str = '';
    if (FreeRow > 0) {
        tmpPage = 1;
        //if(crPage>1)

        str += "<a href='javascript:QPPage();' class='paging'>< Previous</a>&nbsp;";
        for (var i = 0; i < (Intpage + tmpPage); i++) {
            if ((i + 1) != crPage) {
                str += "<a href='javascript:QPage(" + (i + 1) + ");' class='paging'>" + (i + 1) + "</a>&nbsp;";
            }
            else {
                str += (i + 1) + "&nbsp;";
            }
        }
        str += "<a href='javascript:QNPage();' class='paging'>Next ></a>&nbsp;";
        currentMaxPage = (Intpage + tmpPage);
        rowObj.cells[0].innerHTML = str;
        rowObj.style.display = "";
    }
}

function sortTab(cellid, sortby, sorttype) {

    var cellObj = document.getElementById(cellid);
    var sortorder = '';

    var crrSel = getArrIndex(cellid);

    var order = tabOrder[crrSel];

    switch (order.toLowerCase()) {
        case "asc":
            tabOrder[crrSel] = "desc";
            sortorder = "ascending";
            break;
        case "desc":
            tabOrder[crrSel] = "asc";
            sortorder = "descending";
            break;
    }

    var fname = "";
    var lnameobj = document.getElementById('uxName');
    var lname = '';
    if (lnameobj != null) lname = lnameobj.value;

    tikAEROWebB2E.WebService.BaseService.getMaintainAllEmployeeHTML(lname, sortby, sorttype, sortorder, getReportFullreportresult);
}


function searchSortemployee() {
    var fname = "";
    var lnameobj = document.getElementById('uxName');
    var lname = '';
    if (lnameobj != null) lname = lnameobj.value;
    wait();
    tikAEROWebB2E.WebService.BaseService.getMaintainAllEmployeeHTML(lname, "", "", "", getReportFullreportresult);
}

function getReportFullreportresult(result) {
    successed();
    document.getElementById('dvTab').innerHTML = '';
    document.getElementById('dvTab').innerHTML = result;
    GetTabContent(0);
}

function changedestrouteReport(assignctr, obj) {
    ctrat = document.getElementById(assignctr);
    currobj = obj;
    var key = obj.options[obj.selectedIndex].value;
    tikAEROWebB2E.WebService.BaseService.GetListDestinationByOriginReport(key, createDestinationListReport)

}

function createDestinationListReport(result) {
    if (result == "session_expired") {
        alert("Session has been expired.\n Please login again ");
        loadLogout();
    }
    else {
        ctrat.innerHTML = result + "&nbsp;";
        //document.getElementById('uxDest').options[0] = new Option("none","");
    }
}

function submitReport(reportName, e) {
    var keycode;
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;
    else return true;

    if (keycode == 13) {
        switch (reportName) {
            case "IssuedTicketsReport":
                GetTicketsIssue('0');
                break;
            case "FlownTicketsReport":
                GetFlownTickets('0');
                break;
            case "RefundedTicketsReport":
                GetRefundedTickets('0');
                break;
            case "CancelledTicketsReport":
                GetTicketsCancelled('0');
                break;
            case "UnflownTicketsReport":
                GetUnflownTickets('0');
                break;
            case "ExpiredTicketsReport":
                GetTicketsExpired('0');
                break;
            case "FeesReport":
                GetFees('0');
                break;
            case "CashbookReport":
                GetCashbook('0');
                break;
            case "CreditCardApprovalsReport":
                GetCreditCardApprovals('0');
                break;
            case "BookingReport":
                GetGetBookings('0');
                break;
            case "PendingPaymentReport":
                GetPendingPayment('0');
                break;
            case "PendingRefundReport":
                GetPendingRefund('0');
                break;
            case "AgencySalesReport":
                GetAgencySales('0');
                break;
            case "AgencyAccountTransactionsReport":
                GetTransactions('0');
                break;
            case "AgencyAccountTopUp":
                GetTopUp('0');
                break;
        }
        return false;
    }
    else
        return true;
}
