function validate_text_field(field)
{
  with(field) {
    if (value == null || value=="") {
      return false;
    } else {
      return true; 
    }
  }
}

function validate_email(field)
{
  with(field) {
    apos = value.indexOf("@");
    dotpos = value.lastIndexOf(".");
    if (apos < 1 || dotpos-apos<2) {
      return false;
    } else {
      return true; 
    }
  }
}


function newAjaxRequest() {
  var req;
  try {
        //Opera 8, FF, Safari
    req = new XMLHttpRequest();
  } catch(e) {
        //IE
    try {
      req = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        req = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) { //other browsers
        alert("Please contact the website's webmaster");
        return null;
      }
    }
  }
  return req;
}

function getElementsByClass(searchClass,node,tag) {
  var classElements = new Array()
  if ( node == null )
    node = document
  if ( tag == null )
    tag = '*';
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
  for (i = 0, j = 0; i < elsLen; i++) {
    if ( pattern.test(els[i].className) ) {
      classElements[j] = els[i]
      j++
    }
  }
  return classElements;
}


function getDirectChildrenByTagName(tagName, element) {
  var a = 0;
  var result = new Array();
  if (element.hasChildNodes()) {
    var children = element.childNodes;
    for (var i=0; i<children.length; i++) {
      if (children[i].tagName.toLowerCase() == tagName.toLowerCase()) {
        result[a++] = children[i];
      }
    } 
  }
  return result;
}

function disableItems () {
  var elems = getElementsByClass("menuitem-active");
  for (i=0; i<elems.length; i++)
  elems[i].className ="menuitem";
}

function toggleElement(elemId) {
  if (document.getElementById(elemId).style.display == 'none')
  document.getElementById(elemId).style.display = 'block';
  else
    document.getElementById(elemId).style.display = 'none';
}
