emsg = "";

function checkField01(error)
{
  document.getElementById("updateForm").fname.value = nameParser(document.getElementById("updateForm").fname.value);
  if (document.getElementById("updateForm").fname.value=="") {
    emsg=appendEM(emsg, "Du har inte angivit något förnamn.");
    err01.style.visibility="visible";
    error=true;
  }
  else { err01.style.visibility="hidden"; }
  return error;
}

function checkField02(error)
{
  document.getElementById("updateForm").lname.value = nameParser(document.getElementById("updateForm").lname.value);
  if (document.getElementById("updateForm").lname.value=="") {
    emsg=appendEM(emsg, "Du har inte angivit något efternamn.");
    err02.style.visibility="visible";
    error=true;
  }
  else { err02.style.visibility="hidden"; }
  return error;
}

function checkField03v2(error)
{
	var date = document.getElementById("updateForm").dob.value;
	var pattern = "[0-9]{4}-[0-9]{2}-[0-9]{2}";
	error = date.match(pattern)==null;
	if (error) {
		emsg=appendEM(emsg,"Du har inte fyllt i ditt födelseår.");
		err03.style.visibility="visible";
	} else err03.style.visibility="hidden";
	return error;
}

function checkField03(error)
{
  document.getElementById("updateForm").dob.value=yearParser(document.getElementById("updateForm").dob.value);
  num=parseInt(document.getElementById("updateForm").dob.value);
  Today = new Date();
  if (isNaN(num)) {
    emsg=appendEM(emsg,"Du har inte fyllt i ditt födelseår.");
    err03.style.visibility="visible";
    error=true;
  }
  else if (num<1890) {
    tem="Du är född tidigare än 1890. Det är något som vi inte räknat med i systemet. ";
    tem=tem+"Kontakta oss så lägger vi in dig manuellt, gamling!";
    emsg=appendEM(emsg, tem);
    err03.style.visibility="visible";
    error=true;
  }
  else if (num>Today.getFullYear()) {
    emsg=appendEM(emsg, "Var hälsad framtidsmänniska! Du är ännu inte född.");
    err03.style.visibility="visible";
    error=true;
  }
  else err03.style.visibility="hidden";
  return error;
}

function checkField04(error)
{
  if ((document.getElementById("updateForm").sex[0].checked) | (document.getElementById("updateForm").sex[1].checked)) { err04.style.visibility="hidden"; }
  else {
    emsg=appendEM(emsg, "Du har inte angivit ditt kön.");
    err04.style.visibility="visible";
    error=true;
  }
  return error;
}

function checkField05(error)
{
  if (document.getElementById("updateForm").county.selectedIndex>0) { err05.style.visibility="hidden"; }
  else {
    emsg=appendEM(emsg, "Du har inte angivit vilket län du bor i.");
    err05.style.visibility="visible";
    error=true;
  }
  return error;
}

function checkField06(error)
{
  if (document.getElementById("updateForm").municipality.selectedIndex>0) { err06.style.visibility="hidden"; }
  else {
    emsg=appendEM(emsg, "Du har inte angivit vilken kommun du bor i.");
    err06.style.visibility="visible";
    error=true;
  }
  return error;
}

function checkField07(error)
{
  if (document.getElementById("updateForm").club.selectedIndex>0) { err07.style.visibility="hidden"; }
  else {
    emsg=appendEM(emsg, "Du har inte angivit vilken klubb du tillhör. Om du inte tillhör någon klubb, välj \"klubblös\" precis under [Välj klubb].");
    err07.style.visibility="visible";
    error=true;
  }
  return error;
}

function checkField08(error)
{
  fat = document.getElementById("updateForm").email.value.indexOf("@");
  at = document.getElementById("updateForm").email.value.lastIndexOf("@");
  dot = document.getElementById("updateForm").email.value.lastIndexOf(".");

  if (document.getElementById("updateForm").email.value=="") {
    etmp = "Du har inte angivit någon mejladress. Mejladressen används bland annat som användarnamn, ";
    etmp += "eftersom den är unik för varje person."
    emsg=appendEM(emsg, etmp);
    err08.style.visibility="visible";
    error=true;
  }
  else if (at==-1 | dot==-1 | dot<at | fat!=at) {
    etmp = "Den mejladress du angivit är inte korrekt."
    emsg=appendEM(emsg, etmp);
    err08.style.visibility="visible";
    error=true;    
  }
//  else if (!generalParser(document.forms[0].email.value)) {}
//  else if (!mailParser(document.forms[0].email.value)) {}
  else { err08.style.visibility="hidden"; }
  return error;
}

function checkField09(error)
{
  if (document.getElementById("updateForm").phone.value=="") {
    emsg=appendEM(emsg, "Du har inte angivit något telefonnummer.");
    err09.style.visibility="visible";
    error=true;
  }
//  else if (!generalParser(document.forms[0].email.value)) {}
//  else if (!phoneParser(document.forms[0].email.value)) {}
  else { err09.style.visibility="hidden"; }
  return error;
}

function checkField10(error)
{
  if (document.getElementById("updateForm").pwd.value=="") {
    emsg=appendEM(emsg, "Du har inte angivit något lösenord.");
    err10.style.visibility="visible";
    error=true;
  }
//  else if (!generalParser(document.forms[0].email.value)) {}
//  else if (!pwdParser(document.forms[0].email.value)) {}
  else if (document.getElementById("updateForm").pwd.value.length<6) { 
    emsg=appendEM(emsg, "Ditt lösenord är för kort. Det måste vara minst 6 tecken.");
    err10.style.visibility="visible";
    error=true;    
  }
  else { err10.style.visibility="hidden"; }
  if ((document.getElementById("updateForm").retype.value!="") & (document.getElementById("updateForm").retype.value!=document.getElementById("updateForm").pwd.value)) {
    err11.style.visibility="visible";
    error=true;
  }
  else { err11.style.visibility="hidden"; }
  return error;
}

function checkField11(error)
{
  if (document.getElementById("updateForm").retype.value=="") {
    emsg=appendEM(emsg, "Du har inte upprepat lösenordet.");
    err11.style.visibility="visible";
    error=true;
  }
  else if (document.getElementById("updateForm").retype.value!=document.getElementById("updateForm").pwd.value) {
    emsg=appendEM(emsg, "Du har angivit olika lösenord.");
    err11.style.visibility="visible";
    error=true;
  }
//  else if (!generalParser(document.forms[0].email.value)) {}
//  else if (!pwdParser(document.forms[0].email.value)) {}
  else { err11.style.visibility="hidden"; }
  return error;
}

function checkField13(error)
{
  if (document.getElementById("updateForm").avfor.selectedIndex>0) { err13.style.visibility="hidden"; }
  else {
    emsg=appendEM(emsg, "Du har inte angivit din tillgänglighet.");
    err13.style.visibility="visible";
    error=true;
  }
  return error;
}

function checkFormData(page)
{
  emsg = "";
  error = false;
  if (page==1) {
    error = checkField08(error);
  } else if (page==2) {
    error = checkField01(error);
    error = checkField02(error);
    // error = checkField03(error);
    error = checkField04(error);
    error = checkField05(error);
    error = checkField06(error);
    error = checkField07(error);
    error = checkField09(error);
  } else if (page==4) {
    error = checkField13(error);
  } else if (page==6) {
    error = checkField10(error);
    error = checkField11(error);
  }

  if (error) {
    if (confirm('Något gick fel. Vill du se detaljer?')) errorMsg(emsg, 'Info, sidan ' + page);
  }
  if (!error) document.getElementById("updateForm").submit();
  return false;  
}

function checkTF()
{
  maxLen = 127;
  text = document.getElementById("updateForm").ta.value;
  left = maxLen-text.length;
  if (left < 0) {
    document.getElementById("updateForm").ta.value=text.substr(0,maxLen);
    left = 0;
  }
  document.getElementById("updateForm").tt.value=left;  
}

function countyOnChange()
{
  error=checkField05(false);
  if (!error)
  {
    document.getElementById("updateForm").municipality.selectedIndex=0;
    document.getElementById("updateForm").submit();
  }
}

