//for the registration form
TR.register = function() {

    function init(what) {
	$(document).ready(function() {
	    if ("prescreening" == what) {
		initPrescreening();
	    }
	    else {
		initRegister();
	    }
	});
    }

    function initRegister() {
	$("#input-firstname").focus();

	jQuery.validator.addMethod("namePattern", function(name, element) { 
	    pattern = /[\d\~\?\!\@\#\$\%\^\&\*\(\)\_\=\{\}\[\]\+\`\"\|\<\>\:\;\.\,\/\\]/;
	    return !pattern.test(name);
	}, "Invalid name");

	$("form[name='registration']").validate({
	    errorPlacement: function (error, element) {
            element.closest(".field").find(".message-row").html(error);
            element.closest(".field").find(".label").addClass('labelerror');
            $("#registration_error").show();
	    },

        unhilight: function(element, errorClass, validClass) {
			if (element.type === 'radio') {
				this.findByName(element.name).removeClass(errorClass).addClass(validClass);
			} else {
				$(element).removeClass(errorClass).addClass(validClass);
			}
		},

	    rules: {
			firstname: {
			    minlength: 2,
			    maxlength: 32,
			    namePattern: ""
			},
			lastname: {
			    minlength: 2,
			    maxlength: 32,
			    namePattern: true
			},
			email: {
			    email: true
			},
			password: {
                minlength: 6,
			    maxlength: 20
			},
			passwordconfirm: {
                equalTo: "#input-password"
			},
            towncity: {
                maxlength: 100
			},
			weight:{
				number: true
			},
			height:{
				number: true
			}
	    },

        messages: {
            firstname:{required: " ", minlength: " at least 2 characters", maxlength: " no more than 32 characters"},
            lastname:{required: " ", minlength: " at least 2 characters", maxlength: " no more than 32 characters"},
            gender:{required: " "},
            dob_day:{required: "&nbsp;"},
            dob_month:{required: "&nbsp;"},
            dob_year:{required: "&nbsp;"},
            country:{required: " "},
            towncity:{required: " ", maxlength: " no more than 100 characters"},
            email:{required: " "},
            weight: {number: "weight should be a number"},
            height: {number: "height should be a number"},
            phone:{required: " "},
            password:{required: " ", minlength: " at least 6 characters", maxlength: " no more than 20 characters"},
            //passwordconfirm:{equalTo: " Password confirmation does not match"},
            studyaccept:{required: " You have to read and understand the information about this study"},
            termsandconditions:{required: " You have to understand and accept the terms of use for this site"},
            equalTo: " Password must be equal"
        }
	});

	$("form[name='login']").validate({
	    errorPlacement: function (error, element) {
		element.closest(".field").find(".message-row").html(error);
	    }
	});
    }

    function initPrescreening() {
    }

				   
    return {
	init: init
    };
}();

