function handleFocus(item) {
  if( item=="newsletter_email" && document.getElementById(item).value=="email" ) {
    document.getElementById(item).value="";
  }
  if( item=="search_keyword" && document.getElementById(item).value=="trefwoord" ) {
    document.getElementById(item).value="";
  }
}

function handleBlur(item) {
  if( item=="newsletter_email" && document.getElementById(item).value=="" ) {
    document.getElementById(item).value="email";
  }
  if( item=="search_keyword" && document.getElementById(item).value=="" ) {
    document.getElementById(item).value="trefwoord";
  }
}

function conForm(formName) {
  bResult = true;
  errorMessage = "Nog in te vullen!\r\n\r\n";
  
  if(formName=="newsletter") {
    if(!isEmail(document.getElementById('newsletter_email').value)) {
      errorMessage += "- Ongeldig emailadres\r\n";
      bResult = false;
    }
  }
  
  if(formName=="search") {
    errorMessage += "De zoekoptie word nog niet ondersteund,\nprobeer het later nog eens...";
    bResult = false;
  }
  
  if(formName=="contact") {
    if(document.getElementById('naam').value=="") {
      errorMessage += "- Naam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('bedrijf').value=="") {
      errorMessage += "- Bedrijf is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('telefoon').value=="") {
      errorMessage += "- Telefoonnummer is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('email').value=="") {
      errorMessage += "- Email is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('suggestie').value=="") {
      errorMessage += "- Vraag is niet gevuld\r\n";
      bResult = false;
    }
  }

  if(formName=="ipchform") {
    if(document.getElementById('naam').value=="0") {
      errorMessage += "- Naam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('ipnummer').value=="") {
      errorMessage += "- Bedrijf is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('answer_out').value=="") {
      errorMessage += "- Spam Validation\r\n";
      bResult = false;
    }
  }

  if(formName=="emailphp") {
    if(document.getElementById('naam').value=="") {
      errorMessage += "- Naam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('bedrijf').value=="") {
      errorMessage += "- Bedrijf is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('telefoon').value=="") {
      errorMessage += "- Telefoonnummer is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('email').value=="") {
      errorMessage += "- Uw e-mail is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('suggestie').value=="") {
      errorMessage += "- Vraag is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('answer_out').value=="") {
      errorMessage += "- Spam Validation\r\n";
      bResult = false;
    }
  }

  if(formName=="freelance") {
    if(document.getElementById('naam').value=="") {
      errorMessage += "- Naam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('straatnaam').value=="") {
      errorMessage += "- Straatnaam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('postcode').value=="") {
      errorMessage += "- Postcode is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('plaats').value=="") {
      errorMessage += "- Plaats is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('telefoon').value=="") {
      errorMessage += "- Telefoonnummer is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('email').value=="") {
      errorMessage += "- Email is niet gevuld\r\n";
      bResult = false;
    }

    if(document.getElementById('file').value=="") {
      errorMessage += "- U hebt geen CV toegevoegd\r\n";
      bResult = false;
    }
    if(document.getElementById('training1').value=="") {
      errorMessage += "- Training 1 is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('training2').value=="") {
      errorMessage += "- Training 2 is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('training3').value=="") {
      errorMessage += "- Training 3 is niet gevuld\r\n";
      bResult = false;
    }
	if(document.getElementById('suggestie').value=="") {
      errorMessage += "- Motivatie is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('answer_out').value=="") {
      errorMessage += "- Spam Validation\r\n";
      bResult = false;
    }
  }

  if(formName=="belmij") {
    if(document.getElementById('telefoon1').value=="") {
      errorMessage += "- Telefoonnummer is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('opmerking1').value=="") {
      errorMessage += "- Vraag is niet gevuld\r\n";
      bResult = false;
    }
  }

  if(formName=="belmijtext") {
    if(document.getElementById('telefoontext').value=="") {
      errorMessage += "- Telefoonnummer is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('naamtext').value=="") {
      errorMessage += "- Naam is niet gevuld\r\n";
      bResult = false;
    }
  }

  if(formName=="offerte") {
  	 if(document.getElementById('traject').options[0].selected) {
      errorMessage += "- Traject is niet gekozen\r\n";
      bResult = false;
    }
  	 if(document.getElementById('naam').value=="") {
      errorMessage += "- Naam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('bedrijf').value=="") {
      errorMessage += "- Bedrijf is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('postadres').value=="") {
      errorMessage += "- Postadres is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('postcode').value=="") {
      errorMessage += "- Postcode is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('plaats').value=="") {
      errorMessage += "- Plaatsnaam is niet gevuld\r\n";
      bResult = false;
    }    
	if(document.getElementById('telefoon').value=="") {
      errorMessage += "- Telefoonnummer is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('email').value=="") {
      errorMessage += "- Email is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('aantal').value=="") {
      errorMessage += "- Aantal deelnemers is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('answer_out').value=="") {
      errorMessage += "- Spam Validation\r\n";
      bResult = false;
    }
  }

  if(formName=="offerteinfo") {
  	 if(document.getElementById('xtraject').options[0].selected) {
      errorMessage += "- Traject is niet gekozen\r\n";
      bResult = false;
    }
  	 if(document.getElementById('xnaam').value=="") {
      errorMessage += "- Naam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('xbedrijf').value=="") {
      errorMessage += "- Bedrijf is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('xpostadres').value=="") {
      errorMessage += "- Postadres is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('xpostcode').value=="") {
      errorMessage += "- Postcode is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('xplaats').value=="") {
      errorMessage += "- Plaatsnaam is niet gevuld\r\n";
      bResult = false;
    }    
	if(document.getElementById('xtelefoon').value=="") {
      errorMessage += "- Telefoonnummer is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('xemail').value=="") {
      errorMessage += "- Email is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('xaantal').value=="") {
      errorMessage += "- Aantal deelnemers is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('xanswer_out').value=="") {
      errorMessage += "- Spam Validation\r\n";
      bResult = false;
    }
  }

  if(formName=="aanvraag") {
  	 if(document.getElementById('bedrijfsnaam-1').value=="") {
      errorMessage += "- Bedrijfsnaam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('naam-1').value=="") {
      errorMessage += "- Uw naam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('postbus-1').value=="") {
      errorMessage += "- Postbus of adres is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('postcode-1').value=="") {
      errorMessage += "- Postcode is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('stad-1').value=="") {
      errorMessage += "- Plaats/Stad is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('telefoon-1').value=="") {
      errorMessage += "- Telefoonnummer is niet gevuld\r\n";
      bResult = false;
    }
  }

  if(formName=="aanmelden") {
  	 if(document.getElementById('traject').options[0].selected) {
      errorMessage += "- Traject is niet gekozen\r\n";
      bResult = false;
    }
  	 if(document.getElementById('bedrijfsnaam').value=="") {
      errorMessage += "- Bedrijfsnaam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('achternaam').value=="") {
      errorMessage += "- Achternaam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('voornaam').value=="") {
      errorMessage += "- Voornaam is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('adres').value=="") {
      errorMessage += "- Adres is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('postcode').value=="") {
      errorMessage += "- Postcode is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('woonplaats').value=="") {
      errorMessage += "- Woonplaats is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('telefoonwerk').value=="") {
      errorMessage += "- Telefoonnummer werk is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('telefoonprive').value=="") {
      errorMessage += "- Telefoonnummer Prive is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('email').value=="") {
      errorMessage += "- Email is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('functie').value=="") {
      errorMessage += "- Functie is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('answer_out').value=="") {
      errorMessage += "- Spam Validation\r\n";
      bResult = false;
    }
  }
  if(formName=="info") {
    if(document.getElementById('email').value=="") {
      errorMessage += "- Email is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('answer_out').value=="") {
      errorMessage += "- Spam Validation\r\n";
      bResult = false;
    }
  }

  if(formName=="infox") {
    if(document.getElementById('emailx').value=="") {
      errorMessage += "- Email is niet gevuld\r\n";
      bResult = false;
    }
    if(document.getElementById('answer_outx').value=="") {
      errorMessage += "- Spam Validation\r\n";
      bResult = false;
    }
  }

  if(!bResult) {
    alert(errorMessage);
  }
  return bResult;
}


function isEmail(email) {
  required = true;
  if (required==undefined) {   // if not specified, assume it's required
    required=true;
  }
  if (email==null) {
    if (required) {
      return false;
    }
    return true;
  }
  if (email.length==0) {  
    if (required) {
      return false;
    }
    return true;
  }
  if (! allValidChars(email)) {  // check to make sure all characters are valid
    return false;
  }
  if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
    return false;
  } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
    return false;
  } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
    return false;
  }
  return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}
// Author: Stuart Cochrane
// URL: www.freecontactform.com
// Email: info@freecontctform.com
// Date: 21st Feb 2007
// Version: 2.5 Beta 2
// License: Free to use and edit, but all comments must remain intact.
 
// SPECIFY ALL REQUIRED FIELDS AND
// VALIDATION TYPE

// EXAMPLES:
// one or more characters
// required.add('[ FIELDID ]', 'NOT_EMPTY');
// alpha characters, no spaces
// required.add('[ FIELDID ]', 'ALPHA');
// alpha characters, accept spaces
// required.add('[ FIELDID ]', 'ALPHASPACE');
// numeric characters, no spaces
// required.add('[ FIELDID ]', 'NUMERIC');
// numeric characters, also accepts +-.
// required.add('[ FIELDID ]', 'NUMERICPLUS');
// alpha and numeric characters, no spaces
// required.add('[ FIELDID ]', 'ALPHANUM');
// alpha and numeric characters, accept spaces
// required.add('[ FIELDID ]', 'ALPHANUMSPACE');
// email address
// required.add('[ FIELDID ]', 'EMAIL');
// date format yyyy-mm-dd, accepts - or / separators
// required.add('[ FIELDID ]', 'YYYYMMDD');
// date format dd-mm-yyyy, accepts - or / separators
// required.add('[ FIELDID ]', 'DDMMYYYY');
// date format mm-dd-yyyy, accepts - or / separators
// required.add('[ FIELDID ]', 'MMDDYYYY');
// enter own regular expression, example: '^[0-9]{3}$'
// required.add('[ FIELDID ]', '[ REGULAR EXPRESSION ]');

// NOTES:
// [ FIELD ID ] = REPLACE WITH ACTUAL FIELD ID VALUE
// example: <input type="text" name="THIS" ID="THIS"> = THIS

// to specify your own regular expression,
// enter the literal regex as type
// example: required.add('fieldid', '^[0-9]{3}$');
// note: no leading or preceeding / (slash) is required!


function $$(id) {
try {
var tmp = document.getElementById(id).value;
}
catch(e) {
alert("Field " + id + " does not exist!\nvalidation is configured on a field with no ID");
return false;
}
if(tmp == "") {
alert("Field " + id + " cannot be empty");
return false;
}
return tmp;
}

var required = {
field : [],
add : function(name, type) {
this.field[this.field.length] = [name,type];
},
out : function() {
return this.field;
}
}

var validate = {

check : function() {
var tmp;
// loop all required fields
for(var i=0; i<required.field.length; i++) {
// check the form field exists
this.tmp = $$(required.field[i][0]);
if(this.tmp) {
if(this.checkit(required.field[i][0],required.field[i][1])) {
// validated okay
} else {
alert("Field "+required.field[i][0]+" not valid\n");
document.getElementById(required.field[i][0]).focus();
return false;
}
} else {
try {
document.getElementById(required.field[i][0]).focus();
} catch(e) { }
return false;
}
} // for
return true;
},

checkit : function(value,type) {
exp : '';
switch(type) {

case "NOT_EMPTY":
if(this.trim($$(value)).length < 1) { return false; } else { return true; }
break;

case "ALPHA":
exp = /^[A-Za-z]+$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "ALPHASPACE":
exp = /^[A-Za-z ]+$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "NUMERIC":
exp = /^[0-9]+$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "NUMERICPLUS":
exp = /(^-*\d+$)|(^-*\d+\.\d+$)/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "ALPHANUM":
exp = /^[a-zA-Z0-9]+$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "ALPHANUMSPACE":
exp = /^[a-zA-Z0-9 ]+$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "EMAIL":
exp = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "YYYYMMDD":
exp = /^(19|20)[0-9][0-9][- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "DDMMYYYY":
exp = /^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9][0-9]$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

case "MMDDYYYY":
exp = /^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)[0-9][0-9]$/;
if($$(value).match(exp)==null) { return false; } else { return true; }
break;

default:
exp = new RegExp(type);
if($$(value).match(exp)==null) { return false; } else { return true; }
} // switch
},
trim : function(s) {
return s.replace(/^\s+/, '').replace(/\s+$/, '');
}

}
function $val(id) {
return document.getElementById(id);
}
function trim(id) {
$val(id).value = $val(id).value.replace(/^\s+/, '').replace(/\s+$/, '');
}