sM = {
  visibleDiv: false,
  init: function() {
    var divs = document.getElementsByTagName('div');
		for (var u = 0; u < divs.length; u++) {
      if (divs[u].className.search(/\bcolwrapint\b/) == -1) continue;
      divs[u].style.display = 'none';
    }
    $('div_spacer').style.display = 'none';
    var ul = document.getElementById('service_links');
    var links = ul.getElementsByTagName('a');
    for (var l = 0; l < links.length; l++) {
      sM.addEvent(links[l], 'click', sM.showNode, false);
      links[l].onClick = false; //ignore default behaviour in safari
    }
  },
  
  showNode: function(e) {
    sM.cancelClick(e);
    var el = (window.event && window.event.srcElement) ? window.event.srcElement : (e && e.target) ? e.target : false;
    if (!el) return false;
    if (!el.id) return false;
    if($('div_spacer').style.display == 'none') Element.show('div_spacer');
    el.className = 'selected';
    var theId = el.id.replace('a_','');
    if (sM.visibleDiv == theId) return false; //its already visible
    if(sM.visibleDiv) {
      $('a_'+sM.visibleDiv).className = '';
      Effect.Fade(sM.visibleDiv, { afterFinish: function(obj) { sM.visibleDiv = theId; Effect.Appear(theId); } });
    } else {
      Effect.Appear(theId);
      sM.visibleDiv = theId;
    }
    return false;
  },

  cancelClick: function(e) {
    if (window.event && window.event.returnValue) {
      window.event.returnValue = false;
    }
    if (e && e.preventDefault) {
      e.preventDefault();
    }
  },

  addEvent: function(elm, evType, fn, useCapture) {
    // cross-browser event handling for IE5+, NS6 and Mozilla
    // By Scott Andrew
    if (elm.addEventListener) {
      elm.addEventListener(evType, fn, useCapture);
      return true;
    } else if (elm.attachEvent) {
      var r = elm.attachEvent('on' + evType, fn);
      EventCache.add(elm, evType, fn);
      return r;
    } else {
      elm['on' + evType] = fn;
    }
  }
};

sM.addEvent(window, 'load', sM.init, false);
sM.addEvent(window, 'unload', EventCache.flush, false);

