function prepareInputsForHints() {
	var inputs = document.getElementsByTagName("input");
	
	for (var i=0; i<inputs.length; i++){
		if (inputs[i].parentNode.getElementsByTagName("span")[0]) {
			if(inputs[i].parentNode.getElementsByTagName("span")[0].className == "hint"){
				inputs[i].onfocus = function () {
					this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
				}
				inputs[i].onblur = function () {
					this.parentNode.getElementsByTagName("span")[0].style.display = "none";
				}
			}
		}
	}
}
window.onload=prepareInputsForHints();

function val(form){
	if(form){
		
		// Validating Email
		if(!validate_email(trim(form.email.value))){
			alert("Please enter valid e-mail address.");
			form.email.focus();
			return false;
		}
		
		
		// Validating username
		var illegalChars = /\W/; // allow letters, numbers, and underscores
		var u	=	form.username;
		var uvalue	=	trim(u.value);
		if (uvalue == "") {
			alert("You didn't enter a username.");
			u.focus();
			return false;
		} else if ((uvalue.length < 3) || (uvalue.length > 30)) {
			alert("Username must NOT be less then 3 characters OR greater then 30 characters.");
			u.focus();
			return false;
		} else if (illegalChars.test(uvalue)) {
			alert("Username must ONLY conains alphanumeric characters");
			u.focus();
			return false;
		}
		
	}else{
		return false;
	}
	
	return true;	
}

function validate_email(str){
	if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str))) return false;
	else return true;
}

function trim(s)
{
	return s.replace(/^\s+|\s+$/, '');
} 

