function setupAjaxForm(form_id, form_validations){
    var form = '#' + form_id;
    var form_message = form + '-message';

	// en/disable submit button

	var disableSubmit = function(val){
        // $(form + ' input[type=submit]').attr('disabled', val);
    };

    // setup loading message
    $(form).ajaxSend(function(){
        $('#mailing_msg').removeClass().addClass('loading').html('Loading...').fadeIn();
    });
 
    // setup jQuery Plugin 'ajaxForm'
    var options = {
		dataType:  'json',
		crossDomain: true,
        beforeSubmit: function(){
            // run form validations if they exist
            if(typeof form_validations == "function" && !form_validations()) {
                // this will prevent the form from being subitted
                return false;
            }
            disableSubmit(true);
        },
        success: function(json){
            /**
               * The response from AJAX request will look something like this:
               * {"type" : "success", "message" : "Thank-You for submitting the form!"}
               * Once the jQuery Form Plugin receives the response, it evaluates the string into a JavaScript object, allowing you to access 
               * object members as demonstrated below.
               */
            $('#mailing_msg').hide();
            $('#mailing_msg').removeClass().addClass(json.type).html(json.message).fadeIn('slow');
            disableSubmit(false);
			if(json.type == 'success') {
                //$(form).clearForm();
				reset_mailing();
			}
        }
    };
    $(form).ajaxForm(options);
}

function mailing_conditions_mailing() {
    $("#mailing_conditions").fadeIn();
}

function reset_mailing() {
    timeresetmailing = setInterval(function() {
        $('#email').val('');
		 $('#number').val('');
        $mailing_msg.html('');
        $('#check_conditions').removeAttr('checked');
    }, 2000);
    setTimeout("clearTimeout(" + timeresetmailing + ")", 2000); 
}

function parseBoolean(str) {
    return (str==true || str.toLowerCase()=="true" || String(str)=="1") ? true : false;
}

filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
function check_email_address(email) {    
    if (filter.test(email)) { 
        return true; 
    } else {
        return false;
    }
}

filternr = /^([0-9])+$/;
function check_number(nr) {    
    if (filternr.test(nr)) { 
        return true; 
    } else {
        return false;
    }
}

function close_mailing() {
    if ($.browser.msie) {
        $mailing.show();
        $mailing_off.hide();
    } else {
        $mailing.fadeIn();
        $mailing_off.fadeOut();
    }
}
function open_mailing() {
    if ($.browser.msie) {
        $mailing_off.show();
        $mailing.hide();
    } else {
        $mailing_off.fadeIn();
        $mailing.fadeOut();
    }
}

$(document).ready(function() {
    // Formulare
	$("input#email").click(function()
	{
		var email = $(this).val();
		if (email == 'Email')
		{
			$(this).val("");
		}
	});
	
	$("input#number").click(function()
	{
		var number = $(this).val();
		if (number == 'Mobile Number')
		{
			$(this).val("");
		}
	});
	
	
	// mailing
     new setupAjaxForm('form-keepintouch', function(){
    	if ($('#email').val() == '' || $('#email').val() == 'Email') {
        	alert('Please enter your Emailadress!');
        	$('#email').focus();
        	return false;
    	} else {
        	if (!check_email_address($('#email').val())) {
            	alert('Please enter a correct Emailadress!');
            	return false;
        	}
    	}
    	
		if ($('input#number').val() == 'Mobile Number') {
			$('input#number').val("");
		}
		
		if ($('#number').val() != '') {
        	if (!check_number($('#number').val())) {
            	alert('Please enter a correct Mobile Number!');
				$('#number').focus();
            	return false;
        	}
    	} 
		
		if (!$('#check_conditions').is(':checked')) {
        	alert('Please accept our Conditions!');
        	return false;
    	}
		return true; 
    });
	
	
	$mailing = $('#mailing');
    $mailing_off = $('#mailing_off');
    $mailing_msg = $('#mailing_msg');
    $("#mailing_conditions_close").click(function() {
        $("#mailing_conditions").fadeOut();
    });
});
