var XMLHTTPObject;
function createHTTPHandler(){
	httphandler = false;
	
	if (!httphandler && typeof XMLHttpRequest!='undefined' && window.XMLHttpRequest) {
		httphandler = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		httphandler=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return httphandler;
}

var XMLHttpFactories = [
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")},
	function () {return new ActiveXObject("MSXML2.XMLHTTP.3.0")},
	function () {return new XMLHttpRequest()}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}
function xmlophalenp(pagina,oproepnaam, callback,dat,extravars){
	//alert(pagina);
  // XMLHTTPObject = createHTTPHandler();
   try{
		// Opera 8.0+, Firefox, Safari
		//XMLHTTPObject = new XMLHttpRequest();
		XMLHTTPObject = createXMLHTTPObject();
	} catch (e){
		// Internet Explorer Browsers
		try{
			XMLHTTPObject = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				XMLHTTPObject = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	if(XMLHTTPObject) {
		returntxt="";
		
			XMLHTTPObject.onreadystatechange=function() {
				//alert(XMLHTTPObject.readyState);
				if (XMLHTTPObject.readyState==4) {
					if (XMLHTTPObject.status != 200 && XMLHTTPObject.status != 304) {
						//alert('HTTP error ' + XMLHTTPObject.status);
					
					} else {
						callback( XMLHTTPObject.responseXML,dat,extravars );
					}
				}
			} 
			XMLHTTPObject.open('GET', pagina, true);
		//XMLHTTPObject.onload = checkData;
		XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
		//XMLHTTPObject.setRequestHeader("X_USERAGENT", oproepnaam);
		XMLHTTPObject.setRequestHeader('Content-type','application/x-www-form-urlencoded');
		//XMLHTTPObject.setRequestHeader("Content-length", data.length);
		XMLHTTPObject.setRequestHeader("Connection", "close");
		//XMLHTTPObject.onload = checkData;
		XMLHTTPObject.send(null);
	} else {
		alert("Er is een fout opgetreden!");	
	}
}

function xmlophalen(pagina,oproepnaam, callback,dat){
	//alert(pagina);
  // XMLHTTPObject = createHTTPHandler();
   try{
		// Opera 8.0+, Firefox, Safari
		//XMLHTTPObject = new XMLHttpRequest();
		XMLHTTPObject = createXMLHTTPObject();
	} catch (e){
		// Internet Explorer Browsers
		try{
			XMLHTTPObject = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				XMLHTTPObject = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	if(XMLHTTPObject) {
		returntxt="";
		
			XMLHTTPObject.onreadystatechange=function() {
				//alert(XMLHTTPObject.readyState);
				if (XMLHTTPObject.readyState==4) {
					if (XMLHTTPObject.status != 200 && XMLHTTPObject.status != 304) {
						alert('HTTP error ' + XMLHTTPObject.status);
					
					} else {
						callback( XMLHTTPObject.responseXML,dat );
					}
				}
			} 
			XMLHTTPObject.open('GET', pagina, true);
		//XMLHTTPObject.onload = checkData;
		XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
		//XMLHTTPObject.setRequestHeader("X_USERAGENT", oproepnaam);
		XMLHTTPObject.setRequestHeader('Content-type','application/x-www-form-urlencoded');
		//XMLHTTPObject.setRequestHeader("Content-length", data.length);
		XMLHTTPObject.setRequestHeader("Connection", "close");
		//XMLHTTPObject.onload = checkData;
		XMLHTTPObject.send(null);
	} else {
		alert("Er is een fout opgetreden!");	
	}
}
function openanders(id,waarde,nu) {
	if(document.getElementById(id)) {
		if(waarde==nu) {
			document.getElementById(id).style.display="block";
		} else {
			document.getElementById(id).style.display="none";
		}
	}
}

function sh(id) {
	if(document.getElementById(id)) {
		dp=document.getElementById(id).style.display;
		switch(dp+"") {
			case "none": document.getElementById(id).style.display="block"; break;
			case "block": document.getElementById(id).style.display="none"; break;
			case "": document.getElementById(id).style.display="block"; break;
		}
	} else {
		alert(id);	
	}
}
function maxgo(deze,maximum,id,soort) {
	waarde=deze.value;
	if(waarde!="") {
		
	var o=99;
	if(soort=="maand") {
		o=1;
	} else if(soort=="dag") {
		o=3;
	} else {
		o=99;
	}
	waarde=parseInt(waarde);
	if(waarde>0) {
		deze.value=waarde;
	} else {
		 if(soort=="bedrag") {
			deze.value="10";
			waarde=10;
		} else {
			deze.value="";
			waarde=0;
		}
	}
	waarde=waarde+"";
	//alert(o);
	//alert(((waarde.substring(0,1))*1));
	var currentTime = new Date()
	var month = currentTime.getMonth() + 1
	var day = currentTime.getDate()
	var year = currentTime.getFullYear()
	if(soort=="maand" && (waarde*1)>12) {
		alert("De ingevoerde waarde voor de maand is onjuist.");
		deze.focus();
		deze.select();
	} else if(soort=="dag" && (waarde*1)>31) {
		alert("De ingevoerde waarde voor de dag is onjuist.");
		deze.focus();
		deze.select();
	} else if(soort=="jaar2" && ((waarde*1)<1880)) {
		//alert("De ingevoerde waarde voor het jaar is onjuist.");
		waarde=waarde+"";
		if(waarde.length==2) {
			deze.value="19"+waarde;
			if(soort=="jaar" && ((waarde*1)>year)) {
				alert("De ingevoerde waarde voor het jaar is onjuist.");
			}
		} else {
				alert("De ingevoerde waarde voor het jaar is onjuist.");
		}
		
		deze.focus();
		deze.select();
	} else if(soort=="jaar3") {
		//alert("De ingevoerde waarde voor het jaar is onjuist.");
		waarde=waarde+"";
		alert(year+"/"+waarde);
		if(waarde.length==2) {
			deze.value="20"+waarde;
			if(soort=="jaar3" && ((waarde*1)<year)) {
				alert("De ingevoerde waarde voor het jaar is onjuist.");
			}
		} else {
			if(soort=="jaar3" && ((waarde*1)<year)) {
				alert("De ingevoerde waarde voor het jaar is onjuist.");
			}
		}
		
		deze.focus();
		deze.select();
	} else if(soort=="jaar" && ((waarde*1)>year)) {
		alert("De ingevoerde waarde voor het jaar is onjuist.");
		deze.focus();
		deze.select();
	} else if(soort=="huisnummer" && (waarde*1)>999999) {
		alert("De ingevoerde waarde voor het huisnummer is onjuist.");
		deze.focus();
		deze.select();
	} else if(soort=="bedrag" && (waarde*1)>9999999999) {
		alert("De ingevoerde waarde voor het bedrag is onjuist.");
		deze.value="10";
		deze.focus();
		deze.select();
	} else if(waarde.length>=maximum || (((waarde.substring(0,1))*1)>o && waarde.substring(0,1)!="")) {
		if(document.getElementById(id)) {
			document.getElementById(id).focus();
			document.getElementById(id).select();	
		}
	}
	} else {
		 if(soort=="jaar2" || soort=="jaar3" || soort=="jaar") {
			 deze.value=""; //2008?
		 }
	}
}

function checkData(e)
{
	var evt = e || window.event;
	var rs = XMLHTTPObject.readyState || "None";
	alert(evt.type + ' ' + rs);
}

function xmlhttpChange(callback,dat)
{
  switch(XMLHTTPObject.readyState) {
   case 4: callback( XMLHTTPObject.responseXML,dat,XMLHTTPObject.responseText ); break;
  }
}

function loading(dat) {
	document.getElementById('frame').innerHTML="Loading ...";
}

function checkmax(deze,maximum) {
	waarde=deze.value;
	if(waarde.length>maximum) {
		waarde=substr(waarde,0,maximum);
	}
	deze.value=waarde;
}

function limietw(veld, maximum)
{
	aantal=document.winkel_adres.elements.length; 
	deze=0;
	dit=veld.name;
	for(i=0; i<aantal; i++) {
		vind=document.winkel_adres.elements[i].name;
		if(vind==dit) {
			deze=i;
			
		}
	}
	
	
	//exborder=veld.style.border;
   if (veld.value.length >= maximum) {
      veld.value = veld.value.substring(0, maximum);
	  if(veld.name=='postcode_cijfers') {
		  if(document.winkel_adres.elements[deze+1]) {
	  			document.winkel_adres.elements[deze+1].focus();
		  }
	  }
   		//veld.style.border="1px #ff0000 solid"; //bij max = border change
   }
   
}

function limiet(veld, maximum)
{
	aantal=document.aanmeldenForm.elements.length; 
	deze=0;
	dit=veld.name;
	for(i=0; i<aantal; i++) {
		vind=document.aanmeldenForm.elements[i].name;
		if(vind==dit) {
			deze=i;
			
		}
	}
	
	
	//exborder=veld.style.border;
   if (veld.value.length >= maximum) {
      veld.value = veld.value.substring(0, maximum);
	  if(veld.name=='postcode_cijfers') {
		  if(document.aanmeldenForm.elements[deze+1]) {
	  			document.aanmeldenForm.elements[deze+1].focus();
		  }
	  }
   		//veld.style.border="1px #ff0000 solid"; //bij max = border change
   }
   
}

function limietd(veld, maximum)
{
	aantal=document.donateur_worden.elements.length; 
	deze=0;
	dit=veld.name;
	for(i=0; i<aantal; i++) {
		vind=document.donateur_worden.elements[i].name;
		if(vind==dit) {
			deze=i;
			
		}
	}
	
	
	//exborder=veld.style.border;
   if (veld.value.length >= maximum) {
      veld.value = veld.value.substring(0, maximum);
	  if(veld.name=='postcode_cijfers') {
		  if(document.donateur_worden.elements[deze+1]) {
	  			document.donateur_worden.elements[deze+1].focus();
		  }
	  }
   		//veld.style.border="1px #ff0000 solid"; //bij max = border change
   }
   
}

function limiet2(veld, maximum,type)
{
	switch(type) {
		case "int": veld.value=checkIntegerStr( veld.value ); break;
	}
	aantal=document.aanmeldenForm.elements.length; 
	deze=0;
	dit=veld.name;
	for(i=0; i<aantal; i++) {
		vind=document.aanmeldenForm.elements[i].name;
		if(vind==dit) {
			deze=i;
			
		}
	}
	
	
	//exborder=veld.style.border;
   if (veld.value.length >= maximum) {
      veld.value = veld.value.substring(0, maximum);
	  if(veld.name=='postcode_cijfers') {
		  if(document.aanmeldenForm.elements[deze+1]) {
	  			//document.aanmeldenForm.elements[deze+1].focus();
		  }
	  }
   		//veld.style.border="1px #ff0000 solid"; //bij max = border change
   }
   
}

function checkmailto(deze,veld) {
	waarde="";
	soort="";
	if(document.getElementById('emailcheck').value!="") {
		waarde=document.getElementById('emailcheck').value;
		soort="vd";
	} else if(document.getElementById('emailcheck').innerHTML!="") {
		waarde=document.getElementById('emailcheck').innerHTML;
		soort="id";
	} else if(deze.value!="") {
		waarde=deze.value;
		soort="v";
	} else if(deze.innerHTML!="") {
		waarde=deze.innerHTML;
		soort="i";
	}
	beginwaarde1=waarde;
	waarde=waarde.replace(/\n/,",");
	waarde=waarde.replace(/;/,",");
	waarde=waarde.replace(/`/,"");
	waarde=waarde.replace(/'/,",");
	waarde=waarde.replace(/"/,",");
	waarde=waarde.replace(/</,",");
	waarde=waarde.replace(/>/,",");
	waarde=waarde.replace(/:/,",");
	waarde=waarde.replace(/mailto:/,",");
	waarde=waarde.replace(/mailto/,",");
	waarde=waarde.replace(/  /,",");
	waarde=waarde.replace(/   /,",");
	waarde=waarde.replace(/    /,",");
	waarde=waarde.replace(/     /,",");
	waarde=waarde.replace(/      /,",");
	waarde=waarde.replace(/       /,",");
	waarde=waarde.replace(/        /,",");
	waarde=waarde.replace(/         /,",");
	waarde=waarde.replace(/          /,",");
	waarde=waarde.replace(/           /,",");
	waarde=waarde.replace(/            /,",");
	waarde=waarde.replace(/             /,",");
	waarde=waarde.replace(/              /,",");
	beginwaarde2=waarde;
	waardes = waarde.split(",");
	waarde="";
	emailfout="";
	for(a=0; a<waardes.length; a++) {
		stringObject2=waardes[a];
		waardes2 = stringObject2.split(" ");
		/*if(waardes2<2) {
			stringObject=waardes2[a];
			var x = stringObject;
			var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if (filter.test(x)) {
				if(waarde!="") {
					waarde+=" ";
				}
				waarde += stringObject;
			} else if(stringObject!="") {
				emailfout+=stringObject+"\n";
			}
		} else {*/
			for(b=0; b<waardes2.length; b++) {
				stringObject=waardes[b];
				var x = stringObject;
				var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if (filter.test(x)) {
					if(waarde!="") {
						waarde+=" ";
					}
					waarde += stringObject;
				} else if(stringObject!="") {
					emailfout+=stringObject+"\n";
				}
			//}
		}
	}
	
	
	if(soort=="vd") {
		//document.getElementById('emailcheck').value=waarde;
	} else if(soort=="id") {
		//document.getElementById('emailcheck').innerHTML=waarde;
	} else if(soort=="v") {
		//deze.value=waarde;
	} else if(soort=="i") {
		//deze.innerHTML=waarde;
	}
	if(waarde!=beginwaarde1 && waarde!=beginwaarde2) {
		//alert("Niet alle emailadressen waren geldig.\nDe ongeldige e-mailadressen zijn verwijderd:\n\n"+emailfout);
		//return false;
		return true;
	} else {
		return true;	
	}
}

function xmlcon(pagina,post,oproepnaam, callback,dat){
	//alert(pagina);
  // XMLHTTPObject = createHTTPHandler();
    var XMLHTTPObject = createHTTPHandler3();
	if(XMLHTTPObject) {
		returntxt="";
		XMLHTTPObject.open('POST', pagina, true);
		XMLHTTPObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		if(post!=null) {
			XMLHTTPObject.setRequestHeader("Content-length", post.length);
		}
		//XMLHTTPObject.open('GET', pagina, true);
		//XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
		//XMLHTTPObject.setRequestHeader("X_USERAGENT", oproepnaam);
		XMLHTTPObject.send(post);
			XMLHTTPObject.onreadystatechange=function() {
				if (XMLHTTPObject.readyState==4) {
					if(dat["return"]==true || dat["return"]=="true") {
						response=XMLHTTPObject.responseXML;
						//alert("1:"+response.getElementsByTagName("data").length);
						return response.getElementsByTagName("data").length;
					} else {
						callback( XMLHTTPObject.responseXML,dat,XMLHTTPObject.responseText );
					}
				}
			} 
	} else {
		alert("Er is een fout opgetreden! (2,"+oproepnaam+")");	
	}
}

function createHTTPHandler3(){
	httphandler = false;
	
	if (!httphandler && typeof XMLHttpRequest!='undefined' && window.XMLHttpRequest) {
		httphandler = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		httphandler=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return httphandler;
}

function getaddressoud( prefix ) {
	var prefix = prefix;
	postcode=document.getElementById(prefix+"postcode").value;
	huisnummer=document.getElementById(prefix+"huisnummer").value;
	
	var dat=new Array();
	file="/zoa/markup/templates/javascript/xmlrpc/postcode.php?postcode="+postcode+"&huisnummer="+huisnummer+"";
	if((postcode!='' && huisnummer!='')) {
		xmlophalenp( ""+file, 'test',callbackZipp2,dat,prefix );
	}
	return false;
}

function callbackZipp2(responseText,dat,extravars) {
	idprefix = extravars;
	if(responseText.getElementsByTagName("status").length>0) {
		status=responseText.getElementsByTagName("status")[0].childNodes.item(0).nodeValue;
		if(status==1 || status=="1") {
			straat="";
			huisnummer="";
			postcode="";
			woonplaats="";
			netnummer="";
			if(responseText.getElementsByTagName("straat").length>0) {
				straat=responseText.getElementsByTagName("straat")[0].childNodes.item(0).nodeValue;
				document.getElementById(idprefix+'adres').value=straat;
			}
			if(responseText.getElementsByTagName("huisnummer").length>0) {
				huisnummer=responseText.getElementsByTagName("huisnummer")[0].childNodes.item(0).nodeValue;
				//document.getElementById(idprefix+'housenumber').value=huisnummer;
			}
			if(responseText.getElementsByTagName("postcode").length>0) {
				postcode=responseText.getElementsByTagName("postcode")[0].childNodes.item(0).nodeValue;
				//document.getElementById(idprefix+'postal_code').value=postcode;
			}
			if(responseText.getElementsByTagName("woonplaats").length>0) {
				woonplaats=responseText.getElementsByTagName("woonplaats")[0].childNodes.item(0).nodeValue;
				document.getElementById(idprefix+'plaats').value=woonplaats;
			}
			if(responseText.getElementsByTagName("netnummer").length>0) {
				netnummer=responseText.getElementsByTagName("netnummer")[0].childNodes.item(0).nodeValue;
				if(document.getElementById(idprefix+'telefoon').value=="") {
					document.getElementById(idprefix+'telefoon').value=netnummer;
				}
			}
			html="straat: "+straat+"<br/>huisnummer: "+huisnummer+"<br/>postcode: "+postcode+"<br/>woonplaats: "+woonplaats+"<br/>netnummer: "+netnummer+"<br/>status: "+status+"";
			//alert("!");
			//document.getElementById("resultaat").innerHTML=html;
		} else {
			//zoek nu vanuit postcode+nummer
			//alert("?");
			//document.getElementById("resultaat").innerHTML="gegevens zijn niet volledig";
		}
	} else {
		//zoek nu vanuit postcode+nummer
		//alert("?");
		//document.getElementById("resultaat").innerHTML="gegevens zijn niet volledig";
	}
}

function showhider(i,value,show) {
	tel=1;
	//alert(value+"="+show)
	while(document.getElementById(i+tel)) {
		//alert(i+tel);
		if(show==value) {
			document.getElementById(i+tel).style.display="";
		} else {
			document.getElementById(i+tel).style.display="none";
		}
		tel++;
	}
}

function showhider2(i,value,show) {
	tel=1;
	while(document.getElementById(i+tel)) {
		if(show==value) {
			document.getElementById(i+tel).style.display="none";
		} else {
			document.getElementById(i+tel).style.display="";
		}
		tel++;
	}
}
