/*  (c) 2001-2007 Gerhard Bos en Robin Esselink
/*--------------------------------------------------------------------------*/

//function for validation of length
 function ValidLength(item, len)  {
   return (item.length >= len);
 }

 //function to show dialog    
 function error(elem, text)  {
 //abort if we already found an error
   if (errfound) return;
   window.alert(text);
   elem.focus();
   elem.select();
   errfound = true;
 }

 function error_radio(elem, text)  {
 //abort if we already found an error
   if (errfound) return;
   window.alert(text);
   elem.focus();
   errfound = true;
 }

 //function to validate email length OnChange
 function ValidateEmailLength()  {
   errfound=0;
   if(!chkEmail(document.stap.Email.value)) 
   error(document.stap.Email,"Ongeldig Email adres.");
   return !errfound; /* true if there are no errors */
 }

 function chkEmail(str) {
   // are regular expressions supported?
   var supported = 0;
   if (window.RegExp) {
   var tempStr = "a";
   var tempReg = new RegExp(tempStr);
   if (tempReg.test(tempStr)) supported = 1;
   }
   if (!supported) 
   return (str.indexOf(".") > 1) && (str.indexOf("@") > 0);
   var reg1 = /(@.*@)|(\.\.)|(\ )|(\,)|(@\.)|(\.@)|(^\.)|(\#)/; // not valid
   var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
   return (!reg1.test(str) && reg2.test(str));
 }

 //function to check on illegal characters
 function chkIllegal(field) {
   illegal = /(\')/;
   while( illegal.test(field.value) ) { 
     field.value = field.value.replace( "\'","" );
   }
 }

 //function to valdidate fields Step 1
 function ValidateStap1() {
	errfound=0;
	if (!(document.getElementById('kaart1').checked || document.getElementById('kaart2').checked || document.getElementById('kaart3').checked)) {
		error_radio(document.getElementById('kaart1'),"Er is geen E-Card geselecteerd.");
	}
	return !errfound; /* true if there are no errors */
 }

 //function to valdidate fields Step 2
 function ValidateStap2() {
	errfound=0;
	if (!ValidLength(document.getElementById('JouwNaam').value,2))
	error(document.getElementById('JouwNaam'),"Ongeldige Naam");
	if (!chkEmail(document.getElementById('JouwEmail').value))
	error(document.getElementById('JouwEmail'),"Ongeldige E-mail adres");
    chkIllegal(document.getElementById('PersoonlijkBericht'));
	if (!ValidLength(document.getElementById('HaarNaam1').value,2))
	error(document.getElementById('HaarNaam1'),"Ongeldige Voornaam");
	if (!chkEmail(document.getElementById('HaarEmail1').value))
	error(document.getElementById('HaarEmail1'),"Ongeldige E-mail adres");
	for (var i=2; i < 6; i++) {
		var divname = 'ontvanger'+i;
		var toname = 'HaarNaam'+i;
		var toemail = 'HaarEmail'+i;
		if (document.getElementById(divname).style.display == '') {
			if (!ValidLength(document.getElementById(toname).value,2))
			error(document.getElementById(toname),"Ongeldige Voornaam");
			if (!chkEmail(document.getElementById(toemail).value))
			error(document.getElementById(toemail),"Ongeldige E-mail adres");
		}
	}
 	if (!errfound) { /* true if there are no errors */
		document.stap.submit()
	} 
 }

 //function to add a person
 function AddPerson() {
	var countdiv = 0;
	var toggle = true;
	for (var i=2; i < 6; i++) {
		var divname = 'ontvanger'+i;
		if (document.getElementById(divname).style.display == 'none') {
			if (toggle) {
				Effect.toggle(divname,'BLIND', {duration: 0.5});
				toggle = false;			
			}
			countdiv++;
		}
	}

	if (countdiv == 1) {
		Effect.toggle('add','BLIND', {duration: 0.5});
	}
 }

 //function to remove a person
 function RemovePerson(number) {
	var divname = 'ontvanger'+number;
	var toname = 'HaarNaam'+number;
	var toemail = 'HaarEmail'+number;

	if (document.getElementById('add').style.display == 'none') {
		Effect.toggle('add','BLIND', {duration: 0.5});
	}

	document.getElementById(toname).value = '';
	document.getElementById(toemail).value = '';

	Effect.toggle(divname,'BLIND', {duration: 0.5});
 }

 var W3CDOM = document.createElement && document.getElementsByTagName;

 function setMaxLength() {
 	if (!W3CDOM) return;
 	var textareas = document.getElementsByTagName('textarea');
 	var counter = document.createElement('div');
 	counter.className = 'counter';
 	for (var i=0;i<textareas.length;i++) {
 		if (textareas[i].getAttribute('maxlength')) {
 			var counterClone = counter.cloneNode(true);
 			counterClone.innerHTML = '<span>0</span>/'+textareas[i].getAttribute('maxlength');
 			textareas[i].parentNode.insertBefore(counterClone,textareas[i].previousSibling);
 			textareas[i].relatedElement = counterClone.getElementsByTagName('span')[0];
 			textareas[i].onkeyup = textareas[i].onchange = checkMaxLength;
 			textareas[i].onkeyup();
 		}
 	}
 }

 function checkMaxLength() {
 	var maxLength = this.getAttribute('maxlength');
 	var currentLength = this.value.length;
 	if (currentLength > maxLength)
 		this.relatedElement.className = 'toomuch';
 	else
 		this.relatedElement.className = '';	
 	this.relatedElement.firstChild.nodeValue = currentLength;
 }