// 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;
}// einde MM_swapImgRestore

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];}}
}// einde MM_findObj

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;
}// einde MM_findObj

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];}
}// einde MM_swapImage


//original by Geertje Huijbers, februari 2009
function schrijfelink(tekst,adres,dom) { 
document.write("<a href='mai");
document.write("lto:");
document.write(adres);
document.write("@");
document.write(dom);
document.write(".nl");
document.write("'>");
document.write(tekst);
document.write("</a>");
}


var foutkleur = "F2BFBF" // de attentie kleur = ravelijnrood 25%
var goedkleur = "ffffff" // de normale kleur 
// Original by Ruud Roozendaal, mei 2004

function controleerRadio(sfrm, sfield) /* functie om de radiobuttons te controleren */
{
	var aantalNietGeselecteerd=0;

	var sobj=eval("document."+sfrm+"."+sfield); /* maakt een variabele van document.formuliernaam.radiobuttonnaam */
	var aantalButtons = sobj.length;
	
	for (var i = 0;  i<aantalButtons;i++) /* doe voor het aantal radiobuttens het volgende */
	{
		val=eval(sobj[i].checked); /* controleer of betreffende radiobutton is geselecteerd */
		if(val==false)
		{	
			aantalNietGeselecteerd = aantalNietGeselecteerd + 1; /* wanneer radiobutton niet is geselecteerd verhoog variabele met 1 */
		}
	}
	
	val=eval(aantalNietGeselecteerd==aantalButtons); /* als aantal niet geselecteerde buttons gelijk is aan aantal aanwezige button dan is er niets geselecteerd */
	if(val==true) 
	{
	/* er is niet geslecteerd */
		for (var i = 0;  i<aantalButtons;i++) /* loop alle radiobuttons na*/
		{
			sobj[i].style.background=foutkleur; /* de attentie kleur geven */
		}
	return 1;	
	}
	
	else
	{
	/* er is iets geselecteerd */
		for (var i = 0;  i<aantalButtons;i++) /* loop alle radiobuttons na*/
		{
			sobj[i].style.background=goedkleur; /* de normale kleur geven */
		}
	return 0;	
	}	
} //einde controleer radio


// Javascript document
function emailCheck(str)		/*functie om e-mail adres te controleren */
{
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)

	if (str.indexOf(at)==-1){
	   return 1;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	    return 1;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	   return 1;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	    return 1;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return 1;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	    return 1;
	 }
	
	 if (str.indexOf(" ")!=-1){
	    return 1;
	 }
		return 0;					
}// einde emailCheck



// functie read
function read(sfrm,sfield,dfrm,dfield,txt,cr,v)
	{
	var sobj=eval("document."+sfrm+"."+sfield);
	var	dobj=null;

	if(txt==null)
		txt="";

	if(dfield)
		dobj=eval("document."+dfrm+"."+dfield);

	if(sobj.value=="")
		{
		if(!v)
			{
			sobj.style.background=foutkleur; /*fout */
			return 1;
			}
		else
			return 0; /* goed */
		}
	else
		{
		if(dobj)
			{
			dobj.value+=txt+sobj.value;
			if(cr)
				dobj.value+="\r";
			}
		sobj.style.background=goedkleur; /*goed*/
		return 0; /* goed */
		}
} // einde read




// quick browser test voor showdiv
var ns4 = (document.layers) ? true : false;
var ie4 = (document.all && !document.getElementById) ? true : false;
var ie5 = (document.all && document.getElementById) ? true : false;
var ns6 = (!document.all && document.getElementById) ? true : false;
// End -->

function showdiv(sw,obj) 
{
	// show/hide the divisions
	if (sw && (ie4 || ie5) ) document.all[obj].style.visibility = 'visible';
	if (!sw && (ie4 || ie5) ) document.all[obj].style.visibility = 'hidden';
	if (sw && ns4) document.layers[obj].visibility = 'visible';
	if (!sw && ns4) document.layers[obj].visibility = 'hidden';
}

// This functions test wheter a charachter is numeric
function IsNumeric(x)
{
  var Digits = "0123456789";
  if (Digits.indexOf(x) == -1)
  {
    return (false);
  }
  else
  {
    return (true);
  }
}

// This functions test wheter a charachter is alphanumeric
function IsAlphanumeric(x)
{
  var Alphas = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  if (Alphas.indexOf(x) == -1)
  {
    return (false);
  }
  else
  {
    return (true);
  }
}

// This function tests wheter a character is a lower case alphanumeric character
function IsLowercase(x)
{
  var Alphas = "abcdefghijklmnopqrstuvwxyz";
  if (Alphas.indexOf(x) == -1)
  {
    return (false);
  }
  else
  {
    return (true);
  }
}

// This functions tests whether a character is an alphanumeric character
function IsUppercase(x)
{
  var Alphas = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  if (Alphas.indexOf(x) == -1)
  {
    return (false);
  }
  else
  {
    return (true);
  }
}

//This function returns true if the string contains all spaces else false (used in kvk idendificatie no check)
function IfSpaces(str)
{
  var ch ="";
  var space = true;
  for (var i = 0; i < str.length; i++)
  {
    ch = str.charAt(i);
    if(IsNumeric(ch) || (IsAlphanumeric(ch)))
    {
      space = false;
    }
  }
  return (space);
}


/**
*   Adres  moet voldoen aan:
*     1 of meerdere karakters gevolgd door
*     '@' gevolgd door
*     1 of meerdere karakters gevolgd door
*     '.' gevolgd door
*     1 of meerdere karakters
*/
function checkEmail(strEmail)
{
  strtmpEmail = String(strEmail);

  var re = /.+@.+\..+/;

  return ( strtmpEmail.match(re)? true : false );

}



function ToUppercase(x)
{
  if (IsLowercase(x))
  {
    return (x.toUpperCase());
  }
  else
  {
    return (x);
  }
}

function CharCompare(x1, x2)
{
  if (x1 == "#")
  {
    if (IsNumeric(x2))
    {
      return (true);
    }
    else
    {
      return (false);
    }
  }
  if (x1 == "@")
  {
    if (IsAlphanumeric(x2))
    {
      return (true);
    }
    else
    {
      return (false);
    }
  }
  if (x1 == "?")
  {
    if (IsAlphanumeric(x2))
    {
      if (IsUppercase(x2))
      {
        return (true);
      }
      else
      {
        return(false);
      }
    }
    else
    {
      return (false);
    }
  }
  if (x1 == x2)
  {
    return (true);
  }
  else
  {
    return (false);
  }
}

function MaskCompare(x1,x2)
{
  if (x1.length != x2.length)
  {
    return (false)
  }
  else
  {
    var retval = true;
    for (var i = 0; i < x1.length; i++)
    {
      if (!CharCompare(x1.charAt(i), x2.charAt(i)))
      {
        retval = false;
      }
    }
    return (retval);
  }
}

function RichMaskCompare(x1,x2)
{
  if (x1=='') return true ;
  if (x1=='date') return MaskCompare('##-##-####',x2);
  if (x1=='alpha')
  {
    return /^[a-z]+$/i.test(x2); //only alpha-characters
  }
  if (x1=='name')
  {
    return /^[a-z \-]+$/i.test(x2); //only alpha-characters and " " and "-"
  }
  if (x1=='numeric')
  {
    var a=parseInt(x2,10);
    if ((isNaN(a)) || (x2==''))
    {
      return false ;
    }
    else
    {
      return true;
    }
  }
  if (x1=='phone')
  {
    // Controleer of er 10 cijfers zijn, of 8 indien beginnend met 0800
    var strNum="";
    for (var i=0; i<x2.length ; i++)
    {
      if (IsNumeric(x2.charAt(i)))
      {
        strNum+=String(x2.charAt(i));
      }
    }  
    if (strNum.length==10) return true ;
    if ((strNum.length==8)&&(strNum.substr(0,4)=='0800')) return true ;
    return false;
  }
	if (x1=='length')
	{
		return true ;
	}
  if (x1=='capital' )
  {
    return (x2==x2.toUpperCase() && x2.length >0 );
  }
  if (x1=='AZcapital')
  {
    return /^[A-Z]+$/i.test(x2)
  }
  else return MaskCompare(x1,x2);
}

function PartialMaskCompare(x1,x2)
{
  if (x1.length == x2.length)
  {
    return (MaskCompare(x1,x2));
  }
  else
  {
    var retval = true;
    var i = 0;
    while ((i < x1.length) && (i < x2.length))
    {
      if (!CharCompare(x1.charAt(i), x2.charAt(i)))
      {
        retval = false;
      }
      i += 1;
    }
    return (retval);
  }
}

function ConvertAlphasToMask (x1,x2)
{
  x3 = "";
  var i = 0;
  while ((i < x1.length) && (i < x2.length))
  {
    if (IsLowercase(x2.charAt(i)) && (x1.charAt(i) == "?"))
    {
      x3 += ToUppercase(x2.charAt(i));
    }
    else
    {
      x3 += x2.charAt(i);
    }
    i += 1;
  }
  return(x3);
}

function ApplyMask(x1,x2)
{
  var x3 = ConvertAlphasToMask(x1,x2);
  var i = 0;
  var OK = true;
  var x4 = "";
  if (x3.length == 0)
  {
    return ("");
  }
  if (x1.length == 0)
  {
    return (x3);
  }
  while (OK && (i < x3.length) && (i < x1.length))
  {
    if (!CharCompare(x1.charAt(i),x3.charAt(i)))
    {
      OK = false;
    }
    else
    {
      x4 += x3.charAt(i);
      i += 1;
    }
  }
  if (OK)
  {
    return (x4)
  }
  else
  {
    if (x4.length == (x3.length - 1))
    {
      var x5 = x4;
      var j = i;
      while (("@#?".indexOf(x1.charAt(j)) == -1) && (j < x1.length))
      {
        x5 += x1.charAt(j);
        j +=1;
      }
      x5 += x3.charAt(i);
      x5 = ConvertAlphasToMask(x1,x5);
      OK = true;
      j = 0;
      while (OK && (j < x5.length))
      {
        if (!CharCompare(x1.charAt(j),x5.charAt(j)))
        {
          OK = false;
        }
        j += 1;
      }
      if (OK)
      {
        return (x5);
      }
      else
      {
        return (x4);
      }
    }
    else
    {
      return (x4);
    }
  }
}

function ApplyPhoneMask(x2)
{
  var Netnumberlist = new Array();
  ShortNrs = 32;
  // This is the list of all 3 digit netnumbers
  Netnumberlist[0] = "010";
  Netnumberlist[1] = "013";
  Netnumberlist[2] = "015";
  Netnumberlist[3] = "020";
  Netnumberlist[4] = "023";
  Netnumberlist[5] = "024";
  Netnumberlist[6] = "026";
  Netnumberlist[7] = "030";
  Netnumberlist[8] = "033";
  Netnumberlist[9] = "035";
  Netnumberlist[10] = "036";
  Netnumberlist[11] = "038";
  Netnumberlist[12] = "040";
  Netnumberlist[13] = "043";
  Netnumberlist[14] = "045";
  Netnumberlist[15] = "046";
  Netnumberlist[16] = "050";
  Netnumberlist[17] = "053";
  Netnumberlist[18] = "055";
  Netnumberlist[19] = "058";
  Netnumberlist[20] = "070";
  Netnumberlist[21] = "071";
  Netnumberlist[22] = "072";
  Netnumberlist[23] = "073";
  Netnumberlist[24] = "074";
  Netnumberlist[25] = "075";
  Netnumberlist[26] = "076";
  Netnumberlist[27] = "077";
  Netnumberlist[28] = "078";
  Netnumberlist[29] = "079";
  Netnumberlist[30] = "080-";
  Netnumberlist[31] = "085";
  var Shortnumber = false;
  var i = 0;
  // Check whether the first three digits are a short netnumber
  while ((i < ShortNrs) && (Shortnumber == false))
  {
    if (!((x2.substring(0,4)).indexOf(Netnumberlist[i],0) == -1))
    {
      Shortnumber = true;
    }
    i += 1;
  }
  if (Shortnumber == true)
  {
    return (ApplyMask("### ### ####",x2)); //ori: "###-#######"
  }
  else
  {
    if((x2.charAt(0) == "0") && (x2.charAt(1) == "6"))
    {
      return (ApplyMask("## #### ####",x2)); //ori: "##-########"
    }
    else if(x2.substring(0,4) == "0800")
    {
      return (ApplyMask("#### ####",x2)); //ori: "####-####"
    }
    else
      return (ApplyMask("#### ### ###",x2)); //ori: "####-######"
  }
}

// date validation
function ApplyDateMask(x1,mode)
{
  var m_short = "04,06,09,11";
  var days_ok = true;
  var month_ok = true;
  var year_ok = true;
  var day = 0;
  var month = 0;
  var year = 0;

  // check if the date string contains valid characters
  var prelim_date = "";
  var temp_date = "";
  for (var i = 0; i < x1.length; i++)
  {
    if (x1.charAt(i) == "-")
    {
      if ((i==2)||(i==5))
      {
        prelim_date = prelim_date + x1.charAt(i);
      }
      if (i==1)
      {
        prelim_date = prelim_date + x1.charAt(i);
        temp_date = "0" + prelim_date;
        prelim_date = temp_date;
      }
      if (i==3)
      {
        prelim_date = prelim_date + x1.charAt(i);
        temp_date = prelim_date.substring(0,3) + "0" + prelim_date.substring(4)
        prelim_date = temp_date;
      }
    }
    else if (IsNumeric(x1.charAt(i)))
    {
      prelim_date = prelim_date + x1.charAt(i);
    }
    else
    {
      return (prelim_date);
    }
  }
  // begin of day check
  if (x1.length > 1)
  {
    if (!IsNumeric(x1.charAt(1)))
    {
      x1 = "0" + x1;
    }
    day = x1.substring(0,2);
    if (day > 31)
    {
      days_ok = false;
    }
  }
  // end of day check
  // begin of month check
  if (x1.length > 4)
  {
    if (!IsNumeric(x1.charAt(4)))
    {
      x1 = x1.substring(0,3) + "0" + x1.charAt(3) + x1.substring(5,x1.length - 1);
    }
    month = x1.substring(3,5);
    if (month > 12)
    {
      month_ok = false;
    }
    else
    {
      if ( (m_short.indexOf(month) != -1) && (day > 30) )
      {
        month_ok = false;
      }
      else
      {
        if ( (month == "02") && (day > 29) )
        {
          month_ok = false;
        }
      }
    }
  }
  // end of month check
  // begin of year check
  if (x1.length == 10)
  {
    if (!IsNumeric(x1.charAt(9)))
    {
      x1 = x1.substring(0,9);
    }
    else
    {
      year = 0 + x1.substring(6,11);
      if ( (month == 02) && (day == 29) && (year % 4 != 0) )
      {
        year_ok = false;
      }
      if ( (day == 00) )
      {
        days_ok = false;
      }
      if ( (month == 00) )
      {
        month_ok = false;
      }
      if ( (year == 0000) )
      {
        year_ok = false;
      }
    }
  }

  // end of year check
  // depending on the result above, choose a mask
  if (! days_ok)
  {
    return ("");
  }
  else if (! month_ok)
  {
    return (ApplyMask("##-", x1));
  }
  else if (! year_ok)
  {
    return (ApplyMask("##-##-", x1));
  }
  else
  {
    return (ApplyMask("##-##-####", x1));
  }
}

function ApplyAlphaMask(x1)
{
  var i=0 ;
  var s="";
  while ( i< x1.length)
  {
    if (IsAlphanumeric(x1.charAt(i))) s=s+x1.charAt(i);
    else break;
    i++ ;
  }
  return s ;
}

function ApplyNameMask(x1)
{
  var i=0 ;
  var s="";
  while ( i< x1.length)
  {
    if (IsAlphanumeric(x1.charAt(i)))
    {
      s=s+x1.charAt(i);
    }
    else if ((x1.charAt(i)) == " " || (x1.charAt(i)) == "-")
    {
      s=s+x1.charAt(i);
    }
    else
    {
      break;
    }
    i++ ;
  }
  return s ;
}

function ApplyAZCapitalMask(x1)
{
  var i=0;
  var s='';
  while(i<x1.length)
  {
    if (IsAlphanumeric(x1.charAt(i)))
    {
      if(IsLowercase(x1.charAt(i)))
      {
        strTemp = ToUppercase(x1.charAt(i))
        s=s+strTemp;
      }
      else
      {
        s=s+x1.charAt(i);
      }
    }
    else
    {
      break;
    }
    i++ ;
  }
  return s;
}

function ApplyCapitalMask(x1)
{
  return x1.toUpperCase();
}


function ApplyNumMask(x1)
{
  var i=0 ;
  var s="";
  while ( i< x1.length)
  {
    if (IsNumeric(x1.charAt(i))) s=s+x1.charAt(i);
    else break;
    i++ ;
  }
  return s ;
}

function ApplyLengthMask(x, intLength)
{
  return x.substring(0, intLength);
}

function CheckBankNum(BankNum)
{
  var Digits = "0123456789";
  var MulFactor = 9;
  var ch ="";
  var sum = 0;
  var rem = 0;
  for (var i = 0; i < 9; i++)
  {
    ch = BankNum.charAt(i);
    sum = sum + (Digits.indexOf(ch)* MulFactor) ;
    MulFactor  = MulFactor -1;
  }
  rem = sum % 11;
  if( rem == 0)
  {
    return true;
  }
  else
  {
    return false;
  }
}

function CheckLicenseNum(LicenseNum)
{
  var Digits = "0123456789";
  var ch ="";
  var sum = 0;
  var rem = 0;

  for (var i = 0; i < 9; i++)
  {
    ch = LicenseNum.charAt(i);
    sum = sum + Digits.indexOf(ch) ;
  }
  rem = sum % 9;
  
  if(rem == Digits.indexOf(LicenseNum.charAt(9)))
  {
    return true;
  }
  else
  {
    return false;
  }
}


// dtl: dd-mm-yyyy
function isGreaterThanCurrDate(dt1)
{
  var yr1 = dt1.substring(6, 10);
  var mn1 = dt1.substring(3, 5);
  var dy1 = dt1.substring(0, 2);
  var now = new Date();
  var Day = now.getDate();
  var Month = now.getMonth() + 1;
  var Year  = now.getYear();
  if (Year < 1900)
  {
    Year += 1900;
  }
  var Valid = true;
  if(dt1 == "")
    return(true);
  if (yr1 > Year)
  {
    return(true);
  }
  else

  if (yr1 == Year)
  {
    if (mn1 > Month)
    {
      return(true);
    }
    else

    if (mn1 == Month)
    {
      if (dy1 > Day)
      {
        return(true);
      }
      else

      if (dy1 == Day)
      {
        return(true);
      }
      else
      {
        return(false);
      }
    }
    else
    {
      return(false);
    }
  }
  else
  {
    return(false);
  }
}
// dtPast:  dd-mm-yyyy
// intDays: aantal dagen
// true = alles ok, opgegeven datum ligt intDays na huidige datum
// false = fout

function isDaysGreaterThanCurrDate(dtPast, intDays)
{
  // 1 jan = 31
  // 2 feb = 28
  // 3 mar = 31
  // 4 apr = 30
  // 5 may = 31
  // 6 june = 30
  // 7 juli = 31
  // 8 aug = 31
  // 9 sep = 30
  // 10 okt = 31
  // 11 nov = 30
  // 12 dec = 31
  var arrPassedDaysInMonth = new Array(0,31,59,90,120,151,181,212,243,273,304,334,365);
  var intPastDays = parseInt(dtPast.substring(6, 10), 10) * 365; // jaar
  intPastDays += arrPassedDaysInMonth[parseInt(dtPast.substring(3, 5), 10)]; // maand
  intPastDays += parseInt(dtPast.substring(0, 2), 10); // dagen

  var now = new Date();
  var Day = now.getDate();
  var Month = now.getMonth() + 1;
  var Year  = now.getYear();
  var intNow = parseInt(Year, 10) * 365; // jaar
  intNow += arrPassedDaysInMonth[parseInt(Month, 10)]; // maand
  intNow += parseInt(Day, 10); // dagen
  if(intPastDays >= eval(intNow + intDays - 1))
  {
    return true;
  }
  else
  {
    return false;
  }
}

function fillCombo(objCombo, arrValues, blnGeen, strValue)
{
  //Array is als volgt gevuld: arrValues[i][0] = Value
  //                           arrValues[i][1] = Tekst
  objCombo.length = 0;
  var intTeller = 0;
  if (blnGeen == true)
  {
   objCombo.options[intTeller] = new Option(' ', '-1');
   intTeller = intTeller + 1;
  }
  
  for(var i=0; i<arrValues.length; i++)
  {
    objCombo.options[intTeller] = new Option(arrValues[i][1], arrValues[i][0]);
    if (objCombo.options[intTeller].value == strValue)
    {
      objCombo.options[intTeller].selected = true;
    }
    intTeller = intTeller + 1
  }
}

function initCombo(objCombo, strValue)
{
  for(var i=0; i<objCombo.options.length; i++)
  {
    if (objCombo.options[i].value == strValue)
    {
      objCombo.options[i].selected = true;
    }
  }
}


function getCheckedRadio(radioGroup)
{
  var checkedIndex;
  for (var i = 0;i < radioGroup.length;i++)
  {
    if (radioGroup[i].checked)
    {
      return i;
    }
  }
  return -1;
}

//--| Clear all the containing label and span elements
//--| with className == errorlabel
function getClearLabels(strId)
{
  var objContainer=document.getElementById(strId);
  var arrElements=['LABEL','SPAN'];
  for(var i=0; i<arrElements.length; i++)
  {
    var kinderen=objContainer.getElementsByTagName(arrElements[i]);
    for(var j=0; j<kinderen.length; j++)
    {
      var kind=kinderen[j];
      if(kind.style.color=='#ff0000')
      {
        kind.style.color='#000000';
      }
    }
  }
}

function getFieldName(strId)
{
  //strId is de id van een control, de functie retouneerd dan de innerText van het bijbehoorende albel
  var o=document.getElementById('label_'+strId);
  if(o) return o.innerText;
  else return '';
}

function checkTextBox(strMask,strId,blnRequired,strMessage)
{
  var o=document.getElementById(strId);
  if(o.disabled) return strMessage;
  if(o.parentElement.parentElement.style.display=='none') return strMessage;

  if(blnRequired)
  { 
    if(strMask.length>0)
    {
      if( !RichMaskCompare(strMask,o.value) )
      {
        document.getElementById('label_'+strId).style.color='#ff0000';
        if (strMessage=='') o.focus();
        return strMessage + getFieldName(strId) + '\n'; 
      }
    }
    else /*no mask, though required*/
    {
      if(o.value=='')
      { 
        document.getElementById('label_'+strId).style.color='#ff0000';
        if (strMessage=='') o.focus();
        return strMessage + getFieldName(strId) + '\n'; 
      }
      var re = /[^ ]/;
      if ( ( o.value.length > 0 ) && ( !o.value.match(re) ) ) {
        document.getElementById('label_'+strId).style.color='#ff0000';
        if (strMessage=='') o.focus();
        return strMessage + getFieldName(strId) + '\n'; 
      }

    }
  }
  else /*not required*/
  {
    if( !RichMaskCompare(strMask,o.value) && o.value!='')
    {
      document.getElementById('label_'+strId).style.color='#ff0000';
      if (strMessage=='') o.focus();
      return strMessage + getFieldName(strId) + '\n'; 
    }
  }
  return strMessage;
}

//--| Checks if a select is correct
//--| Note: this function is never called when a select is not required.
function checkSelect(strId,strMessage)
{
  var o=document.getElementById(strId);
  if(o.parentElement.parentElement.style.display=='none') return strMessage;  
  if(!o.disabled && o.value==-1)
  {
    document.getElementById('label_'+strId).style.color='#ff0000';
    if (strMessage=='') o.focus();
    return strMessage + getFieldName(strId) + '\n'; 
  }
  return strMessage;
}

function checkMemo(strMask,strId,blnRequired,strMessage)
{
  return checkTextBox(strMask,strId,blnRequired,strMessage);
}

function handleTabKnobChecks(strMessage,blnEnforceValidation,blnNoPromptAndStay,enumRes,strOnLeave)
{
  if(strMessage.length>0)
  {
    if(blnNoPromptAndStay)
    {
      return tabValidateBadStay;
    }
    else if(blnEnforceValidation)
    {
      alert('De volgende velden zijn verkeerd ingevuld:\n'+strMessage);
      return tabValidateBadStay;
    }
    else
    {
      if(confirm('De volgende velden zijn verkeerd ingevuld:\n'+strMessage+'\nWilt u de pagina toch verlaten?'))
      {
        return tabValidateBadFurther;
      }
      else
      {
        return tabValidateBadStay;
      }
    }
  }
  //--| custom checks
  if(strOnLeave)
  {
    var objError=eval(strOnLeave);
    if(objError==null)
    {
      return tabValidateNothingToCheck;
    }
    else if(objError.blnHasErrors)
    {
      objError.markFaultyFields();
      if(blnEnforceValidation&&blnNoPromptAndStay)
      {
        return tabValidateBadStay;
      }
      else if(blnEnforceValidation)
      {
        alert(objError.getMessages());
        return tabValidateBadStay;
      }
      else
      {
        if(confirm('De volgende velden zijn verkeerd ingevuld:\n'+objError.getMessages()+'\n\nWilt u de pagina toch verlaten?'))
        {
          return tabValidateBadFurther;
        }
        else
        {
          return tabValidateBadStay;
        }
      }
    }
  }
  return enumRes;
}

// dt1:  dd-mm-yyyy
// true  = datum ligt voor de huidige datum
// false = datum is gelijk aan huidige datum of ligt in de toekomst
// dtl: dd-mm-yyyy
function isBeforeCurrDate(dt1)
{

  // spatie datum                              ==> isBeforeCurrDate(dt1) := true
  if(dt1 == "") { return(true); }
 
  var now   = new Date();
  var Day   = now.getDate();
  var Month = now.getMonth() + 1;
  var Year  = now.getYear();
  if (Year < 1900)
  {
    Year += 1900;
  }
  var huidigeDatum_yyyymmdd = Year * 10000 + Month * 100 + Day;
  var dt1_yyyymmdd = dt1.substring(6, 10) + dt1.substring(3, 5) + dt1.substring(0, 2);
  var dt2_yyyymmdd = parseInt(dt1_yyyymmdd,10);
  if ( dt2_yyyymmdd < huidigeDatum_yyyymmdd ) { return true; }
  
  return false;

}

function lengteexactchk(formnaam,veldnaam,lengteexact,weergavenaam)
{          //beginhaakje functie
var folengte = 0;
var sobj;
var melding="";
sobj=eval("document."+formnaam+"."+veldnaam);
fostring1 = sobj.value;
folengte = fostring1.length;
if (folengte == lengteexact)
	{
		sobj.style.background=goedkleur;
		return 0;
	}
	else
	{
		sobj.style.background=foutkleur;
		melding = weergavenaam+" bevat geen "+lengteexact+" tekens. Hier klopt iets niet.";
		alert(melding);
		return 1;
	}
}         //einde haakje functie

function lengtemaxchk(formnaam,veldnaam,maxlengte,weergavenaam)
{          //beginhaakje functie
var folengte = 0;
var sobj;
var melding="";
sobj=eval("document."+formnaam+"."+veldnaam);
fostring1 = sobj.value;
folengte = fostring1.length;
if (folengte <= maxlengte)
	{
		sobj.style.background=goedkleur;
		return 0;
	}
	else
	{
		sobj.style.background=foutkleur;
		melding = "De "+weergavenaam+" bevat "+folengte+" tekens. Dat is te lang.\nKort de omschrijving in tot maximaal "+maxlengte+" tekens, inclusief spaties en nieuwe regels.";
		alert(melding);
		return 1;
	}
}         //einde haakje functie


