
function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  }
}

var servicemessage = getQueryVariable("servicemessage"); 
if (servicemessage != null)
{
    if (servicemessage == "subscribe") {
        alert("Du er nu tilmeldt.");
    } else if (servicemessage == "unsubscribe") {
        alert("Du er nu afmeldt.");
    } else if (servicemessage == "invalid") {
        alert("Du har ikke udfyldt felterne korrekt, proev venligst igen");
    } else if (servicemessage == "notfound") {
        alert("Du blev ikke fundet i databasen, er du allerede afmeldt?");
    } else if (servicemessage == "failure") {
        alert("Der er sket en fejl, proev venligst igen");
    }
}

var ocwebNewsletter = new function()
{
	this.defaultValues = [];

	this.submit = function(form)
	{
		var error = "";
		
		var name = this.getFormValue(form, "name");
		var mobilephone = this.getFormValue(form, "mobilephone", 'int');
		var emailaddress = this.getFormValue(form, "emailaddress");
		var subscribe = this.getFormValue(form, "subscribe");
		
		// check if atleast one group is selected
		var allgroups = "";
		if (form && form.elements && form.elements["groups"]) {
			var groups = form.elements["groups"];
			for (var i=0; i<groups.length; i++) {
				if (groups[i].checked) {
					if (allgroups) {
						allgroups += ",";
					}
					allgroups += groups[i].value;
				}
			}
		}
		
		// set the selected groups
		this.setFormValue(form, "allgroups", allgroups);
		
		// get valid email address
		emailaddress = this.getValidEmailAddress(emailaddress);

		if (subscribe && allgroups.length < 1) {
			error += "Manglende valg af grupper";
		}
		if (name.length < 2) {
			error += "Navn skal udfyldes\r\n";
		}
		if (mobilephone < 10000000) {
			error += "Mobilnummer er ikke gyldig\r\n";
		}
		if (emailaddress.length < 1) {
			error += "Email er ikke gyldig\r\n";
		}
		if (error.length > 0) {
			alert(error);
			return false;
		} else {
			return true;
		}
	}
	
	this.getValidEmailAddress = function(emailaddress)
	{
		// trim whitespace
		emailaddress = emailaddress.replace(/^\s+|\s+$/g, '');
		emailaddress = emailaddress.replace(/^\.{0,}|\.{0,}$/g, '');
		var filter = /^[a-zA-Z0-9\.\-\_]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,6}$/;
		if (filter.test(emailaddress)) {
			return emailaddress;
		} else {
			return "";
		}
	}
	
	this.setFormValue = function(form, name, value)
	{
		if (form && form.elements) {
			if (form.elements[name]) {
				form.elements[name].value = value;
			}
		}
	}
	
	this.getFormValue = function(form, name, type)
	{
		var value = "";
		if (type == "int") {
			value = 0;
		}
		if (form && form.elements) {
			if (form.elements[name]) {
				var e = form.elements[name];
				if (!this.defaultValues[name]) {
					this.defaultValues[name] = "";
				}
				
				value = e.value;
				if (type == "int" && isNaN(value)) {
					value = 0;
				}
				
				/*
				if (e.value != this.defaultValues[name] && this.defaultValues[name].length > 1) {
					value = e.value;
					if (type == "int" && isNaN(value)) {
						value = 0;
					}
				}
				*/
			}
		}
		return value;
	}
	
	this.focus = function(obj)
	{
		var name = obj.name;
		if (obj.value) {
			if (!this.defaultValues[name]) {
				this.defaultValues[name] = obj.value
			}
			if (obj.value == this.defaultValues[name]) {
				//obj.value = '';
			}
		}
	}
	
	this.blur = function(obj)
	{
		var name = obj.name;
		if (!obj.value) {
			//obj.value = this.defaultValues[name];
		}
	}
}


