var tms=new Array();
var tops = new Array();

//Mostra o submenu no mouseover
function over(n){
	if(typeof(tms[n])!= "undefined")clearTimeout(tms[n]);
	
	var elem = document.getElementById("s" + n);
	if(typeof(body) == "undefined") {
		var body = document.getElementsByTagName("BODY");
		//document.getElementById("body"); //
	}
	if (elem != null) {
		//alert('pxLeft='+elem.style.pixelLeft+',offLeft='+elem.offsetLeft+' + offW='+elem.offsetWidth+',offH='+elem.offsetHeight+' > bodyW='+body.clientWidth);
		//alert('posTop='+elem.style.posTop+' - offH=' + elem.offsetHeight);
		if (elem.offsetLeft + elem.offsetWidth > body.clientWidth) {
		    elem.style.posLeft = body.clientWidth - elem.offsetWidth;
		    //elem.style.left -= elem.offsetWidth;
		}
		elem.style.visibility = "visible";
		elem.style.zIndex = '10';
		
	}
	over_item(n);
}
//Esconde o submenu no mouseout
function out(n){
	tms[n] = setTimeout('document.getElementById("s' + n + '").style.visibility = "hidden"',100);
	out_item(n);
}


function overTip(n){
	if(typeof(tms[n])!= "undefined")clearTimeout(tms[n]);
	
	var elem = document.getElementById("s" + n);
	if (elem != null) {

	    if (elem.offsetLeft + elem.offsetWidth > body.clientWidth) {
		    elem.style.posLeft = body.clientWidth - elem.offsetWidth;
		}
	    
	    if (tops[n] == null) {
	        tops[n] = elem.offsetTop;
	        //alert('tops['+n+']='+tops[n]);
	    }
	    //window.status = ('pos: '+elem.style.position+' / top: '+ elem.offsetTop + ' / pxtop: ' + elem.style.posTop+ ' / mouse: '+ event.screenY + ' / pai: '+elem.parentNode.offsetTop);
	    //elem.style.position = 'absolute';
	    
	    elem.style.posTop = elem.parentNode.offsetTop  - elem.offsetHeight - 10;
		elem.style.visibility = "visible";
		
	}
}

function getStyle(el, style) {
    if(!document.getElementById) return;
    
      var value = el.style[toCamelCase(style)];
    
     if(!value)
         if(document.defaultView)
             value = document.defaultView.
                  getComputedStyle(el, "").getPropertyValue(style);
        
         else if(el.currentStyle)
             value = el.currentStyle[toCamelCase(style)];
      
      return value;
 }

 function setStyle(el, style, value) {
    if(!document.getElementById) return;
    
      var value = el.style[toCamelCase(style)];
    
     if(!value)
         if(document.defaultView)
             document.defaultView.
                  getComputedStyle(el, "").setPropertyValue(style, value);
        
         else if(el.currentStyle)
             el.currentStyle[toCamelCase(style)] = value;
      
 }

 /** toCamelCase(input)
  * Converts string input to a camel cased version of itself.
  * For example:
  * toCamelCase("z-index"); // returns zIndex
  * toCamelCase("border-bottom-style"); // returns borderBottomStyle.
  */
 function toCamelCase( sInput ) {
     var oStringList = sInput.split('-');
     if(oStringList.length == 1)    
         return oStringList[0];
     var ret = sInput.indexOf("-") == 0 ? 
     	oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1) : oStringList[0];
     for(var i = 1, len = oStringList.length; i < len; i++){
         var s = oStringList[i];
         ret += s.charAt(0).toUpperCase() + s.substring(1)
     }
     return ret;
 }
  
 function over_item(name) {
	 if(!document.getElementById) return;
	 try {
	 	var item = document.getElementById(name);
	 	item.style.color = "highlighttext";
	 	item.style.backgroundColor = "gray";//"highlight";
	 } catch (e) {
		 //alert(e.message);
	 } 
 }
 
 function out_item(name) {
	 if(!document.getElementById) return;
	 try {
	 	var item = document.getElementById(name);
	 	item.style.color = "";
	 	item.style.backgroundColor = "";
	 } catch (e) {
		 //alert(e.message);
	 }
 }	 

