var password =  "";	
var errtxt	 =  "";
var validlanguage;	// DK = 0
var validnow = false;
var validerror;

function mmerr(lang, txt)
{
var err = new Array(2);
	err[0] = new Array(" - skal være mindst "," - må max være "," tegn");
	err[1] = new Array(" - has to be at least "," - can at most be "," characters");
	
return err[lang][txt];
}
	
function tterr(lang, txt)
{
var err 	 = new Array(2);
	err[0] = new Array("<strong>Der var en fejl:</strong>",
						 " - indtast korrekt email adresse",
						 " - indtast et valid nummer",
						 " - indtast et valid telefonnummer",
						 " - udfyld feltet",
						 " - indtast et valid URL",						 
						 "Passwords er ikke ens!",
						 " - Skal være mindst 6 tegn og kun A-z 0-9 tegn må bruges");
						 
	err[1] = new Array("Some fields are not correctly filled out. - please correct it",
						 " - Please enter a valid e-mail address",
						 " - Please enter a valid number",
						 " - Please enter a valid phone number",
						 " - Please fill out the field",
						 " - Please enter a valid URL",
 						 "Passwords does not match!",
						 " - has to be at least 6 and only A-z 0-9 characters");
return err[lang][txt];
}

function valid(felt,valid)
{
if(!validate(felt,valid)) {
	validerror = false;
	
}

return true;
}

function validate(felt,valid)
{
	var field = felt.value;
	var RegE = "";
	var errmsg = "";
	
	if(errtxt == null) {
		errtxt = ""; // Netscape bug
		password = "";
		validnow = false;
		}
		
	if(validnow == false || validnow == null) return true;

	var Varr = valid.split(",");

	Varr[0] = Varr[0].toLowerCase();
	if(field.length == 0 && parseInt(Varr[1]) == 0)
		return true;

    if ((field.length < parseInt(Varr[1])) && (parseInt(Varr[1])>0))
    	errmsg += Varr[3]+mmerr(validlanguage,0)+Varr[1]+mmerr(validlanguage,2)+"<br/>";
	else if ((field.length > parseInt(Varr[2])) && (parseInt(Varr[2])>0)) 
    	errmsg += Varr[3]+mmerr(validlanguage,1)+Varr[2]+mmerr(validlanguage,2)+"<br/>";

	if( errmsg != "" )
	{
  		errtxt += errmsg;
		return false;
	}

	if( Varr[0] == "email") {
		errmsg = Varr[3]+tterr(validlanguage,1)+"<br/>";
		RegE = "^ *[-a-zA-Z0-9_\.]+@[-a-zA-Z0-9_]+\\.[-a-zA-Z0-9_\.]+$";

		var maildk = field.split(".");
		var rx=new RegExp("^[a-zA-Z][a-zA-Z][a-zA-Z]?$"); // Kontrol af top level domain
  		if (rx.exec(maildk[maildk.length-1]) ==null ) 
			{
			 errtxt += errmsg;
			 return false;  // fejl
			}
		}



		
	if( Varr[0] == "number"){
		errmsg = Varr[3]+tterr(validlanguage,2)+"<br/>";
			
	    if(validlanguage == 0) RegE = "^ *-?[0-9]*,?[0-9]*$";
		else if(validlanguage == 1) RegE = "^ *-?[0-9]*.?[0-9]*$";
		}

	if( Varr[0] == "phone"){
		errmsg = Varr[3]+tterr(validlanguage,3)+"<br/>";
		
		
			RegE = "^[-+#()0-9 ]+$";
	 
		}
	if( Varr[0] == "text") {
		errmsg = Varr[3]+tterr(validlanguage,4)+"<br/>";
		// RegE = "^.+$";
		return true;
		}

	
	if(Varr[0] == "url") {
		errmsg = Varr[3]+tterr(validlanguage,5)+"<br/>";
	
		RegE = "^ *.+$";
		var urldk = field.split(".");
		var rx=new RegExp("^[a-zA-Z][a-zA-Z][a-zA-Z]?(/.*)* *$"); // Kontrol af top level domain
  		if (rx.exec(urldk[urldk.length-1]) == null ) 
			{
    		 errtxt += errmsg;
      		 return false;  // ok
			}
		}

	if( Varr[0] == "password") {
		if( password.length != 0) {
			if( password != field) {
				errtxt += tterr(validlanguage,6)+"<br/>";
				password = "";
				return false;
				}
			}
		else
			password = field;

		errmsg = Varr[3]+tterr(validlanguage,7)+"<br/>";
		RegE = "^[a-zA-Z0-9]{6,}$";
		}

  var rx=new RegExp(RegE);
  if (rx.exec(field)!=null ) 
       return true; 

  errtxt += errmsg;
  return false;
}

function showerror()
 {
	var msg = "";
    
	msg = tterr(validlanguage,0)+"<br/>"+errtxt;
	
	//alert(msg);
	errtxt = "";
	return msg
}

function checkform(frm, errorDiv)
{
with (frm) {
validlanguage = 1; // DK = 0 , UK = 1
validerror=true;
validnow = true;
	

for(var i = 0; i < frm.elements.length; i++)
	if(frm.elements[i].onchange != null && frm.elements[i].name != "Medlemstype")
		frm.elements[i].onchange();

validnow = false;

if (validerror == false) {
	document.getElementById( errorDiv).innerHTML  = showerror();
	document.getElementById('error-msg').style.display = "block";
	
}

return validerror;
}
}
    
