    $(document).ready(function(event){    
        $('[showDefault=yes]').focus(function(event){
            $emtpyVal = $(this).attr('default');
            if ( $(this).attr('value') == $emtpyVal ) { 
                $(this).attr('value', ''); 
            }
        });
        $('[showDefault=yes]').blur(function(event){
            $emtpyVal = $(this).attr('default');
            if ( $(this).attr('value') == '' ) { 
                $(this).attr('value', $emtpyVal); 
            } else {
                fieldOK('#' + $(this).attr('id'));
            }
        });
        $('#REQ_QUOTE').click(function(event) {
            if ( $(this).attr('checked') ) {
                $('#enter_family_fields').show(); 
                $('#enter_date_fields').show();
            } else {
                $('#enter_family_fields').hide(); 
                $('#enter_date_fields').hide();
            }
        });
        

        function reformattedDate(date) {
            // returns date as mm/dd/yyyy
            var dte = new Date(date);
            var m = dte.getMonth()+1;
            var d = dte.getDate();
            var y = dte.getFullYear();
            if ( y < 2000 ) y = parseInt(y) + 100;
            if ( m < 10 ) m = '0' + m;
            if ( d < 10 ) d = '0' + d;
            
            return m +'/'+ d +'/'+ y;
        }
    
        $('#enter_arrival').blur(function(event){
            var thisDate = $(this).val();
            var niceDate = reformattedDate(thisDate);
            $(this).val(niceDate);
        });

        $('#enter_departure').blur(function(event){
            var thisDate = $(this).val();
            var niceDate = reformattedDate(thisDate);
            $(this).val(niceDate);
        });

        $('#enter_phone').blur(function(event){
            var thisPhone = $(this).val();
            var nicePhone = thisPhone.replace(/[^0-9]/g,'');
            $(this).val(nicePhone);
        });

        var $myStatus = true;
        var $failedFields = '';

        function fieldOK(name) {
            var val = $(name).attr('value');
            var def = $(name).attr('default');
            if ( val != '' && val != def ) {
                $(name).removeClass('bad');
                return true;
            } else {
                $(name).addClass('bad');
                if ( $failedFields != '' ) $failedFields += ', ';
                $failedFields += def;
                return false;
            }
        }
        
        function selectOK(name) {
            var val = $(name).val();
            var def = $(name).attr('default');
            if ( val == '' ) {
                $(name).addClass('bad');
                if ( $failedFields != '' ) $failedFields += ', ';
                $failedFields += def;
                return false;
            } else {
                $(name).removeClass('bad');
                return true;
            }
        }
        
        $('form#enter_to_win_form').submit(function(event) {
            //
            // check required fields
            //
            
            $myStatus = true;
            $failedFields = '';
            if ( !fieldOK('#enter_promo_code') )       $myStatus = false;
            if ( !fieldOK('#enter_first_name') )       $myStatus = false;
            if ( !fieldOK('#enter_last_name') )        $myStatus = false;
            if ( !fieldOK('#enter_email') )            $myStatus = false;
            if ( !fieldOK('#enter_address') )          $myStatus = false;
            if ( !fieldOK('#enter_city') )             $myStatus = false;
            if ( !fieldOK('#enter_zip') )              $myStatus = false;
            
            if ( !selectOK('#enter_state') )           $myStatus = false;
            if ( !selectOK('#enter_country') )         $myStatus = false;
            
            if ( $('#REQ_QUOTE').attr('checked') ) {
            
                if ( !fieldOK('#enter_adults') )       $myStatus = false;
                if ( !fieldOK('#enter_kids') )         $myStatus = false;
                if ( $('#enter_kids').val() != '' && $('#enter_kids').val() != 0 ) {
                    if ( !fieldOK('#enter_kid_ages') ) $myStatus = false;
                } else {
                	$('#enter_kid_ages').removeClass('bad');
                }
                if ( !fieldOK('#enter_departure') )    $myStatus = false;
                if ( !fieldOK('#enter_arrival') )      $myStatus = false;
            }
            
            if ( $myStatus == false ) {
                window.alert ('Failed Fields: ' + $failedFields);
                return false;
            }
            
            // alert('OK');
            $('#enter_to_win').addClass('dim');
            return true;
        });
    });

    //
    // Local functions to show results
    //
    
        
    function emailOK(name) {
        if ( isEmail(name) ) {
            markGood(name);
            return true;
        } else {
            markBad(name);
            return false;
        }
    }
    
    function zipOK(name) {
        if ( isZip(name) ) {
            markGood(name);
            return true;
        } else {
            markBad(name);
            return false;
        }
    }
    