function showHideDiv(welke)
{
	var displayState 								= (document.getElementById(welke).style.display=="block")?"none":"block";
	document.getElementById(welke).style.display	= displayState;
}
	
function getHTTPObject(){
	if(window.ActiveXObject){
		var waystation = new ActiveXObject("Microsoft.XMLHTTP");
	}else if (window.XMLHttpRequest){
		var waystation = new XMLHttpRequest();
	}else{
		var waystation = false;
	}
	return waystation;
}


function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
	//alert(func);
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}


// change your domain name:
var yourURL = location.host;
//alert(yourURL);
function outLinks() {
  var outLink;
  if (document.getElementsByTagName('a')) {
    for (var i = 0; (outLink = document.getElementsByTagName('a')[i]); i++) {
      if (outLink.href.indexOf(yourURL) == -1 && outLink.href.indexOf('history.back') == -1) {
	  	outLink.setAttribute('target', '_blank');
		//outLink.style.backgroundColor="#ccc";
      }
    }
  }
}

// addLoadEvent(function(){ outLinks(); }); 



function classInputs(){ 	//stukje code van menno om alle inputs te voorzien van een class die overeenkomt met hun type
	if (document.getElementsByTagName){
		
		var objForm = document.getElementsByTagName('form');
		
		for (var iCounter=0; iCounter<objForm.length; iCounter++){
			var objField = objForm[iCounter].getElementsByTagName('input');
			for (var iFieldCounter=0; iFieldCounter<objField.length; iFieldCounter++){
				if(objField[iFieldCounter].getAttribute('type')!="hidden"){
					objField[iFieldCounter].className = objField[iFieldCounter].className + ' ' + objField[iFieldCounter].getAttribute('type');
				}
			}
		}
	}
}

addLoadEvent(function(){ classInputs(); });



function checkEmpty(formname,fields){
	empty=false;
	flds=fields.split(",");
	//alert(velden);
	for(i=0; i<flds.length; i++){
		//alert(flds[i]);
		if(document[formname][flds[i]].value==""){
			alert('U bent vergeten het veld ' + flds[i] + ' vergeten in te vullen of aan te vinken');
			empty=true;
			document[formname][flds[i]].focus();
			break;
		}
		
	}
}

//addLoadEvent(function(){ attachFormHandlers(); });

function attachFormHandlers()
{
  // Ensure we're working with a 'relatively' standards 
  // compliant browser
  if (document.getElementsByTagName)
  {
    var objForm = document.getElementsByTagName('form');

    for (var iCounter=0; iCounter<objForm.length; iCounter++)
		objForm[iCounter].onsubmit = function(){return checkForm(this);}
		
  }
}
function checkForm(objForm)
{
  var arClass, bValid;
  var objField = objForm.getElementsByTagName('*');

  for (var iFieldCounter=0; iFieldCounter<objField.length; iFieldCounter++)
  {	
  	// Allow for multiple values being assigned to the class attribute
    arClass = objField[iFieldCounter].className.split(' ');
    for (var iClassCounter=0; iClassCounter<arClass.length; iClassCounter++)
    {
      switch (arClass[iClassCounter])
      {
        case 'string':
           bValid = isString(objField[iFieldCounter].value.replace(/^\s*|\s*$/g, ''));
		   break;
        case 'number' :
           bValid = isNumber(objField[iFieldCounter].value);
           break;
        case 'stringornumber' :
           bValid = isStringOrNumber(objField[iFieldCounter].value);
           break;
        case 'email' :
           bValid = isEmail(objField[iFieldCounter].value);
           break;
        case 'wantone' :
           bValid = checkChecks(objField[iFieldCounter].name);
           break;
        default:
           bValid = true;
      }

      if (bValid == false)
      {
        // If this field is invalid, leave the testing early,
        // and alert the visitor to this error
        alert('Er lijkt geen goede waarde ingevuld te zijn in het veld ' + objField[iFieldCounter].name );
        if(objField[iFieldCounter].getAttribute('type') == "text"){ //menno: afrolmenu's enzo proberen te selecten breekt het script!
        	objField[iFieldCounter].select();
		}
        objField[iFieldCounter].focus();
        return false;
      }
    }
  }
  return true;
}

function checkChecks(name) {
	var x=document.getElementsByName(name);
    for (i=0; i < x.length; i++) {
		if (x[i].checked) {
			return true;
		}
	}
	return false;
}

function isString(strValue)
{
  return (typeof strValue == 'string' && strValue != '' && isNaN(strValue));
}

function isStringOrNumber(strValue)
{
  return ((typeof strValue == 'string' && strValue != '' && isNaN(strValue)) || (!isNaN(strValue) && strValue != ''));
}

function isNumber(strValue)
{
  return (!isNaN(strValue) && strValue != '');
}

function isEmail(strValue)
{
  var objRE = /^[\w-\.\']{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,}$/;

  return (strValue != '' && objRE.test(strValue));
}

// END FORM VALIDATION

// functie om aan te roepen bij laden homepage. start google maps
function initialize(){
	initializeMap();
}

