// PC check redirect script 
function PleaseWaitFunction(URL)
	{
	var xmlhttp;
	if (window.XMLHttpRequest)
		{
	// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp=new XMLHttpRequest();
		}
		else if (window.ActiveXObject)
		{
	 // code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	   }
		else
		{
		alert("Your browser does not support XMLHTTP!");
	  }
	  xmlhttp.onreadystatechange=function()
	  {
		  if(xmlhttp.readyState==4)
		  {
			  if(xmlhttp.status==200)
			  {
				//succes
				//alert('succes');
				//document.getElementById('wait').style.visibility='hidden';
				window.location = URL;
				}
				else
				{
				//error
				//alert('er heeft zich een error voorgedaan')
				//document.getElementById('wait').style.visibility='visible';
				}
			}
		}
		xmlhttp.open("POST",URL,true);
		xmlhttp.send('');
	}
//Einde PC check redirect script 

// Check if housenumber has no letters in it.
String.prototype.urldec = function()
{
    return unescape(this.replace(/\+/g, " "));
}

var _param = new Object();
{
    var parts = window.location.search.substr(1).split(/[&;]/);
    for (var i in parts) {
        var pair  = parts[i].split(/=/);
        var name  = pair[0].urldec();
        var value = pair[1] != undefined ? pair[1].urldec() : undefined;
        if (_param[name] == undefined)
            _param[name] = [value];
        else
            _param[name].push(value);
    }
}

function param(name)
{
    return _param[name] != undefined ? _param[name][0] : undefined;
}

function checkhousenumber(form)
{
	var valid = "0123456789"
	var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	var ok = "yes";
	var temp;
	for (var i=0; i<form.HouseNumber.value.length; i++)
	{
		temp = "" + form.HouseNumber.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1")
		{
			ok = "no";
		}
	}
	
	for (var i=0; i<form.ZipNumbers.value.length; i++)
	{
		temp = "" + form.ZipNumbers.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1")
		{
			ok = "no";
		}
	}
	
	for (var i=0; i<form.ZipLetters.value.length; i++)
	{
		temp = "" + form.ZipLetters.value.substring(i, i+1);
		if (validchars.indexOf(temp) == "-1")
		{
			ok = "no";
		}
	}

	if (form.HouseNumber.value.length < 1)
	{
		ok = "no";
	}
	
	if (form.ZipNumbers.value.length < 4)
	{
		ok = "no";
	}
	
	if (form.ZipLetters.value.length < 2)
	{
		ok = "no";
	}

	if (ok == "no")
	{	
		alert("De ingevulde postcode is niet juist.");
		return false;
	}
	
	return true;
}

// Querystring catcher
function getArgs() {
	var args = new Object();
	var query = location.search.substring(1); 
	var pairs = query.split("&"); 

	for(var i = 0; i < pairs.length; i++) {
		var pos = pairs[i].indexOf('='); 
		if (pos == -1) continue; 
		var argname = pairs[i].substring(0,pos); 
		var value = pairs[i].substring(pos+1); 
		args[argname] = unescape(value); 
	}
	return args;
}
var args = getArgs(); 

// Auto Tab
var field_length=0;
function TabNext(obj,event,len,next_field) {
	if (event == "down") {
		field_length=obj.value.length;
	}
	else if (event == "up") {
		if (obj.value.length != field_length) {
			field_length=obj.value.length;
			if (field_length == len) {
				next_field.focus();
			}
		}
	}
}

// PopupOld
function PopupOld(theURL,winName,w,h,features){
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+''
	window.open(theURL,winName,features,settings);
}

// Popup
function Popup(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

// Check aantal subscriptions in Compare
function CompareCheck(form) {
	var total = 0;
	var max = form.id.length;
	for (var idx = 0; idx < max; idx++) {
		if (eval("document.aspnetForm.id[" + idx + "].checked") == true) {
			total += 1;
		}
	}
	if (total < 1) {
		alert("U heeft geen providers geselecteerd. Selecteer maximaal 3 providers uit de lijst met providers.");
		return false;
	}
	if (total > 3) {
		alert("U heeft " + total + " providers geselecteerd, het maximum is 3.");
		return false;
	}
return true;
}

// Alert Window
function MM_popupMsg(msg) { //v1.0
  alert(msg);
}

// Preload Images (niet weghalen!)
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

// Bookmark script
function bookmark(url, description)
		{
		netscape="Druk eerst op OK en dan op Control-D om deze pagina aan uw favorieten toe te voegen"
		if (navigator.appName=='Microsoft Internet Explorer')
		{
		window.external.AddFavorite(url, description);
		}
		else if (navigator.appName=='Netscape')
		{
		alert(netscape);
		}
		}

// Print Window
function printWindow(){
   bV = parseInt(navigator.appVersion)
   if (bV >= 4) window.print()
}

// Add to favorites
function addToFavorite(favTitle){
  if ((navigator.appVersion.indexOf("MSIE") > 0) && (parseInt(navigator.appVersion) >= 4)) {
    window.external.AddFavorite(location.href, unescape(favTitle));
  }
}

// URL jump button (staat op negatieve resultatenpagina voor Scarlet link)
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

// MouseOver voor acties op homepage
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

//-->


// Controleren of de cursor in het juiste veld komt na fout invoer
function checkLength(postcode){

  if (postcode.length == 4) {
    contactForm.ZipLetters.focus();                       
  }
  else{
    alert("nee, nog niet");
  } 
}
 
function validateScanForm(contactForm)          {
	var alertsay = "";               
               if (contactForm.ZipNumbers.value == "") 
                {                              
                               alert("U heeft de postcode cijfers nog niet (volledig) ingevuld, (vb. 1234)");                 
                               contactForm.ZipNumbers.focus();                      
                               return false;      
                }
                var postcodecijfers=contactForm.ZipNumbers.value;
                if (postcodecijfers.length<4) 
                {                              
                               alert("Let op! De lengte van de postcode dient minimaal 4 getallen te bevatten (vb. 1234)");                               
                               contactForm.ZipNumbers.focus();                      
                               return false;      
                } else {
                                if (IsNumeric(contactForm.ZipNumbers.value)){
        //alert("ja numeriek");
                    } else {
                      alert("Let op! De postcode dient minimaal 4 getallen te bevatten (vb. 1234)");                        
                      contactForm.ZipNumbers.focus();                                
                      return false;                
                    }
  }
                
                if (contactForm.ZipLetters.value == "") 
                {                              
                               alert("U heeft de postcode letters nog niet (volledig) ingevuld");                       
                               contactForm.ZipLetters.focus();                           
                               return false;      
                }
                var postcodeletters=contactForm.ZipLetters.value;
               
               if (postcodeletters.length<2) 
                {                              
                               alert("U heeft de postcode letters nog niet (volledig) ingevuld, (vb. AA)");                    
                               contactForm.ZipLetters.focus();                           
                               return false;      
                } else {
                                if (isCharacter(contactForm.ZipLetters.value.toUpperCase())){
 
                    } else {
                      alert("Let op! De postcodeletters dienen minimaal 2 letters te bevatten (vb. AA)");                             
                      contactForm.ZipLetters.focus();                     
                      return false;                
                    }
  }
              
}

function IsNumeric(sText)
{
    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 isCharacter(sText)
{
    var ValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var isCharacter=true;
    var Char;
 
  for (i = 0; i < sText.length && isCharacter == true; i++) 
  { 
    Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
      {
        isCharacter = false;
     }
   }
  return isCharacter;
}

/* AANBIEDINGSPAGINA */

/*
	For functions getElementsByClassName, addClassName, and removeClassName
	Copyright Robert Nyman, http://www.robertnyman.com
	Free to use if this text is included
*/
function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function addClassName(elm, className){
    var currentClass = elm.className;
    if(!new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i").test(currentClass)){
        elm.className = currentClass + ((currentClass.length > 0)? " " : "") + className;
    }
    return elm.className;
}

function removeClassName(elm, className){
    var classToRemove = new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i");
    elm.className = elm.className.replace(classToRemove, "").replace(/^\s+|\s+$/g, "");
    return elm.className;
}

function hasClass(el, c) {
  if (!el || !el.className.length) return;
  var bits = el.className.split(' '), has = false;
  for (var j = 0; j < bits.length; j++) if (bits[j] === c) has = true;
  return has;
}

function activateThisColumn(column) {
  var table = document.getElementById('pricetable');
  var form = document.getElementById('formcontainer');

  // first, remove the 'on' class from all other th's
  var ths = table.getElementsByTagName('th');
  for (var g=0; g<ths.length; g++) {
    removeClassName(ths[g], 'on');
    if (!hasClass(ths[g],'side')) {
      ths[g].style.display = 'none';
    }
  }
  // then, remove the 'on' class from all other td's
  var tds = table.getElementsByTagName('td');
  for (var m=0; m<tds.length; m++) {
    removeClassName(tds[m], 'on');
    if (!hasClass(tds[m],'side')) {
      tds[m].style.display = 'none';
    }
  }

  // now, add the class 'on' to the selected th
  var newths = getElementsByClassName(column, 'th', table);
  for (var h=0; h<newths.length; h++) {
    addClassName(newths[h], 'on');
    newths[h].style.display = '';
    // not all browsers like display = 'block' for cells
  }
    // and finally, add the class 'on' to the selected td
  var newtds = getElementsByClassName(column, 'td', table);
  for (var i=0; i<newtds.length; i++) {
    addClassName(newtds[i], 'on');
    newtds[i].style.display = '';
    // not all browsers like display = 'block' for cells
  }
  // show the form!
  form.style.display = 'block';
}

function hideTheForm() {
	// get the form
	var form = document.getElementById('formcontainer');
	// hide the form
	form.style.display = 'none';
	
	// now get the hidden table cells and show them again
	var table = document.getElementById('pricetable');
	var tds = table.getElementsByTagName('td');
	for (var i=0; i<tds.length; i++) {
		tds[i].style.display = '';
	}
	var ths = table.getElementsByTagName('th');
	for (var k=0; k<ths.length; k++) {
		ths[k].style.display = '';
	}
}
function validateScanContactForm(Contact)	{
	var alertsay = ""; 

	if (Contact.REQ_name.value == "") 
	{		
		alert("U heeft uw naam niet gevuld.");		
		Contact.REQ_name.focus();		
		return false;	
	}
	if (Contact.REQ_email.value == "") 
	{		
		alert("U heeft uw email adres niet ingevuld.");		
		Contact.REQ_email.focus();		
		return false;	
	}
}