$(document).ready(	function(){
	
	$.validator.addMethod("hostname", function(value) {
		var hostname = /\./i;
		
		if(value == "" || hostname.test(value) || hostname.test(value))
			return true;
		else
			return false;
	}, 'Proszę podać poprawny adres url');
	
	$.validator.addMethod("telephone", function(value) {
		result = value.replace(/\(/gi, "");
		result = result.replace(/\)/gi, "");
		result = result.replace(/\-/gi, "");
		result = result.replace(/\ /gi, "");
		
		var check = true;
		
		if(result.length != 0 && (result.length < 6 || result.length > 12)){
			return false;
		}
		
		for(var i=0;i < result.length; ++i){
			var newKey = result.charAt(i);
			if(((newKey < "0") || (newKey > "9")) && !(newKey == "")){
				check = false;
				break;
			}
		
		}
		
		if(check == false){
			return false;
		}else{
			return true;
		}
	}, 'Podaj poprawny telefon');
	
	$.validator.addMethod("postcode", function(value) {
		result = value.replace(/\-/gi, "");
		
		var check = true;
		
		for(var i=0;i < result.length; ++i){
			var newKey = result.charAt(i);
			if(((newKey < "0") || (newKey > "9")) && !(newKey == "")){
				check = false;
				break;
			}
		
		}
		
		if(result.length != 5){
			check = false;
		}
		
		if(check == false){
			return false;
		}else{
			return true;
		}
	}, 'Podaj poprawny kod pocztowy');
	
	
	//validation
		$("#companyRegister").validate({
			
			errorElement: "span",
			errorClass: "form-error",
			errorContainer: $("#warning, #summary"),
			errorPlacement: function(error, element) {
				element.parent("td").next("td").text("");
				error.appendTo( element.parent("td").next("td") );
				element.parent("td").next("td").css('color', 'red');
				
			},
			rules: {
				name: "required", 
				address: "required", 
				city: "required", 
				email: {
					required: true, 
					email: true
				},		
				postcode: "postcode", 
				password: {
					required: true, 
					minlength: 6 
				},
				repeatPassword:  {
					required: true, 
					equalTo: "#password"
				},
				telephone: "telephone",
				www: "hostname"
			},
			messages: {
				name: {
					required: "Podaj nazwę firmy"
				}, 
				address: {
					required: "Podaj ulicę i nr lokalu"
				}, 
				city: {
					required: "Podaj miasto"
				},
				email: {
					required: "Podaj email", 
					email: "Podaj poprawny email"
				},
				password: {
					minlength: "Hasło musi zawierać więcej niż 6 znaków", 
					required: "Podaj hasło"
				},
				repeatPassword: {
					equalTo: "Wprowadź takie same hasło", 
					required: "Podaj hasło"
				}
			}
		});
	
	
});