//\//////////////////////////////////////////////////////////////////////////////////
//\//////////////////////////////////////////////////////////////////////////////////
//\ START --- Get Elements By Non Standard Methods
//\//////////////////////////////////////////////////////////////////////////////////

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 
}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.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
      elements = document.getElementsByTagName(tag); 
  }
  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(elements[i].className.contains(clsName)) {                   
          retVal.push(elements[i]);
          break;
        }            
      }        
    }        
    else if(elements[i].className.contains(clsName)) {          
      retVal.push(elements[i]);    
    }
  }    
  return retVal;
};


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

//\//////////////////////////////////////////////////////////////////////////////////
//\ START --- Standard DIV swapping functions
//\//////////////////////////////////////////////////////////////////////////////////
function swapDivContent(DivStart, DivClass, Varfiller) {
  var elements;
  elements = document.getElementsByClassName(DivClass, "*", DivStart);
  for(var i = 0;i < elements.length;i++) {  
    elements[i].innerHTML = Varfiller;
  }        
}  
// Son-Of-Sucker-Fish IE Hack
// -----------------------------------------------------------------
sfHover = function() {  if (document.getElementsByClassName("mainnav")) {
	  var sfdivs = document.getElementsByClassName("mainnav");
	  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);// END Son-Of-Sucker-Fish IE Hack
// -----------------------------------------------------------------

  function show_hide_by_id(myID, showhide) {
    var v;
    var x = document.getElementById(myID);
    if (x.style) { 
	    v=x.style; 
	  }
    if (showhide=='show') {
//      x.left = 'auto';
      v.left = '50%';
      v.marginTop = -(x.offsetHeight/2) + 'px';
//      x.backgroundPosition = '0 0';
    }
    else
      v.left = '-9999px';
  }
//\  END --- Standard DIV swapping functions

//\//////////////////////////////////////////////////////////////////////////////////
//\ START --- Get information passed via the URL
//\//////////////////////////////////////////////////////////////////////////////////
  function get_Args() 
  {
    var args = new Object();
	  var query = location.search.substring(1); 
	  var pairs = query.split("&");
	  for (var i = 0; i < pairs.length; i++) {
	    var pos = pairs[i].indexOf('=');
	    if (pos == -1) continue;
	    var argname = pairs[i].substring(0,pos);
	    var argvalue = pairs[i].substring(pos+1);
	    args[argname] = unescape(argvalue);
	  }
	  return args;
  }
  
//\  END --- Get information passed via the URL

/*******************
 * Code to add an of focus event to all pages
 ******************************************************/
function addInputFocus() {
  
  var InputElements;
     
  InputElements = document.getElementsByClassName("textfield");
  
  for(var i = 0;i < InputElements.length;i++) {  
//    if( InputElements[i].attachEvent ){
//      InputElements[i].attachEvent('onfocus', function() {event.srcElement.value=""});       
//    else {
//      InputElements[i].setAttribute('onblur', 'this.value=""');       
//    }    
    InputElements[i].onfocus = function() { if (this.value==this.defaultValue)this.value="";    } ;
    InputElements[i].onblur = function() { if (!this.value) this.value=this.defaultValue;    } ;
  }        
}
  
// setTimeout('addInputFocus()', 200);
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
