var jsValidator = new Array();
jsValidator.elements = new Array();

jsValidator.ValidateForm = function(form) {
	var passed = true;
	for(var i = 0; (i < jsValidator.elements.length) && passed; i++) {
		passed = jsValidator.elements[i].callback.call(this, jsValidator.elements[i].id, jsValidator.elements[i].message);
	}

	if(passed) {
		jsValidator.SubmitForm(form);
	}
}

jsValidator.SubmitForm = function(form) {
	var form = document.getElementById(form);
	var element = form.firstChild;

	var variables = "";

	while(element.nextSibling != null) {
		if(element.nodeType == 1) {
			if(element.nodeName == "INPUT") {
				if(variables == "") {
					variables = element.id + "=" + element.value;
				}
				else {
					var value = jsResources.ReplaceAll(element.value, "å", "_a_");
					value = jsResources.ReplaceAll(value, "ä", "_aa_");
					value = jsResources.ReplaceAll(value, "ö", "_o_");
					value = jsResources.ReplaceAll(value, "Å", "_A_");
					value = jsResources.ReplaceAll(value, "Ä", "_AA_");
					value = jsResources.ReplaceAll(value, "Ö", "_O_");
					variables += "&" + element.id + "=" + value;
				}
			}

		}
		element = element.nextSibling;
	}

	var loader = new net.ContentLoader('submitForm.php', this.ShowResponse, null, 'POST', variables);
}

jsValidator.ShowResponse = function() {
	alert("Thank's for your interest. We will contact you as soon as possible.");
}

jsValidator.ValidateText = function(type, id, message) {
	var item = new Object();
	item.id = id;
	item.message = message;

	if(type == "mail") {
		item.callback = jsValidator.ValidateMail;
	}

	if(type == "birthdate") {
		item.callback = jsValidator.ValidateBirthDate;
	}

	this.elements.append(item);
}

jsValidator.ValidateCheckbox = function(type, id, message) {
	var item = new Object();
	item.id = id;
	item.message = message;

	if(type == "checked") {
		item.callback = jsValidator.ValidateChecked;
	}

	this.elements.append(item);
}


jsValidator.ValidateMail = function(id, text) {
	var passed = false;

	if(document.getElementById(id).value.indexOf("@") > -1) {
		if(document.getElementById(id).value.indexOf(".") > -1) {
			if(document.getElementById(id).value.indexOf(".") < (document.getElementById(id).value.length - 2)) {
				if(document.getElementById(id).value.indexOf("@") > 1) {
					passed = true;
				}
			}
		}
	}

	if(!passed) {
		alert(text);
		return false;
	}

	return true;
}

jsValidator.ValidateBirthDate = function(id, text) {
	var passed = true;

	if(document.getElementById(id).value.length != 6) {
		passed = false;
	}

	for(var i = 0; i < document.getElementById(id).value.length && passed; i++) {

		if(document.getElementById(id).value.charAt(i) < '0' || document.getElementById(id).value.charAt(i) > '9') {
			passed = false;
		}
	}

	if(!passed) {
		alert(text);
		return false;
	}

	return true;
}

jsValidator.ValidateChecked = function(id, text) {
	if(document.getElementById(id).checked == false) {
		alert(text);
		return false;
	}

	return true;
}


