<!--		

$().ready(function() {
	// validate signup form on keyup and submit
	$("#x").validate({
	  	errorLabelContainer: $("#x div.error"),
		rules: {
			fldPosition: {
				required: true,
				minlength: 3,
				maxlength: 160				
			},
			fldRef: {
				required: false,
				maxlength: 20				
			},		
			fldOrganisation: {
				required: true,
				minlength: 2,
				maxlength: 160				
			},	
			fldDatePublish: {
				required: true,
				minlength: 8,
				maxlength: 10				
			},			
			fldCategory: {
				required:true,
				min: 1
			},
			fldCity: {
				required: false,
				maxlength: 160				
			},	
			fldEmail: {
				required: true,
				email: true
			},
			fldInvoiceCompanyName: {
				required: true,
				minlength: 2,
				maxlength: 250				
			},	
			fldInvoiceCompanyAddress: {
				required: true,
				minlength: 2,
				maxlength: 250				
			},	
			fldInvoiceCompanyPC: {
				required: true,
				minlength: 6,
				maxlength: 7				
			},	

			fldInvoiceCompanyCity: {
				required: true,
				minlength: 2,
				maxlength: 250				
			},	
			fldInvoiceCompanyContact: {
				required: true,
				minlength: 4,
				maxlength: 250				
			},			
			fldInvoiceCompanyEmail: {
				required: true,
				email: true
			},
			fldContactEmail: {
				required: "#fldRespond1:checked",
				email: true
			},
			fldContactWebsite: {
				required: "#fldRespond2:checked",
				url: true,
				minlength: 5
			},	
			fldAgreeCost : "required",
			fldAgreeTerms : "required"		
		},
		messages: {
			fldPosition: "Functie is verplicht",
			fldRef: {
				maxlength: "Uw referentienummer mag niet meer dan 20 karakters bedragen"
			},
			fldOrganisation: "Organisatie is verplicht",
			fldDatePublish: "Publicatiedatum is verplicht",
			fldCategory: "Functiegebied is verplicht, maak een keuze",
			fldCity: {
				maxlength: "Standplaats mag niet meer dan 160 karakters bedragen"
			},
			fldContactEmail: "Reactie adres is verplicht",
			fldContactWebsite: "Reactie adres is verplicht",			
			fldInvoiceCompanyName: "Organisatienaam bij factuurgegevens is verplicht",
			fldInvoiceCompanyAddress: "Adres bij factuurgegevens is verplicht",
			fldInvoiceCompanyPC: "Postcode bij factuurgegevens is verplicht",
			fldInvoiceCompanyCity: "Plaats bij factuurgegevens is verplicht",
			fldInvoiceCompanyContact: "Contactpersoon is verplicht",			
			fldInvoiceCompanyEmail : "Contact e-mailadres is verplicht",
			fldAgreeCost: "U dient akkoord te gaan met de kosten",
			fldAgreeTerms: "U dient akkoord te gaan met de Algemene voorwaarden"
		}	,
		submitHandler: function(){
			var q = document.forms['x'];
			var dt = new Date()

			if (IsDate(q.fldDatePublish.value) && IsDate(q.fldDateExpire.value)){
				var dtf  = q.fldDatePublish.value.split("-")
				var dtt  = q.fldDateExpire.value.split("-")
				var dtfr = new Date()
				dtfr.setFullYear(dtf[2],dtf[1]-1,dtf[0]) 
				var dttr = new Date()
				dttr.setFullYear(dtt[2],dtt[1]-1,dtt[0]) 			
				if (dtfr < dttr && dtfr >= dt){

					q.fldDatePublish.disabled = false;
					q.fldDateExpire.disabled = false;			
					q.btnSubmit.disabled = true;
					q.btnSubmit.value = "Uw vacature wordt opgeslagen...";
					q.submit();
					return true;

				}
				else{
					alert("Verloopdatum dient na publicatiedatum te liggen en de publicatiedatum dient minimaal vandaag te zijn");		
					return false;	
				}
			}
			else{
				alert("Vul geldige data in voor verloop- en publicatiedatum");	
				return false;	
			}	
		}		 
	});
		document.forms['x'].fldDatePublish.disabled = true;
		document.forms['x'].fldDateExpire.disabled = true;		

});

	function ResetForm() {
		document.forms['x'].reset();
	}
	
	function CheckCategories(id){
		if (id == 0){
			alert("Kies een sector/functiegebied");
			return false;
		}
		else{
			return true;
		}
	}
	
function isDate(p_Expression){
	return !isNaN(new Date(p_Expression));		// <<--- this needs checking
}


// REQUIRES: isDate()
function dateAdd(p_Interval, p_Number, p_Date){
	if(!isDate(p_Date)){return "invalid date: '" + p_Date + "'";}
	if(isNaN(p_Number)){return "invalid number: '" + p_Number + "'";}	

	p_Number = new Number(p_Number);
	var dt = new Date(p_Date);
	switch(p_Interval.toLowerCase()){
		case "yyyy": {// year
			dt.setFullYear(dt.getFullYear() + p_Number);
			break;
		}
		case "q": {		// quarter
			dt.setMonth(dt.getMonth() + (p_Number*3));
			break;
		}
		case "m": {		// month
			dt.setMonth(dt.getMonth() + p_Number);
			break;
		}
		case "y":		// day of year
		case "d":		// day
		case "w": {		// weekday
			dt.setDate(dt.getDate() + p_Number);
			break;
		}
		case "ww": {	// week of year
			dt.setDate(dt.getDate() + (p_Number*7));
			break;
		}
		case "h": {		// hour
			dt.setHours(dt.getHours() + p_Number);
			break;
		}
		case "n": {		// minute
			dt.setMinutes(dt.getMinutes() + p_Number);
			break;
		}
		case "s": {		// second
			dt.setSeconds(dt.getSeconds() + p_Number);
			break;
		}
		case "ms": {		// second
			dt.setMilliseconds(dt.getMilliseconds() + p_Number);
			break;
		}
		default: {
			return "invalid interval: '" + p_Interval + "'";
		}
	}
	return dt;
}	

	
	function replaceChar(theString, oldChar, newChar) {
		var i = 0;
		var j = theString.length;
	
		for(i=0; i < theString.length; i++) {
			if(theString.charAt(i) == oldChar) {
				theString = theString.substring(0,i) + newChar + theString.substring(i+1,theString.length);
				if(i > j) { // loop-killer, just in case we mess with the code
					break;
					}
				}
			}
		return theString;
		}
			
	var dt1		  = document.getElementById('fldDatePublish'); 
	var calendar1 = document.getElementById('calendar1'); 
	var calendar2 = document.getElementById('calendar2'); 	
	
	dt1.onchange = function(){
		var q = document.forms['x'];
		var dt = new Date()		
		var dtf  = q.fldDatePublish.value.split("-")
		var dtfr = new Date()
		dtfr.setFullYear(dtf[2],dtf[1]-1,dtf[0]) 
		dtfr = dateAdd('d', 28, dtfr)
		q.fldDateExpire.value = dtfr;		
	}
	
	calendar1.onclick = function() 
	{ 
		displayDatePicker('fldDatePublish', false, 'dmy', '-');return false;
	}; 
	calendar2.onclick = function() 
	{ 
		displayDatePicker('fldDateExpire', false, 'dmy', '-');return false;
	};	
	
//-->
