// ---
/*
	ELO - Encapsulated Load Object, by Robert Nyman, http://www.robertnyman.com
	Inspired and influenced by Dean Edwards, Matthias Miller, and John Resig: http://dean.edwards.name/weblog/2006/06/again/
*/
var ELO = {
	loaded : false,
	timer : null,
	functionsToCallOnload : [], // Type in functions as strings here. e.g. "myFunction()"
	init : function (){
		if(ELO.loaded) return;
		ELO.loaded = true;
		ELO.load();
	},
	
	load : function (){
		if(this.timer){
			clearInterval(this.timer);
		}
		for(var i=0; i<this.functionsToCallOnload.length; i++){
			try{
				eval(this.functionsToCallOnload[i]);
			}
			catch(e){
				// Handle error here
			}
		}
	}
};
// ---
/* Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
	if(document.getElementById){
		document.write("<script id=\"ieScriptLoad\" defer src=\"//:\"><\/script>");
	    document.getElementById("ieScriptLoad").onreadystatechange = function() {
	        if (this.readyState == "complete") {
	            ELO.init();
	        }
	    };
	}
/*@end @*/
// ---
/* Mozilla/Opera 9 */
if (document.addEventListener) {
	document.addEventListener("DOMContentLoaded", ELO.init, false);
}
// ---
/* Safari */
if(navigator.userAgent.search(/WebKit/i) != -1){
    ELO.timer = setInterval(function (){
		if(document.readyState.search(/loaded|complete/i) != -1) {
			ELO.init();
		}
	}, 10);
}
// ---
/* Other web browsers */
window.onload = ELO.init;
// ---

/* Steinhaug Webdesign JS library for Easy CMS */
var swlib = { 
  fixhr_id : 'content',
  fixhr_class : 'hr',
  fixhref: function() {
  var elements = document.getElementsByTagName('a');
  var i;
    for ( i=0;i<elements.length;i++ ) {
      var re = new RegExp("#$");
      if (elements[i].getAttribute('href').match(re)) {
        elements[i].setAttribute('href','javascript:;');
      }
    }
  },
  fixhr: function(){
    if (!document.getElementsByTagName) return;
    var hr = document.getElementById(swlib.fixhr_id).getElementsByTagName('hr');
    for (var i=0; i<hr.length; i++) { 
      var newhr = hr[i]; 
      var wrapdiv = document.createElement('div');
      wrapdiv.className = swlib.fixhr_class;  
      newhr.parentNode.replaceChild(wrapdiv, newhr);  
      wrapdiv.appendChild(newhr);  
    } 
  },
  sethighlight: function (){
    els = getElementsByClassName('highlight','table');
    for (var i=0; i<els.length; i++){
      swlib.highlight(els[i]);
    }
  },
  highlight: function (table){
    if (! table) { return; }
    var tbodies = table.getElementsByTagName("tbody");
    for (var h = 0; h < tbodies.length; h++) {
      var trs = tbodies[h].getElementsByTagName("tr");
      for (var i = 0; i < trs.length; i++) {
        trs[i].onmouseover= function(e){
          this.className = 'highlight';
        };
        trs[i].onmouseout= function(e){
          this.className = '';
        };
      }
    }
  }
};
// addEvent(window,'load',swlib.fixhr,false);
ELO.functionsToCallOnload.push("swlib.fixhr()");
ELO.functionsToCallOnload.push("swlib.sethighlight()");

function $(o) {
  if (typeof(o) == "string")
    return document.getElementById(o)
    else
    return o;
};

function getElementsByClassName(strClass, strTag, objContElm) {
  strTag = strTag || "*";
  objContElm = objContElm || document;
  var objColl = (strTag == '*' && document.all) ? document.all : objContElm.getElementsByTagName(strTag);
  var arr = new Array();
  var delim = strClass.indexOf('|') != -1  ? '|' : ' ';
  var arrClass = strClass.split(delim);
  for (i = 0, j = objColl.length; i < j; i++) {
    var arrObjClass = objColl[i].className.split(' ');
    if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
    var c = 0;
    comparisonLoop:
    for (k = 0, l = arrObjClass.length; k < l; k++) {
      for (m = 0, n = arrClass.length; m < n; m++) {
        if (arrClass[m] == arrObjClass[k]) c++;
        if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
          arr.push(objColl[i]);
          break comparisonLoop;
        }
      }
    }
  }
  return arr;
}

  function applyStyleString(el,str){
    if(document.all && !window.opera) {
      el.style.cssText = str;
      el.setAttribute("cssText",str);
    } else {
      el.setAttribute("style",str);
    }
  };