
String.prototype.trim = function () {
  return this.replace(/^\s+|\s+$/g, "");
}

String.prototype.ltrim = function () {
  return this.replace(/^\s+/, "");
}

String.prototype.rtrim = function () {
  return this.replace(/\s+$/, "");
}

String.prototype.contains = function (t) {
  return this.indexOf(t) >= 0 ? true : false
}

Array.prototype.contains = function (obj) { var i = this.length; while (i--) { if (this[i] === obj) { return true; } } return false; }     

document.getElementsByClassName = function (clsName, nodeName, startnodeID) {
  var tag = nodeName || '*';
  var starttagID = startnodeID || '';
  var retVal = new Array();
  var starttag;
  var elements;
  if (starttagID) {
    starttag = document.getElementById(starttagID);
    if (starttag) {
      elements = starttag.getElementsByTagName(tag);
    }
    else
      return retVal; ;
  }
  else
    elements = document.getElementsByTagName(tag);

  for (var i = 0; i < elements.length; i++) {
    if (elements[i].className.indexOf(" ") >= 0) {
      var classes = elements[i].className.split(" ");
      for (var j = 0; j < classes.length; j++) {
        if (classes[j] == clsName) {
          retVal.push(elements[i]);
          break;
        }
      }
    }
    else if (elements[i].className == clsName) {
      retVal.push(elements[i]);
    }
  }
  return retVal;
};


function replaceClass(element, searchClass, replaceClass) {
  if (element) {
    if (element.className.indexOf(" ") >= 0) {
      var classes = element.className.split(" ");
      var newclasslist = '';
      var found = false;
      for (var j = 0; j < classes.length; j++) {
        if (classes[j] == searchClass) {
          newclasslist = newclasslist + ' ' + replaceClass;
          found = true;
        }
        else {
          newclasslist = newclasslist + ' ' + classes[j];
        }
      }
      if (found)
        element.className = newclasslist;
      //      else
      //        element.className = newclasslist + ' ' + replaceClass;  
    }
    else if (element.className == searchClass) {
      element.className = replaceClass;
    }
    //    else {
    //      element.className = element.className + ' ' + replaceClass;    
    //    }
  }
}


document.getElementsByType = function (tag, elementType, startnodeID) {
  var starttagID = startnodeID || '';
  var retVal = new Array();
  var elements;
  if (starttagID) {
    starttag = document.getElementById(starttagID);
    if (starttag)
      elements = starttag.getElementsByTagName(tag);
    else
      return retVal; ;
  }
  else {
    elements = document.getElementsByTagName(tag);
  }

  for (var i = 0; i < elements.length; i++) {
    if (elements[i].type == elementType) {
      retVal.push(elements[i]);
    }
  }
  return retVal;
};
//\ END --- Get Elements By Non Standard Methods

// Son-Of-Sucker-Fish IE Hack
// -----------------------------------------------------------------
/*
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
*/
sfHover = function () {
  if (document.getElementsByClassName("nav")) {
    var sfdivs = document.getElementsByClassName("nav");
    for (var j = 0; j < sfdivs.length; j++) {
      var sfEls = sfdivs[j].getElementsByTagName("LI");
      for (var i = 0; i < sfEls.length; i++) {
        sfEls[i].onmouseover = function () {
          this.className += " sfhover";
        } // sfEls[i].onmouseover=function() {
        sfEls[i].onmouseout = function () {
          this.className = this.className.replace(new RegExp(" sfhover\\b"), "");
        } // sfEls[i].onmouseout=function() {
      } // for (var i=0; i < sfEls.length; i++) {
    } // for (var j=0; j < sfdivs.length; j++) {
  } // if (document.getElementById("nav")) {
}  // sfHover = function() {

if (window.attachEvent) window.attachEvent("onload", sfHover);
