﻿function hideWaterMark(obj) {
    if (obj.value == 'Street Address, City, State, Zip') {
        obj.value = '';
        obj.style.color = 'black';
    }
}
function showWaterMark(obj) {
    if (obj.value == '') {
        obj.value = 'Street Address, City, State, Zip';
        obj.style.color = 'grey';
    }
    else
        obj.style.color = 'black';
}
function GetPickupAddress(hidePopUp,timeValue){
    if(timeValue!= undefined && timeValue !=null && timeValue!='' && document.getElementById(txtTime))
    {
        var hour, minute, tt;
        hour = timeValue.split(':')[0];
        minute = (timeValue.split(':')[1]).split(' ')[0];
        tt = (timeValue.split(':')[1]).split(' ')[1];

        if(tt.toLowerCase() == 'pm' && parseFloat(hour)<12)
        {
            hour = parseFloat(hour) + 12;
            if(hour==24)   
                hour = 0;
        }
        else if(tt.toLowerCase() == 'am' && parseFloat(hour)==12)
        {
            hour = 0;
        }
        
        var now = new Date();
        var newdate = new Date(now.getFullYear(),now.getMonth(),now.getDay(),hour,minute,now.getSeconds(),now.getMilliseconds());
        if(newdate.getHours()>12)
        {
            hour = newdate.getHours() - 12;
            tt = "PM";
        }
        else
        {
            hour = newdate.getHours();
            if (hour == 0)
                hour = 12;
            tt = "AM";
        }
        if(hour<10)
            hour = '0'+hour;
        minute = newdate.getMinutes();
        if(minute<10)
            minute = '0'+minute;
        var FormattedTime = hour+':'+minute+' '+tt;
        if(FormattedTime.toLowerCase() != $('#'+ txtTime).val().toLowerCase())
        {
            $('#' + txtTime).val(FormattedTime);
            alert('Pick Up Time has been adjusted to match the flight time.');
        }
     }
     UpdatePickupAddress();
}

function GetDropoffAddress(hidePopUp,RideTime,timeValue){
    if(RideTime!= undefined && RideTime !=null && RideTime!='')
    {
        if(RideTime!='NotFound')
        {
            var RideHour, RideMinute;
            RideHour = RideTime.split(',')[0];
            RideMinute = RideTime.split(',')[1];
        
            var hour = 0, minute = 0, tt;
            if(timeValue!= undefined && timeValue !=null && timeValue!='')
            {
                hour = timeValue.split(':')[0];
                minute = (timeValue.split(':')[1]).split(' ')[0];
                tt = (timeValue.split(':')[1]).split(' ')[1];
                
                if(tt.toLowerCase() == 'pm' && parseFloat(hour)<12)
                {
                    hour = parseFloat(hour) + 12;
                    if(hour==24)   
                        hour = 0;
                }
                else if(tt.toLowerCase() == 'am' && parseFloat(hour)==12)
                {
                    hour = 0;
                }
            }

            var pickupDate = $('#'+txtDate).val();
            var pickupYear,pickupMonth,pickupDay;
            if(pickupDate!='')
            {
                pickupMonth = pickupDate.split('/')[0];
                pickupDay = pickupDate.split('/')[1];
                pickupYear = pickupDate.split('/')[2];
                var newHour =parseFloat(hour)-parseFloat(RideHour);
                var newMinute = 0;
                if(minute>RideMinute)
                    newMinute = parseFloat(minute)-parseFloat(RideMinute);
                else
                {
                    newMinute = parseFloat(minute)+60-parseFloat(RideMinute);
                    newHour = newHour-1;
                }
                if(parseFloat(newMinute)>0 && parseFloat(newMinute)<15)
                    newMinute =0;
                else if(parseFloat(newMinute)>15 && parseFloat(newMinute)<30)
                    newMinute = 15;
                else if(parseFloat(newMinute)>30 && parseFloat(newMinute)<45)
                    newMinute = 30;
                else if(parseFloat(newMinute)>45 && parseFloat(newMinute)<60)
                    newMinute = 45;

                var newdate = new Date(pickupYear, pickupMonth-1, pickupDay, parseFloat(newHour), parseFloat(newMinute), 0, 0);

                //Calculate old date for adjustment
                var oldTime = $('#' + txtTime).val().toLowerCase();
                var oldHour = oldHour = oldTime.split(':')[0];
                var oldMinute = oldMinute = (oldTime.split(':')[1]).split(' ')[0];
                var oldTT = oldTT = (oldTime.split(':')[1]).split(' ')[1];
                if (oldTT.toLowerCase() == 'pm' && parseFloat(oldHour) < 12) {
                    oldHour = parseFloat(oldHour) + 12;
                    if (oldHour == 24)
                        oldHour = 0;
                }
                else if (oldTT.toLowerCase() == 'am' && parseFloat(oldHour) == 12) {
                    oldHour = 0;
                }
                var oldDate = new Date(pickupYear, pickupMonth - 1, pickupDay, parseFloat(oldHour), parseFloat(oldMinute), 0, 0);
                //Code to calculate old date ended
                //if(newdate.format("hh:mm tt").toLowerCase() != $("#<%=txtPickupTime.ClientID %>").val().toLowerCase())
                var oldDateObj = getFormattedDate(oldDate) +' '+ getFormattedTime(oldDate);
                var newDateObj = getFormattedDate(newdate) + ' ' + getFormattedTime(newdate);
                
                if (oldDate > newdate) {
                    var url = "SuggestTime.aspx?from=" + oldDateObj + "&to=" + newDateObj;
                    var currentTime = new Date();
                    var currentTime = new Date();
                    window.open(url, 'frmAddress', 'status=1, toolbar=0,menubar=0, resizable=1, height=350, width=700').focus();
//                    document.getElementById('ifDialogWindow').src = url;
//                    $('#' + divDialogWindow).dialog({
//                        height: 300,
//                        width: 780,
//                        modal: true,
//                        title: "Suggested Time"
//                    });
                }

            }
            var specialNoteDiv = document.getElementById('Special_Notes');
            if(specialNoteDiv!=null)
            {
                var txt =  $(specialNoteDiv).find('.black_txt12');
                $(txt[0]).val(SpecialText);
            }
            
        }
        else
            alert('Pick Up/Drop Off address not found. So pick up time cannot be adjusted.');
    }
    UpdateDropoffAddress();
}
function closeDialogWindow() {
    $('#' + divDialogWindow).dialog("close");
}
function getFormattedTime(d)
{
    if(d.getHours()>12)
    {
        hour = d.getHours() - 12;
        tt = "PM";
    }
    else
    {
        hour = d.getHours();
        if (hour == 0)
            hour = 12;
        tt = "AM";
    }
    if(hour<10)
        hour = '0'+hour;
    minute = d.getMinutes();
    if(minute<10)
        minute = '0'+minute;
    var FormattedTime = hour+':'+minute+' '+tt;
    return FormattedTime;
}
function getFormattedDate(d) {
    var dmonth = d.getMonth() + 1;
    var dyear = d.getFullYear();
    var dday = d.getDate();
    if (dmonth.toString().length > 1)
        dmonth = dmonth;
    else
        dmonth = '0' + dmonth;
    if (dday.toString().length > 1)
        dday = dday;
    else
        dday = '0' + dday;
        
    var FormattedDate = dmonth + '/' + dday+ '/' + dyear;
    return FormattedDate;
}

function GetQuotePickupAddress(hidePopUp){
    UpdateQuotePickupAddr();
}
        
function GetQuoteDropoffAddress(hidePopUp)
{
    UpdateQuoteDropoffAddr();
}

function GetEventPickupAddress(hidePopUp)
{
    UpdateEventPickupAddr();
}

function GetEventDropoffAddress(hidePopUp)
{
    UpdateEventDropoffAddr();
}
function ShowError(Arg) {
    alert(Arg);
}
function UpdatePickupAddressDIV(Arg)
{
    $('#' + txtPickUpAddress).val(Arg);
}
function UpdateDropoffAddressDIV(Arg)
{
    $('#' + txtDestAddress).val(Arg);
}
function UpdateQuotePickupAddress(Arg)
{
    $('#' + txtQuotePickUpAddress).val(Arg);
}
function UpdateQuoteDropoffAddress(Arg)
{
    $('#' + txtQuoteDestAddress).val(Arg);
}
function UpdateEventPickupAddress(Arg)
{
    $('#' + txtEventPickUpAddress).val(Arg);
}
function UpdateEventDropoffAddress(Arg)
{        
    $('#' + txtEventDestAddress).val(Arg);
}

function ShowQuote() {
//    var divBlock = document.getElementById('divQuoteDetails').innerHTML;
//    window.open("", "", "height=400,width=500,left=0,top=50,resizable=no,scrollbars=yes,toolbar=no,status=no").document.write(divBlock);
//    return false;
    $(function() {
    $("#divQuoteDetails").dialog({
        height: 400,
        width: 500,
        modal: true
        });
    $("#divQuoteDetails").parent().appendTo(jQuery("form:first"));
    });	
}

function ShowEventQuote() {

//    var divBlock = document.getElementById('divEventQuote').innerHTML
//    window.open("", "", "height=570,width=500,left=0,top=50,resizable=no,scrollbars=yes,toolbar=no,status=no").document.write(divBlock);
    $(function() {
        $("#divEventQuote").dialog({
            height: 570,
            width: 500,
            modal: true
        });
    });
}
function ValidateEventVehicles(obj,args)
{
    var eventVehicles = new Array(4);
    eventVehicles[0] = $('#' + chkSedan);
    eventVehicles[1] = $('#' + chkSUV);
    eventVehicles[2] = $('#' + chkVAN);
    eventVehicles[3] = $('#' + chkMiniBus);

    var Isvalid = false;
    for (var i = 0; i < eventVehicles.length; i++) {
        if ($(eventVehicles[i]).is(':checked'))
            Isvalid = true;
    }
    args.IsValid = Isvalid;
}
function validateNoofPassengers(obj, args)
{        
    var dropdown = document.getElementById(drpVehicles);
    var myindex  = dropdown.selectedIndex;
    var vehicleCapicity = dropdown.options[myindex].text;
    var passangerCount;
    passangerCount= $('#' + txtPassengers).val();
    var number = parseInt(vehicleCapicity.split(" ")[2]);
    if(parseInt(number)!=number-0) 
    {
        if(parseInt(passangerCount)> parseInt(vehicleCapicity.split(" ")[3]))
        {
            obj.errormessage = "Number of Passenger(s) entered is more than the capacity of Vehicle.";
            args.IsValid = false;
        }
    }
    else if(parseInt(passangerCount)> parseInt(vehicleCapicity.split(" ")[2]))
    {
        obj.errormessage = "Number of Passenger(s) entered is more than the capacity of Vehicle.";
        args.IsValid = false;
    }
}

function orgColor()
{
    try{
        var f = document.getElementsByTagName('input');
        for(i=0;i<f.length;i++)
        {
            if(f[i].getAttribute('type')=='text' )
            {
                f[i].style.border ="2px solid #DADADA";
            }
        }
    }
    catch(e){}
}

var i;

function validate()
{
    var strval = $('#' + txtEmailAddress).val();
    for(i=0; i <= strval.length; i++)
    {
        strval1 = $('#' + txtEmailAddress).val();
        if(strval1.charAt(0)== " ")
        {
            $('#' + txtEmailAddress).val(strval1.substring(1, strval1.length));
        }
        if(strval1.charAt(strval1.length-1)== " ")
        {
            $('#' + txtEmailAddress).val(strval1.substring(0, strval1.length - 1));
        }
    }
    if ($('#' + txtEmailAddress).val() == "")
    {
        $('#' + txtEmailAddress).focus();
        orgColor()
        document.getElementById(txtEmailAddress).style.border = "2px solid Red";
        return false;
    }
    else
    {
        document.getElementById(txtEmailAddress).style.border = "2px solid #DADADA";
    }
    var emailPat = /^.+@.+\..{2,3}$/;
    var emailid = $('#' + txtEmailAddress).val();
    var matchArray = emailid.match(emailPat);
    if (matchArray == null)
    {
        alert("Your e-mail address seems incorrect. Please try again.");
        $('#' + txtEmailAddress).focus();
        orgColor()
        document.getElementById(txtEmailAddress).style.border = "2px solid Red";
        return false;
    }
    else
        txtEmailAddress.style.border = "2px solid #DADADA";
        return true;
    }

function ValidateUserdetails() {
    var isValid = true;
    if ($('#' + txtUserID).val() == '') {
        alert('Please enter user ID.');
        $('#' + txtUserID).focus();
        isValid = false;
        return isValid;
    }
    if ($('#' + txtUserPassword).val() == '') {
        alert('Please enter password.');
        $('#' + txtUserPassword).focus();
        isValid = false;
        return isValid;
    }
    return isValid;
}

function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}
function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
    if (!d.MM_p) d.MM_p = new Array();
    var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
    if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; }
    }
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
    d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
    if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}
$(document).ready(function() {
    $('#' + txtDate).datepicker();
    $('#' + txtDate).datepicker('option', {
        changeMonth: false,
        changeYear: false,
        gotoCurrent: false,
        numberOfMonths: 3,
        showButtonPanel: false,
        minDate: 0,
        maxDate: '+6M'
    });

    $("#" + txtTime).timePicker({
        show24Hours: false,
        separator: ':',
        step: 15
    });
    document.getElementById("ui-datepicker-div").style.display = "none";
});

var addressFor='';
function OpenAddressFrom(ResNo, AddressFor, RowNo, OpenFor) {
    
    var clearRide = true;
    if((addressFor=="pickup" && AddressFor=="pickup") || (addressFor=="pickup" && AddressFor=="dropoff")|| (addressFor=="dropoff" && AddressFor=="pickup") || (addressFor=="dropoff" && AddressFor=="dropoff"))
    {
        clearRide = false;
    }
    else if (addressFor.indexOf('quote')!=-1 && AddressFor.indexOf('quote')!=-1) {
        clearRide = false;
    }
    else if (addressFor.indexOf('event')!=-1 && AddressFor.indexOf('event')!=-1) {
        clearRide = false;
    }
    if (clearRide) {
        clearRideDetail();
        ClearPickupAddress();
        ClearDropOffAddress();
    }
    addressFor = AddressFor;

    var newWindow;
    if (AddressFor == 'pickup' || AddressFor == 'dropoff') {
        if (isDate($('#'+txtDate).val()) == null && isTime($('#' + txtTime).val()) == null && $('#' + txtTime).val()!='') {
            var currentTime = new Date();

            var url = "GuestSearch.aspx?Resno=" + ResNo + "&AddressFor=" + AddressFor + "&RowNo=" + RowNo + "&OpenFor=" + OpenFor + "&time=" + currentTime;
            window.open(url, 'search', 'height=500,width=800,left=0,top=50,resizable=yes,scrollbars=yes,toolbar=no,status=yes');
            //document.getElementById('ifAddressSearch').src = "GuestSearch.aspx?Resno=" + ResNo + "&AddressFor=" + AddressFor + "&RowNo=" + RowNo + "&OpenFor=" + OpenFor + "&time=" + currentTime;
            //var title = (AddressFor == "pickup" ? "Pick Up Location" : (AddressFor == "dropoff" ? "Drop Off Location" : "Stop"));
//            $('#' + divAddressSearch).dialog({
//                height: 500,
//                width: 800,
//            modal: true,
//            title: title
//            });
        }
        else {
            alert('Please enter valid Pickup Date/Time. \nDate Format: (mm/dd/yyyy) \nTime Format: (hh:mm am/pm)');
        }
    }
    else 
    {   
        var currentTime = new Date();

        var url = "GuestSearch.aspx?Resno=" + ResNo + "&AddressFor=" + AddressFor + "&RowNo=" + RowNo + "&OpenFor=" + OpenFor + "&time=" + currentTime;
        window.open(url, 'search', 'height=500,width=800,left=0,top=50,resizable=yes,scrollbars=yes,toolbar=no,status=yes');
        
//        document.getElementById('ifAddressSearch').src = "GuestSearch.aspx?Resno=" + ResNo + "&AddressFor=" + AddressFor + "&RowNo=" + RowNo + "&OpenFor=" + OpenFor + "&time=" + currentTime;
//        var title = ((AddressFor == "pickup" || AddressFor == "quotePickup" || AddressFor == "eventPickup") ? "Pick Up Location" : ((AddressFor == "dropoff" || AddressFor == "quoteDropoff" || AddressFor == "eventDropoff") ? "Drop Off Location" : "Stop"));
//        $('#' + divAddressSearch).dialog({
//            height: 500,
//            width: 800,
//            modal: true,
//            title: title
//        });
    }
}

function DoNothing(arg) {}

function closeAddressDialog() {
    $('#' + divAddressSearch).dialog("close");
}
function closeDialogWindow() {
    $('#' + divDialogWindow).dialog("close");
}
function setAdjustedTime(newDate, newTime) {
    $('#' + txtDate).val(newDate);
    $('#' + txtTime).val(newTime);
    closeDialogWindow();
}
function ClearPickupAddress()
{
    document.getElementById(txtPickUpAddress).value= document.getElementById(txtQuotePickUpAddress).value =document.getElementById(txtEventPickUpAddress).value ='Street Address, City, State, Zip';
}
function ClearDropOffAddress()
{
    document.getElementById(txtDestAddress).value = document.getElementById(txtQuoteDestAddress).value = document.getElementById(txtEventDestAddress).value ='Street Address, City, State, Zip';
}

function UpdatePickupAddress() {
    var Xml = 'Pickup|GetList|' + '';
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: "{ Arg:'Pickup|GetList|' }",
        url: "Home.aspx/AjaxMethods",
        dataType: "json",
        success: function(data) {
            UpdatePickupAddressDIV(data.d)
        }
    });
}
function UpdateDropoffAddress() {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: "{ Arg:'Dropoff|GetList|' }",
        url: "Home.aspx/AjaxMethods",
        dataType: "json",
        success: function(data) {
            UpdateDropoffAddressDIV(data.d)
        }
    });

}
function UpdateQuotePickupAddr() {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: "{ Arg:'QuotePickup|GetList|' }",
        url: "Home.aspx/AjaxMethods",
        dataType: "json",
        success: function(data) {
            UpdateQuotePickupAddress(data.d)
        }
    });
}
function UpdateQuoteDropoffAddr() {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: "{ Arg:'QuoteDropoff|GetList|' }",
        url: "Home.aspx/AjaxMethods",
        dataType: "json",
        success: function(data) {
            UpdateQuoteDropoffAddress(data.d)
        }
    });
}
function UpdateEventPickupAddr() {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: "{ Arg:'EventPickup|GetList|' }",
        url: "Home.aspx/AjaxMethods",
        dataType: "json",
        success: function(data) {
            UpdateEventPickupAddress(data.d)
        }
    });
}
function UpdateEventDropoffAddr() {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: "{ Arg:'EventDropoff|GetList|' }",
        url: "Home.aspx/AjaxMethods",
        dataType: "json",
        success: function(data) {
            UpdateEventDropoffAddress(data.d)
        }
    });
}
function clearRideDetail() {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: "{ Arg:'ClearRide|pickup|' }",
        url: "Home.aspx/AjaxMethods",
        dataType: "json",
        success: function(data) {
            DoNothing(data.d)
        }
    });

    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: "{ Arg:'ClearRide|dropoff|' }",
        url: "Home.aspx/AjaxMethods",
        dataType: "json",
        success: function(data) {
            DoNothing(data.d)
        }
    });
}
