function validateSelect(theForm)
{
   if(theForm.verv.options[theForm.verv.selectedIndex].value == 10)
   {
     theForm.verv2.disabled = false;
   }else
   {   
     theForm.verv2.disabled = true;
     theForm.verv2.value = "";
   }
   return (true);
}

function IsNum_ZeroToNine(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }

function _erdato(dag, mnd, aar) {
    dag = parseInt(_fjernnull(dag));
    mnd = parseInt(_fjernnull(mnd));
    aar = parseInt(_fjernnull(aar));

    if (dag < 1 || mnd < 1 || mnd > 12)
      return false;
    if ((mnd == 1 || mnd == 3 || mnd == 5 || mnd == 7 || mnd == 8 ||
         mnd == 10 || mnd == 12) && dag > 31)
      return false;
    if ((mnd == 4 || mnd == 6 || mnd == 9 || mnd == 11) && dag > 30)
      return false;
    if ((aar % 4) == 0 && mnd == 2 && dag > 29) 
      return false;
    if ((aar % 4) != 0 && mnd == 2 && dag > 28)
      return false;
    return true;
  }
function _fjernnull(str) {
    var nystr = "";
    for (var i = 0; i < str.length; i++) {
      if (str.charAt(i) != '0' || nystr.length > 0)
        nystr = nystr + str.charAt(i);
    }
    if (nystr.length == 0)
      nystr = "0";
    return nystr;
  }
function _ertall(tegn, godkjent) {
    for (var i = 0; i < godkjent.length; i++) {
      if (tegn == godkjent.charAt(i))
        return true;
    }
    return false;
  }
function _anttegn(txt, antall, godkjent) {
    var ok = true;
    if (txt.length != antall)
      return false;
    for (var i = 0; i < txt.length; i++) {
      if (!_ertall(txt.charAt(i), godkjent))
        return false;
    }
    return true;
  }
function _txtvekt(txt, vekt) {
    rettxt = _tiltall(vekt.charAt(0)) + "*" + _tiltall(txt.charAt(0));
    for (var i = 1; i < txt.length; i++) {
      var cvekt = _tiltall(vekt.charAt(i));
      var ctxt = _tiltall(txt.charAt(i));

      rettxt = rettxt + " + " + cvekt + "*" + ctxt;
    }
    return rettxt;
  }
function _sumvekt(txt, vekt) {
    sum = 0;
    for (var i = 0; i < txt.length; i++) {
      var cvekt = _tiltall(vekt.charAt(i));
      var ctxt = _tiltall(txt.charAt(i));

      sum += cvekt * ctxt;
    }
    return sum;
  }
function _fjerntegn(txt, tegn) {
    var nytxt = "";
    for (var i = 0; i < txt.length; i++) {
      if (txt.charAt(i) != tegn)
        nytxt = nytxt + txt.charAt(i);
    }
    return nytxt;
  }
function _anttegnlik(txt, tegn) {
    var ant = 0;
    for (var i = 0; i < txt.length; i++) {
      if (txt.charAt(i) == tegn)
        ant++;
    }
    return ant;
  }
function _tiltall(tegn) {
    var tall = parseInt(tegn);
    if (tegn == "x" || tegn == "X" || tegn == "-")
      tall = 10;
    return tall;
  }
  
function testMail(str)
{
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
  if (filter.test(str))
  {}
  else
  {	
   return false;
   }
  return true;
}

  
// VALIDATE THE INPUT
// input from forms..    
function validateInput(theForm)
{ 
   var sday, smonth, syear,thePersnr;
   sday = theForm.bday.selectedIndex;
   smonth = theForm.bmonth.selectedIndex;
   syear = theForm.byear.selectedIndex;
  
  thePersnr = theForm.bday.options[sday].value + theForm.bmonth.options[smonth].value + theForm.byear.options[syear].value ;
  //alert(thePersnr);
  
  if (theForm.fname.value.length < 2 ||theForm.fname.value.length > 20)
  {
    alert("Bruk minst 2 tegn og maks 20 tegn i \"Fornavn\" feltet.");
    theForm.fname.focus();
    return (false);
  }
  
  if (theForm.lname.value.length < 2 ||theForm.lname.value.length > 20)
  {
    alert("Bruk minst 2 tegn og maks 20 tegn i \"Etternavn\" feltet.");
    theForm.lname.focus();
    return (false);
  }
  
   if (theForm.address.value.length < 2 ||theForm.address.value.length > 35)
  {
    alert("Bruk minst 2 tegn og maks 35 tegn i \"Adresse\" feltet.");
    theForm.address.focus();
    return (false);
  }

// checking the ZIP code..  
if(IsNum_ZeroToNine(theForm.zip.value)) {}
else
  {
    alert("Kun tall kan benyttes i postnummer.");
    theForm.zip.focus();
    return (false);
  }
  

if (theForm.zip.value == "" || theForm.zip.value.length < 4 || theForm.zip.value.length > 5)
  {
    alert("I Norge og Danmark benytter man 4 tegn for postnummer.\n\n I sverige 5. Korriger.");
    theForm.zip.focus();
    return (false);
  }

if (theForm.zip.value.length < 5 && theForm.country.value == "Sweden" || theForm.zip.value.length > 4 && theForm.country.value == "Norway" || theForm.zip.value.length > 4 && theForm.country.value == "Denamrk")
  {
    alert("Korriger!\n\nNorge og Danmark har 4 tegn for postnummer.\n\nSverige har 5 tegn.");
    theForm.zip.focus();
    return (false);
  }
  if (theForm.town.value.length < 2 || theForm.town.value.length > 35)
  {
    alert("Bruk minimum 2, og max 35 tegn i \"By\" feltet.");
    theForm.town.focus();
    return (false);
  }
  if (theForm.phone.value.length < 8 || theForm.phone.value.length > 12)
  {
    alert("Bruk minimum 8, og max 12 tegn i \"telefon\" feltet.");
    theForm.phone.focus();
    return (false);
  }
  
  if(IsNum_ZeroToNine(theForm.phone.value)) {}
  else
  {
    alert("Kun tall kan benyttes i telfon feltet.");
    theForm.phone.focus();
    return (false);
  }  

  if (theForm.email.value.length < 6 || theForm.email.value.length > 50)
  {
    alert("Bruk minimum 6, og max 50 tegn i \"email feltet\" feltet.");
    theForm.email.focus();
    return (false);
  }  
  
  if (testMail(theForm.email.value))
  {}
  else
  {
	 alert ("Email adressen er ikke gyldig ut.");
	 theForm.email.focus();
	 return false;
  }  
  
  
 if (theForm.passwd.value.length < 6 ||theForm.passwd.value.length > 8)
  {
    alert("Bruk minst 4 tegn og maks 8 tegn i \"Passord\" feltet.");
    theForm.passwd.focus();
    return (false);
  }

  if (theForm.passwd2.value != theForm.passwd.value)
  {
    alert("Passord, og verifiser passord matcher ikke, korriger.");
    theForm.passwd2.focus();
    return (false);
  }
  
  
  
  if (theForm.verv.selectedIndex < 1)
  {
    alert("vennligst svar p hvor du fant informasjon om oss.. .");
    theForm.verv.focus();
    return false;
  }
  
  
// personnumre   benytt ikke foreløpig...
/*
    pnr =  thePersnr + theForm.pnr.value;
    alert("Oppga personnummer:" + pnr);
    // Sjekk om pnr er 11 siffer
    if (!_anttegn(pnr, 11, "0123456789")) {
      alert("Personnummer må være et 11-sifret tall.");
      return false;
    }

    // Sjekk at fødselsnummeret er en dato
    if (!_erdato(pnr.substr(0, 2), pnr.substr(2, 2), pnr.substr(4, 2))) {
      alert("De seks første sifrene må være en gyldig dato!");
      return false;
    }

    // Sjekk første kontrollsiffer
    test1 = _txtvekt(pnr, "37618945210");
    sum1 = _sumvekt(pnr, "37618945210");
    q1 = (sum1 - (sum1 % 11)) / 11;
    rest1 = ((sum1 % 11) == 0) ? "" : " + " + (sum1 % 11);
    //alert("Sjekk 1. kontrollsiffer:");
   // alert(test1 + " = " + sum1 + " = 11*" + q1 + rest1);
    if ((sum1 % 11) == 0){}
    else
    {
      alert("Feil, ikke gyldig personnumer.");
      return false;
    }
    // Sjekk andre kontrollsiffer
    test2 = _txtvekt(pnr, "54327654321");
    sum2 = _sumvekt(pnr, "54327654321");
    q2 = (sum2 - (sum2 % 11)) / 11;
    rest2 = ((sum2 % 11) == 0) ? "" : " + " + (sum2 % 11);
  //  alert("Sjekk 2. kontrollsiffer:");
  //  alert(test2 + " = " + sum2 + " = 11*" + q2 + rest2);
    if ((sum2 % 11) == 0){}
    else
    {
      alert("Feil, ikke gyldig personnumer.");
      return false;
    }
    // Skriv ut konklusjon

    if ((sum1 % 11) == 0 && (sum2 % 11) == 0){}
    else
    {
      alert("Dette er ikke et gyldig personnummer");
      return false;
    }
 --- ikke bruk fotreløpig.. pnr..  */

 return (true);
}

 