$.validator.setDefaults({
	success: "valid"
});;

$(document).ready(function(){
	   
	$.validator.addMethod("dateNew", function() {
		var month = $('#month').val();
		var day = $('#day').val();
		var year = $('#year').val();		
		var date = new Date(month+"/"+day+"/"+year);	
		if(month == (date.getMonth()+1) && day == date.getDate() && year == date.getFullYear()) {
			return true;
		} else { return false; }
	}, "Choose a valid date");	
	
	$.validator.addMethod("sos", function() {
			return ($('#sos').val() != 0);
	}, "Please select a subject of studies.");
	
	$.validator.addMethod("username", function() {
		var notcharnum = /\W/;
		var underscore = "_";
		return (($("#username").val().match(notcharnum) == null) && ($("#username").val().match(underscore) == null));
	}, "Only letters and numbers are allowed.");
	
	$.validator.addMethod("matrikel", function() {
		var firstchar = $("#matrikel").val().charAt(0);
		return ((firstchar == "2") || (firstchar == "9"));
	});
		
 $("#studentform").validate({
	    rules: {
	        areacode: {
	  	      required: true,
	  	      rangelength: [5, 5],
	  	      digits: true
	        },
	        matrikel: {
	        	required: true,
	        	rangelength: [7, 7],
	        	digits: true,
	        	matrikel: true
	        }, 
	        password: {
	        	required: true,
	        	minlength: 6
	        },
	        password2: {
	        	required: true,
	            equalTo: "#password"
	       },
	       username: {
	    	   required: true,
	    	   username: true
	       },
	       year: {
	    	   dateNew: true
	       },
	       sos: {
	    	   sos: true
	       }
	    },
	    messages: {
	    	areacode: "Please enter a valid 5 digit area/postal code",
	    	matrikel: "Please enter a valid 7 digit long matrikel number of the TU-Cottbus.",
	        email: {
	          required: "A valid email address is required.",
	          email: "Your email address must be in the format of name@domain.com."
	        }
	    }
    });
    

    $("#month").change(function (e) {
    	$("#studentform").validate().element("#year");
    });    

    $("#day").change(function (e) {
    	$("#studentform").validate().element("#year");
    });    

    
    $("#matrikel").keyup(function () {    
        if($("#matrikel").val().length > 1) {
        	if($("#matrikel").val().charAt(0) == "2") {
        		$("#matyear").html("200" + $("#matrikel").val().charAt(1));
        	}
        	else if ($("#matrikel").val().charAt(0) == "9") {
        		$("#matyear").html("199" + $("#matrikel").val().charAt(1));
        	} else {
        		$("#matyear").html("");
        	}
        } else {
        	$("#matyear").html("");
        }
    });      

    
});

