/**************************************************
 * General Form Validation Functions, version 0.10
 * Copyright 2007 Ivengi BV. Benelux
 **************************************************/
 
function RequiredTextFieldHighLight(Field, Message) 
{
 if (Field.value.length < 1) {
    Field.style.border = "1px solid #c30";
    Field.focus();
    alert(Message);
    return false;
  }
  Field.style.border = "1px solid #fff";
  return true;
}

function ValidatePostalCode(value)
{
	var RegExpPostalCode = /^[0-9]{4}[ ]?[a-zA-Z]{2}$/m;
	if(RegExpPostalCode.test(value)) {
		return true;
	} else {
		return false;
	}
}

function ValidateDutchBankAccount(Field, Message)
{
  var BankNumber = Field.value;
  if(BankNumber.length > 7) {
    BankNumber = BankNumber.replace(/[^0-9]/mg, ''); 
    
    while(BankNumber.length < 10) { 
      BankNumber = '0' + BankNumber;
    } 
    
    var TotalCount = 0;                      
    for(var i = 0; i < BankNumber.length; i++) {
      TotalCount += BankNumber.charAt(i) * (i + 1);
    } 
    if((TotalCount > 0) && ((TotalCount%11) != 0)) {
      alert(Message);
      Field.focus();
      return false;
    } 
  }
  return true;
}


function RequiredTextField(Field, Message) 
{
 if (Field.value.length < 1) {
    alert(Message);
    Field.focus();
    return false;
  }
  return true;
}

function RequiredCheckBox(Field, Message)
{
  if (!Field.checked) {
    Field.focus();
    alert(Message);
    return false;
  }
  return true;
}

function ValidateEmail(Field, Message)
{
  var regex = /^[\w\.-]+@[\w\.-]+\.[a-zA-Z]{2,4}$/;
  if (!regex.test(Field.value)) {
    Field.focus();
    alert(Message);
    return false;
  }
  return true;
}

function ValidateTextarea(Field, MaxChars, Message)
{
  if (Field.value.length < 1) {
    Field.focus();
    alert(Message);
    return false;
  } else {
    if (Field.value.replace(/\r\n/g,'x').length > MaxChars) {
      Field.focus();
      alert(Message);
      return false; 
    }
  }
  return true;
}
