
// globale variable til brug i nedenstående funktioner.

// talfelter, må kun indeholde cifre
//talnavne=new Array("PostNr");
//talfelter=new Array("Post nummer");
talnavne=new Array();
talfelter=new Array();

// emailfelter, skal bla. indeholde @
//emailnavn=new Array("email");
//emailfelter=new Array("E-mail");
emailnavn=new Array();
emailfelter=new Array();

// obligatoriske felter, skal indeholde alt andet end defaultteksten
//obligatoriskenavne= new Array("Navn","Adresse","PostNr","City");
//obligatoriskefelter= new Array("Navn","Adresse","Post nummer","By");
//obligatoriskedefaults= new Array("","","","");
obligatoriskenavne= new Array();
obligatoriskefelter= new Array();
obligatoriskedefaults= new Array();


// dropdown boxe, må ikke stå på bestemt index
//dropdownnavne= new Array("erflyttet","samlivsstatus","indkomststatus");
//dropdownfelter= new Array("Er du flyttet inden for de sidste 5 år","Samlivsstatus","Brutto husstandsindkomst");
//dropdowndefaults= new Array(0,0,0);
dropdownnavne= new Array();
dropdownfelter= new Array();
dropdowndefaults= new Array();

// længdebegrænsede felter, skal have "<", ">", eller "=" en bestemt længde
//laengdenavne= new Array("PostNr");
//laengdekoder= new Array(">3");
//laengdefelter= new Array("Post nummer (4 cifre)");
laengdenavne= new Array();
laengdekoder= new Array();
laengdefelter= new Array();

// værdibegrænsede felter, må maks have en bestemt værdi
//maxvaerdinavne= new Array("kontomax");
//maxvaerdivalue= new Array("15000");
//maxvaerdifelter= new Array("Maximumbeløb til den valgte kontotype");
maxvaerdinavne= new Array();
maxvaerdivalue= new Array();
maxvaerdifelter= new Array();

// afhængigfelter (et felt SKAL udfyldes hvis et andet er udfyldt.)
//afhaengigbestemmende= new Array("samleversnavn");
//afhaengigudfyldes= new Array("samleversdag");
//afhaengigudfyldesfelter= new Array("Gift/samlevers fødselsdag:");
afhaengigbestemmende= new Array();
afhaengigudfyldes= new Array();
afhaengigudfyldesfelter= new Array();

// afhængigfelter (et felt SKAL udfyldes hvis et andet er udfyldt.)
//afhaengigbestemmende= new Array("samleversnavn");
//afhaengigudfyldes= new Array("samleversdag");
//afhaengigudfyldesfelter= new Array("Gift/samlevers fødselsdag:");
afhaengigbestemmende= new Array();
afhaengigudfyldes= new Array();
afhaengigudfyldesfelter= new Array();

// skal starte med...slut med (et falt SKAL starte med et tegnsæt og slutte med andet tegnsæt)
//startemedtegnsaet= new Array("021,0222,1");
//startemedtegnsaetslut= new Array("8");
//startemedudfyldes= new Array("kundenr");
//startemedudfyldesfelter= new Array("Tele2 kundenr");
startemedtegnsaet= new Array();
startemedtegnsaetslut= new Array();
startemedudfyldes= new Array();
startemedudfyldesfelter= new Array();


// fejlstreng
errorstr="";
obligatoriskerror=false;
talerror=false;
laengdeerror=false;
dropdownerror=false;
generelerror=false;
maxvaerdierror=false;
emailerror=false;
afhaengigerror=false;
startemederror=false;
doCheckHelbred =false;

// funktioner..

// kaldes ved submit
function OpenNyBrugerVindue()
{
  // fejlstreng
  errorstr="";
  obligatoriskerror=false;
  talerror=false;
  laengdeerror=false;
  dropdownerror=false;
  generelerror=false;
  maxvaerdierror=false;  
  emailerror=false;
  afhaengigerror=false;
      
  if(submitcheck())
  {
  	return true;
  }
  else
  {
    alert("Fejl i det indtastede !\n " + errorstr);
    return false;
  }
}

// funktion til at validere samtlige felter
function submitcheck()
{
//  if(check_checkboxe(new Array("checkfuldtid","checkhjemmegaaende","checkstuderende","checkudenbeskaeftigelse","checkpensionist"))!=1)
//  {
//    generelerror=true;
//    errorstr=errorstr + " \nVælg netop en stilling\n";
//  }
//  if(check_checkboxe(new Array("checkegethus","checkejerlejlighed","checklejetlejlighed","checkandelslejlighed","checklejetvaerelse","checkfremleje","checkborhosforaeldre","checkharsommerhus"))<1)
//   {
//     generelerror=true;
//     errorstr=errorstr + " \nVælg mindst en boligform\n ";
//   }
//   if(check_checkboxe(new Array("checkkombikonto","checkkontantkonto","checkratekonto1","checkratekonto2","checkratekonto3","checkratekonto4"))<1)
  //NY if(check_checkboxe(new Array("checkkombikonto","checkkontantkonto","checkratekonto1","checkratekonto2","checkratekonto3","checkjulekonto"))<1)
//   {
//     generelerror=true;
//     errorstr=errorstr + " \nVælg mindst en kontoform\n";
//   }
//   if(document.forms[0].erflyttet.selectedIndex==2 && (!check_obligatorisk("adresse1","")||!check_obligatorisk("adressetid1","")))
//   {
//     generelerror=true;
//     errorstr=errorstr + " \nUdfyld din gamle adresse\n";
//   }
  check_obligatoriskefelter();
  check_dropdownfelter();
  check_talfelter();
  check_laengdefelter();
  check_maxvaerdifelter();
  check_emailfelter();
  check_afhaengigfelter();
  check_startemedfelter();
    
  if(!obligatoriskerror && !dropdownerror && !talerror && !laengdeerror && !generelerror && !laengdeerror && !maxvaerdierror && !emailerror && !afhaengigerror && !startemederror)
  {
    return true;
  }
  else
  {
    return false;
  }
}



function check_HelbredsOplysninger()
{

	 if(check_checkboxe(new Array("felt_id_5897","felt_id_6154","felt_id_6156"))==0 && doCheckHelbred==true)
	{
	   generelerror=true;
	   errorstr=errorstr + " \nHusk at angive helbredsoplysninger\n";
	}

}



// funktion til at tælle hvor mange af en række checkboxe der er checket af

function check_checkboxe(boxnavne)
{
  n=0;
  for(i=0;i<boxnavne.length;i++)
  {
    if (document.forms[0][boxnavne[i]])
	{
		if(document.forms[0][boxnavne[i]].checked)
	    {
	      n++;
	    }
	}
  }
  return n;
}


// funktioner til at checke en række felter af samme typer
function check_obligatoriskefelter()
{
  for(i=0;i<obligatoriskenavne.length;i++)
  {
    if(!check_obligatorisk(obligatoriskenavne[i],obligatoriskedefaults[i]))
    {
      if(!obligatoriskerror)
      {
        errorstr=errorstr + " \nDisse felter skal udfyldes:\n ";
        obligatoriskerror=true;
      }
      errorstr=errorstr + obligatoriskefelter[i] + "\n ";
    }
  }
}

function check_dropdownfelter()
{
  for(i=0;i<dropdownnavne.length;i++)
  {
    if(!check_dropdown(dropdownnavne[i],dropdowndefaults[i]))
    {
      if(!dropdownerror)
      {
        errorstr=errorstr + " \nVælg en mulighed fra følgende dropdown bokse:\n ";
        dropdownerror=true;
      }
      errorstr=errorstr + dropdownfelter[i] + "\n ";
    }
  }
}


function check_talfelter()
{
  for(i=0;i<talnavne.length;i++)
  {
    if(!check_tal(talnavne[i],talfelter[i]))
    {
      if(!talerror)
      {
        errorstr=errorstr + " \nFølgende felter må kun indeholde tal:\n ";
        talerror=true;
      }
      errorstr=errorstr + talfelter[i] + "\n ";
    }
  }
}

function check_laengdefelter()
{
  for(i=0;i<laengdenavne.length;i++)
  {
    if(!check_laengde(laengdenavne[i],laengdekoder[i]))
    {
      if(!laengdeerror)
      {
        errorstr=errorstr + " \nDisse felter skal have en bestemt laengde:\n ";
        laengdeerror=true;
      }
      errorstr=errorstr + laengdefelter[i] + "\n ";
    }
  }
}

function check_maxvaerdifelter()
{
  for(i=0;i<maxvaerdinavne.length;i++)
  {
    if(!check_maxvaerdi(maxvaerdinavne[i],maxvaerdivalue[i]))
    {
      if(!maxvaerdierror)
      {
        errorstr=errorstr + " \nFølgende felter har en maksværdi:\n ";
        maxvaerdierror=true;
      }
      errorstr=errorstr + maxvaerdifelter[i] + "\n ";
    }
  }
}


// function til at checke om emailfelter er rigtigt udfyldt.
function check_emailfelter()
{
  for(i=0;i<emailnavn.length;i++)
  {
    if(!check_email(emailnavn[i]))
    {
      if(!emailerror)
      {
        errorstr=errorstr + " \nDisse felter indeholder ikke en rigtig udfyldt email:\n ";
        maxvaerdierror=true;
      }
      errorstr=errorstr + emailfelter[i] + "\n ";
    }
  }
}


function check_afhaengigfelter()
{
  for(i=0;i<afhaengigbestemmende.length;i++)
  {
    if(!check_afhaengig(afhaengigbestemmende[i],afhaengigudfyldes[i]))
    {
      if(!afhaengigerror)
      {
        errorstr=errorstr + " \nFølgende felter skal udfyldes da et afhængigt felt er udfyldt:\n ";
        afhaengigerror=true;
      }
      errorstr=errorstr + afhaengigudfyldesfelter[i] + "\n ";
    }
  }
}

function check_startemedfelter()
{
  for(x=0;i<startemedudfyldes.length;i++)
  {
    if(!check_startemed(startemedtegnsaet[i],startemedudfyldes[i],startemedtegnsaetslut[i]))
    {
      if(!startemederror)
      {
        errorstr=errorstr + " \nFølgende felter skal starte med bestmet tegnsæt:\n ";
        startemederror=true;
      }
      alert(i+':'+startemedudfyldes.length);
      errorstr=errorstr + startemedudfyldes[i] + "\n ";
    }
  }
}


// funktioner til at checke et enkelt felt
function check_obligatorisk(felt,def)
{
  if(document.forms[0][felt].value!=def)
  {
    return true;
  }
  else
  {
    return false;
  }
}

function check_dropdown(felt,def)
{
  if(document.forms[0][felt].selectedIndex!=def)
  {
    return true;
  }
  else
  {
    return false;
  }
}

function check_tal(felt)
{
  okstr = "0123456789 ,";
  str=document.forms[0][felt].value;
  for (tegn=0; tegn<str.length; tegn++) {
          if (okstr.indexOf(str.charAt(tegn)) == -1) 
                  return false;
  }
  return true;
}

function check_laengde(felt,lenkode)
{
  oper=lenkode.charAt(0);
  tal=lenkode.substring(1,lenkode.length)
//alert(tal);
//alert(oper);
//alert(felt);
//alert(document.forms[0][felt].value.length);
  if(oper=="=" && document.forms[0][felt].value.length==tal) return true;
  if(oper==">" && document.forms[0][felt].value.length>tal) return true;
  if(oper=="<" && document.forms[0][felt].value.length<tal) return true;
  return false;
}

function check_maxvaerdi(felt,imaxvalue)
{
	if((imaxvalue/document.forms[0][felt].value)<1)
  {
    return false;
  }
  else
  {
    return true;
  }
}


function check_email(felt)
{
  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@._";
  var checkStr = document.forms[0][felt].value;
  var allValid = true;

  if (checkStr == "")
  {
    return false;
  }

  if (checkStr.length < 5)
  {
    return false;
  }


  if (checkStr.lastIndexOf("@")==-1)
  {
    return false;
  }

  if (checkStr.lastIndexOf(".")==-1)
  {
    return false;
  }

  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)
  {
    return false;
  }

return true;
}

function check_afhaengig(bestemmendefelt,udfyldende)
{
	if(document.forms[0][bestemmendefelt].value=="")
  {
    return true;
  }
  else
  {
    if(document.forms[0][udfyldende].value=="")
    {
		return false;
    }
    else
    {
		return true;
	}
  }
}

function check_startemed(tegnsaet, udfyldes, tegnsaetslut)
  {
  var Arrtegnsaet = tegnsaet.split(",");
  var Arrtegnsaetslut = tegnsaetslut.split(",");
  var tempOK="NotOK";
  
	for(x=0;x<Arrtegnsaet.length;x++){				
		if(document.forms[0][udfyldes].value.substr(0,Arrtegnsaet[x].length)==Arrtegnsaet[x]){
			tempOK="OK";
//			return true;
		}
		else
		{
			if(tempOK=="OK"){
//				return true;
				tempOK="OK";
			}
			else
			{
				if(i==(Arrtegnsaet.length-1)){
//					return false;
					tempOK="NotOK";
				}
			}
		}
	}
	for(x=0;x<tegnsaetslut.length;x++){				
		alert(document.forms[0][udfyldes].value.substr(document.forms[0][udfyldes].length-Arrtegnsaetslut[x].length,Arrtegnsaetslut[x].length));
		if(document.forms[0][udfyldes].value.substr(document.forms[0][udfyldes].length-Arrtegnsaetslut[x].length,Arrtegnsaetslut[x].length)==Arrtegnsaetslut[x]){
			tempOK="OK";
//			return true;
		}
		else
		{
			if(tempOK=="OK"){
//				return true;
				tempOK="OK";
			}
			else
			{
				if(i==(Arrtegnsaet.length-1)){
//					return false;
					tempOK="NotOK";
				}
			}
		}
	}	

  }


