/**
 * This is a Validator used to validate a given form
 * @author Petrus Bergman
 * @version 2004-02-24
 **/
function Validator(form, submitButton) {

	// Get objects to validate
	var emailObj = form.email;
	var passwordObj = form.password;
	var titleObj = form.title;
	var userObj = form.user;
	var urlObj = form.url;

	// Get object to enable/disable depending on validation status
	var submitObj = submitButton;

	// Define validation variables
	var valid_email = false;
	var valid_title = false;
	var valid_url = false;
	var valid_user = false;
	var valid_password = false;
	var valid_all = false;

	// Make functions public
	this.validateEmail = validateEmail;
	this.validateTitle = validateTitle;
	this.validateURL = validateURL;
	this.validateUser = validateUser;
	this.validatePassWord = validatePassWord;


	validateAll();

	validateEmail();
	validateTitle();
	validateURL();
	validateUser();
	validatePassWord();


 	function validateEmail() {
       		var rExp = /..*@..*\....*/gi;
       		var email = emailObj.value;
		valid_email = email.search(rExp) != -1;
		validateAll();
	}

 	function validateTitle() {
		valid_title = titleObj.value != "";
		validateAll();
	}

	function validateURL() {
		var isHttp = urlObj.value.indexOf("http://") == 0;
		var isHttps = urlObj.value.indexOf("https://") == 0;
		var isFtp = urlObj.value.indexOf("ftp://") == 0;
		var correctPrefix = true;

		// Make sure the url is on the form "protocol://*.*"
		if(isHttp | isHttps | isFtp) {
			var address = urlObj.value;
			var rExp = /\/\/..*\...*/gi;
			valid_url = address.search(rExp) != -1;
		} else {
			valid_url = false;
			correctPrefix = false;
		}

		validateAll();
		return correctPrefix;
	}

 	function validateUser() {
		valid_user = userObj.value != "";
		validateAll();
	}

 	function validatePassWord() {
		valid_password = passwordObj.value != "";
		validateAll();
	}

	function validateAll() {
		valid_all = valid_email && valid_title && valid_url && valid_user && valid_password;
		if(valid_all) {
//			submitObj.disabled = false;
			submitObj.title = "Registrera din domän";
		} else {
//			submitObj.disabled = true;
			submitObj.title = "Du måste fylla i alla obligatoriska fält innan du kan registrera!";
		}
	}

}
