
    function setDateField(fieldTarget, selectedDate){
        if(selectedDate && selectedDate != undefined){
            document.getElementById(fieldTarget).value = selectedDate;
        }
    }

    function showCal(mnth,fld) {
        window.open('/pages/month.php?month='+mnth+'&fieldTarget='+fld,'','width=250,height=250,menubar=no,toolbar=no,scrollbars=no,resizable=no');
        document.getElementById(fld).blur();
    }

    $(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'));
            }
        });
    
        $('#chance_arrival').blur(function(event){
            var thisDate    = $(this).val();
            
            if(thisDate && thisDate != undefined && thisDate != 'Arrival'){
                var niceDate = reformattedDate(thisDate);
                $(this).val(niceDate);
            }
            
            $(this).val()  == 'NaN/NaN/NaN' ? $(this).val('Arrival') : '';
        });

        $('#chance_departure').blur(function(event){
            var thisDate = $(this).val();
            
            if(thisDate && thisDate != undefined && thisDate != 'Departure'){
                var niceDate = reformattedDate(thisDate);
                $(this).val(niceDate);
            }
            
            $(this).val()  == 'NaN/NaN/NaN' ? $(this).val('Departure') : '';
        });

        $('#chance_phone').blur(function(event){
            var thisPhone = $(this).val();
            var nicePhone = thisPhone.replace(/[^0-9]/g,'');
            $(this).val(nicePhone);
        });
        
        $('#chance_req_quote').click(function(event){
            if($(this).is(':checked')){
                $('#chance_family_fields').show(); 
                $('#chance_date_fields').show();
            } else {
                $('#chance_family_fields').hide(); 
                $('#chance_date_fields').hide();
            }
        });
    
        $('#deal_arrival').blur(function(event){
            var thisDate    = $(this).val();
            
            if(thisDate && thisDate != undefined && thisDate != 'Arrival'){
                var niceDate = reformattedDate(thisDate);
                $(this).val(niceDate);
            }
            
            $(this).val()  == 'NaN/NaN/NaN' ? $(this).val('Arrival') : '';
        });

        $('#deal_departure').blur(function(event){
            var thisDate = $(this).val();
            
            if(thisDate && thisDate != undefined && thisDate != 'Departure'){
                var niceDate = reformattedDate(thisDate);
                $(this).val(niceDate);
            }
            
            $(this).val()  == 'NaN/NaN/NaN' ? $(this).val('Departure') : '';
        });

        $('#deal_phone').blur(function(event){
            var thisPhone = $(this).val();
            var nicePhone = thisPhone.replace(/[^0-9]/g,'');
            $(this).val(nicePhone);
        });
        
        $('#deal_req_quote').click(function(event){
            if($(this).is(':checked')){
                $('#deal_family_fields').show(); 
                $('#deal_date_fields').show();
            } else {
                $('#deal_family_fields').hide(); 
                $('#deal_date_fields').hide();
            }
        });

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

        function reformattedDate(date) {
            var dte     = new Date(date);
            var m       = dte.getMonth()+1;
            var d       = dte.getDate();
            var y       = dte.getFullYear();
            
            y < 2000    ? y = parseInt(y)+100 : '';
            m < 10      ? m = '0'+m : '';
            d < 10      ? d = '0'+d : '';
            
            return m +'/'+ d +'/'+ y;
        }

        function fieldFailed(name){
            var def = $(name).attr('default');
            
            $(name).addClass('bad');
            if($failedFields != ''){ $failedFields += ', '; }
            $failedFields += def;
            
		}

        function fieldOK(name){
            var val         = $(name).val();
            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;
            }
        }
        
        function emailOK(name){
            var val          = $(name).val();
            var def          = $(name).attr('default');
            
			var illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
			var emailFilter  = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
			
			// ALTERNATIVE REGEX EMAIL FILTERS
			// var emailFilter  = /^.+@.+\..{2,3,4,6}$/;
			// var emailFilter  = /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/;
            
            if(val != '' && val != def){
				if (val.match(illegalChars)) {
				    window.alert('The email address contains illegal characters.');
					fieldFailed(name);
            		return false;
				}
				if (!(emailFilter.test(val))) { 
				    window.alert('Please enter a valid email address.');
					fieldFailed(name);
            		return false;
				}            

                $(name).removeClass('bad');
                return true;
           } else {
				fieldFailed(name);
            	return false;
            }
        }
       
        $('form#chance_to_win_form').submit(function(event){            
            $myStatus                       = true;
            $failedFields                   = '';
            
            if($('#chance_mailer').length > 0 && !fieldOK('#chance_mailer')){  $myStatus = false; }
            !fieldOK('#chance_promo_code')     ? $myStatus = false : '';
            !selectOK('#chance_market_source') ? $myStatus = false : '';
            !fieldOK('#chance_first_name')     ? $myStatus = false : '';
            !fieldOK('#chance_last_name')      ? $myStatus = false : '';
            !fieldOK('#chance_email')          ? $myStatus = false : '';
            !emailOK('#chance_email')          ? $myStatus = false : '';
            !fieldOK('#chance_address')        ? $myStatus = false : '';
            !fieldOK('#chance_city')           ? $myStatus = false : '';
            !selectOK('#chance_state')         ? $myStatus = false : '';
            !fieldOK('#chance_zip')            ? $myStatus = false : '';
            
            if($('#chance_country').val()   != '' && $('#chance_country').val() == 'United States'){
                !selectOK('#chance_state')   ? $myStatus = false : '';
            }
            
            !selectOK('#chance_country')     ? $myStatus = false : '';
            
            if($('#chance_req_quote').is(':checked')){

                if ( !fieldOK('#chance_adults') )       $myStatus = false;
                if ( !fieldOK('#chance_kids') )         $myStatus = false;
                if ( $('#chance_kids').val() != '' && $('#chance_kids').val() != 0 ) {
                    if ( !fieldOK('#chance_kid_ages') ) $myStatus = false;
                } else {
                	$('#chance_kid_ages').removeClass('bad');
                }
                if ( !fieldOK('#chance_departure') )    $myStatus = false;
                if ( !fieldOK('#chance_arrival') )      $myStatus = false;
            }
            
            if($myStatus == false){
                window.alert ('Failed Fields: ' + $failedFields);
                return false;
            }
            
            $('#chance_to_win').addClass('dim');
            return true;
        });
       
        $('form#request_a_deal_form').submit(function(event){            
            $myStatus                       = true;
            $failedFields                   = '';
            
            if($('#deal_mailer').length > 0 && !fieldOK('#deal_mailer')){  $myStatus = false; }
            !fieldOK('#deal_promo_code')     ? $myStatus = false : '';
            !selectOK('#deal_market_source') ? $myStatus = false : '';
            !fieldOK('#deal_first_name')     ? $myStatus = false : '';
            !fieldOK('#deal_last_name')      ? $myStatus = false : '';
            !fieldOK('#deal_email')          ? $myStatus = false : '';
            !emailOK('#deal_email')          ? $myStatus = false : '';
            !fieldOK('#deal_address')        ? $myStatus = false : '';
            !fieldOK('#deal_city')           ? $myStatus = false : '';
            !selectOK('#deal_state')         ? $myStatus = false : '';
            !fieldOK('#deal_zip')            ? $myStatus = false : '';
            
            if($('#deal_country').val()   != '' && $('#deal_country').val() == 'United States'){
                !selectOK('#deal_state')   ? $myStatus = false : '';
            }
            
            !selectOK('#deal_country')     ? $myStatus = false : '';
            
            if($('#deal_req_quote').is(':checked')){

                if ( !fieldOK('#deal_adults') )       $myStatus = false;
                if ( !fieldOK('#deal_kids') )         $myStatus = false;
                if ( $('#deal_kids').val() != '' && $('#deal_kids').val() != 0 ) {
                    if ( !fieldOK('#deal_kid_ages') ) $myStatus = false;
                } else {
                	$('#deal_kid_ages').removeClass('bad');
                }
                if ( !fieldOK('#deal_departure') )    $myStatus = false;
                if ( !fieldOK('#deal_arrival') )      $myStatus = false;
            }
            
            if($myStatus == false){
                window.alert ('Failed Fields: ' + $failedFields);
                return false;
            }
            
            $('#deal_to_win').addClass('dim');
            return true;
        });
    });
    
