$(document).ready(function() {
	
	$("#message_signup").hide();
	$("#index_signup_form dt#enterprise_name-label").hide();
	$("#index_signup_form dd#enterprise_name-element").hide();
	
	$("#username").focus(function() {
        var firstname = $("#firstname").val();
        var lastname = $("#lastname").val();
        if(firstname && lastname && !this.value) {
        	firstname = specialCharacter(firstname);
        	lastname = specialCharacter(lastname);
            this.value = firstname.toLowerCase().charAt(0) + lastname.toLowerCase();
        }
    });
	
	$('select#account_type').change(function() {
		if ($('select#account_type').val() == 1) {
			$("#index_signup_form dt#enterprise_name-label").slideUp();
			$("#index_signup_form dd#enterprise_name-element").slideUp();
		} else {
			$("#index_signup_form dt#enterprise_name-label").slideDown();
			$("#index_signup_form dd#enterprise_name-element").slideDown();
		}
	});
	
	$.validator.addMethod(
	        "regex",
	        function(value, element, regexp) {
	            var check = false;
	            var re = new RegExp(regexp);
	            return this.optional(element) || re.test(value);
	        },
	        "Please check your input."
	);
	
	var validate = $("#index_signup_form").validate({
		rules: {
			firstname: { required: true },
			lastname: { required: true },
			username: { required: true, minlength: 4, regex: "^[a-zA-Z0-9_.-]*$", remote: "/ajax/isusernameavailable" },
			email: { required: true, email: true, remote: "/ajax/isemailavailable" },
			password: { required: true, minlength: 6 },
			password_verification: { required: true, equalTo: "#password" },
		},
		messages: {
			email: { 
            	remote: jquery_validator_email, 
        	},
        	username: { 
        		regex: jquery_validator_username_characters,
            	remote: jquery_validator_username, 
        	},
		},
		submitHandler: function() {
			jQuery("#index_signup_form").ajaxSubmit(function(data){
				$("#index_signup_form").slideUp();
				$("#index_signup_form_details").slideUp();
				$("#message_signup").slideDown();
				validate.resetForm();
			});
		}
	});

});

function specialCharacter(value) {
	  data = value.replace(/[àâä]/gi,"a");
	  data = data.replace(/[éèêë]/gi,"e");
	  data = data.replace(/[îï]/gi,"i");
	  data = data.replace(/[ôö]/gi,"o");
	  data = data.replace(/[ùûü]/gi,"u");
	  data = data.replace(/[^a-zA-Z0-9]+/g,'');
	  return data
}