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

jQuery(document).ready(function(){
	   
	jQuery.validator.addMethod("dateNew", function() {
		var month = jQuery('#month').val();
		var day = jQuery('#day').val();
		var year = jQuery('#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");	
	
	jQuery.validator.addMethod("sos", function() {
			return (jQuery('#sos').val() != 0);
	}, "Please select a subject of studies.");
	
	jQuery.validator.addMethod("username", function() {
		var notcharnum = /\W/;
		var underscore = "_";
		return ((jQuery("#username").val().match(notcharnum) == null) && (jQuery("#username").val().match(underscore) == null));
	}, "Only letters and numbers are allowed.");
	
	jQuery.validator.addMethod("matrikel", function() {
		var firstchar = jQuery("#matrikel").val().charAt(0);
		return ((firstchar == "2") || (firstchar == "9"));
	});
		
 jQuery("#contactform").validate({
	    rules: {
	        zipcode: {
	  	      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: {
	    	zipcode: "Please enter a 5 digit zip code",
	    	matrikel: "Please enter a valid 7 digit long matrikel number of the TU-Cottbus.",
	        email: {
	          required: "A valid email address is required.",
	          email: "name@domain.com."
	        }
	    }
    });
    

    jQuery("#month").change(function (e) {
    	jQuery("#contactform").validate().element("#year");
    });    

    jQuery("#day").change(function (e) {
    	jQuery("#contactform").validate().element("#year");
    });    

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

    
});

