// Marcos Ortega *** abril 2008 ***
// Nicaragua

// motor para mostrar cuadros de dialogos modales
// requiere:
// inclusiond del "script del motor de transparencias"
// ser cargado dentro del <BODY></BODY>

document.write('<div id=\"divDialogoFondo\" style=\"position:absolute;z-index:1;filter:alpha(opacity=50);visibility:hidden;\"></div>');
document.write('<div id=\"divDialogo\" style=\"position:absolute;z-index:2;visibility:hidden;\"></div>');

var _conteoBotones = 0;
var _dialogoVisible = false;

function _dameHTMLBotonDialogo(texto, javas){
		var html = '';
		html += '<table border=0 cellpadding=0 cellspacing=0 class=arial12 style=\"cursor:hand;\" onMouseOver=\"_botonDialogoCambiaEstado('+_conteoBotones+', true);\" onMouseOut=\"_botonDialogoCambiaEstado('+_conteoBotones+', false);\" onClick=\"'+javas+'\">';
		html += '<tr>';
		html += '<td><img src=\"./plantillas/btnVista0.gif\" id=\"btnDialogo'+_conteoBotones+'_0\" width="5" height="24"></td>';
		html += '<td nowrap background=\"./plantillas/btnVista1.gif\" id=\"btnDialogo'+_conteoBotones+'_1\">&nbsp;'+texto+'&nbsp;</td>';
		html += '<td><img src=\"./plantillas/btnVista2.gif\" id=\"btnDialogo'+_conteoBotones+'_2\" width="5" height="24"></td>';
		html += '</tr>';
		html += '</table>';
		_conteoBotones++;
		return html;
}

function _botonDialogoCambiaEstado(idBtn, estado){
	var finalSrc = (estado?'R':'');
	dameObj('btnDialogo'+idBtn+'_0').src = './plantillas/btnVista'+finalSrc+'0.gif';
	dameObj('btnDialogo'+idBtn+'_1').background = './plantillas/btnVista'+finalSrc+'1.gif';
	dameObj('btnDialogo'+idBtn+'_2').src = './plantillas/btnVista'+finalSrc+'2.gif';
}

function ocultaDialogo(){
	dameObj('divDialogo').style.visibility = 'hidden';
	dameObj('divDialogoFondo').style.visibility='hidden';
	//procesaTransp(dameObj('divDialogoFondo'), -10, 1, 'dameObj(\'divDialogoFondo\').style.visibility=\'hidden\';');
	_dialogoVisible = false;
}

function muestraDialogo(contenido, arregloBotones, arregloJavas){
	var exito = false;
	if(document.body){
		//cargar propiedades
		var altoVentana 	= document.body.clientHeight;
		var anchoVentana 	= document.body.clientWidth;
		var altoHTML    	= document.body.scrollHeight;
		var anchoHTML    	= document.body.scrollWidth;
		var despV			= document.body.scrollTop;
		var despH			= document.body.scrollLeft;
		//alert('altoVentana='+altoVentana+';\nanchoVentana='+anchoVentana+';\naltoHTML='+altoHTML+';\nanchoHTML='+anchoHTML+';\n');
		//objeto HTML
		var objFondo		= dameObj('divDialogoFondo');
		var objDialogo		= dameObj('divDialogo');
		if(objFondo && objDialogo){
			var html 		= '';
			//fondo traslucido
			var anchoFondo 	= anchoHTML>anchoVentana?anchoHTML:anchoVentana
			var altoFondo	= altoHTML>altoVentana?altoHTML:altoVentana;
			html			+= '<table bgcolor=#000000 width='+anchoFondo+' height='+altoFondo+' border=0 cellpadding=5 cellspacing=0><tr><td>&nbsp;</td></tr></table>'
			ponHTMLObjeto('divDialogoFondo', html);
			objFondo.style.top = 0;
			objFondo.style.left = 0;
			objFondo.style.visibility = 'visible';
			ponTransparencia(objFondo, 60);
			dameObj('divDialogo').style.visibility='visible';
			//procesaTransp(objFondo, 10, 60, 'dameObj(\'divDialogo\').style.visibility=\'visible\';');
			//cuadro de ocultar/cerrar
			html			= '';
			html 			+= '<table width=500 bgcolor=#FFFFFF bordercolor=#000000 border=3 cellpadding=5 cellspacing=0 class=arial14>';
			html 			+= '<tr><td>';
			html 			+= '<table width=100% border=0 cellpadding=5 cellspacing=0 class=arial14>';
			html 			+= '<tr><td colspan=10>'+contenido+'</td></tr>';
			html 			+= '<tr bgcolor=#EEEEEE><td width=400>&nbsp;</td>'
			html 			+= '<td width=5 nowrap>' + _dameHTMLBotonDialogo('cerrar', 'ocultaDialogo();') + '</td>';
			html 			+= '</tr>';
			html 			+= '</td></tr>';
			html 			+= '</table>';
			ponHTMLObjeto('divDialogo', html);
			var altoDialogo	= objDialogo.offsetHeight;
			var anchoDialogo= objDialogo.offsetWidth;
			objDialogo.style.top 	= despV + ((altoVentana - altoDialogo) / 2);
			objDialogo.style.left 	= despH + ((anchoVentana - anchoDialogo) / 2);
			//cuadro de dialogo
			exito = true;
			_dialogoVisible = true;
		}
	}
	return exito;
}

function _iniciaMotorDialogo(){
	setInterval('_colocaDialogo();', 100);
	//document.onmousemove = actualizaCoordenadasMouse
}

/*var _xPosMouse, _yPosMouse;
_xPosMouse = -1;
_yPosMouse = -1;

function actualizaCoordenadasMouse(e){
		var tmpX, tmpY;
		tmpX 	= event.clientX + document.body.scrollLeft;
		tmpY	= event.clientY + document.body.scrollTop;
		if(tmpX<0) tmpX = 0;
		if(tmpY<0) tmpY = 0;
		_xPosMouse = tmpX;
		_yPosMouse = tmpY;
}
*/

//QUE HAGA SCROLL TAMBIEN
function _colocaDialogo(){
	if(document.body && _dialogoVisible){
		//cargar propiedades
		var altoVentana 	= document.body.clientHeight;
		var anchoVentana 	= document.body.clientWidth;
		var despV			= document.body.scrollTop;
		var despH			= document.body.scrollLeft;
		//objeto HTML
		var objDialogo		= dameObj('divDialogo');
		if(objDialogo){
			//posiicion mouse
			var altoDialogo			= objDialogo.offsetHeight;
			var anchoDialogo		= objDialogo.offsetWidth;
			objDialogo.style.top 	= despV + ((altoVentana - altoDialogo) / 2);
			objDialogo.style.left 	= despH + ((anchoVentana - anchoDialogo) / 2);
		}
	}
}

/*
//PARA QUE SIGA AL MOUSE!
function _colocaDialogo(){
	if(document.body && _dialogoVisible){
		//cargar propiedades
		var altoVentana 	= document.body.clientHeight;
		var anchoVentana 	= document.body.clientWidth;
		var altoHTML    	= document.body.scrollHeight;
		var anchoHTML    	= document.body.scrollWidth;
		var despV			= document.body.scrollTop;
		var despH			= document.body.scrollLeft;
		var anchoFondo 		= anchoHTML>anchoVentana?anchoHTML:anchoVentana
		var altoFondo		= altoHTML>altoVentana?altoHTML:altoVentana;
		//objeto HTML
		var objDialogo		= dameObj('divDialogo');
		if(objDialogo){
			//posiicion mouse
			var posX			= _xPosMouse;
			var posY			= _yPosMouse;
			var xDialogo		= parseInt(objDialogo.style.left);	if(isNaN(xDialogo)) xDialogo=0;
			var yDialogo		= parseInt(objDialogo.style.top);	if(isNaN(yDialogo)) yDialogo=0;
			var altoDialogo		= objDialogo.offsetHeight;
			var anchoDialogo	= objDialogo.offsetWidth;
			if(posX>(xDialogo) && posX<(xDialogo+anchoDialogo) && posY>(yDialogo) && posY<(yDialogo+altoDialogo)){
				//mouse esta dentro del dialogo
			} else {
				//mouse esta fuera del dialogo
				var posDestinoX		= posX - (anchoDialogo / 2);
				var posDestinoY		= posY - (altoDialogo / 2);
				//
				if(posDestinoX<despH + 1) posDestinoX = despH + 1;
				if(posDestinoY<despV + 1) posDestinoY = despV + 1;
				if(posDestinoX+anchoDialogo>despH + anchoVentana) posDestinoX = (despH + anchoVentana) - anchoDialogo - 1;
				if(posDestinoY+altoDialogo >despV + altoVentana)  posDestinoY = (despV + altoVentana)  - altoDialogo  - 1;
				//
				var posFinalX 			= xDialogo + ((posDestinoX - xDialogo)*0.1);
				var posFinalY 			= yDialogo + ((posDestinoY - yDialogo)*0.1);
				//alert('('+posFinalY+', '+posFinalX+')');
				objDialogo.style.top 	= posFinalY;
				objDialogo.style.left	= posFinalX;
			}
		}
	}
}
*/

_iniciaMotorDialogo();











/*
<script language="javascript">
	//document.body 
	//clientWidth, clientHeight 
	//offsetWidth, offsetHeight 
	//scrollWidth, scrollHeight 
	//scrollTop, scrollLeft 
	//alert('clientHeight='+document.body.clientHeight+', offsetHeight='+document.body.offsetHeight+', scrollHeight='+document.body.scrollHeight+', scrollTop='+document.body.scrollTop);
	var objCarro, objGlobo, altoCarro=0, altoGlobo=0, moverCarro=true, carroBuscado=false;
	
	
	function colocaCarro(){
		if(moverCarro && objCarro){
			if(document.body && objCarro.style){
				var altoVentana = document.body.clientHeight;
				var altoHTML    = document.body.scrollHeight;
				if(altoVentana && altoHTML){
					var despV    = document.body.scrollTop;
					var posCarro = parseInt(objCarro.style.top); if(isNaN(posCarro)) posCarro=0;
					var posFinal = 10 + despV;
					if((altoCarro+altoGlobo)>altoVentana)
						posFinal = (despV + altoVentana) - (altoCarro+altoGlobo)
					if(posFinal<=10)	
						posFinal=10;
					var diff = posFinal-posCarro;
					if(diff<-3 || diff>3)
						objCarro.style.top = (posCarro + ((posFinal-posCarro)*0.1));
				}
			}
		}
	}
	</script>
	*/