function validEmail(email)
{
	var splitted = email.match("^(.+)@(.+)$");
	if(splitted == null) return false;
	if(splitted[1] != null )
	{
		var regexp_user=/^\"?[-\w_\.]*\"?$/;
		if(splitted[1].match(regexp_user) == null) return false;
	}
	if(splitted[2] != null)
	{
		var regexp_domain=/^[-\w\.]*\.[A-Za-z]{2,4}$/;
		if(splitted[2].match(regexp_domain) == null) 
		{
			var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
			if(splitted[2].match(regexp_ip) == null) return false;
		}// if
		return true;
	}
	return false;
}

function checkEmail(thisObject)
{
var ret = true;
	if(thisObject.value.length > 0 && !validEmail(thisObject.value)	 ) 
	{ 
		var strError = "Please enter a valid Email address "; 
		alert(strError); 
		ret = false; 
	}//if 
	return ret;
}

function checkRequiredInput(objValue)
{
 var ret = true;
	if(eval(objValue.value.length) == 0) 
	{ 
		if (objValue.name == 'username') {
			thisName = 'Email';
		} else {
			thisName = objValue.name;
		}
		var strError = "Please enter your "+thisName; 
		alert(strError); 
		ret=false; 
	}//if 
	return ret;
}

function checkInputType(thisObject,strRegExp,strError)
{
	var ret = true;
	var charpos = thisObject.value.search(strRegExp); 
	if(thisObject.value.length > 0 &&  charpos >= 0) 
	{ 
		alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); 
		ret = false; 
	}//if 
 return ret;
}

function validateItem(command,thisObject) 
{ 
	var ret = true;
	switch(command) 
	{ 
		case "req": 
		case "required": 
		{ 
			ret = checkRequiredInput(thisObject)
			break;             
		}
		case "email": 
		{ 
			ret = checkEmail(thisObject);
			break; 
		}
		case "alnum": 
		case "alphanumeric": 
		{ 
			ret = checkInputType(thisObject,"[^A-Za-z0-9]",	thisObject.name+": Only letters and digits allowed.");
			break;
		}
	}
 return ret; 
}

function validateLoginForm(thisForm)
{
		if (!validateItem('req',thisForm.username)) {
			return false;
		}
		if (!validateItem('email',thisForm.username)) {
			return false;
		}
		if (!validateItem('req',thisForm.password)) {
			return false;
		}
		if (!validateItem('alnum',thisForm.password)) {
			return false;
		}
//	}
	return true;
}

function trim(item) {
	item.value = item.value.replace(/^\s+|\s+$/g,"");
}
