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()
{
    TikAeroWebB2E.WebService.ReportService.LoadTicketsIssueReport('false',loadticketsissuereportresult)
}

function loadticketsissuereportresult(result)
{
    loadContent(result,'content');
    
    RegisCalendar('ctl00_CalendarExtender4','btnsaledatefrom','saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5','btnsaledateto','saledateto');
    
}

function LoadBackReport(reportName)
{
     switch(reportName)
    {
        case "IssuedTicketsReport":
            TikAeroWebB2E.WebService.ReportService.LoadTicketsIssueReport('true',loadbackticketsissuereportresult);                  
            break;
        case "FlownTicketsReport":
            TikAeroWebB2E.WebService.ReportService.LoadFlownTicketsReport('true',loadbackticketsissuereportresult);                   
            break;
        case "RefundedTicketsReport":
            TikAeroWebB2E.WebService.ReportService.LoadRefundedTicketsReport('true',loadbackticketsissuereportresult);  
            break;
        case "CancelledTicketsReport":
            TikAeroWebB2E.WebService.ReportService.LoadCancelledTicketsReport('true',loadbackticketsissuereportresult);  
            break;
        case "UnflownTicketsReport":
            TikAeroWebB2E.WebService.ReportService.LoadUnflownTicketsReport('true',loadbackticketsissuereportresult);  
            break;
        case "ExpiredTicketsReport":
            TikAeroWebB2E.WebService.ReportService.LoadExpiredTicketsReport('true',loadbackticketsissuereportresult);  
            break;
        case "FeesReport":
            TikAeroWebB2E.WebService.ReportService.LoadFeesReport('true',loadbackticketsissuereportresult);  
            break;
        case "CashbookReport":
            TikAeroWebB2E.WebService.ReportService.LoadCashbookReport('true',loadbackChargereportresult);  
            break;
        case "CreditCardApprovalsReport":
            TikAeroWebB2E.WebService.ReportService.LoadCreditCardApprovalsReport('true',loadbackticketsissuereportresult);  
            break;
        case "BookingReport":
            TikAeroWebB2E.WebService.ReportService.LoadBookingReport('true',loadbackbookingreportresult);  
            break;
        case "PendingPaymentReport":
            TikAeroWebB2E.WebService.ReportService.LoadPendingPaymentReport('true',loadbackbookingreportresult);  
            break;
        case "PendingRefundReport":
            TikAeroWebB2E.WebService.ReportService.LoadPendingRefundReport('true',loadbackbookingreportresult);  
            break;
    }
}

function loadbackbookingreportresult(result)
{
    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)
{
    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)
{
    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()
{
    TikAeroWebB2E.WebService.ReportService.LoadFlownTicketsReport('false',loadFlownTicketsReportresult)
}

function loadFlownTicketsReportresult(result)
{
    loadContent(result,'content');
    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; 
        
    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)
{
    loadContent(result,'content');
    window.scrollTo(0,0); 
}


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;
    }
}

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()
{
    TikAeroWebB2E.WebService.ReportService.LoadRefundedTicketsReport('false',LoadRefundedTicketsReportResult)
}

function LoadRefundedTicketsReportResult(result)
{
    loadContent(result,'content');
    
    RegisCalendar('ctl00_CalendarExtender4','btnsaledatefrom','saledatefrom');
    RegisCalendar('ctl00_CalendarExtender5','btnsaledateto','saledateto');
}

function LoadCancelledTicketsReport()
{
    TikAeroWebB2E.WebService.ReportService.LoadCancelledTicketsReport('false',LoadCancelledTicketsReportResult)
}

function LoadCancelledTicketsReportResult(result)
{
    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()
{
    TikAeroWebB2E.WebService.ReportService.LoadUnflownTicketsReport('false',LoadUnflownTicketsReportResult)
}

function LoadUnflownTicketsReportResult(result)
{
    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()
{
    TikAeroWebB2E.WebService.ReportService.LoadExpiredTicketsReport('false',LoadExpiredTicketsReportResult)
}

function LoadExpiredTicketsReportResult(result)
{
    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()
{
    TikAeroWebB2E.WebService.ReportService.LoadFeesReport('false',LoadFeesReportResult)
}

function LoadFeesReportResult(result)
{
    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()
{
    TikAeroWebB2E.WebService.ReportService.LoadCashbookReport('false',LoadCashbookReportResult)
}

function LoadCashbookReportResult(result)
{
    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()
{
    TikAeroWebB2E.WebService.ReportService.LoadCreditCardApprovalsReport('false',LoadCreditCardApprovalsReportResult)
}

function LoadCreditCardApprovalsReportResult(result)
{
    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()
{
    TikAeroWebB2E.WebService.ReportService.LoadBookingReport('false',LoadBookingReportResult)
}

function LoadBookingReportResult(result)
{
    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()
{
    TikAeroWebB2E.WebService.ReportService.LoadPendingPaymentReport('false',LoadPendingPaymentReportResult)
}

function LoadPendingPaymentReportResult(result)
{
    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()
{
    TikAeroWebB2E.WebService.ReportService.LoadPendingRefundReport('false',LoadPendingRefundReportResult)
}

function LoadPendingRefundReportResult(result)
{
    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);
}


///***************************************************///
/// 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){
GetTabContent(page);
}
function QNPage(){
if((currentPage+1)> currentMaxPage )return;
var npage=(currentPage+1);
GetTabContent(npage);
}

function QPPage(){
if((currentPage-1)<=0 )return;
var npage=(currentPage-1);
GetTabContent(npage);
}

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;
    TikAeroWebB2E.WebService.BaseService.getMaintainAllEmployeeHTML(lname,"","","",getReportFullreportresult);      
}

function getReportFullreportresult(result){
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;
    }
    
   return false;
   }
else
   return true;
  
}