function encodePassword(password) {
    var hash = hex_md5(password);
	return hash;
}

function validateLoginForm() {
	var username = document.login_form.username.value;
	var password = document.login_form.password.value;
	
	if (username == "") {
		alert("You must enter a username.");
		document.login_form.username.focus();
		return false;
	}
	if (password == "") {
		alert("You must enter a password.");
		document.login_form.password.focus();
		return false;
	}
	
	encodedPassword = encodePassword(password);
	document.login_form.password.value = encodedPassword;
}

function validateRegisterForm() {
	var email = document.register_form.email.value;
	var firstName = document.register_form.first_name.value;
	var surname = document.register_form.surname.value;
	var password = document.register_form.password.value;
	var verifyPassword = document.register_form.verify_password.value;
	
	if (email == "") {
		alert("You must supply an email address.");
		document.register_form.email.focus();
		return false;
	}
	// E-mail Validation by Henrik Petersen / NetKontoret
    // Explained at www.echoecho.com/jsforms.htm
    // Please do not remove this line and the two lines above.
    if (email != "") {
        apos=email.indexOf("@");
        dotpos=email.lastIndexOf(".");
        lastpos=email.length-1;
        if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) {
            alert("You must enter a valid email address.");
            document.register_form.email.focus();
            return false;
        }
    }
    
    if (firstName == "") {
		alert("You must enter your first name.");
		document.register_form.first_name.focus();
		return false;
	}
    if (surname == "") {
		alert("You must enter your surname.");
		document.register_form.surname.focus();
		return false;
	}
	if (password == "") {
		alert("You must enter a password.");
		document.register_form.password.focus();
		return false;
	}
	if (verifyPassword == "") {
		alert("You must verify your password.");
		document.register_form.verify_password.focus();
		return false;
	}
	if (password != verifyPassword) {
		alert("Password and verification must match.");
		document.register_form.password.focus();
		return false;
	}
}

/* @deprecated
function validateUserDetailsForm() {
	var firstName = document.details_form.first_name.value;
	var surname = document.details_form.surname.value;
	var email = document.details_form.email.value;
	var password = document.details_form.password.value;
	var verifyPassword = document.details_form.verify_password.value;
	var minPrice = document.details_form.min_price.value;
	var maxPrice = document.details_form.max_price.value;
    
    if (firstName == "") {
		alert("You must enter a first name.");
		document.details_form.first_name.focus();
		return false;
	}
    if (surname == "") {
		alert("You must enter a surname.");
		document.details_form.surname.focus();
		return false;
	}
	if (document.details_form.online.checked) {
	    if (email == "") {
	        alert("You must enter an email address.");
		    document.details_form.email.focus();
		    return false;
	    }
	    // E-mail Validation by Henrik Petersen / NetKontoret
	    // Explained at www.echoecho.com/jsforms.htm
	    // Please do not remove this line and the two lines above.
	    if (email != "") {
	        apos=email.indexOf("@");
	        dotpos=email.lastIndexOf(".");
	        lastpos=email.length-1;
	        if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) {
	            alert("Invalid email address supplied.");
	            document.details_form.email.focus();
	            return false;
	        }
	    }
	    if (password == "") {
	        alert("You must supply a password.");
		    document.details_form.password.focus();
		    return false;
	    }
	    if (password != verifyPassword) {
	        alert("Password and verification must match.");
	        document.details_form.password.focus();
	        return false;
	    }
	}
	if (minPrice != "") {
	    if (!isNumeric(minPrice)) {
	        alert("The Min Price field must be numeric.");
		    document.details_form.min_price.focus();
		    return false;
	    }
	}
	if (maxPrice != "") {
	    if (!isNumeric(maxPrice)) {
	        alert("The Max Price field must be numeric.");
		    document.details_form.max_price.focus();
		    return false;
	    }
	}
	
	encodeUserPassword(password);
}*/

function validatePasswordForm() {
	var email = document.password_form.email.value;
	
	if (email == "") {
		alert("You must supply an email address.");
		document.password_form.email.focus();
		return false;
	}
	// E-mail Validation by Henrik Petersen / NetKontoret
    // Explained at www.echoecho.com/jsforms.htm
    // Please do not remove this line and the two lines above.
    if (email != "") {
        apos=email.indexOf("@");
        dotpos=email.lastIndexOf(".");
        lastpos=email.length-1;
        if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) {
            alert("You must enter a valid email address.");
            document.password_form.email.focus();
            return false;
        }
    }
}

function validateChangePasswordForm() {
	var password = document.password_form.password.value;
	var verifyPassword = document.password_form.verify_password.value;
	
	if (password == "") {
		alert("You must enter a password.");
		document.password_form.password.focus();
		return false;
	}
	if (verifyPassword == "") {
		alert("You must verify your password.");
		document.password_form.verify_password.focus();
		return false;
	}
	if (password != verifyPassword) {
		alert("Password and verification must match.");
		document.password_form.password.focus();
		return false;
	}
}

function validateAddUserForm() {
	var email = document.details_form.email.value;
	var firstName = document.details_form.first_name.value;
	var surname = document.details_form.surname.value;
	var password = document.details_form.password.value;
	var verifyPassword = document.details_form.verify_password.value;
	/* @deprecated
	var accessLevel = document.details_form.access_level.value;
	*/
	var phone = document.details_form.phone.value;
	var mobile = document.details_form.mobile.value;
   
    if (firstName == "") {
		alert("You must enter your First Name.");
		document.details_form.first_name.focus();
		return false;
	}
	
    if (surname == "") {
		alert("You must enter your Surname.");
		document.details_form.surname.focus();
		return false;
	}
	if (phone == "" && mobile == ""){
		alert("You must supply a Contact Number");
		document.details_form.phone.focus();
		return false;
	}

	if (document.details_form.online.checked){
		if (email == "") {
			alert("You must supply an Email Address.");
			document.details_form.email.focus();
			return false;
		}

		// E-mail Validation by Henrik Petersen / NetKontoret
		// Explained at www.echoecho.com/jsforms.htm
    	// Please do not remove this line and the two lines above.
    	if (email != "") {
        	apos=email.indexOf("@");
       	 	dotpos=email.lastIndexOf(".");
        	lastpos=email.length-1;
        	if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) {
            	alert("You must enter a valid email address.");
            	document.details_form.email.focus();
            	return false;
        	}
    	}
    	
		if (password == "") {
			alert("You must enter a password.");
			document.details_form.password.focus();
			return false;
		}	
    
		if (verifyPassword == "") {
			alert("You must verify your password.");
			document.details_form.verify_password.focus();
			return false;
		}
		
		if (password != verifyPassword) {
			alert("Password and verification must match.");
			document.details_form.password.focus();
			return false;
		}
		/* @deprecated
		if (accessLevel == 0) {
			alert("You must select an Access Level.");
			document.details_form.access_level.focus();
			return false;
		} */
	}
	
	if (minPrice != "") {
	    if (!isNumeric(minPrice)) {
	        alert("The Min Price field must be numeric.");
		    document.details_form.min_price.focus();
		    return false;
	    }
	}
	if (maxPrice != "") {
	    if (!isNumeric(maxPrice)) {
	        alert("The Max Price field must be numeric.");
		    document.details_form.max_price.focus();
		    return false;
	    }
	}
}

function validateEditUserForm() {
	var email = document.details_form.email.value;
	var firstName = document.details_form.first_name.value;
	var surname = document.details_form.surname.value;
	var password = document.details_form.password.value;
	var verifyPassword = document.details_form.verify_password.value;
	/* @deprecated
	var accessLevel = document.details_form.access_level.value;
	*/
	var phone = document.details_form.phone.value;
	var mobile = document.details_form.mobile.value;
   
    if (firstName == "") {
		alert("You must enter your First Name.");
		document.details_form.first_name.focus();
		return false;
	}
    if (surname == "") {
		alert("You must enter your Surname.");
		document.details_form.surname.focus();
		return false;
	}
	if (phone == "" && mobile == ""){
		alert("You must supply a Contact Number");
		document.details_form.phone.focus();
		return false;
	}
	
	if (document.details_form.online.checked){
		if (email == "") {
			alert("You must supply an Email Address.");
			document.details_form.email.focus();
			return false;
		}
		// E-mail Validation by Henrik Petersen / NetKontoret
    	// Explained at www.echoecho.com/jsforms.htm
   		// Please do not remove this line and the two lines above.
    	if (email != "") {
        	apos=email.indexOf("@");
        	dotpos=email.lastIndexOf(".");
        	lastpos=email.length-1;
        	if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) {
            	alert("You must enter a valid email address.");
            	document.details_form.email.focus();
            	return false;
        	}
    	}
		if (password != verifyPassword) {
			alert("Password and verification must match.");
			document.details_form.password.focus();
			return false;
		}
	}
	/* @deprecated
	if (accessLevel == 0) {
		alert("You must select an Access Level.");
		document.details_form.access_level.focus();
		return false;
	}
	*/
	
	if (minPrice != "") {
	    if (!isNumeric(minPrice)) {
	        alert("The Min Price field must be numeric.");
		    document.details_form.min_price.focus();
		    return false;
	    }
	}
	if (maxPrice != "") {
	    if (!isNumeric(maxPrice)) {
	        alert("The Max Price field must be numeric.");
		    document.details_form.max_price.focus();
		    return false;
	    }
	}
}

function cancelAddUser() {
    document.add_form.action = baseUrl+"/admin_user";
    document.add_form.submit();
}

function cancelEditUser() {
    document.edit_form.action = baseUrl+"/admin_user";
    document.edit_form.submit();
}

function editUser(userId) {
    document.search_form.action = baseUrl+"/admin_user/edit";
    document.search_form.user_id.value = userId;
    document.search_form.submit();
}

function viewUser(userId) {
    document.search_form.action = baseUrl+"/admin_user/viewUserDetails";
    document.search_form.user_id.value = userId;
    document.search_form.submit();
}

function deleteUser(userId) {
    if (confirm("Are you sure want to delete this user?")) {
        document.search_form.action = baseUrl+"/admin_user/delete";
        document.search_form.user_id.value = userId;
        document.search_form.submit();
    }
}


function validateAddPropertyForm() {
	var address1 = document.add_form.address1.value;
	var heading = document.add_form.heading.value;
	var propertyDescription = document.add_form.property_description.value;

	if (address1 == "" || heading == "" || propertyDescription == "") {
		
		if (address1 == ""){
			alert("You must enter details for Address1.");
			document.add_form.address1.focus();
			return false;
		}
		if (heading == "") {
			alert("You must enter details for Heading.");
			document.add_form.heading.focus();
			return false;
		}
	    if (propertyDescription == "") {
			alert("You must enter details for Description.");
			document.add_form.property_description.focus();
			return false;
		}
	}
}

function validateEditPropertyForm() {
	var address1 = document.edit_form.address1.value;
	var heading = document.edit_form.heading.value;
	var propertyDescription = document.edit_form.property_description.value;

	
	if (address1 == ""){
		alert("You must enter details for Address1.");
		document.edit_form.address1.focus();
		return false;
	}

	if (heading == "") {
		alert("You must enter details for Heading.");
		document.edit_form.heading.focus();
		return false;
	}
	
	if (propertyDescription == "") {
		alert("You must enter details for Description.");
		document.edit_form.property_description.focus();
		return false;
	}
}