// JavaScript Document

// Deze functie valideerd het mail adres
function validEmail(email) {
	if (email==null)	return false;
	if (email.length==0)	return false;
	
	if (! allValidChars(email)) {
		return false;
	}
	if (email.indexOf("@") < 1) {
		return false;
	} else if (email.lastIndexOf(".") <= email.indexOf("@")) {
		return false;
	} else if (email.indexOf("@") == email.length) {
		return false;
	} else if (email.indexOf("..") >=0) {
		return false;
	} else if (email.indexOf(".") == email.length) {
		return false;
	}
	return true;
}
		
// Deze functie valideerd de tekens in het mail adres
function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
	var letter = email.charAt(i).toLowerCase();
	if (validchars.indexOf(letter) != -1)
	  continue;
	parsed = false;
	break;
  }
  return parsed;
}

// Deze functie controleer of het contactformulier volledig is ingevuld
function inlogValidation(formulier) {

	// controleer de naam
	if (document.getElementById('feusername').value == '') {
		alert('Er is geen gebruikersnaam ingevuld, dit is een verplicht veld.');
		document.getElementById('feusername').focus();
		return false;
	}
	
	formulier.submit();
	
}
		
// Deze functie controleer of het contactformulier volledig is ingevuld
function contactValidation(formulier) {

	// controleer de naam
	if (document.getElementById('voornaam').value == '') {
		alert('Er is geen voornaam ingevuld, dit is een verplicht veld.');
		document.getElementById('voornaam').focus();
		return false;
	}

	// controleer de naam
	if (document.getElementById('achternaam').value == '') {
		alert('Er is geen achternaam ingevuld, dit is een verplicht veld.');
		document.getElementById('achternaam').focus();
		return false;
	}

	// controleer het geslacht
	if (document.getElementById('geslacht').value == '') {
		alert('Er is geen geslacht gekozen, dit is een verplicht veld.');
		document.getElementById('geslacht').focus();
		return false;
	}
	
	// controleer het telefoonnummer
	if (document.getElementById('telefoon').value == '') {
		alert('Er is geen telefoon nummer ingevuld, dit is een verplicht veld.');
		document.getElementById('telefoon').focus();
		return false;
	}
	
	// controleer het e-mailadres
	if (document.getElementById('email').value == '') {
		alert('Er is geen e-mailadres ingevuld, dit is een verplicht veld.');
		document.getElementById('email').focus();
		return false;
	}else if(!validEmail(document.getElementById('email').value))	{
		alert('Er is geen geldig e-mailadres ingevuld');
		return;
	}
	
	
	
	formulier.submit();
} 
		
		

// Deze functie vangt de toetsaanslagen op en zorgt ervoor dat deze numeriek zijn
function onKeyPressNumericComma(evt,obj) {

	var oEvent = (window.event) ? window.event : evt;

	var key = 0;
	if (document.all)
		key = oEvent.keyCode;
	else
		key = oEvent.which;

	blnValidChar = true;

	if (key==8 || (key>=48 && key<=57) || key==44 || key==46 )
		blnValidChar=false;
			
	if(key==44 && obj.value.indexOf(",") > -1)
		blnValidChar=true;
	
	if(key==46 && obj.value.indexOf(".") > -1)
		blnValidChar=true;
	
	if(blnValidChar) {			
		oEvent.returnValue = false;	
		if (oEvent.cancelable)
			oEvent.preventDefault();
	}
}
		
function onKeyPressNumeric(evt) {
	
	var oEvent = (window.event) ? window.event : evt;

	var key = 0;
	if (document.all)
		key = oEvent.keyCode;
	else
		key = oEvent.which;

	blnValidChar = true;

	if (key==8 || (key>=48 && key<=57))
		blnValidChar=false;
	
	if(blnValidChar) {			
		oEvent.returnValue = false;	
		if (oEvent.cancelable)
			oEvent.preventDefault();
	}
}

		/**
		 * Deze functie vangt de toetsaanslagen op en zorgt ervoor dat het aantal tekens onder een minimum blijft
		 *(moet op deze manier want anders heeft firefox het er moeilijk mee)
		 **/
function onKeyPressMaxLength(evt, Object, MaxLen) {

	var oEvent = (window.event) ? window.event : evt;
		
	var key = 0;
	if (document.all)
		key = oEvent.keyCode;
	else
		key = oEvent.which;

	if (key==8 || key==0 || oEvent.ctrlKey)
		return true;
	
	return (Object.value.length < MaxLen);
}
		
function isInteger(sText){
   
	if(sText == ''){
		IsNumber = false;
	}else{
	
	   var ValidChars = "0123456789.";
	   var IsNumber=true;
	   var Char;
	
	 
	   for (i = 0; i < sText.length && IsNumber == true; i++) 
		  { 
		  Char = sText.charAt(i); 
		  if (ValidChars.indexOf(Char) == -1) 
			 {
			 IsNumber = false;
			 }
		  }
	}
		
	return IsNumber;
   
}

function reverseString(tekst){
	var splitext = tekst.split("");
	var revertext = splitext.reverse();
	var reversed = revertext.join("");
	return reversed;
}

function add_points(theVar,geld){
var DigitsAfterDecimal = 2;		// lager dan 2 controle

	if(theVar.indexOf(".") > -1){
		if(theVar.length - (theVar.indexOf(".")+1) < DigitsAfterDecimal){
		
			theVar = theVar.replace(/[^\d]/, '');		
			theVar += '0';
			
		}else if(theVar.length - (theVar.indexOf(".")+1) > DigitsAfterDecimal){
		
			return false;	
		
		}else{	
			
			theVar = theVar.replace(/[^\d]/, '');		
			
		}
	}else{	
		theVar += '00';	
	}
			
	lengte = theVar.length
	backwards = reverseString(theVar);
	
	if(isInteger(backwards.substr(0, 3))){
		cut = backwards.substr(0, 2) + ",";
	}else{
		cut = '';
	}
	if(isInteger(backwards.substr(2, 4))){
		cut1 = backwards.substr(2, 3) + ".";
	}else{
		cut1 = '';
	}
	if(isInteger(backwards.substr(5, 4))){
		cut2 = backwards.substr(5, 3) + ".";
	}else{
		cut2 = '';
	}
	if(isInteger(backwards.substr(8, 4))){
		cut3 = backwards.substr(8, 3) + ".";
	}else{
		cut3 = '';
	}
	//alert(backwards.substr(11, 4));			
	//alert(isInteger(backwards.substr(11, 4)));
	if(isInteger(backwards.substr(11, 4))){
		cut4 = backwards.substr(11, 3) + ".";
	}else{
		cut4 = '';
	}
	new_backwards = cut + cut1 + cut2 + cut3 + cut4;		
	new_forwards = reverseString(new_backwards);
	new_forwards = new_forwards.substr(1, (lengte+2));
	//$new_forwards .= ',-';
	if((new_forwards.indexOf(",00") > -1)){
		new_forwards = new_forwards.substr(0,new_forwards.length-3);
		if(geld != 'no'){
			new_forwards += ",-";
		}
	}else if((new_forwards.indexOf(",0") > -1)){
		new_forwards = new_forwards.substr(0,new_forwards.length-2);
		if(geld != 'no'){
			new_forwards += ",-";
		}
	}
	return new_forwards;
}

function popup(parent,messageNr){

document.getElementById('daven').innerHTML = message[messageNr];

document.getElementById('daven').style.display = "block";

}

function kill(){
// Verwijder het child element van de parent

document.getElementById('daven').style.display = "none";

//d = document.getElementById('daven');
//document.body.removeChild(d);
					
}

document.onmousemove=getMouseCoordinates;

function getMouseCoordinates(event)
{

	ev = event || window.event;
	if(ev.pageX){
//	 document.getElementById('mouseCoord').innerHTML = "Mouse X:"+ev.pageX+" Mouse Y:"+ev.pageY;
	 
		if(document.getElementById('daven')){
			document.getElementById('daven').style.top = ev.pageY-document.getElementById('daven').clientHeight-20 + 'px';
			document.getElementById('daven').style.left = ev.pageX-document.getElementById('daven').clientWidth-20 + 'px';
		}
	  
	 
	}else{
//	 document.getElementById('mouseCoord').innerHTML = "Mouse X:"+ev.x+" Mouse Y:"+ev.y;
	 
		if(document.getElementById('daven')){
			document.getElementById('daven').style.top = ev.y-document.getElementById('daven').clientHeight-5;
			document.getElementById('daven').style.left = ev.x-document.getElementById('daven').clientWidth-10;
		}
	 
	}

}

function startVideo(URL,ID,oldp,oldDiv){
	
	var parent = document.getElementById("content");
	var oldparent = document.getElementById(oldp);
	var childID = document.getElementById(ID);

	// maak een nieuw div element aan
	var newDiv = document.createElement('p');
				
	// stel de id van het nieuwe element in
	newDiv.setAttribute("id", 'videoPlayer');

	var buildStr = '';
						
	buildStr += '<object ID="mediaPlayer" '; 
	buildStr += 'WIDTH="320" ';
	buildStr += 'HEIGHT="225" ';
	buildStr += 'CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" '; 
	buildStr += 'CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" ';
	buildStr += 'STANDBY="Loading Microsoft Windows Media Player components..." ';
	buildStr += 'TYPE="application/x-oleobject">';
	buildStr += '<param NAME="filename" VALUE=".' + URL + '">';
	buildStr += '<param NAME="animationatStart" VALUE="true">';
	buildStr += '<param NAME="transparentatStart" VALUE="false">';
	buildStr += '<param NAME="autoStart" VALUE="true">';
	buildStr += '<param NAME="showControls" VALUE="true">';
	buildStr += '<embed ';
	buildStr += 'type="application/x-mplayer2" ';
	buildStr += 'pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" ';
	buildStr += 'src=".' + URL + '" ';
	buildStr += 'name="MediaPlayer" ';
	buildStr += 'width=320 ';
	buildStr += 'height=225 ';
	buildStr += 'utostart=1 ';
	buildStr += 'showcontrols=1 ';
	buildStr += 'volume=-300>';
	buildStr += '</embed>';
	buildStr += '</object>';

	newDiv.innerHTML = buildStr;

	// voeg het nieuwe element toe onder de eerder opgehaalde parent
	parent.insertBefore(newDiv,childID);
	
	// Verwijder het child element van de parent
	oldparent.removeChild(document.getElementById(oldDiv));
}

function klapUit(obj,ID){

	if (obj.className == 'uitgeklapt') {
		obj.className='ingeklapt';
		document.getElementById(ID).style.display = "none";		
	} else {
		obj.className='uitgeklapt';
		document.getElementById(ID).style.display = "inline";
	}

}

function sendFatResults(ref_form){
	
	// controleer het e-mailadres
	if (ref_form.email.value == '') {
		alert('Er is geen e-mailadres ingevuld, dit is een verplicht veld.');
		ref_form.email.focus();
		return;
	}else if(!validEmail(ref_form.email.value))	{
		alert('Er is geen geldig e-mailadres ingevuld');
		return;
	}
	
	ref_form.submit();
	
}

function sendCostsResults(ref_form){
	
	// controleer het e-mailadres
	if (ref_form.email.value == '') {
		alert('Er is geen e-mailadres ingevuld, dit is een verplicht veld.');
		ref_form.email.focus();
		return;
	}else if(!validEmail(ref_form.email.value))	{
		alert('Er is geen geldig e-mailadres ingevuld');
		return;
	}
	
	ref_form.submit();
}

function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}
