// JavaScript Document

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_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];}}
}

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 isUrl (string) {
  var addressPattern = 
    /((http\:\/\/){1}\S+\.\S+)/;
  return addressPattern.test(string);
}

function isEmailAddress (string) {
  var addressPattern = 
    /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
  return addressPattern.test(string);
}

function isTelOrMobile(string){
   var pattern = /^06-[1-9][0-9]{7}|0[1-9][0-9]-[1-9][0-9]{6}|[01-9][0-9]{2}-[1-9][0-9]{5}$/;
    return pattern.test(string);
}

function isTel (string) {
  var addressPattern = 
  /^([0]\d{2}(-|\s)[1-9]\d{6})|([0]\d{3}(-|\s)[1-9]\d{5})|([0]\d{9})$/;
  return addressPattern.test(string);
}

function isMobile (string) {
  var addressPattern = 
    /^06(-{0,1})[1-9][0-9]{7}$/;
  return addressPattern.test(string);
}

function isTijd (string) {
  var addressPattern = 
     /^([01]?[0-9]|[2][0-3]):[0-5][0-9]$/;
  return addressPattern.test(string);
}

function isPostcode (obj) {
  string = obj.value;
  var addressPattern = /^\d{4}\s[A-Za-z]{2}$/;
  if(addressPattern.test(string)){
	  obj.value = string.substr(0,4) + string.substr(5,2);
	return true;
  }
  addressPattern = /^\d{4}[A-Za-z]{2}$/;
  if(addressPattern.test(string)){	
	return true;
  }
  return false;
}


function isNum (string) {
  var addressPattern =  /^\d+$/;
  return addressPattern.test(string);
}

function chkage(obj, format) {
 t    = new Date();	// get current date 
 year = t.getFullYear();	// get year of current
 mon  = t.getMonth() + 1;	// get month of current
 day  = t.getDate();	// get date of current
 
  dateBits = DateComponents(obj.value, format);
  DD = dateBits[0];
  MM = dateBits[1];
  YY = dateBits[2];
 
  age = year - YY;
  if ((MM > mon) || (MM == mon && day < DD)) age --;
   return age;
}


function isBankrekening(rekening) {
	proefgetal=0;
	if (rekening.length!=9 && (! isNum(rekening)) ) {
		return false; 
	}
	
	for (i=9;i>0;i--) {
		if ( !isNum(rekening.substr((9-i),1)) ){ 
			return false; 
		}
		proefgetal=proefgetal+(i*rekening.substr((9-i),1));
	}
    if ( isNum(proefgetal/11) ) {
	    return true;
	} else {
	   return false;	
	}

}

function ValiDate(obj, format){
   dateBits = DateComponents(obj.value, format);
   
   if (dateBits == null) return false;

   day = dateBits[0];
   month = dateBits[1];
   year = dateBits[2];
   
   if(MM_findObj('birthday'))
   {
   	MM_findObj('birthday').value = day;
   }
   if(MM_findObj('birthmonth'))
   {
   	MM_findObj('birthmonth').value = month;
   }
   if(MM_findObj('birthyear'))
   {
   	MM_findObj('birthyear').value = year;
   }

   if ((month < 1 || month > 12) || (day < 1 || day > 31)) { // check month range 
        return false;
   } 
   
   if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        return false;
   }
	      
   if (month == 2) {
	testyear = year;
       // check for february 29th 
       if(year < 20){
       	testyear = 20 + year;

   }else if(year<100){
      	testyear = 19 + year;
   }	       
   var isleap = (testyear % 4 == 0 && (testyear % 100 != 0 || testyear % 400 == 0)); 
       if (day>29 || (day==29 && !isleap)) {
           return false;
          }
       } 
	   
   return true;
}

function DateComponents(dateStr, morfat) {
  var splitChar = (morfat.indexOf('-')>0?'-':(morfat.indexOf('/')>0?'/':(morfat.indexOf('.')>0?'.':'')));
  var morfatArr = morfat.split(splitChar);
  var dateArr = dateStr.split(splitChar);
  var retArr = new Array(morfatArr.length);  
    
  if(dateArr.length == morfatArr.length){
	  for(i=0;i<morfatArr.length;i++){
		if(morfatArr[i]=="dd" && dateArr[i]<=31){			
			retArr[0] = dateArr[i];
		}else if(morfatArr[i]=="mm" && dateArr[i]<=12){
			retArr[1] = dateArr[i];
		}else if(morfatArr[i]=="yyyy" && dateArr[i]<3000 && dateArr[i]>999){
			retArr[2] = dateArr[i];
		}else if(morfatArr[i]=="yy" && dateArr[i]<100 && dateArr[i]>=0){
			retArr[2] = dateArr[i];
		}else{
			return null;
		}
	  }	  
	  return retArr;
  }else{
    return null;
  }
}

function isKvK(string){
var addressPattern = 
    /^\d{8}$/;
  return addressPattern.test(string);
}