$(document).ready( function() {   
   $('#moreOptions').live({
        click: function() {  
            if($('#moreOptions').html() == "More options..."){
                showMoreOptions();
                if($('#oneWayDealPHP').val() == 'yes'){
              
                }
            }else{
                hideMoreOptions();
            }
        }
   });       
   $('#oneWay').bind('click',function() {
        if($(this).is(':checked')) {
            $('#oneWayBlock').hide(1000);
        }else{
            $('#oneWayBlock').show(1000);
        }
   });   
   function pad(number, length) {
        var str = '' + number;
        while (str.length < length) {
            str = '0' + str;
        }
        return str;
   }         
   function showMoreOptions(){
        $('#mainContainer').css('overflow','hidden');
        $('#moreOptions').html('Hide options'); 
        $('#hiddenDiv').slideDown(1000, function() {  
            doOneWayCheck();   
        });
   }
   function doMoreOptions(){
        if($('#wizNumber').val() != '' || $('#awdNumber').val() != '' || $('#dropoffLocation').val() != '' || $('#oneWay').val() != 'roundtrip'){
            showMoreOptions();
        }
    }
    function doOneWayCheck(){
        if($('#dropoffLocation').val() != '' || $('#oneWay').val() != 'roundtrip'){ 
            $('#oneWayBlock').slideDown(1000, function() {
                 
            });            
            $('input[name=oneWay]').attr('checked', false);
        }
    }    
    function hideMoreOptions(){    
        $('#moreOptions').html('More options...');
        $('#hiddenDiv').slideUp(1000);  
    }       
    function updateDate(date) {
        var d = new Date();
        var userSelectedPickupDate = Date.parse(date);
        var setUpUserSelectedDropOffDateEpoch = userSelectedPickupDate + 86400000;
            d.setTime(setUpUserSelectedDropOffDateEpoch);
        var setUpUserSelectedDropOffMonth = pad(d.getMonth()+1,2);
        var setUpUserSelectedDropOffDate = pad(d.getDate(),2); 
        var setUpUserSelectedDropOffYear = d.getFullYear();
        var theNewDropOffDate = setUpUserSelectedDropOffMonth + '/' +  setUpUserSelectedDropOffDate + '/' + setUpUserSelectedDropOffYear;
        $('#doDate').val(theNewDropOffDate); 
    }   
    $.getScript("/globals/autocomplete_definitions.js", function(){
        $('#pickupLocation,#dropoffLocation').autocomplete({
            minLength: 3,
            suggLimit: 10,
            source: availableTags
        });
        $(function(){
            $('#puDate').datepicker({
                //inline: true
                numberOfMonths: 2,
                showButtonPanel: false,
                minDate: '1d',
                maxDate: '1y',
                showButtonPanel: true,
                closeText: 'X',
                onSelect: updateDate
            });
            $('#puDate').val(puDatePHP);
            $('#doDate').datepicker({
                //inline: true
                numberOfMonths: 2,
                showButtonPanel: false,
                minDate: '2d',
                maxDate: '1y',
                showButtonPanel: true,
                closeText: 'X'        
            });
            $('#doDate').val(retDatePHP);
        });            
    });
$.getScript("/globals/jquery.validate.js", function(){
    $.validator.addMethod("awdNumber", function(value) {
        var pattern_awdNumber = /^[a-zA-Z]\d{6}$/;  
        if(value.length > 0){
            return pattern_awdNumber.test(value);   
        }else{
            return true;
        }
    }, 'Invalid AWD number<br>');       
    $.validator.addMethod("bcdNumber", function(value) {
        var pattern_bcdNumber = /^[a-zA-Z]\d{6}$/;  
        if(value.length > 0){
            return pattern_bcdNumber.test(value);   
        }else{
            return true;
        }
    }, 'Invalid BCD number<br>');      
    $.validator.addMethod("wizNumber", function(value) {
        var pattern_wizNumber = /^\w{3}\d{2}\w$/;  
        if(value.length > 0){
            return pattern_wizNumber.test(value);   
        }else{
            return true;
        }
    }, 'Invalid Wizard number<br>');      
    $.validator.addMethod("bcnNumber", function(value) {
        var pattern_bcnNumber = /^\w{3}\d{2}\w$/;  
        if(value.length > 0){
            return pattern_bcnNumber.test(value);   
        }else{
            return true;
        }
    }, 'Invalid Fastbreak/BCN number<br>');     
    $.validator.addMethod(
        "dateITAPU",
        function(value, element) {
            var check = false;
            var re = /^\d{2}\/\d{2}\/\d{4}$/;
            if( re.test(value)){
                check = true;
            } else
                check = false;
            return this.optional(element) || check;
        }, 
        "Pick-up Date format must be mm/dd/yyyy<br>"
    );    
    $.validator.addMethod(
        "dateITART",
        function(value, element) {
            var check = false;
            var re = /^\d{2}\/\d{2}\/\d{4}$/;
            if( re.test(value)){
                check = true;
            } else
                check = false;
            return this.optional(element) || check;
        }, 
        "Return Date format must be mm/dd/yyyy<br>"
    );    
    $('#makeAres').validate({
            errorClass: "errorRes",
            errorLabelContainer: "#resError",
            rules: {
                pickupLocation: {
                    required: true,
                    minlength: 3
                }, 
                dropoffLocation: {
                    minlength: 3
                },                 
                puDate: "dateITAPU",
                puTime: {
                    required: true
                },
                doDate: "dateITART",
                doTime: {
                    required: true
                },  
                wizNumber: "wizNumber",  
                awdNumber: "awdNumber",
                bcdNumber: "bcdNumber",
                bcnNumber: "bcnNumber"
            },     
            messages: {
                pickupLocation: {
                    required: "Pick-up Location is required<br>",
                    minlength: "Pick-up Location is invalild<br>"
                },
                puDate: {
                    required: "Pickup Date is required<br>"
                },
                doDate: {
                    required: "Return Date is required<br>"
                },
                dropoffLocation: {
                    minlength: "Return Location is invalild<br>"
                }
            }
        });       
    });
});
