﻿function T_Form_Validator(theForm)
{
  if (theForm.Email.value == "") {
    alert("Sähköposti osoite tarvitaan \"Email\" kenttään.");
    theForm.Email.focus();
    return (false);
  }

  if (theForm.Email.value.length < 6) {
    alert("Vähintään 6 merkkiä tarvitaan \"Email\" kenttään.");
    theForm.Email.focus();
    return (false);
  }

  if (theForm.Email.value.length > 150) {
    alert("Enintään 150 merkkiä mahtuu \"Email\" kenttään.");
    theForm.Email.focus();
    return (false);
  }

  if (theForm.Nimi.value == "") {
    alert("Nimi tarvitaan \"Nimi\" kenttään.");
    theForm.Nimi.focus();
    return (false);
  }

  if (theForm.Nimi.value.length < 4) {
    alert("Vähintään 4 merkkiä tarvitaan \"Nimi\" kenttään.");
    theForm.Nimi.focus();
    return (false);
  }

  if (theForm.Nimi.value.length > 50) {
    alert("Enintään 50 merkkiä mahtuu \"Nimi\" kenttään.");
    theForm.Nimi.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\n\f";
  var checkStr = theForm.Nimi.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Käytä ainoastaan kirjaimia ja välilyöntejä \"Nimi\" kenttään.");
    theForm.Nimi.focus();
    return (false);
  }

  if (theForm.Osoite.value == "") {
    alert("Osoite tarvitaan \"Osoite\" kenttään.");
    theForm.Osoite.focus();
    return (false);
  }

  if (theForm.Osoite.value.length < 2) {
    alert("Kirjoita Vähintään 2 merkkiä \"Osoite\" kenttään.");
    theForm.Osoite.focus();
    return (false);
  }

  if (theForm.Osoite.value.length > 50) {
    alert("Kirjoita enintään 50 merkkiä \"Osoite\" kenttään.");
    theForm.Osoite.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-, . / ( ) - \t\r\n\f";
  var checkStr = theForm.Osoite.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Käytä ainoastaan kirjaimia, välilyöntejä ja \", . / ( ) -\" merkkejä \"Osoite\" kenttään.");
    theForm.Osoite.focus();
    return (false);
  }

  if (theForm.Postinumero.value == "") {
    alert("Postinumero tarvitaan \"Postinumero\" kenttään.");
    theForm.Postinumero.focus();
    return (false);
  }

  if (theForm.Postinumero.value.length < 2) {
    alert("Kirjoita vähintään 2 merkkiä \"Postinumero\" kenttään.");
    theForm.Postinumero.focus();
    return (false);
  }

  if (theForm.Postinumero.value.length > 10) {
    alert("Kirjoita enintään 10 merkkiä \"Postinumero\" kenttään.");
    theForm.Postinumero.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-. , - \t\r\n\f";
  var checkStr = theForm.Postinumero.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan kirjaimia, välilyöntejä ja \". , -\" merkkejä \"Postinumero\" kenttään.");
    theForm.Postinumero.focus();
    return (false);
  }

  if (theForm.Kaupunki.value == "") {
    alert("Asuinkaupunki tarvitaan \"Kaupunki\" kentään.");
    theForm.Kaupunki.focus();
    return (false);
  }

  if (theForm.Kaupunki.value.length < 2) {
    alert("Kirjoita vähintään 2 merkkiä \"Kaupunki\" kenttään.");
    theForm.Kaupunki.focus();
    return (false);
  }

  if (theForm.Kaupunki.value.length > 30) {
    alert("Kirjoita enintään 30 merkkiä \"Kaupunki\" kenttään.");
    theForm.Kaupunki.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ- \t\r\n\f";
  var checkStr = theForm.Kaupunki.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan kirjaimia, välilyöntejä ja \"-\" merkkejä \"Kaupunki\" kenttään.");
    theForm.Kaupunki.focus();
    return (false);
  }

  if (theForm.Syntymaaika.value == "") {
    alert("Syntymäaika tarvitaan \"Syntymäaika\" kenttään.");
    theForm.Syntymaaika.focus();
    return (false);
  }

  if (theForm.Syntymaaika.value.length < 4) {
    alert("Kirjoita vähintään 4 numeroa \"Syntymäaika\" kenttään.");
    theForm.Syntymaaika.focus();
    return (false);
  }

  if (theForm.Syntymaaika.value.length > 15) {
    alert("Kirjoita enintään 15 numeroa \"Syntymäaika\" kenttään.");
    theForm.Syntymaaika.focus();
    return (false);
  }

  var checkOK = "0123456789-, . \t\r\n\f";
  var checkStr = theForm.Syntymaaika.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan numeroita, välilyöntjä ja \", .\" merkkejä \"Syntymäaika\" kenttään.");
    theForm.Syntymaaika.focus();
    return (false);
  }

  if (theForm.GSM.value == "") {
    alert("Puhelin-numero tarvitaan \"Gsm tai puh.\" kenttään.");
    theForm.GSM.focus();
    return (false);
  }

  if (theForm.GSM.value.length < 1) {
    alert("Kirjoita vähintään 5 merkkiä \"Gsm tai puh.\" kenttään.");
    theForm.GSM.focus();
    return (false);
  }

  if (theForm.GSM.value.length > 30) {
    alert("Kirjoita enintään 30 merkkiä \"Gsm tai puh.\" kenttään.");
    theForm.GSM.focus();
    return (false);
  }

  var checkOK = "0123456789-+ - ( ) \t\r\n\f";
  var checkStr = theForm.GSM.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan numeroita, välilyöntejä ja \"+ - ( )\" merkkejä \"Gsm tai puh.\" kenttään.");
    theForm.GSM.focus();
    return (false);
  }

  if (theForm.Toimenpide.value == "") {
    alert("Haluttu toimenpide tarvitaan \"Suunniteltu toimenpide\" kenttään.");
    theForm.Toimenpide.focus();
    return (false);
  }

  if (theForm.Toimenpide.value.length < 4) {
    alert("Kirjoita vähintään 4 merkkiä \"Suunniteltu toimenpide\" kenttään.");
    theForm.Toimenpide.focus();
    return (false);
  }

  if (theForm.Toimenpide.value.length > 200) {
    alert("Kirjoita enintään 200 merkkiä \"Suunniteltu toimenpide\" kenttään.");
    theForm.Toimenpide.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-, . - / ( ) \t\r\n\f";
  var checkStr = theForm.Toimenpide.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan kirjaimia, numeroita, välilyöntejä ja \", . - / ( )\" merkkejä \"Suunniteltu toimenpide\" kenttään.");
    theForm.Toimenpide.focus();
    return (false);
  }

  if (theForm.Toimenpidepvm.value.length > 30) {
    alert("Kirjoita enintään 30 merkkiä \"Toimenpide pvm.\" kenttään.");
    theForm.Toimenpidepvm.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-, . - / \t\r\n\f";
  var checkStr = theForm.Toimenpidepvm.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan kirjaimia, numeroita, välilyntejä ja \", . - /\" merkkejä \"Toimenpide pvm.\" kenttään.");
    theForm.Toimenpidepvm.focus();
    return (false);
  }

  if (theForm.Sairaudet.value.length > 1000) {
    alert("Kirjoita enintään 1000 merkkiä \"Sairaudet, aikaisemmat leikkaukset\" kenttään.");
    theForm.Sairaudet.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789- \t\r\n\f";
  var checkStr = theForm.Sairaudet.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan kirjaimia, numeroita ja välilyöntejä \"Sairaudet, aikaisemmat leikkaukset\" kenttään.");
    theForm.Sairaudet.focus();
    return (false);
  }

  if (theForm.Allergiat.value.length > 1000) {
    alert("Kirjoita enintään 1000 merkkiä \"Lääkeallergiat\" kenttään.");
    theForm.Allergiat.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789- \t\r\n\f";
  var checkStr = theForm.Allergiat.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan kirjaimia, numeroita ja välilyöntejä \"Lääkeallergiat\" kenttään.");
    theForm.Allergiat.focus();
    return (false);
  }

  if (theForm.Laakitys.value.length > 1000) {
    alert("Kirjoita enintään 1000 merkkiä \"Lääkitys\" kenttään.");
    theForm.Laakitys.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789- \t\r\n\f";
  var checkStr = theForm.Laakitys.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan kirjaimia, numeroita ja välilyöntejä \"Lääkitys\" kenttään.");
    theForm.Laakitys.focus();
    return (false);
  }

  if (theForm.Muuta.value.length > 1000) {
    alert("Kirjoita enintään 1000 merkkiä \"Muuta\" kenttään.");
    theForm.Muuta.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789- \t\r\n\f";
  var checkStr = theForm.Muuta.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan kirjaimia, numeroita ja välilyöntejä \"Muuta\" kenttään.");
    theForm.Muuta.focus();
    return (false);
  }

  if (theForm.Paikka.value == "") {
    alert("Paikka tieto tarvitaan \"Paikka\" kenttään.");
    theForm.Paikka.focus();
    return (false);
  }

  if (theForm.Paikka.value.length < 2) {
    alert("Kirjoita vähintään 2 merkkiä \"Paikka\" kenttään.");
    theForm.Paikka.focus();
    return (false);
  }

  if (theForm.Paikka.value.length > 30) {
    alert("Kirjoita enintään 30 merkkiä \"Paikka\" kenttään.");
    theForm.Paikka.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\n\f";
  var checkStr = theForm.Paikka.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan kirjaimia ja välilyöntejä \"Paikka\" kenttään.");
    theForm.Paikka.focus();
    return (false);
  }

  if (theForm.Paivamaara.value == "") {
    alert("Päivämäärä tarvitaan \"Päivämäärä\" kenttään.");
    theForm.Paivamaara.focus();
    return (false);
  }

  if (theForm.Paivamaara.value.length < 4) {
    alert("Kirjoita vähintään 4 merkkiä \"Päivämäärä\" kenttään.");
    theForm.Paivamaara.focus();
    return (false);
  }

  if (theForm.Paivamaara.value.length > 30) {
    alert("Kirjoita enintään 30 merkkiä \"Päivämäärä\" kenttään.");
    theForm.Paivamaara.focus();
    return (false);
  }

  var checkOK = "0123456789-, . - \t\r\n\f";
  var checkStr = theForm.Paivamaara.value;
  var allValid = true;
  var validGroups = true;
  for (i = 0;  i < checkStr.length;  i++) {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) {
      allValid = false;
      break;
    }
  }
  if (!allValid) {
    alert("Kirjoita ainoastaan numeroita, välitlyöntejä ja \", . -\" merkkejä \"Päivämäärä\" kenttään.");
    theForm.Paivamaara.focus();
    return (false);
  }
  return (true);
}

function TE_Form_Validator(theForm)
{
  if (theForm.Email.value == "")
  {
    alert("Please enter a value for the \"Email\" field.");
    theForm.Email.focus();
    return (false);
  }

  if (theForm.Email.value.length < 3)
  {
    alert("Please enter at least 3 characters in the \"Email\" field.");
    theForm.Email.focus();
    return (false);
  }

  if (theForm.FirstName.value == "")
  {
    alert("Please enter a value for the \"FirstName\" field.");
    theForm.FirstName.focus();
    return (false);
  }

  if (theForm.LastName.value == "")
  {
    alert("Please enter a value for the \"LastName\" field.");
    theForm.LastName.focus();
    return (false);
  }

  if (theForm.DateOfBirth.value == "")
  {
    alert("Please enter a value for the \"DateOfBirth\" field.");
    theForm.DateOfBirth.focus();
    return (false);
  }

  if (theForm.PhoneNumber.value == "")
  {
    alert("Please enter a value for the \"PhoneNumber\" field.");
    theForm.PhoneNumber.focus();
    return (false);
  }

  if (theForm.Address.value == "")
  {
    alert("Please enter a value for the \"Address\" field.");
    theForm.Address.focus();
    return (false);
  }

  if (theForm.City.value == "")
  {
    alert("Please enter a value for the \"City\" field.");
    theForm.City.focus();
    return (false);
  }

  if (theForm.State.value == "")
  {
    alert("Please enter a value for the \"State\" field.");
    theForm.State.focus();
    return (false);
  }

  if (theForm.PostalCode.value == "")
  {
    alert("Please enter a value for the \"PostalCode\" field.");
    theForm.PostalCode.focus();
    return (false);
  }

  if (theForm.Country.value == "")
  {
    alert("Please enter a value for the \"Country\" field.");
    theForm.Country.focus();
    return (false);
  }

  if (theForm.Nationality.value == "")
  {
    alert("Please enter a value for the \"Nationality\" field.");
    theForm.Nationality.focus();
    return (false);
  }

  if (theForm.Surgery.value == "")
  {
    alert("Please enter a value for the \"Surgery\" field.");
    theForm.Surgery.focus();
    return (false);
  }

  if (theForm.OperationDay.value == "")
  {
    alert("Please enter a value for the \"OperationDay\" field.");
    theForm.OperationDay.focus();
    return (false);
  }
  return (true);
}

