/* $Rev: 306 $ */
function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length-1;
		var ldot=str.indexOf(dot)
		/*@ mist, begin of einde van de regel*/
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}
		/*. mist, begin of einde van de regel*/
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}
                /* meerdere @*/
		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}
String.prototype.ucWords = function () {
    return this.replace(/^(.)|\s(.)/g, function ( $1 ) { return $1.toUpperCase( ); } );
}
function checkgeslacht () {
    var cnt = -1;
    field=document.getElementsByName("dbfield14");
    for (var i=field.length-1; i > -1; i--) {
        if (field[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) {
	document.getElementById('geslacht').style.backgroundImage = 'url(passed_icon.png)';
         } else {
	document.getElementById('geslacht').style.backgroundImage = 'url(failed_icon.png)';
	}
}
function checkland () {
	d=document.getElementsByName("dbfield9")[0].value; //there shall only be one
	//eerte waarde is nul en dat is de 'maak een keuze optie'
        if ( d ) {
	document.getElementsByName("dbfield9")[0].style.backgroundImage = 'url(passed_icon.png)';
         } else {
	document.getElementsByName("dbfield9")[0].style.backgroundImage = 'url(neutral_icon.png)';
	}
}
function checkdatum () {
	d=document.getElementsByName("pbd")[0].value; //there shall only be one
	m=document.getElementsByName("pbm")[0].value;
	y=document.getElementsByName("pby")[0].value;
	datum=d +'-'+m+'-'+y;
	document.getElementsByName("dbfield47")[0].value=datum;
        if ( d && m && y ) {
	document.getElementById("gb").style.backgroundImage = 'url(passed_icon.png)';
         } else {
	document.getElementById("gb").style.backgroundImage = 'url(failed_icon.png)';
	}
}
function CaseEmail(field){
	field.value=field.value.toLowerCase();
	dbfield1=field; /*work around !!! todo*/
	dbfield1.style.backgroundColor = 'white';
       	getEMAIL("/echeck.php","email="+field.value);
}

function CasePlaats(field) {
        val = field.value;
        newVal = '';
        val = val.split(' ');
        for(var c=0; c < val.length; c++) {
                newVal += val[c].substring(0,1).toUpperCase() +
val[c].substring(1,val[c].length) + ' ';
        }
        field.value = newVal;
	CaseName(field,2);
}
function CaseName(field){
CaseNameLength(field,0);
}
function CaseName(field,l){
	//alert(field.name);
	field.value=field.value.ucWords();
	if ( field.value.length > l ) {
	field.style.backgroundImage = 'url(passed_icon.png)';
	} else {
	field.style.backgroundImage = 'url(failed_icon.png)';
	}
}

var targetURL='http://'+window.location.hostname+'/bedankt2.html';
function ValidateForm(form){
	var emailID=form.dbfield1;
	var okID=form.voorwaarden;
	
	if ((emailID.value==null)||(emailID.value=="") || (echeck(emailID.value)==false)){
		alert("Graag een geldig email adres invullen")
		emailID.focus()
		emailID.style.backgroundImage = 'url(failed_icon.png)';
		return false
	}
	if ((okID.checked==false) ){
		alert("U heeft nog geen akkoord gegeven.")
		okID.focus()
		document.getElementById('voorwaardenspan').style.backgroundImage = 'url(failed_icon.png)';
		return false
	}
	e=document.getElementsByName("mooistedeal");
	if ( e &&  e[0] && e[0].checked==false )  {
		alert("U heeft nog geen akkoord gegeven.")
		e[0].focus()
		document.getElementById('mooistedealspan').style.backgroundImage = 'url(failed_icon.png)';
		return false
	}
	e=document.getElementsByName("travelbird");
	if ( e && e[0] && e[0].checked==false )  {
		alert("U heeft nog geen akkoord gegeven.")
		e[0].focus()
		document.getElementById('travelbirdspan').style.backgroundImage = 'url(failed_icon.png)';
		return false
	}
	//e=document.getElementsByName("consomeo");
	//if ( e && e[0] && e[0].checked==false )  {
	//	alert("U heeft nog geen akkoord gegeven.")
	//	e[0].focus()
	//	document.getElementById('consomeospan').style.backgroundImage = 'url(failed_icon.png)';
	//	return false
	//}
	//targetURL+='?'+getFormValues(form);
	sub(form)
	wait= document.getElementById('columnA_3columns');
	wait.innerHTML='Even geduld, uw gegevens worden verwerkt.<br> <img src="pleasewait.gif" alt="even geduld">'
	wait.style.visibility='visible'
	wait.style.textAlign='center'
	/*
	formdiv= document.getElementById('formmain');
	formdiv.style.visibility='hidden'
	formdiv.innerHTML=''
	*/
        return false;
}

// ajax
var xmlReq = null;;
var xmlEcheck=null;

function sub(f) {
       var file = '/stub.php?'+Math.random();
       var str = getFormValues(f);
       getXML(file,str);
}
/* dit zuigt, maar er zit iets raars in IE als ik dit netjes via de return alue doe todo*/
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
         alert('Cannot create XMLHTTP instance');
return null;
}
function getEMAIL(file,str) {
       xmlEcheck=GetXmlHttpObject();
       xmlEcheck.onreadystatechange = OnReadyEmail;
       xmlEcheck.open( "POST", file, true );
       xmlEcheck.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
       xmlEcheck.setRequestHeader("Content-length", str.length);
       xmlEcheck.setRequestHeader("Connection", "close");
       xmlEcheck.send(str);
    }

function OnReadyEmail() {
if (xmlEcheck.readyState == 4) {
         if (xmlEcheck.status == 200) {
	 if ( xmlEcheck.responseText  == 'invalid' ) {
		dbfield1.focus();
		dbfield1.style.backgroundImage = 'url(failed_icon.png)';
		//dbfield1.style.backgroundColor = '#F75D59';
		alert(''+dbfield1.value+' is onbekend. Graag een geldig email adres invullen');
         } else {
		dbfield1.style.backgroundImage = 'url(passed_icon.png)';
		//dbfield1.style.backgroundColor = 'white';
         }
      }
}
}


var requestTimer = null;
function getXML(file,str) {
       xmlReq=GetXmlHttpObject();
       xmlReq.onreadystatechange = alertContents;
       xmlReq.open( "POST", file, true );
       xmlReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
       xmlReq.setRequestHeader("Content-length", str.length);
       xmlReq.setRequestHeader("Connection", "close");
       requestTimer = setTimeout(function() {
       xmlReq.abort();
       top.location=targetURL;
     }, 8000);

       xmlReq.send(str);
    }

function alertContents() {
      if (xmlReq.readyState == 4) {
	      clearTimeout(requestTimer);
	      wait= document.getElementById('columnA_3columns');
	      wait.innerHTML= 'Klaar';
       	      //requestTimer = setTimeout(function() {
              top.location=targetURL;
              //}, 100);
      }
	return;
}

    function getFormValues(fobj)

    {

       var str = "";
       var valueArr = null;
       var val = "";
       var cmd = "";

       for(var i = 0;i < fobj.elements.length;i++)

       {
           switch(fobj.elements[i].type)

           {

               case "text":
               case "hidden":
                    str += fobj.elements[i].name +
                     "=" + escape(fobj.elements[i].value) + "&";
                     break;
               case "checkbox":
		    if  (fobj.elements[i].checked == true ) {
                    str += fobj.elements[i].name +
                     "=" + escape(fobj.elements[i].value) + "&";
			}
                     break;

               case "select-one":

                    str += fobj.elements[i].name +
                    "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";

                    break;
		case "radio":
			if ( fobj.elements[i].checked ) {
                    		str += fobj.elements[i].name +
                    		"=" + fobj.elements[i].value + "&";
			}
			break;
		default:

           }

       }
       str = str.substr(0,(str.length - 1));
       return str;

    }
function addLoadEvent(func) { 
	  var oldonload = window.onload; 
	  if (typeof window.onload != 'function') { 
	    window.onload = func; 
	  } else { 
	    window.onload = function() { 
	      if (oldonload) { 
	        oldonload(); 
	      } 
	      func(); 
	    } 
	  } 
} 
/* cookie search */
function csearch(naam) {
  var str = document.cookie;
  var zstr = naam + "=";
  var start = str.indexOf(zstr, 0);
  if(start == -1) {
    return '';
  } else {
    start += zstr.length;
    var eind = str.indexOf(";", start);
    if(eind == -1) eind = str.length;
    return unescape(str.substring(start, eind).replace('+',' '));
  }
} 


function formload(){
var e=document.getElementsByName("dbfield1")[0];
e.value=csearch('email');
if ( e.value.length > 0 ) {
	CaseEmail(e);
}
e=document.getElementsByName("dbfield2")[0];
e.value=csearch('naam'); CaseName(e,1);

e=document.getElementsByName("dbfield75")[0];
if ( e ) {
e.value=csearch('dbfield75');
}
e=document.getElementsByName("dbfield76")[0];
if ( e ) {
e.value=csearch('dbfield76');
}

e=document.getElementsByName("dbfield3")[0];
if ( e ) {
e.value=csearch('achternaam');CaseName(e,2);
}

if ( e ) {
e=document.getElementsByName("dbfield5");
for(var i=0;i<e.length;i++){
	e[i].value=csearch('huisnummer');
	if ( e[i].value.length > 0 ) {
		e[i].style.backgroundImage = 'url(passed_icon.png)';
	}
}
}
e=document.getElementsByName("dbfield7");
if ( e ) {
for(var i=0;i<e.length;i++){
	e[i].value=csearch('postcode');
	if ( e[i].value.length > 0 ) {
		e[i].style.backgroundImage = 'url(passed_icon.png)';
	}
}
}
e=document.getElementsByName("dbfield9");
if ( e ) {
	if ( setSelectedIndex(e[0],csearch('land'))) {
		e[i].style.backgroundImage = 'url(passed_icon.png)';
	} else {
		e[i].style.backgroundImage = 'url(neutral_icon.png)';
	}
}

dbfield14=document.getElementsByName("dbfield14");
var geslacht=csearch('geslacht');
for (var i=dbfield14.length-1; i > -1; i--) {
        if (dbfield14[i].value==geslacht) {dbfield14[i].checked=true; i = -1;
	document.getElementById('geslacht').style.backgroundImage = 'url(passed_icon.png)';

	}
    }

document.getElementsByName("voorwaarden")[0].checked=0;
e=document.getElementsByName("mooistedeal");
if ( e && e[0])  { e[0].checked=0; }
e=document.getElementsByName("travelbird");
if ( e && e[0])  { e[0].checked=0; }
e=document.getElementsByName("consomeo");
if ( e && e[0])  { e[0].checked=0; }

e=document.getElementsByName("dbfield10")[0];
if ( e ) {
e.value=csearch('telefoon');CaseName(e,9);
}
e=document.getElementsByName("dbfield22")[0];
if ( e ) {
e.value=csearch('opleiding');
checkselect(e);
}

var gb=csearch('geboortedatum').split('-');
	if  ( document.getElementsByName("pbd")[0] ) {
	document.getElementsByName("pbd")[0].value=gb[0]; //there shall only be one
	document.getElementsByName("pbm")[0].value=gb[1];  // en eigenlijk kan dat bij de rest ook
	document.getElementsByName("pby")[0].value=gb[2];
	checkdatum();
	}

}

function checkbox(field) {
if  (field.checked == true ) {
	document.getElementById(field.name+'span').style.backgroundImage = 'url(passed_icon.png)';
	} else {
	document.getElementById(field.name+'span').style.backgroundImage = 'url(failed_icon.png)';
	}
}
function troggle() {
		document.getElementById('downloadbutton').style.display  = 'none';
		document.getElementById('columnA_3columns').style.display  = 'block';
return false;

}

function checkselect(e) {
       if (e.value.length > 0 ) {
       document.getElementById('opl').style.backgroundImage = 'url(passed_icon.png)';
         } else {
       document.getElementById('opl').style.backgroundImage = 'url(failed_icon.png)';
       }

}
function setSelectedIndex(s, v) {
    for ( var i = 0; i < s.options.length; i++ ) {
        if ( s.options[i].value == v ) {
            s.options[i].selected = true;
            return v;
        }
    }
	return false;
}

addLoadEvent(formload);




