function focusElement(formName,elemName) {
	if (!document.forms[formName]) return
	var elem = document.forms[formName].elements[elemName];
	elem.focus();
	elem.select(); }
function id(anId) { return document.getElementById(anId) }
function isAlias(elem) {
	var str = elem.value;
	if (str == "*generate") return true;
	var re = /^[\w-\.]+$/;
	if (!str.match(re)) {
		alert("'" + str + "' is not a valid alias. Please try again.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;}
     else {
        return true;}}
function isAlphaNumeric(str) {
        var re = /^\w+$/;
	if (!str.match(re)) {
		return false}
	return true}
function isEmailAddress(elem) {
	var str = elem.value;
    var re = /^[\w-\#\+\=\!\*\?\^\\\$\&\|\~]+(\.[\w-\#\+\=\!\*\?\^\\\$\&\|\~]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        alert("Please verify the e-mail.address format.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;} 
     else {
        return true;}}

function isNotEmpty(elem) {
	var str = elem.value;
    var re = /.+/;
    if(!str.match(re)) {
        alert("Please fill in the required field.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;} 
    else {
        return true;}}

function isDomain(elem) {
	var str = elem.value;
	var re = /^([\w-]+\.)+[a-zA-Z]{2,7}$/;
	if (!str.match(re)) {
		alert("Please verify the domain name format");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;} 
     else {
        return true;}}
unameMinLength = 5
function errorInUserName(str) {
	var re= /^[a-zA-Z\d\-]{3,16}$/;
	if (str.length < unameMinLength) return "The name must be at least " + unameMinLength + " characters in length"
	if (str.length > 16) return "The name must be no longer than 16 characters in length"
	if (!str.match(/^[a-zA-Z]/)) return "the name must begin with a letter"
	if (!str.match(re)) return "Only letters, digits and hypens allowed in name"
	if (str[str.length-1]=='-')
	    return "The name cannot end with a hyphen";
	return null;}
function moveUp(node) {
 	if (node == null) return
	var node2 = node.previousSibling
	var parentNode = node.parentNode
	parentNode.removeChild(node2)
	parentNode.insertBefore(node2,node.nextSibling)}
function moveDown(node) {
	var node2 = node.nextSibling
	var node2 = node.nextSibling
	var parentNode = node.parentNode
	parentNode.removeChild(node2)
	parentNode.insertBefore(node2,node)}
function randChars(n) {
	chars = "abcdefghijkmnopqrsuvwxyz0123456789";
	s = "";
	for(i=0;i<n;i++) {
	r = Math.floor(chars.length * Math.random());
	s += chars.substring(r,r+1);}
	return s}

