function setOpmerking(sText, sMode) {
	$("#stappen_opmerking").removeClass("error");
	$("#stappen_opmerking").removeClass("message");

	if (sMode=="error") {
		$("#stappen_opmerking").addClass("error");
	}
	if (sMode=="message") {
		$("#stappen_opmerking").addClass("message");
	}
	$("#stappen_opmerking").html(sText);
}

aValidatie=new Array();
function addToValidatie(sForm, sName, sType, sValidatieId, sCaption) {
	aObject=new Object();
	aObject.form=sForm;
	aObject.name=sName;
	aObject.type=sType;
	aObject.validatie_id=sValidatieId;
	aObject.caption=sCaption;
	aValidatie[aValidatie.length]=aObject;
}

function bValidatie() {
	var bResult=true;
	for(i=0;i<aValidatie.length;i++) {
		var bLocalResult=true;
		aValidatieObj=aValidatie[i];
		sValidatieId=aValidatieObj.validatie_id;
		sCaption=aValidatieObj.caption;
		sForm=aValidatieObj.form;
		sName=aValidatieObj.name;
		sType=aValidatieObj.type;
		
		$("#" + sValidatieId).removeClass("error");
		$("#" + sValidatieId).html("");
		$("#" + sValidatieId).hide();
		
		if (sType=="select") {
			bLocalResult=bValidatieSelect(sForm, sName);
			if (!bLocalResult) bResult=false;
		} else if (sType=="text") {				
			bLocalResult=bValidatieText(sForm, sName);
			if (!bLocalResult) bResult=false;
		} else if (sType=="date") {				
			bLocalResult=bValidatieDate(sForm, sName, sValidatieId);
			if (!bLocalResult) bResult=false;
		} else if (sType=="email") {
			bLocalResult=bValidatieEmail(sForm, sName, sValidatieId);
			if (!bLocalResult) bResult=false;
		} else if (sType=="telefoon") {
			bLocalResult=bValidatieTelefoon(sForm, sName, sValidatieId);
			if (!bLocalResult) bResult=false;
		} else if (sType=="login") {
			bLocalResult=bValidatieLogin(sForm, sName, sValidatieId);
			if (!bLocalResult) bResult=false;
		} else if (sType=="wachtwoord") {
			bLocalResult=bValidatieWachtwoord(sForm, sName, sValidatieId);
			if (!bLocalResult) bResult=false;
		} else if (sType=="numerical") {
			bLocalResult=bValidatieNumerical(sForm, sName, sValidatieId, sCaption);
			if (!bLocalResult) bResult=false;
		} else if (sType=="numerical_or_empty") {
			bLocalResult=bValidatieNumericalOrEmpty(sForm, sName, sValidatieId, sCaption);
			if (!bLocalResult) bResult=false;
		} else if (sType=="currency") {
			bLocalResult=bValidatieCurrency(sForm, sName, sValidatieId, sCaption);
			if (!bLocalResult) bResult=false;
		} else if (sType=="checkbox_verplicht") {
			bLocalResult=bValidatieCheckboxVerplicht(sForm, sName, sValidatieId);
			if (!bLocalResult) bResult=false;
		} else if (sType=="file") {
			bLocalResult=bValidatieFileFiguur(sForm, sName, sValidatieId, sCaption);
			if (!bLocalResult) bResult=false;
		} else if (sType=="file_or_empty") {
			bLocalResult=bValidatieFileFiguurOrEmpty(sForm, sName, sValidatieId, sCaption);
			if (!bLocalResult) bResult=false;
		} else if (sType=="film") {
			bLocalResult=bValidatieFileFilm(sForm, sName, sValidatieId, sCaption);
			if (!bLocalResult) bResult=false;
		}
		
		if ((sType=="select") || (sType=="text")) {
			if (!bLocalResult) {
				$("#" + sValidatieId).addClass("error");
				$("#" + sValidatieId).html("Vraag '" + sCaption + "' is nog niet ingevuld.");
				$("#" + sValidatieId).show();
				bResult=false; // make sure the validation fails.
			} 
		}
	}
	
	return bResult;
}

function bValidatieSelect(sForm,sName) {
	var sValue=eval("document."+sForm+"."+sName+".value");
	if (sValue!="-512") {
		return true;
	}
	
	return false;
}

function bValidatieText(sForm,sName) {
	var sValue=eval("document."+sForm+"."+sName+".value");
	if (sValue!="") {
		return true;
	}
	
	return false;
}

function bValidatieFileFiguur(sForm, sName, sValidatieId, sCaption) {
	
	var bResult=true;
	var sValue=eval("document."+sForm+"."+sName+".value");
	
	if (sValue.lastIndexOf(".")==-1) {
		bResult=false;
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("Dit veld moet een waarde bevatten.");
		$("#" + sValidatieId).show();
	} else {
		sExtensie=sValue.substr(sValue.lastIndexOf(".")+1).toLowerCase();		
		if ((sExtensie!="jpg") && (sExtensie!="jpeg") && (sExtensie!="gif"))  {
			bResult=false;
			$("#" + sValidatieId).addClass("error");
			$("#" + sValidatieId).html("Dit bestand mag alleen de extensie 'jpg', 'jpeg' of 'gif' hebben.");
			$("#" + sValidatieId).show();
		}		
	}
	
	
	return bResult;
}

function bValidatieFileFiguurOrEmpty(sForm, sName, sValidatieId, sCaption) {
	
	var bResult=true;
	var sValue=eval("document."+sForm+"."+sName+".value");
	
	if (sValue=="") {
		// mag leeg zijn...
		bResult=true;
	} else {
		bResult=bValidatieFileFiguur(sForm, sName, sValidatieId, sCaption);
	}
	
	return bResult;
}


function bValidatieFileFilm(sForm, sName, sValidatieId, sCaption) {
	
	var bResult=true;
	var sValue=eval("document."+sForm+"."+sName+".value");
	if (sValue=="") {
		// mag leeg zijn...
		bResult=true;
	} else {
		if (sValue.lastIndexOf(".")==-1) {
			bResult=false;			
		}
		sExtensie=sValue.substr(sValue.lastIndexOf(".")+1).toLowerCase();		
		if ((sExtensie!="3gp") && (sExtensie!="mp4"))  {
			bResult=false;
			$("#" + sValidatieId).addClass("error");
			$("#" + sValidatieId).html("Dit bestand mag alleen de extensie '3gp' of 'mp4' hebben.");
			$("#" + sValidatieId).show();
		}
	}
	
	return bResult;
}

function bValidatieNumerical(sForm,sName, sValidatieId, sCaption) {
	
	var bResult=true;
	var sValue=eval("document."+sForm+"."+sName+".value");
	if (sValue=="") {
		bResult=false;
	} else {
		var pattern=/^[0-9]+$/;
		if(!pattern.test(sValue)){         
		     bResult=false;
		}
	}
	
	if (!bResult) {		
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("De waarde in het veld '"+sCaption+"' mag alleen maar cijfers bevatten.");
		$("#" + sValidatieId).show();
	}
	
	return bResult;
}

function bValidatieNumericalOrEmpty(sForm,sName, sValidatieId, sCaption) {
	
	var bResult=true;
	var sValue=eval("document."+sForm+"."+sName+".value");	
	if (sValue=="") {
		bResult=true;
	} else {
		bResult=bValidatieNumerical(sForm,sName,sValidatieId,sCaption);
	}
	
	return bResult;
}

function bValidatieCurrency(sForm,sName, sValidatieId, sCaption) {
	
	var bResult=true;
	var sValue=eval("document."+sForm+"."+sName+".value");
	if (sValue=="") {
		bResult=true; // empty is toegestaan hier
	} else {
		var pattern=/^[0-9,-]+$/;
		if(!pattern.test(sValue)){         
		     bResult=false;
		}
	}
	
	if (!bResult) {		
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("De waarde in het veld '"+sCaption+"' mag alleen maar cijfers, '-' en ',' bevatten.");
		$("#" + sValidatieId).show();
	}
	
	return bResult;
}

function bValidatieDate(sForm, sName, sValidatieId) {
	var bResult=true;
	var sValue=eval("document."+sForm+"."+sName+".value");
	if (sValue=="") {
		bResult=false;
	} else {
		var pattern=/^(((0[1-9]|[12]\d|3[01])-(0[13578]|1[02])-((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)-(0[13456789]|1[012])-((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])-02-((1[6-9]|[2-9]\d)\d{2}))|(29-02-((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/;
		if(!pattern.test(sValue)){         
		     bResult=false;
		}
	}
	
	if (!bResult) {
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("Bovenstaande is geen geldige datum.");
		$("#" + sValidatieId).show();
	}
	
	return bResult;
}

function bValidatieLogin(sForm, sName, sValidatieId) {
	var bResult=true;
	
	if (!bValidatieEmail(sForm, sName, sValidatieId)) {
		// login is eigenlijk ook een e-mailadres, dus moet ook aan die eisen voldoen.
		return false;
	}
	
	var sValue=eval("document."+sForm+"."+sName+".value");
	if (sValue=="") {
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("Geen gebruikersnaam opgegeven.");
		$("#" + sValidatieId).show();		
		return false;
	}
	
	if (sValue.length<5) {
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("Gebruikersnaam moet minimaal 5 tekens bevatten.");
		$("#" + sValidatieId).show();		
		return false;
	}
	
	// controleer voor dubbele logins, d.m.v. sync. request:
	var sCheckLoginResult=$.ajax({
		url:'main.php',
		data:{
			name:'checklogin',
			login:sValue
		},
		cache:false,
		type:'POST',
		async:false
	}).responseText;
	
	if (sCheckLoginResult=="[login already exists]") {
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("Deze gebuikersnaam is al in gebruik genomen, kies een andere.");
		$("#" + sValidatieId).show();		
		return false;
	}
	
	return bResult;
}

function bValidatieWachtwoord(sForm, sName, sValidatieId) {
	bResult=true;
	
	sValue=eval("document."+sForm+"."+sName+".value");
	sValueConfirm=eval("document."+sForm+".bevestig_"+sName+".value");
	if (sValue=="") {
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("Geen wachtwoord opgegeven.");
		$("#" + sValidatieId).show();		
		return false;
	}
	
	if (sValue.length<5) {
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("Wachtwoord moet minimaal 5 tekens bevatten.");
		$("#" + sValidatieId).show();		
		return false;
	}
	
	if (sValue!=sValueConfirm) {
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("Wachtwoorden komen niet overeen.");
		$("#" + sValidatieId).show();		
		return false;
	}
	
	return bResult;
}

function bValidatieCheckboxVerplicht(sForm, sName, sValidatieId) {
	bResult=true;
	
	bValue=eval("document."+sForm+"."+sName+".checked");
	
	if (!bValue) {
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("Bovenstaande moet aangevinkt zijn, voordat u verder kunt.");
		$("#" + sValidatieId).show();		
		return false;
	}
	
	return bResult;
}

function checkDiersoort() {
	// controleer of tenminste 1 diersoort is geselecteerd:
	bResult=false;	
	oButtons=document.frmDiersoort.diersoort_id;		
	for(i=0;i<oButtons.length;i++) {
		if (oButtons[i].checked) {
			bResult=true;
		}
	}
	
	if (!bResult) {
		alert("Selecteer een diersoort.");
	}
	
	return bResult;
}

function bValidatieEmail(sForm, sName, sValidatieId) {
	bResult=true;
	
	sValue=eval("document."+sForm+"."+sName+".value");
	if (sValue=="") {
		bResult=false;
	} else {
		var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
		if(!pattern.test(sValue)){         
		     bResult=false;
		}
	}
	
	if (!bResult) {
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("Bovenstaande is geen geldig e-mailadres.");
		$("#" + sValidatieId).show();
	}
	
	return bResult;
}

function bValidatieTelefoon(sForm, sName, sValidatieId) {
	bResult=true;
	
	sValue=eval("document."+sForm+"."+sName+".value");
	if (sValue=="") {
		bResult=false;
	} else {
		var pattern=/^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$/;
		if(!pattern.test(sValue)){         
		     bResult=false;
		}
	}
	
	if (!bResult) {
		$("#" + sValidatieId).addClass("error");
		$("#" + sValidatieId).html("Bovenstaande is geen geldig telefoonnummer, moet 10 aaneengesloten cijfers bevatten.");
		$("#" + sValidatieId).show();
	}
	
	return bResult;
}


function hidediv() {
	
if (document.getElementById) { // DOM3 = IE5, NS6 
document.getElementById('hideshow').style.visibility = 'hidden';
document.getElementById('hideshow').style.height = '0px'; 
} 
else { 
if (document.layers) { // Netscape 4 
document.hideshow.visibility = 'hidden';
document.hideshow.height = '0px'; 
} 
else { // IE 4 
document.all.hideshow.style.visibility = 'hidden';
document.all.hideshow.style.height = '0px'; 
} 
} 
}

function showdiv() {
	alert("eee");
if (document.getElementById) { // DOM3 = IE5, NS6 
document.getElementById('hideshow').style.visibility = 'visible';
document.getElementById('hideshow').style.height = 'auto'; 
} 
else { 
if (document.layers) { // Netscape 4 
document.hideshow.visibility = 'visible';
document.hideshow.height = 'auto'; 
} 
else { // IE 4 
document.all.hideshow.style.visibility = 'visible';
document.all.hideshow.style.height = 'auto'; 
} 
} 
} 
//
function getURL(url) {
location.href ="main.php?friendly_url=huisdier_zoeken&stap=matches&zoeken_prov=1&provincie_id="+url;
}
function getURLWoonplaats(url) {
location.href ="main.php?friendly_url=huisdier_zoeken&stap=matches&zoeken_woonplaats=1&contact_woonplaats="+url;
}
//
