/**
 * @author jcimafranca
 */

var delay_hide=500;

	function MM_preloadImages() { //v3.0
	  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}
	
	function findPosX(obj) {
	    var curleft = 0;
	    if (obj.offsetParent) {
	        while (1) {
	            curleft+=obj.offsetLeft;
	            if (!obj.offsetParent) {
	                break;
	            }
	            obj=obj.offsetParent;
	        }
	    } else if (obj.x) {
	        curleft+=obj.x;
	    }
	    return curleft;
	}
	function findPosY(obj) {
	    var curtop = 0;
	    if (obj.offsetParent) {
	        while (1) {
	            curtop+=obj.offsetTop;
	            if (!obj.offsetParent) {
	                break;
	            }
	            obj=obj.offsetParent;
	        }
	    } else if (obj.y) {
	        curtop+=obj.y;
	    }
	    return curtop;
	}
	
	
	function subMenuObject(obj_name)
	{
		this.name = obj_name;
		this.menuDivs = new Array();
		this.menuDivs.length = 0;
		this.sections = new Object();
		this.menuImages = new Array();
		this.offsets = new Array();
		this.stickySection = null;
		this.addSubMenu = function(section_id, content, main_replacement_image, offset)
		{
			this.sections[section_id] = this.menuDivs.length;
			this.menuDivs.push('<div id="sub_' + section_id + '" class="sub_' + section_id + '">' + content + '</div>');
			this.menuImages.push(main_replacement_image);
			if (offset) this.offsets.push(offset);
			else this.offsets.push(0);
		};
		this.setStickySection =  function(section_id)
		{
			if (this.sections[section_id]) this.stickySection = this.sections[section_id];
			else this.stickySection = -1;
		};
		this.showSubMenu = function(section_id)
		{
			//window.alert('showing sub menu ' + section_id);
			this.clearHider();
			for (var i in this.sections)
				if (i!=section_id) this.resetImage(i);
			if (this.sections[section_id] == null) return;
			var section_nr = this.sections[section_id];
			this.clearHider();
			
			var imgObj = document.getElementById('img_' + section_id);
			if (imgObj)
			{
				if (! imgObj.oSrc) imgObj.oSrc = imgObj.src;
				imgObj.src = this.menuImages[section_nr];
			}
	
			
			if (document.getElementById || document.all)
			{
				document.getElementById('sub_menu').style.position = 'relative';
				document.getElementById('sub_menu').style.left = this.offsets[section_nr] + 'px';
				document.getElementById('sub_menu').innerHTML = this.menuDivs[section_nr];
			}
			else //old browser
			{
				document.write(this.menuDivs[section_nr]);
				document.close();
			}
			
			
		};
		this.resetSubMenuDelayed = function()
		{
			this.delayedHide = null;
			if (document.getElementById || document.all) document.getElementById('sub_menu').innerHTML = '';
			if (this.stickySection != null)
				this.showSubMenu(this.stickySection);
			else
				for (var i in this.sections)
					this.resetImage(i);
		};
		this.resetSubMenu =  function()
		{
			this.delayedHide = setTimeout(this.name + ".resetSubMenuDelayed()", delay_hide);
		};
		this.clearHider =  function()
		{
			if (this.delayedHide)
				clearTimeout(this.delayedHide);
			this.delayedHide = null;
		};
		this.resetImage = function(section_id)
		{
			if (img = document.getElementById('img_' + section_id))
				if (img.oSrc)
				{
					img.src = img.oSrc;
					img.oSrc = null;
				}
		};
		this.setStickySection = function(section_id)
		{
			if (this.sections[section_id] == null) this.stickySection = null;
			else this.stickySection = section_id;
		};
	}		
