/*=========================================================
  ADMIN JAVASCRIPT
  Version 1.0b
===========================================================*/
var undefined;
var pageOnLoad;
var cancelForm;

window.onload = function(){
  if(document.forms){
    for(var i=0; i<document.forms.length; i++){
      var f=document.forms[i];
      for(var j=0; j<f.elements.length; j++){
        var elem = f.elements[j];
        if(elem.type == "text" || elem.type == "password" || elem.type == "textarea"){
          elem.onfocus = function(){ changeClass(this, "activeForm"); }
          elem.onblur  = function(){ changeClass(this, "inactiveForm"); }
        }
        else if(elem.type == "submit"){
          if(elem.name == "cancel" || elem.name == "prev" || elem.name == "remove"){ elem.onclick=function(){ cancelForm=true; }; }
        }
        if(elem.type == "text" && elem.className == "website"){
          //var func = ;
          addEventToElem(elem,function(){ checkURLInputs(); },new Array("onfocus","onblur","onchange"));
        }
      }
      f.onsubmit=function(){ return checkPageForms(this,''); }
    }
  }
  var url = window.location.href;
  if(url.indexOf("action=login") < 0){ 
    if(url.indexOf("debugSession=1") < 0){ i=1600000; }
    else { i=5000; }
    window.setTimeout("sessionTimeout()", i);
  }
  if(pageOnLoad != undefined){ pageOnLoad(); }
}
/* changeClass() */
function changeClass(elem, elemClass){
  if(elem){ elem.className = elemClass; }
}

/*-------------------------------------------------
  checkPageForms()
  -------------------------------------------------
  Cycles through the elements of a form. The
  function actually checks for labels with the
  class "required". When a "required" label is
  found, the script checks that a value has been
  filled out for that input.
---------------------------------------------------*/
function checkPageForms(frm, formName){
  var setFocus=false;
  if(!cancelForm){
    // Check if the form element exists
    if(!frm){ return false; }
    // Browser must pass this basic test to proceed
    if(document.getElementById){
      var id = frm.getAttribute('id');
      if(id == null){ id = frm.attributes['id'].value; }
      // If a form name is passed to this function, then
      // it must equal the value of the ID of this form
      // (this is so multiple forms can be checked on a
      // single page)
      if(id == formName || formName == ""){
        var labels = frm.getElementsByTagName('label');
        var error  = false;
        for(var i=0; i<labels.length;i++){
          var l = labels[i];
          if(l.className == "required" || l.className == "error"){
            //if(typeof(elemID.value) != "undefined"){ elemID = elemID.value; }
            var elemID = l.getAttribute('for');
            if(elemID == null){ elemID = l.attributes['for'].value; }
            var e = document.getElementById(elemID);
            if(e){
              // Process the different input types
              var nodeName = e.nodeName;
              if(nodeName.toLowerCase() == "input"){
                // Input elements
                var eType = e.getAttribute('type');
                if(eType == null){ eType = e.attributes['type'].value; }
                if(eType == "text"){
                  // Text type inputs
                  if(qTrim(e.value) == ""){ 
                    l.className = "error";
                    error = true;
                    if(!setFocus){ e.focus(); }
                  }
                  else { l.className = "required"; }
                }
              }
              else if(nodeName.toLowerCase() == "select"){
                // Select elements
                var ix = e.selectedIndex;
                var o = qTrim(e.options[ix].value);
                if(o == "#" || o == "-" || o == "" || o == "--" || o == "##"){ 
                  l.className = "error"; 
                  error = true;
                  if(!setFocus){ e.focus(); }
                }
                else { l.className = "required"; }
              }
              else if(nodeName.toLowerCase() == "textarea"){
                // Textarea elements
                if(qTrim(e.value) == ""){ 
                  l.className = "error"; 
                  error = true;
                  if(!setFocus){ e.focus(); }
                }
                else { l.className = "required"; }
              }
            }
          }
        }
        if(error){
          alert("There was an error with the form. Please enter a value "+
                "for all the fields marked in red.");
          error = false;
          return false;
        }
      }
      else { return true; }
    }
  }
  return true;
}
/* qTrim() */
function qTrim(value) { return value.replace(/\n/,"").replace(/\r/,"").replace(" ",""); }
