/**
 * simple function to update payment splash window
 * @param {Object} tite
 * @param {Object} message
 */
function setPaymentMessage(title, message, bar){
	$('#paymentSplashMessageTitle').html(title);
	$('#paymentSplashMessageText').html(message);
	if(bar == 1){
		
		$('#paymentSplashBar').show();
		
		setTimeout((function(){
			$('#paymentSplashImage').attr('src', $SKIN + "/img/ajax-loader.gif");
		}), 200);
		
	}else{
		$('#paymentSplashBar').hide();
	}
}

/**
 * validator defaults
 */
$.validator.setDefaults({
    submitHandler: function(){
		
		$("#paymentSplash").center();
		$('#paymentSplash').fadeIn(500);
		setPaymentMessage('Processing payment','Please wait...', 1);
		
        var data = $('#orderForm').serialize();
        
        $.ajax({
            type: "POST",
            url: "engine/checkPayment",
            data: data,
			dataType: 'JSON',
            success: function(msg){
                var response = $.evalJSON(msg);
				
				if(response.status == 'ok'){
					setPaymentMessage('Payment confirmed','Please wait...', 1);			
					window.location = $WEB_ROOT + 'booking/showConfirmation';
					
					return false;
				}else{
					setPaymentMessage('Sorry, payment declined', 'Maybe this helps: <strong>' + response.message + '</strong>', 0);
					$('body').bind('click',function(){
						$('#paymentSplash').fadeOut(500);
						$('body').unbind('click');
						return false;
					});
					return false;
				}
            }
        });
        
        return false;
    }
});


/**
 * jQuery
 */
$(function(){
	
	
    $('input[name="flight_details"]').bind('change', function(){
    
        var sel = $(this).val();
        if (sel == 'yes') {
            $('input[name="flight_no"]').val('');
            $('input[name="flight_in"]').val('');
            $('input[name="destination"]').val('');
        }
        else {
            $('input[name="flight_no"]').val('TBC');
            $('input[name="flight_in"]').val('TBC');
            $('input[name="destination"]').val('TBC');
            
        }
        return false;
    });
    
    $('input[name="car_using"]').bind('change', function(){
    
        var sel = $(this).val();
        if (sel == 'yes') {
            $('input[name^="registration_"]').val('');
            $('input[name^="model_"]').val('');
            $('input[name^="color_"]').val('');
        }
        else {
            $('input[name^="registration_"]').val('TBC');
            $('input[name^="model_"]').val('TBC');
            $('input[name^="color_"]').val('TBC');
        }
        return false;
    });
    
    
    var validator = $('#orderForm').validate({
        errorElement: "span",
        errorPlacement: function(error, element){
            error.insertAfter(element);
        },
        onkeyup: false,
        success: function(label){
            label.html('<img src="skins/default/img/ok2.gif">');
        },
        rules: {
            "[name^='registration']": {
                required: true
            },
            
            first_name: {
                required: true
            },
            last_name: {
                required: true
            },
            mobile: {
                required: false
            },
            email: {
                required: true,
                email: true,
                maxlength: 40
            },
            confirm_email: {
                required: true,
                email: true,
                maxlength: 40,
                equalTo: '#email'
            },
            postcode: {
                required: true,
                minlength: 5
            },
            town: {
                required: true
            },
            county: {
                required: false
            },
            card_name: {
                required: true
            },
            card_code: {
                required: true
            },
            terms: {
                required: false
            },
            name_on_card: {
                required: true
            },
            security_code: {
                required: true
            },
            card_number: {
                required: true
            }
        
        },
        messages: {
            first_name: {
                required: "<img src='skins/default/img/error.gif' align='absmiddle'>"
            },
            last_name: {
                required: "<img src='skins/default/img/error.gif' alt='TEST'>"
            },
            email: {
                required: "<img src='skins/default/img/error.gif'>",
                email: "<img src='skins/default/img/error.gif'>"
            },
            confirm_email: {
                required: "<img src='skins/default/img/error.gif'>",
                email: "<img src='skins/default/img/error.gif'>",
                equalTo: "<img src='skins/default/img/error.gif'>"
            },
            postcode: {
                required: "<img src='skins/default/img/error.gif'>",
                minlength: "<img src='skins/default/img/error.gif'>"
            },
            card_name: {
                required: "<img src='skins/default/img/error.gif'>"
            },
            
            card_code: {
                required: "<img src='skins/default/img/error.gif'>"
            },
            terms: {
                required: "error"
            },
            card_number: {
                required: "<img src='skins/default/img/error.gif'>"
            },
            name_on_card: {
                required: "<img src='skins/default/img/error.gif'>"
            },
            security_code: {
                required: "<img src='skins/default/img/error.gif'>"
            }
        
        }
    
    
    });
    
});


