var cssmw = {
  intializeMenu: function(id) {
    var divs = document.getElementById(id).getElementsByTagName('div');
    for(var i=0; i<divs.length; i++) {
	  var div = divs[i];
	  var ul = div.getElementsByTagName('ul')[0];
	  if(ul) {
        if (div.getAttribute('rel') == null || !div.getAttribute('rel')) {
		  ul.style.display = 'block';
		  ul.style.visibility = 'visible';
		  var offset = (div.offsetWidth) ? div.offsetWidth : ul.offsetLeft;
          ul.style.position = 'relative';
          ul.style.left = -1 * offset + 'px';
		  div.style.position = 'absolute';
		  div.style.top = '0px';
		  div.style.left = offset + 'px';
		  div.style.width = '0px';
	      div.style.overflow = 'hidden';
		  div.setAttribute('rel', 'closed');
		  div.id = (div.id) ? div.id : 'cssmw_div_'+i;
        }
        div.parentNode.onmouseover = function(e){
		  var submenu = this.getElementsByTagName('div')[0];
		  var ul = (submenu) ? submenu.getElementsByTagName('ul')[0] : false;
		  if(ul) {
			submenu.setAttribute('rel', 'open');
            cssmw.open(submenu.id);
		  }
        }
        div.parentNode.onmouseout = function(e){
		  var submenu = this.getElementsByTagName('div')[0];
		  var ul = (submenu) ? submenu.getElementsByTagName('ul')[0] : false;
		  if(ul) {
			submenu.setAttribute('rel', 'closed');
			submenu.style.overflow = 'hidden';
            cssmw.close(submenu.id);
		  }
		}
      }  
    }

   	if(navigator.appName == 'Microsoft Internet Explorer' && cssmw.ieVersion() < 7) {
	  var lis = document.getElementById(id).getElementsByTagName('li');
      for(var i=0; i<lis.length; i++) {
	    var li = lis[i];
	    li.className = 'link';
		 var uls = li.getElementsByTagName('ul');
		 for(var u=0; u<uls.length; u++){
         uls[u].style.display = 'none';
		 }
	    var span = li.getElementsByTagName('span')[0];
	    if(span) span.className = 'link';
	    var a = (span) ? span.getElementsByTagName('a')[0] : false;
	    if(a) a.className = 'link';
	    li.onmouseover = function(e) {
	      this.className = 'hover';
	      var ul = this.getElementsByTagName('ul')[0];
			if(ul) ul.style.display = 'block';
	      var span = this.getElementsByTagName('span')[0];
	      if(span) span.className = 'hover';
	      var a = (span) ? span.getElementsByTagName('a')[0] : false;
  	      if(a) a.className = 'hover';
	    }
	    li.onmouseout = function(e) {
	      this.className = 'link';
	      var ul = this.getElementsByTagName('ul')[0];
			if(ul) ul.style.display = 'none'
	      var span = this.getElementsByTagName('span')[0];
	      if(span) span.className = 'link';
	      var a = (span) ? span.getElementsByTagName('a')[0] : false;
  	      if(a) a.className = 'link';			
	    }
 	  }
    }
  },
  
  open: function(id) {
    var e = document.getElementById(id);
	var ul = e.getElementsByTagName('ul')[0];
    if(e && ul) {
	  var left = parseInt(ul.style.left.replace('px',''));	
	  var width = parseInt(e.style.width.replace('px',''));
	  if(e.getAttribute('rel') == 'open' && left < 0) {
	    var inc = (left>-10)?Math.abs(left):10;
		ul.style.left = (left+inc) + 'px';
		e.style.width = (width+inc) + 'px';
		setTimeout('cssmw.open(\''+id+'\')',10);
	  }
	  else if(left == 0) {
		e.style.overflow = 'visible';  
	  }
	}
  },

  close: function(id) {
	var e = document.getElementById(id);
	var ul = e.getElementsByTagName('ul')[0];
	if(e && ul) {
	  var left = parseInt(ul.style.left.replace('px',''));		
	  var width = parseInt(e.style.width.replace('px',''));
	  if(e.getAttribute('rel') == 'closed' && width > 0) {
	    var inc = (width<10)?width:10;
		ul.style.left = (left-inc) + 'px';
		e.style.width = (width-inc) + 'px';
		setTimeout('cssmw.close(\''+id+'\')',10);
	  }
	}
  },
  
  ieVersion: function() {
    var ua = navigator.userAgent.toLowerCase();
    var offset = ua.indexOf("msie ");  
	return (offset == -1) ? 0 : parseFloat(ua.substring(offset + 5, ua.indexOf(";", offset)));
  }  
}
