var anchoDiv;
var anchoActual=0;
var alturaDiv;
function floatbox(funcion,parametro,ancho,id,id_div,actual)
{
	//Explicacion de los parametros:
	//funcion:nombre de la funcion q queremos realizar
	//parametro: direccion de la imagen o url q vayamos a utilizar 
	//ancho: ancho del div float-contenido, en el caso de las imagenes no es necesario, pero para los formularios o url es necesario sino ocupara toda la pantalla
	//id: id del formulario de donde se obtiene la informacion (solo para los formularios)
	//id_div: id del div donde se mostrara los mensajes de los php q procesan los formularios
	switch (funcion)
	{
		case "imagen":
		{
			cargarImagen(parametro,'float-contenido');
			
			break;
		}
		case "url":
		{
			//en el caso de implementar solamente la funcion url no es necesario definir id_div, en tal caso se utilizara el div float-contenido como por defecto
			cargarUrl(parametro,ancho,id_div);
			break;
		}
		case "formulario":
		{
			//para el caso formulario es necesario definir id_div si o si,
			RecorrerForm(parametro,id,ancho,id_div);
			break;
		}
	}
	
	
}
function cerrar()
{
	document.getElementById('float-box').style.display='none';
	document.getElementById('float-ventana').style.display='none';
	document.getElementById('float-ventana').style.height='';
}
function cargarUrl(url,ancho,id_div)
{
	//Creamos un objeto dependiendo del navegador
	var objetoHtml;
	if (window.XMLHttpRequest)
	{
		//Mozilla, Safari, etc
		objetoHtml = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		//Nuestro querido IE
		try 
		{
			objetoHtml = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{ //Version mas antigua
				objetoHtml = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) {}
		}
	}
	if (!objetoHtml)
	{
		alert("No ha sido posible crear un objeto de XMLHttpRequest");
	}
	//Cuando XMLHttpRequest cambie de estado, ejecutamos esta funcion
	objetoHtml.onreadystatechange=function()
	{
		if (objetoHtml.readyState==4 && objetoHtml.status==200)
		{		    
		    cargarobjeto(objetoHtml,ancho,id_div);
		}
	}
	
	objetoHtml.open('GET', url, true); // indicamos con el método open la url a cargar de manera asíncrona
	objetoHtml.setRequestHeader("Content-Type","application/x-javascript; charset:ISO-8859-1"); 
	objetoHtml.send(null); // Enviamos los datos con el metodo send
}
function cargarobjeto(objeto,ancho,id_div)
{
	document.getElementById('float-ventana').style.width=ancho+'px';
	//alert(document.body.scrollTop );
	if (id_div)
	{
		document.getElementById(id_div).innerHTML=objeto.responseText;
	}
	else
	{
		document.getElementById('float-contenido').innerHTML=objeto.responseText;
		document.getElementById('float-box').style.display='block';
		document.getElementById('float-ventana').style.display='block';
		centrarDiv();
		altoDiv=document.getElementById('float-ventana').clientHeight;
		anchoDiv=document.getElementById('float-ventana').clientWidth;
	}
	
}
function cargarImagen(dir,id)
{	
	
	document.getElementById(id).innerHTML='<div class="cargando" id="cargando"></div>';
	document.getElementById('float-ventana').style.width='500px';
	document.getElementById('cargando').innerHTML='&nbsp;<img src="'+dir+'" style="text-align:center;padding-top:10px;display:none;" id="imgCargada"/>';
	document.getElementById('float-box').style.display='block';
	document.getElementById('float-ventana').style.display='block';
	var cabecera = document.getElementById('imgCargada');
	cabecera.onload = function() 
	{
		document.getElementById(id).innerHTML='<img src="'+dir+'" style="text-align:center;padding-top:10px;display:none;" id="imgCargada"/>';
		document.getElementById('imgCargada').style.display='block';
		ancho=document.getElementById('imgCargada').clientWidth;
		ancho=ancho+20;
		document.getElementById('float-ventana').style.width=ancho+'px';
		document.getElementById('float-ventana').style.top=document.documentElement.scrollTop+'px';
		document.getElementById('float-ventana').style.marginTop ="50px";
		document.getElementById('float-ventana').style.marginLeft =-(ancho/2)+"px";
		document.getElementById(id).style.textAlign="center";
	}
	if (cabecera.complete == true ) cabecera.onload();

}
function RecorrerForm(parametro,id,ancho,id_div)
{
	var valores="";
	var frm = document.getElementById(id);
	for (i=0;i<frm.elements.length;i++)
	{
		if (frm.elements[i].type=="text" || frm.elements[i].type=="textarea")
		{
			valores=valores+frm.elements[i].name+'='+frm.elements[i].value+'&';
		}
	}
	
	valores=parametro+valores;
	cargarUrl(valores,ancho,id_div);
}
function centrarDiv()
{
	ancho=document.getElementById('float-ventana').clientWidth;
	ancho=ancho+20;
	if (document.body.scrollTop==0)	document.getElementById('float-ventana').style.top=document.documentElement.scrollTop+'px';
	else document.getElementById('float-ventana').style.top=document.body.scrollTop+'px';
	document.getElementById('float-ventana').style.marginTop ="50px";
	document.getElementById('float-ventana').style.marginLeft =-(ancho/2)+"px";
}
function float_galeria(id,ancho,actual)
{
	cargarUrl('/visor/index.html',ancho);
	numeroActual[id]=actual;
}
function carga_js(url,ancho)
{
	//Creamos un objeto dependiendo del navegador
	var objetoHtml;
	if (window.XMLHttpRequest)
	{
		//Mozilla, Safari, etc
		objetoHtml = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		//Nuestro querido IE
		try 
		{
			objetoHtml = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{ //Version mas antigua
				objetoHtml = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) {}
		}
	}
	if (!objetoHtml)
	{
		alert("No ha sido posible crear un objeto de XMLHttpRequest");
	}
	//Cuando XMLHttpRequest cambie de estado, ejecutamos esta funcion
	objetoHtml.onreadystatechange=function()
	{
		if (objetoHtml.readyState==4 && objetoHtml.status==200)
		{
			document.getElementById('float-ventana').style.width=ancho+'px';
			extraer_id(objetoHtml.responseText,'<id>','</id>');
		}
	}
	objetoHtml.open('GET', url, true) // indicamos con el método open la url a cargar de manera asíncrona
	objetoHtml.send(null) // Enviamos los datos con el metodo send
}
function extraer_id(texto, etqini, etqfin)
{
	var ind0, ind1, idVisor ="";
	ind0 = texto.indexOf(etqini);
	if (ind0 >=0)
	{
		ind1 = texto.indexOf(etqfin);
		if (ind1>ind0)
			idVisor = texto.substring(ind0+etqini.length, ind1);
	}
	extraer_parametros(texto,'<parametros>','</parametros>',idVisor);
}
function extraer_parametros(texto, etqini, etqfin,idVisor)
{
	var ind0, ind1, parametros ="";
	ind0 = texto.indexOf(etqini);
	if (ind0 >=0)
	{
		ind1 = texto.indexOf(etqfin);
		if (ind1>ind0)
			parametros = texto.substring(ind0+etqini.length, ind1);
	}
	//~ var ss = document.createElement('script');
	//~ ss.id = 'parametros_visor_'+idVisor;
	//~ ss.text = parametros;
	//~ var hh = document.getElementsByTagName('head')[0];
	//~ hh.appendChild(ss);
	alert(document.getElementsByTagName('head')[0].innerHTML);
	document.getElementsByTagName('head')[0].innerHTML=document.getElementsByTagName('head')[0].innerHTML+'<script>'+parametros+'</script>';
	alert(document.getElementsByTagName('head')[0].innerHTML);
	extraer_texto(texto, '<html>', '</html>');
}
function extraer_texto(texto, etqini, etqfin)
{
	var ind0, ind1, parte ="";
	ind0 = texto.indexOf(etqini);
	if (ind0 >=0)
	{
		ind1 = texto.indexOf(etqfin);
		if (ind1>ind0)
			parte = texto.substring(ind0+etqini.length, ind1);
	}
	document.getElementById('float-contenido').innerHTML=parte;
	//~ document.getElementById('float-box').style.display='block';
	//~ document.getElementById('float-ventana').style.display='block';
	//~ centrarDiv();
	//~ altoDiv=document.getElementById('float-ventana').clientHeight;
	//~ anchoDiv=document.getElementById('float-ventana').clientWidth;
}
function ocultarDiv(id)
{
	document.getElementById(id).style.display='none';
}


