﻿
    function TimeAndDistanceCalc() {
        ModalPopups.Custom("idTimeDistCalc",
                "Delta Time and Distance Calculator",
                "<div style='padding: 25px;'>" + 
                "<table width='100%' border='0'>" + 
                "<tr><td width='250px'>From Location (IATA /ICAO Code): </td><td><input type=text id='txtDepartureLocation' style='width:175px;'></td></tr>" + 
                "<tr><td width='250px'>To Location (IATA /ICAO Code): </td><td><input type=text id='txtArrivalLocation' style='width:175px;'></td></tr>" + 
                "<tr><td colspan='2' style='height:100px; valign='top' id='tdcResult'>" + 
                "   <br /><hr /><br /><table width='100%' border='0'><tr><td><strong>Airport From: </strong></td></tr><tr><td><strong>Airport To: </strong></td></tr><tr><td><strong>Time: </strong></tr></td><tr><td><strong>Distance: </strong></td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr></table>" +
                "</td></tr>" +
                "<tr><td colspan='2'>&nbsp;</td></tr><tr><td colspan='2' style='color:grey; font-size:10px;'><i>*Flight times are estimates only and vary based upon weather, air traffic control, and other trip specific variables.</i></td></tr>" +
                "</table>" + 
                "</div>", 
                {
                    width: 500,
                    buttons: "ok,cancel",
                    okButtonText: "Run",
                    cancelButtonText: "Close",
                    onOk: "MPRunCalculator()",
                    onCancel: "MPClose()"
                }
            );
            ModalPopups.GetCustomControl("txtDepartureLocation").focus();     
    }
    
//    function setLeg(what, str, selectionArea) {
//        document.getElementById(what).value = str;
//        //document.getElementById(selectionArea).innerHTML = '';
//    }

    
    function MPClose() {
        ModalPopups.Close("idTimeDistCalc");
    }
    

    function MPRunCalculator() {
        if(document.getElementById("txtDepartureLocation").value == '' || document.getElementById("txtArrivalLocation").value == '') {
            document.getElementById("tdcResult").innerHTML = "<br /><hr /><br />Please fill in both airport code fields.<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />"       
        }
        
        else
        {

            document.getElementById("tdcResult").innerHTML = "<br /><hr /><br /><table width='100%' border='0'><tr><td width='100px'><strong>Airport From: </strong></td><td rowspan='4' valign='middle' align='center'><img src ='indicator.gif' alt='' /></td></tr><tr><td><strong>Airport To: </strong></td><tr><td><strong>Time: </strong></td><tr><td><strong>Distance: </strong></td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr></table>"
            var currentTime = new Date()

            // Run the validate legs
            siteWS.ValidateLegs(document.getElementById("txtDepartureLocation").value, 
                                document.getElementById("txtArrivalLocation").value, 
                                "txtDepartureLocation", 
                                "txtArrivalLocation",
                                "fromCityError", 
                                "toCityError", 
                                currentTime,
                                On_MPRunCalculator_Complete,
                                On_MPRunCalculator_Error);
        }
        
//        siteWS.TimeAndDistance(document.getElementById("txtDepartureLocation").value, document.getElementById("txtArrivalLocation").value, MPRunCalculator_Complete, MPRunCalculator_Error)
        //document.getElementById("tdcResult").innerHTML = "<br /><hr /><br /><table width='100%'><tr><td width='100px'><strong>Airport From: </strong></td><td>CVG (Cincinnati)</td></tr><tr><td><strong>Airport To: </strong></td><td>LGA (NY)</td><tr><td><strong>Time: </strong></td><td>4:22</td><tr><td><strong>Distance: </strong></td><td>750 miles</td></tr>"
    }
    
    function On_MPRunCalculator_Complete(result)
    {
//      Public Function ValidateLegs(ByVal FromText, _
//                                 ByVal ToText, _
//                                 ByVal FromID, _
//                                 ByVal ToID, _
//                                 ByVal FromErrorID, _
//                                 ByVal ToErrorID, _
//                                 ByVal DateTimeDepart) As String
    
        var parts = result.split('~~');
        
        
        try{
            if((parts[2] == '') && (parts[3] == '')) {
                siteWS.TimeAndDistance(document.getElementById("txtDepartureLocation").value, document.getElementById("txtArrivalLocation").value, MPRunCalculator_Complete, MPRunCalculator_Error)
            }
            else {
                document.getElementById("txtDepartureLocation").value = parts[0];
                document.getElementById("txtArrivalLocation").value = parts[1];
                //document.getElementById("fromCityError").value = parts[2];
                //document.getElementById("toCityError").value = parts[3];
                
                document.getElementById("tdcResult").innerHTML = "<table width='100%'><tr><td>" + parts[2] + "</td></tr><tr><td><hr /></td></tr><tr><td>" + parts[3] + "</td></tr></table>"
                
                
//                document.getElementById(parts[7]).innerHTML = parts[3];
//                document.getElementById(parts[6]).innerHTML = parts[2];
//                
//                // Just upper what was typed in.  This will cause an error with IE so do these second and let error happen
//                document.getElementById(parts[5]).innerHTML = parts[1];
//                document.getElementById(parts[4]).innerHTML = parts[0];
            }
         }
         catch(err){}
        
        
        //document.getElementById("tdcResult").innerHTML = result;
    }
    
    function On_MPRunCalculator_Error(result)
    {
       document.getElementById("tdcResult").innerHTML = result; 
    }

    function MPRunCalculator_Complete(result) {

        document.getElementById("tdcResult").innerHTML = result + "<table width='100%'><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr></table>";
        document.getElementById("txtDepartureLocation").value = '';
        document.getElementById("txtArrivalLocation").value = '';
        ModalPopups.GetCustomControl("txtDepartureLocation").focus();
    }
    
    function MPRunCalculator_Error(result) {
    
    }