var oXML_submenu = new AJAXObj(AJAXCrearObjeto());
var subMenu_estoyDentro = false;

var subMenuCache = Array();

function showSubmenu_ajax() {
	var ajax = oXML_submenu;
	var oXML = ajax.ajax;
	var html = "";
	
	ajax.lock = true;
	
	if (oXML.readyState == 4) {
		var xml  = oXML.responseXML.documentElement;
		
		var titMenu = xml.getAttribute('tit');
		if (!titMenu) titMenu = '';
		
		html += '<h3>'+ titMenu +'</h3><br/>';
		
		for (i = 0; i < xml.getElementsByTagName('opcion').length; i++){
			var item = xml.getElementsByTagName('opcion')[i];

			var tit = item.getAttribute('tit');
			var url = item.getAttribute('url');
			var ico = item.getAttribute('ico');
			var onmouseover = item.getAttribute('onmouseover');

			// Si no contienen datos se establecen por defecto
			if (!tit) tit = '';
			if (!url) url = '';
			if (!ico) ico = '';
			if (!onmouseover) onmouseover = '';
			
			if (tit=='-') {
				html += '<div class=\"hr\"></div>';
			} else {
				if (ico && ico!='') {
					html += '<img class="submenuIco" src="img/submenu/'+ ico +'"/>';
				} else {
					html += '<img class="submenuIco" src="img/submenu/dot.gif"/>';
				}
				html += '<a onmouseover="'+ onmouseover +'" onclick="ocultarSubmenu();" href="'+ url +'">';
				html += tit;
				html += '</a>';
				html += '<br/>\n';
			}
		}
		for (i = 0; i < xml.getElementsByTagName('end').length; i++) {
			var item = xml.getElementsByTagName('end')[i];
			subMenuCache[ajax.infoextra['sec']] = html;
			ajax.infoextra['contentdiv'].innerHTML = html;
			ajax.infoextra['div'].style.top = ajax.infoextra['posy'];
			ajax.infoextra['div'].style.display = 'block';
			ajax.lock = false;
		}
	}
}

function showSubmenu_esVisible() {
	return (document.getElementById('divSubmenu').style.display == 'block');
}

function ocultarSubmenu() {
	var obj = document.getElementById('divSubmenu');
	if (obj) {
		obj.style.display = 'none';
		subMenu_heSalidoDelContenido();
	}
}

function ocultarSubmenu_timeOut() {
	if (!subMenu_estoyDentro) {
		document.getElementById('divSubmenu').style.display = 'none';
	} else {
		setTimeout("ocultarSubmenu_timeOut();", 500);
	}
}

function subMenu_heEntradoAlContenido() {
	subMenu_estoyDentro = true;
}

function subMenu_heSalidoDelContenido() {
	subMenu_estoyDentro = false;
}

function reshowSubmenu(pSec, pParam) {
	subMenuCache[pSec] = '';
	showSubmenu(pSec, pParam);
}

function showSubmenu(pSec, pParam) {
	subMenu_heEntradoAlContenido();
	
	if (subMenuCache[pSec] && subMenuCache[pSec]!='') {
		document.getElementById('divSubmenu2').innerHTML = subMenuCache[pSec];
		document.getElementById('divSubmenu').style.top = subMenu_getTop(document.getElementById('btnMenu_'+ pSec)) +'px';
		document.getElementById('divSubmenu').style.display = 'block';
	} else {
		var ajax = oXML_submenu;
		var oXML = ajax.ajax;
		var url  =  'ajaxsubmenus.php?sec='+ pSec;
		if (pParam) {
			url += '&'+ pParam;
		}
		
		if(!ajax.lock) {
			ajax.lock = true;
			ajax.infoextra['sec'] = pSec;
			ajax.infoextra['posy'] = subMenu_getTop(document.getElementById('btnMenu_'+ pSec)) +'px';
			ajax.infoextra['div'] = document.getElementById('divSubmenu');
			ajax.infoextra['contentdiv'] = document.getElementById('divSubmenu2');
			ajax.infoextra['contentdiv'].innerHTML = '<img id="submenuloading" src="img/submenu/loading.gif"/>';
			ajax.infoextra['div'].style.display = 'block';
			oXML.open('GET', url); 
			oXML.onreadystatechange = showSubmenu_ajax;
			oXML.send('');
			ocultarSubmenu_timeOut();
		} else {
			document.getElementById('divSubmenu2').innerHTML = '<img id="submenuloading" src="img/submenu/loading.gif"/>';
			document.getElementById('divSubmenu').style.top = subMenu_getTop(document.getElementById('btnMenu_'+ pSec)) +'px';
			document.getElementById('divSubmenu').style.display = 'block';
		}
	}
}

function subMenu_getTop(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;
}

document.onclick = ocultarSubmenu;
