function formsubmit(obj) {
  var getstr = "";
  for (i=0; i<obj.childNodes.length; i++) {
    if (obj.childNodes[i].tagName == "INPUT") {
      if (obj.childNodes[i].type == "text") {
        getstr += (getstr ? '&' : '') + obj.childNodes[i].name + "=" + obj.childNodes[i].value;
      }
      if (obj.childNodes[i].type == "checkbox") {
        if (obj.childNodes[i].checked) {
          getstr += (getstr ? '&' : '') + obj.childNodes[i].name + "=" + obj.childNodes[i].value;
        } else {
          getstr += (getstr ? '&' : '') + obj.childNodes[i].name + "=";
        }
      }
      if (obj.childNodes[i].type == "radio") {
        if (obj.childNodes[i].checked) {
          getstr += (getstr ? '&' : '') + obj.childNodes[i].name + "=" + obj.childNodes[i].value;
        }
      }
    }
    if (obj.childNodes[i].tagName == "SELECT") {
      var sel = obj.childNodes[i];
      getstr += (getstr ? '&' : '') + sel.name + "=" + sel.options[sel.selectedIndex].value;
    }
  }
  //mytrigger=/\/[^/]+\//.exec(window.location.pathname);
  mytrigger=obj.action;
  window.location.href=mytrigger + getstr;
}

function view_obj(objhtml) { document.write(objhtml); } 

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
          var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
          if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
          d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
        if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
// ----------------------------------------------------------------------------
// HasClass
//
// Description : returns boolean indicating whether the object has the class name
//    built with the understanding that there may be multiple classes
//
// Arguments:
//    strClass                - class name to add
//
function HasClass(strClass) {
  if ( this.className ) {
    var arrList = this.className.split(' ');
    var strClassUpper = strClass.toUpperCase();
    for ( var i = 0; i < arrList.length; i++ ) {
      if ( arrList[i].toUpperCase() == strClassUpper ) {
        return true;
      }
    }
  }
  return false;
}
Element.prototype.HasClass=HasClass;
// ----------------------------------------------------------------------------

// ----------------------------------------------------------------------------
// AddClass
//
// Description : adds a class to the class attribute of a DOM element
//    built with the understanding that there may be multiple classes
//
// Arguments:
//    strClass                - class name to add
//
function AddClass(strClass) {
  if ( this.className ) {
    var arrList = this.className.split(' ');
    var strClassUpper = strClass.toUpperCase();
    for ( var i = 0; i < arrList.length; i++ ) {
      if ( arrList[i].toUpperCase() == strClassUpper ) {
        arrList.splice(i, 1);
        i--;
      }
    }
    arrList[arrList.length] = strClass;

    // add the new class to beginning of list
    //arrList.splice(0, 0, strClass);
    this.className = arrList.join(' ');

  } else {
    this.className = strClass;
  }
}
Element.prototype.AddClass=AddClass;
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// RemoveClassName
//
// Description : removes a class from the class attribute of a DOM element
//    built with the understanding that there may be multiple classes
//
// Arguments:
//    strClass                - class name to remove
//
function RemoveClass(strClass) {
  if ( this.className ) {
    var arrList = this.className.split(' ');
    var strClassUpper = strClass.toUpperCase();
    for ( var i = 0; i < arrList.length; i++ ) {
      if ( arrList[i].toUpperCase() == strClassUpper ) {
        arrList.splice(i, 1);
        i--;
      }
    }
    this.className = arrList.join(' ');
  }
}
Element.prototype.RemoveClass=RemoveClass;
// ----------------------------------------------------------------------------
