/**
 * @author Jonas De Smet for Glamorous.be
 */
$(document).ready(function(){
	jQuery.validator.addMethod("defval", function(value, element) { 
  		return this.optional(element) || element.defaultValue != value; 
	}, "");

	var text_inputs = $("form input[type=text]");
	text_inputs.each(function(){
		var input = $(this);
		input.click(function(){
			if(input.val() == this.defaultValue){
				input.val("");
			}
		});
		input.blur(function(){
			if(input.val() == ""){
				input.val(this.defaultValue);
			}
		});
	});
	
	$("#person_form").validate({
		errorElement: "span",
		rules: {
			firstname: {required: true,	defval: true, minlength: 2},
			lastname: {required: true, defval: true, minlength: 3},
			street: {required: true, defval: true, 	minlength: 2},
			nr: {required: true, defval: true},
			zip: {required: true, defval: true, digits: true, rangelength: [4, 4]},
			city: {required: true, defval: true, minlength: 3},
			day: {required: true, defval: true, digits: true, range: [1, 31]},
			month: {required: true, defval: true, digits: true, range: [1, 12]},
			year: {required: true, defval: true, digits: true, range: [1965, 1991]},
			email: {required: true, defval: true, email: true},
			phone: {required: true, defval: true, rangelength: [9, 15]},
			sex: {required: true}
		},
		messages: {
			firstname: {required: "", minlength: ""},
			lastname: {required: "", minlength: ""},
			street: {required: "", minlength: ""},
			nr: {required: ""},
			zip: {required: "", digits: "", rangelength: ""},
			city: {required: "", minlength: ""},
			day: {required: "", digits: "", range: ""},
			month: {required: "", digits: "", range: ""},
			year: {required: "", digits: "", range: ""},
			email: {required: "", email: ""},
			phone: {required: "", rangelength: ""},
			sex: {required: "You have a sex right? Just click it&hellip;"}
		},
		errorPlacement: function(error, element) {
			if (element.is(":radio")){
                error.insertAfter(element.parent("label").next());
			}
		},
		submitHandler: function(form){
			$("#loading-person").fadeIn('fast');
			$.ajax({
				type: 'POST',
				url: $(form).attr('action'),
				data: $(form).serialize(),
				dataType: 'json',
				async: false,
				success: function(json, textStatus){
					$('div.form .msg').hide();
					if(json.data){
						$('#msg_' + json.data).fadeIn();
						if (json.data == 'ok') {
							$.glamGA.customTrack('UA-4011759-1', {
								type: 'event',
								category: 'Action',
								action: 'Register',
								label: 'Member'
							});
						}
					}
					else{
						$('#msg_error').fadeIn();
					}
				},
				error: function (XMLHttpRequest, textStatus, errorThrown) {
					$('div.form .msg').hide();
					$("msg_error").fadeIn();
				},
				complete: function(data){
					$("#loading-person").fadeOut();
				}
			});
			return false;
		}
	});
	
	$("#person_submit").click(function(){
		submit();
		return false;
	});
	
	$("#person_form input").bind('keyup', 'return', function(){
		submit();
		return false;
	});
	
	function submit()
	{
		$.glamGA.customTrack('UA-4011759-1', {
			type: 'event',
			category: 'Action',
			action: 'Submit',
			label: 'Portfolio-login'
		});
		$("#person_form").submit();
	}

});