function isDigit(n) 
{
	var test = "" + n;

	if (test == "0" || test == "1" || test == "2" || test == "3" ||
          	test == "4" || test == "5" || test == "6" || test == "7" ||
          	test == "8" || test == "9") { return true; }
        	else { return false; }
}

function isNum(obj)
{
	var i = 0
	var j = 0
	
	while (i < obj.value.length)
	{
		if (isDigit(obj.value.substring(i,i+1)))
		{
			j++
		}
		i++
	}

	if (j == obj.value.length)
	{	
		return true
	}
	else
	{
		return false
	}
}

function alertBox(object, box) 
{
	alert(object)
	box.focus()
  	box.select()
}

function checkTel(object) {
	if (object.value != "") {
		if (!isNum(object)) {
          		alertBox("Please use digits (0-9)", object)
          		return false;
    		}
   	}
   	return true
}

function check_valid_num(obj)
{
	if (obj.value != "")
	{
		if (!isNum(obj))
		{
			alertBox("Please use digits (0-9)", obj)
			return false;
		}
	}
}

function isCharN(n) {
    var test = "" + n;
        if (test == 'a' || test == 'A' || test == 'b' || test == 'B' ||
          test == 'c' || test == 'C' || test == 'd' || test == 'D' || 
          test == 'e' || test == 'E' || test == 'f' || test == 'F' || 
          test == 'g' || test == 'G' || test == 'h' || test == 'H' || 
          test == 'i' || test == 'I' || test == 'j' || test == 'J' || 
          test == 'k' || test == 'K' || test == 'l' || test == 'L' || 
          test == 'm' || test == 'M' || test == 'n' || test == 'N' ||
          test == 'o' || test == 'O' || test == 'p' || test == 'P' || 
          test == 'q' || test == 'Q' || test == 'r' || test == 'R' || 
          test == 's' || test == 'S' || test == 't' || test == 'T' || 
          test == 'u' || test == 'U' || test == 'v' || test == 'V' || 
          test == 'w' || test == 'W' || test == 'x' || test == 'X' || 
          test == 'y' || test == 'Y' || test == 'z' || test == 'Z' || 
          test == ' ' || test == '.' || test == '-') { 
          return true;
        }
        else {

          return false;
        }
}

function isallCharN(object) {
    var i = 0 
        while (i < object.value.length) {
           if (isDigit(object.value.substring(i,i+1))) {           	
             return false
                 break;
           }
           i++
        }
        return true
}

function isSpecChar(n) {
    var test = "" + n;
        if (test == 'A' || test == 'B' || test == 'C' || test == 'D' || test == 'E' || test == 'F' || test == 'G' || test == 'H' || test == 'I' || test == 'J' || test == 'K' || test == 'L' || test == 'M' || test == 'N' || test == 'O' || test == 'P' || test == 'Q' || test == 'R' || test == 'S' || test == 'T' || test == 'U' ||test == 'V' || test == 'W' || test == 'X' || test == 'Y' || test == 'Z' || 
test == ' ' || test == '`' || test == '~' || test == '!' || test == '@' || test == '#' || test == '$' || test == '%' || test == '^' || test == '&' || test == '*' || test == '(' || test == ')' || test == '=' || test == '+' || test == '[' || test == '{' || test == ']' || test == '}' || test == ';' || test == ':' || test == "'" || test == '"' || test == '\\' || test == '|' || test == ',' || test == '<' || test == '>' || test == '/' || test == '?') { 
          return true;
        }
        else {

          return false;
        }
}

function isValidChar(n) {
    var test = "" + n;
        if (test == 'a' || test == 'b' || 
          test == 'c' || test == 'd' || 
          test == 'e' || test == 'f' ||
          test == 'g' || test == 'h' ||
          test == 'i' || test == 'j' ||
          test == 'k' || test == 'l' ||
          test == 'm' || test == 'n' ||
          test == 'o' || test == 'p' ||
          test == 'q' || test == 'r' ||
          test == 's' || test == 't' ||
          test == 'u' || test == 'v' || 
          test == 'w' || test == 'x' ||
          test == 'y' || test == 'z' ||
          test == '_' || test == '.' || test == '-' ||
          test == '0' || test == '1' || test == '2' ||
          test == '3' || test == '4' || test == '5' ||
		  test == '6' || test == '7' || test == '8' || test == '9') { 
          return true;
        }
        else {

          return false;
        }
}

// this function is specially for checking the first character
function isValidChar1(n) {
    var test = "" + n;
        if (test == 'a' || test == 'b' || 
          test == 'c' || test == 'd' || 
          test == 'e' || test == 'f' ||
          test == 'g' || test == 'h' ||
          test == 'i' || test == 'j' ||
          test == 'k' || test == 'l' ||
          test == 'm' || test == 'n' ||
          test == 'o' || test == 'p' ||
          test == 'q' || test == 'r' ||
          test == 's' || test == 't' ||
          test == 'u' || test == 'v' || 
          test == 'w' || test == 'x' ||
          test == 'y' || test == 'z' ||
          test == '_' || 
          test == '0' || test == '1' || test == '2' ||
          test == '3' || test == '4' || test == '5' ||
		  test == '6' || test == '7' || test == '8' || test == '9') { 
          return true;
        }
        else {

          return false;
        }
}

function checkMinLen(object, n, val) {
        if (object.value.length < val) {
	alert(n + "at least should have " + val + " characters.")
	object.focus();
	return false;
        }
        else {
	return true;
        }
}

function checkNameN(object, n, val) {
        if (isallCharN(object) == false) {
	alert(n + "cannot contain digits.")
	object.focus();
	return false;
        }
        else {
                if (checkMinLen(object, n, val)) {
                        return true;
                }
                else {
                        return false;
                }
        }
}

function checkPwd(object1, object2, n1, n2) {
	if (object1.value != object2.value)
	{
          alertBox(n1 + " and " + n2 + " do not match.", object1)
          return false;	
	}
}

function reset_form(thisForm) {
	thisForm.reset();
}

function isValidAddrChar(n) {
    var test = "" + n;
        if (test == '`' || test == '~' || test == '!' || test == '@' ||
      test == '%' || test == '^' || test == '*' || test == '<' || 
      test == '{' || test == '}' || test == '[' || test == '>' || 
      test == ']' || test == '+' || test == '?') {
          return false;
        }
        else {
          return true;
    }
}

function isNotValidAddrChar(object) {
    var i = 0 
        while (i < object.value.length) {
           if (!isValidAddrChar(object.value.substring(i,i+1))) {
             return true
                 break;
           }
           i++
        }
        return false
}

function checkaddr(object) {
  if (object.value != "") {
    if (isNotValidAddrChar(object)) {
          alertBox("Please enter suitable character.", object)
          return false;
    }
    else
          return true;
  }
}

function checkMemName(object, n) {
    var i = 0 

	if ( !isValidChar1(object.value.substring(0,1)) ) {
			alert(n + " First character is limited to alphabets (a-z), digits (0-9) and \"_\".")
			object.focus();
             return false
	}

		while (i < object.value.length) {
           if ( !isValidChar(object.value.substring(i,i+1)) ) {
			alert(n + " cannot have upper captial letter,space,chinese character and special character.")
			object.focus();
             return false
                 break;
           }
           i++
        }
        return true
}

function checkEmLogin(s, object, n) {
    var i = 0 

	if ( !isValidChar1(s.substring(0,1)) ) {
			alert(n + " First character is limited to alphabets (a-z), digits (0-9) and \"_\".")
			object.focus();
             return false
	}

	while (i < s.length) {
        if ( !isValidChar(s.substring(i,i+1)) ) {
			alert(n + " cannot have upper captial letter,space,chinese character and special character.")
			object.focus();
				return false
					break;
        }
        i++
    }

	return true
}

function checkEmDom(s, object, n) {
    var i = 0 

	if ( !isValidChar1(s.substring(s.length-1,s.length)) ) {
			alert(n + " is not a valid domain.")
			object.focus();
             return false
	}

	var ldom = s.substring(s.lastIndexOf(".")+1,s.length);
	if (ldom.length > 3) {
			alert(n + " is not a valid domain.")
			object.focus();
             return false
	}

	while (i < s.length) {
        if ( !isValidChar(s.substring(i,i+1)) ) {
			alert(n + " cannot have upper captial letter,space,chinese character and special character.")
			object.focus();
				return false
					break;
        }
        i++
    }

	return true
}
