

    function ValidateUserInput()
    {
    	var form = document.forms["Newsletter"];
    	var email = form.elements["email"];
    	var name = form.elements["name"];
    	var validName = form.elements["ValidName"];
    	var mode = "unknown";
        if (typeof(form.elements["mode"])=="object" && form.elements["mode"].length==2) {
            if (form.elements["mode"][0].checked || form.elements["mode"][1].checked) {
                mode = (form.elements["mode"][0].checked) ? "add" : "remove";
            }
        } else {
            mode = form.elements["mode"];
        }
    	var category = form.elements["category"];
    	var shortdescription = form.elements["shortdescription"];
    	var validDescription = form.elements["ValidDescription"];
     
        var regexp = new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$");
        
    	if (email.value=="" || !regexp.test(email.value)) {
    		alert("Udfyld venligst med en gyldig e-mail");
    		email.focus();
    		return false;
    	}
    
    	if (mode=="add" && validName.value=="true" && name.value == "") {
    		alert("Feltet med navn skal udfyldes");
    		name.focus();
    		return false;
    	}
    	    
    	if (mode=="add" && validDescription.value=="true" && shortdescription.value == "") {
    		alert("Feltet med en kort tekst skal indeholde noget tekst");
    		shortdescription.focus();
    		return false;
    	}
    
    	var categoryIsSelected = false;
    	switch (category.tagName) {
        case "SELECT":
            {
    			for (var i = 0; i < category.length; i++) {
    				if (category[i].selected && parseInt(category[i].value) > 0) {
                        categoryIsSelected = true;
    					break;
    				}
    			}
    			break;
    		}
        case "INPUT":
    		{		
    			categoryIsSelected = true;
    			break;
    		}
        default:
    		{
    			if (category.length) {
    				for (var i = 0; i < category.length; i++) {
    					if (category[i].checked) {
    						categoryIsSelected = true;
    						break;
    					}
    				}
    			}
    		}
    	}	
    
    	if (mode=="add" && !categoryIsSelected) {
    		alert("Der skal vælges minimum en kategori");
    		return false;
    	}	
    	    
    	if (mode=="unknown") {
    		alert("Husk at vælge om du vil tilmelde eller afmelde dig.");
    		return false;
    	}
    	
    	return true;
    }    

    function clearDefaultValue(elem, defaultValue)
    {
        if (elem.value==defaultValue) elem.value = '';
    }
    
    function resetDefaultValue(elem, defaultValue)
    {
        if (elem.value=='') elem.value = defaultValue;
    }