function back() {
	window.location = "list.do";
}
function validateForm(formObj)
{
	//check unique
	if(formObj.username.value.length == 0)
	{
		alert("Username unique");
		formObj.username.focus();
		return false;
	}
	//trim username
	formObj.username.value = trim(formObj.username.value);
	if(isExist)
	{
		alert("Username is exist, type another name.");
		formObj.username.focus();
		return false;
	}
	if(formObj.password.value.length==0)
	{
		alert("Password unique");
		formObj.password.focus();
		return false;
	}
	if(formObj.retypepassword.value.length==0)
	{
		alert("Retypepassword unique");
		formObj.retypepassword.focus();
		return false;
	}
	if(formObj.firstname.value.length==0)
	{
		alert("First name unique");
		formObj.firstname.focus();
		return false;
	}
	if(formObj.email.value.length==0)
	{
		alert("Email unique");
		formObj.email.focus();
		return false;
	}
	formObj.email.value = trim(formObj.email.value);
	if(!checkEmail(formObj.email.value))
	{
		alert("email not correct");
		formObj.email.focus();
		return false;
	}
	//check username no blank
	if(!(formObj.username.value.indexOf(" ",0)==-1))
	{
		alert("Username contains a  blank");
		formObj.username.focus();
		return false;
	}

	if(!isValidUserName(formObj.username.value)) {
		var promptMsg = "Please use User name as below:\n";
			promptMsg += "   - Letters and numbers\n";
			promptMsg += "   - Mix lower and uppercase\n";
			promptMsg += "   - Dot, underscore, hyphen";

		alert(promptMsg);
		formObj.username.focus();
		return false;
	}

	if(!checkReTypePassword())
	{
		alert("Retype password not match");
		formObj.retypepassword.focus();
		return false;
	}
	if(!checkPhone(formObj.fax.value))
	{
		alert("Fax not correct");
		formObj.fax.focus();
		return false;
	}
	if(!checkPhone(formObj.deskphone.value))
	{
		alert("Desk Phone not correct");
		formObj.deskphone.focus();
		return false;
	}
	if(!checkPhone(formObj.handphone.value))
	{
		alert("Hand Phone not correct");
		formObj.handphone.focus();
		return false;
	}
	return true;
}
function trim(str)
{
    if(!str || typeof str != 'string')
        return null;
    return str.replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' ');
}
//check exist Account
var isExist = false;
var mWindow;
function checkAccount(item){
	var id = item.value;
	id = trim(id);
	var url = "check.do?id="+id;
	if(window.ActiveXObject)
	{
		objLogRequest = new ActiveXObject('Microsoft.XMLHTTP');
	}
	else
	{
		objLogRequest = new XMLHttpRequest();
		mWindow = "nonWindows";
	}
	if(objLogRequest)
	{
		objLogRequest.onreadystatechange = sendLogInfo;
		objLogRequest.open('Get',url,true);
		if(mWindow=='nonWindows')
		{
			objLogRequest.send('');
		}
		else
		{
			objLogRequest.send();
		}
	}
}
function sendLogInfo()
{
	try
	{
		if(objLogRequest.readyState==4)
		{
			if(objLogRequest.status==200)
			{
				var response = objLogRequest.responseText;
				if(response =='1')
				{
					document.getElementById("exist").style.display = "";
					document.getElementById("exist").style.visibility = "visible";
					document.getElementById("exist").innerHTML ="User name exist. Please type another name";
					isExist = true;
				}
				if(response =='0')
				{
					document.getElementById("exist").style.display = "none";
					document.getElementById("exist").style.visibility = "hidden";
					document.getElementById("exist").innerHTML ="";
					isExist = false;
				}
			}
		}
	}
	catch(ex)
	{
		//alert("Exception in sendInfo function "+ex);
	}
}
function checkPass()
{
	if(!checkReTypePassword())
	{
		document.getElementById("match").style.display = "";
		document.getElementById("match").style.visibility = "visible";
		document.getElementById("match").innerHTML ="Password not match";
	}
	else
	{
		document.getElementById("match").style.display = "none";
		document.getElementById("match").style.visibility = "hidden";
		document.getElementById("match").innerHTML ="";
	}
}

function checkReTypePassword()
{
	var varForm = window.document.form1;
	var password = varForm.password.value;
	var repass = varForm.retypepassword.value;
	if(repass!=password)
	{
		return false;
	}
	return true;
}
function checkEmail(email){
	if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)){
		return (true)
	}
	return (false);
}
function isCharacter( cCharacter )
{
	var sFormat = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"+
					"`~!@#$%^&*_=|<,>?{}[]:;\\/\'\"";
	if( sFormat.indexOf( cCharacter, 0 ) == -1 )
	{
		return false;
	}
	return true;
}
function checkPhone(phone)
{
	for(i=0;i<phone.length;i++)
	{
		var c = phone.charAt(i);
		if(isCharacter(c)==true)
			return false;
	}
	return true;
}
function appendOptionLast(sel,value,text, title)
{
  	var elOptNew = document.createElement('option');
  	elOptNew.text = text;
  	elOptNew.value = value;
  	elOptNew.title = title;//FF
  	elOptNew.setAttribute('title', title);//IE
  	try {
    	sel.add(elOptNew, null); // standards compliant; doesn't work in IE
  	}
  	catch(ex) {
    	sel.add(elOptNew); // IE only
  	}
}
function right()
{
	var sel_role = document.getElementById('sel_role');
	var sel_ = sel_role.options[sel_role.selectedIndex];
	var assign_role = document.getElementById('assign_role');
	//check exist
	var index = -1;
	for(i=0;i<assign_role.length;i++)
	{
		if(assign_role.options[i].value==sel_.value)
		{
			index = i;
			break;
		}
	}
	if(index==-1)
		appendOptionLast(assign_role,sel_.value,sel_.text, sel_.title);
}
function left()
{
	var us = '';
	var assign_role = document.getElementById('assign_role');

	if(document.getElementById('username')) {
		us = document.getElementById('username').value;
		us = us != '' ? us.toUpperCase() : '';
	}

	if(us != '' && us == 'SUPERADMIN') {
		us_asign = assign_role.options[assign_role.selectedIndex].value;
		us_asign = us_asign != '' ? us_asign.toUpperCase() : '';
		if(us_asign != 'SUPERADMIN') {
			assign_role.options[assign_role.selectedIndex] = null;
		}
		else {
			alert('You could not remove assign role [' + us_asign + '] out of user [' + us + ']');
		}
	}
	else {
		assign_role.options[assign_role.selectedIndex] = null;
	}
}
function isASCII( cCharacter )
{
	var sFormat = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
		sFormat += "@-_";
		sFormat += "0123456789";

	if( sFormat.indexOf( cCharacter, 0 ) == -1 )
	{
		return false;
	}
	return true;
}

function checkASCIIUserName(username)
{
	for(var i = 0; i < username.length; i++) {
		var c = username.charAt(i);
		if(isASCII(c)==false)
			return true;
	}

	return false;
}

function isValidUserName(username) {

	var sFormat = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
		sFormat += ".0123456789-_";

	for(i = 0; i < username.length; i++) {
		var c = username.charAt(i);
		if( sFormat.indexOf(c, 0) < 0) {
			return false;
		}
	}

	return true;
}
