$(document).ready(function() {

	$.validator.addMethod("selectNone",function(value, element) {
		if ($(element).hasClass("required")) {
			if (element.value == '0') {
				return false;
	    	}
			else {
				return true;
			}
		}
	 	else {
			return true;
 		}
	});

	$("#defaultForm").validate( {
		rules: {
		 	address: {
				minlength: 1
		 	},
		 	author: {
				minlength: 1
		 	},
		 	birthDate: {
				minlength: 1
		 	},
		 	campaignName: {
				minlength: 1
		 	},
    		careerLevel: {
          		selectNone: true
      		},
		 	careerStatus: {
				selectNone: true
		 	},
		 	city: {
				minlength: 1
		 	},
		 	companyName: {
				minlength: 1
		 	},
			confirm_password: {
				minlength: 5,
				equalTo: "#password"
		 	},
    		contractTime: {
          		selectNone: true
      		},
		 	country: {
				minlength: 2
		 	},
    		educationLevel: {
          		selectNone: true
      		},
			email: {
				email: true
		 	},
			emailReceiver: {
				email: true
		 	},
			emailSender: {
				email: true
		 	},
		 	endDate: {
				date: true
		 	},
		 	firstName: {
				minlength: 1
		 	},
		 	functionTitle: {
				minlength: 1
		 	},
		 	gender: {
                selectNone: true
		 	},
		 	groupName: {
				minlength: 1
		 	},
		 	hobbyLevel: {
                selectNone: true
		 	},
		 	hours: {
				selectNone: true
		 	},
		 	industry: {
                selectNone: true
		 	},
		 	institute: {
				minlength: 1
		 	},
		 	jobId: {
				minlength: 3
		 	},
    		kind: {
          		selectNone: true
      		},
    		languageLevel: {
          		selectNone: true
      		},
		 	lastName: {
				minlength: 1
		 	},
		 	location: {
				minlength: 1
		 	},
		 	message: {
				minlength: 5
		 	},
		 	name: {
				minlength: 1
		 	},
		 	nameReceiver: {
				minlength: 1
		 	},
		 	nameSender: {
				minlength: 1
		 	},
		 	number: {
				minlength: 1
		 	},
		 	password: {
				minlength: 5
		 	},
		 	phone: {
				minlength: 10
		 	},
		 	position: {
				minlength: 1
		 	},
		 	question: {
				minlength: 5
		 	},
		 	reference: {
				minlength: 1
		 	},
		 	salaryPeriod: {
                selectNone: true
		 	},
		 	salutation: {
                minlength: 5
		 	},
		 	securityCode: {
				minlength: 5
		 	},
		 	selectboxSubject: {
                selectNone: true
		 	},
		 	selectboxType: {
                selectNone: true
		 	},
		 	seoName: {
				minlength: 1
		 	},
		 	skill: {
				minlength: 1
		 	},
		 	skillLevel: {
				selectNone: true
		 	},
    		state: {
        		selectNone: true
      		},
		 	startDate: {
				minlength: 1
		 	},
		 	street: {
				minlength: 1
		 	},
		 	subject: {
				minlength: 1
		 	},
		 	termsOfUse: {
				minlength: 1
		 	},
		 	title: {
				minlength: 1
		 	},
		 	travel: {
                selectNone: true
		 	},
		 	url: {
				minlength: 5
		 	},
		 	urlCssJobpostings: {
				minlength: 5
		 	},
		 	urlCssPresentations: {
				minlength: 5
		 	},
		 	urlIntegration: {
				minlength: 5
		 	},
		 	urlJobpostings: {
				minlength: 5
		 	},
		 	urlPresentations: {
				minlength: 5
		 	},
		 	username: {
				minlength: 5
		 	},
		 	website: {
				url: true
		 	},
		 	yearsExperience: {
                selectNone: true
		 	},
		 	zipcode: {
				minlength: 1
		 	}
		},
		messages: {
   			address: "geen adres ingevoerd",
   			author: "geen auteur ingevoerd",
      		birthDate: "geen geboortedatum ingevoerd",
    		campaignName: "geen campagnenaam ingevoerd",
    		careerLevel: "Geen carriereniveau ingevoerd",
    		careerStatus: "geen carrierestatus geselecteerd",
    		title: "geen titel ingevoerd",
       		city: "geen plaatsnaam ingevoerd",
       		companyName: "geen bedrijfsnaam ingevoerd",
    		confirm_password: "wachtwoord komt niet overeen",
       		contractTime: "geen dienstverband geselecteerd",
    		country: "geen land ingevoerd",
    		educationLevel: "geen opleidingsniveau geselecteerd",
    		email: "geen geldig e-mailadres ingevoerd",
    		emailReceiver: "geen geldig e-mailadres ingevoerd",
    		emailSender: "geen geldig e-mailadres ingevoerd",
    		endDate: "geen einddatum of verwachte einddatum ingevoerd",
      		firstName: "geen voornaam ingevoerd",
    		functionTitle: "geen functietitel ingevoerd",
    		gender: "geen geslacht geselecteerd",
      		groupName: "geen naam voor de groep ingevoerd",
			hobbyLevel: "geen hobby-graad ingevoerd",
      		hours: "geen aantal uur ingevoerd",
      		jobId: "geen vacaturenummer ingevoerd",
      		industry: "geen functiegroep ingevoerd",
      		institute: "geen instellingsnaam ingevoerd",
      		kind: "geen soort ingevoerd",
      		languageLevel: "geen taalvaardigheid ingevoerd",
    		lastName: "geen achternaam ingevoerd",
    		location: "geen locatie ingevoerd",
   		 	message: "geen bericht ingevoerd, minimaal 5 karakters",
    		name: "geen naam ingevoerd",
    		nameReceiver: "geen naam ingevoerd",
    		nameSender: "geen naam ingevoerd",
    		number: "geen nummer ingevoerd",
			password: "geen 5 of meer karakters ingevoerd",
			phone: "geen 10 nummers ingevoerd",
			position: "geen positie ingevoerd",
			question: "geen vraag ingevoerd",
			reference: "geen interene referentie ingevoerd",
			salaryPeriod: "geen salarisperiode ingevoerd",
			salutation: "geen aanhef ingevoerd",
			securityCode: "niet de anti-beveiligingscode ingevoerd",
			seoName: "geen SEO-name ingevoerd",
			selectboxSubject: "geen onderwerp geselecteerd",
			selectboxType: "geen soort geselecteerd",
			skill: "geen vaardigheid ingevoerd",
			skillLevel: "geen vaardigheidsgraad geselecteerd",
			state: "geen provincie geselecteerd",
			startDate: "geen startdatum ingevoerd",
			street: "geen straatnaam ingevoerd",
			subject: "geen onderwerp ingevoerd",
			termsOfUse: "niet de algemene voorwaarden geaccepteerd",
			title: "geen titel ingevoerd",
			travel: "geen reistijd ingevoerd",
			url: "geen website adres ingevoerd (voorbeeld: http://www.voorbeeld.nl)",
			urlCssJobpostings: "geen url ingevoerd voor het integreren van de vacatures style sheet",
			urlCssPresentations: "geen url ingevoerd voor het integreren van de presentaties style sheet",
      		urlIntegration: "geen integratie url ingevoerd",
			urlJobpostings: "geen url ingevoerd voor het integreren van de vacatures",
			urlPresentations: "geen url ingevoerd voor het integreren van de presentaties",
			username: "geen 5 of meer karakters ingevoerd",
			website: "geen website adres ingevoerd (voorbeeld: http://www.voorbeeld.nl)",
			yearsExperience: "geen aantal jaren ervaring ingevoerd",
			zipcode: "geen postcode ingevoerd"
		},
		errorPlacement: function(error, element) {
			if (element.is(":radio")) {
				error.appendTo( element.parent().next().next() );
			}
			else if (element.is(":checkbox")) {
				error.appendTo(element.next());
			}
			else {
				error.appendTo(element.parent() );
			    element.next("span").hide();
			}
		},
		success: function(label) {
			label.addClass("valid").text("Ok!")
		}
  	});
});
