/* Javascript */
/* Zidiot for The Square Mile */
/* Author, Lucas Winckers, studio@zidiot.com */
/* Last version, September 7, 2009 */




// Contact formulier //
// Nederlands //

// Naam veld
// string is preset

/* these functions are called onSubmit */
function checkWholeMailForm(theMailForm) {
    var why = "";
	why += testNaam(theMailForm.naam.value);
	why += testBedrijfsnaam(theMailForm.bedrijfsnaam.value);
    why += testEmail(theMailForm.email.value);
	why += testDropdown01(theMailForm.informatie.selectedIndex);
	why += testDropdown02(theMailForm.provincie.selectedIndex);
    why += testBericht(theMailForm.bericht.value);
    if (why != "") {
       alert(why);
       return false;
    }
return true;
}
function checkWholeForm(theForm) {
    var why = "";
	why += testNaamCall(theForm.naam.value);
    why += testEmailCall(theForm.email.value);
    why += testTelefoonCall(theForm.telefoon.value);
	why += testDropdownCall01(theForm.informatie.selectedIndex);
	why += testDropdownCall02(theForm.provincie.selectedIndex);
    if (why != "") {
       alert(why);
       return false;
    }
return true;
}

/* individual validation functions */
function testNaam(strng) {
var error = ""; 
  if (strng == "Naam") {
     error = "-> U heeft geen naam ingevuld.\n";
  }
  else if (strng.length == 0) {
     error = "-> U heeft geen naam ingevuld.\n"
  }
return error;
}

// Bedrijfsnaam veld
// string is preset

function testBedrijfsnaam(strng) {
var error = ""; 
  if (strng == "Bedrijfsnaam") {
     error = "-> U heeft geen bedrijfsnaam ingevuld.\n";
  }
  else if (strng.length == 0) {
     error = "-> U heeft geen bedrijfsnaam ingevuld.\n"
  }
return error;
}

// E-mail veld

function testEmail(strng) {
var error="";
if (strng == "E-mail") {
   error = "-> U heeft geen e-mail adres ingevuld.\n";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "-> Vul een bestaand e-mail adres in.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "-> Het e-mail adres bevat niet juiste tekens.\n";
       }
    }
return error;    
}

// Drop down menu: Informatie

function testDropdown01(choice) {
    var error = "";
    if (choice == 0) {
       error = "-> U heeft geen keuze gemaakt.\n";
    }
return error;
}

// Drop down menu: Provincie

function testDropdown02(choice) {
    var error = "";
    if (choice == 0) {
       error = "-> Kies een provincie.\n";
    }
return error;
}

// Bericht veld
// string is preset

function testBericht(strng) {
var error = ""; 
  if (strng == "Bericht") {
     error = "-> U heeft geen bericht ingevuld.\n";
  }
  else if (strng.length == 0) {
     error = "-> U heeft geen bericht ingevuld.\n"
  }
return error;
}


// Engels //

function checkYourname(strng) {
var error = ""; 
  if (strng == "Name") {
     error = "-> You didn't enter a name.\n";
  }
  else if (strng.length == 0) {
     error = "-> You didn't enter a name.\n"
  }
return error;
}

// Bedrijfsnaam veld
// string is preset

function checkCompany(strng) {
var error = ""; 
  if (strng == "Company") {
     error = "-> You didn't enter a company name.\n";
  }
  else if (strng.length == 0) {
     error = "-> You didn't enter a company name.\n"
  }
return error;
}

// E-mail veld

function checkEmail(strng) {
var error="";
if (strng == "E-mail") {
   error = "-> You didn't enter an e-mail address.\n";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "-> Please enter a valid e-mail address.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "-> The e-mail address contains illegal characters.\n";
       }
    }
return error;    
}

// Drop down menu: Informatie

function checkDropdown01(choice) {
    var error = "";
    if (choice == 0) {
       error = "-> You didn't make a choice.\n";
    }
return error;
}

// Drop down menu: Provincie

function checkDropdown02(choice) {
    var error = "";
    if (choice == 0) {
       error = "-> Choose a state.\n";
    }
return error;
}

// Bericht veld
// string is preset

function checkMessage(strng) {
var error = ""; 
  if (strng == "Message") {
     error = "-> You didn't enter a message.\n";
  }
  else if (strng.length == 0) {
     error = "-> You didn't enter a message.\n"
  }
return error;
}






// Bel me terug formulier //
// Nederlands //

// Naam veld
// string is preset

function testNaamCall(strng) {
var error = ""; 
  if (strng == "Naam en Bedrijf") {
     error = "-> U heeft geen naam en bedrijfsnaam ingevuld.\n";
  }
  else if (strng.length == 0) {
     error = "-> U heeft geen naam en bedrijfsnaam ingevuld.\n"
  }
return error;
}

// E-mail veld

function testEmailCall(strng) {
var error="";
if (strng == "E-mail") {
   error = "-> U heeft geen e-mail adres ingevuld.\n";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "-> Vul een bestaand e-mail adres in.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "-> Het e-mail adres bevat niet juiste tekens.\n";
       }
    }
return error;    
}

// Telefoon

function testTelefoonCall(strng) {
var error = "";
if (strng == "Telefoon") {
   error = "-> U heeft geen telefoonnummer ingevuld.\n";
}

var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) {
       error = "-> Het telefoonnummer bevat niet juiste tekens.";
  
    }
    if (!(stripped.length == 10)) {
	error = "-> Het telefoonnummer is niet in het juiste formaat. Gebruik tien cijfers, bijvoorbeeld: 010 3500000 of 06 35000000.\n";
    } 
return error;
}

// Drop down menu: Informatie

function testDropdownCall01(choice) {
    var error = "";
    if (choice == 0) {
       error = "-> U heeft geen keuze gemaakt.\n";
    }
return error;
}

// Drop down menu: Provincie

function testDropdownCall02(choice) {
    var error = "";
    if (choice == 0) {
       error = "-> Kies een provincie.\n";
    }
return error;
}


// Engels //

function checkNameCompanyCall(strng) {
var error = ""; 
  if (strng == "Name and Company") {
     error = "-> You didn't enter a name and company name.\n";
  }
  else if (strng.length == 0) {
     error = "-> You didn't enter a name and company name.\n"
  }
return error;
}

// E-mail veld

function checkEmailCall(strng) {
var error="";
if (strng == "E-mail") {
   error = "-> You didn't enter an e-mail address.\n";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "-> Please enter a valid e-mail address.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "-> The e-mail address contains illegal characters.\n";
       }
    }
return error;    
}

// Phone

function checkPhoneCall(strng) {
var error = "";
if (strng == "Phone") {
   error = "-> You didn't enter a phone number.\n";
}

var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) {
       error = "-> The phone number contains illegal characters.";
  
    }
    if (!(stripped.length == 10)) {
	error = "-> The phone number is not in the right format. Use 10 characters, example: 010 3500000 or 06 35000000.\n";
    } 
return error;
}

// Drop down menu: Informatie

function checkDropdownCall01(choice) {
    var error = "";
    if (choice == 0) {
       error = "-> You didn't make a choice.\n";
    }
return error;
}

// Drop down menu: Provincie

function checkDropdownCall02(choice) {
    var error = "";
    if (choice == 0) {
       error = "-> Choose a state.\n";
    }
return error;
}