/*
	DnkBox3 by Danky (c) 2002-2005

	Funciones de dibujo de ventans y botones html de diseño.
	Jose Biosca Martin
	dnkbox en zone-sys punto net
*/

dkbpath="/dnkbox/"
dkbtpath="/dnkbox/temas/"

// debug
testbtn=0;

// Tema por defecto
dkb_tema("dae");

// variables por defecto (se ejecuta antes de cada nuevo tema)
//{{{ dkb_resetvars()
function dkb_resetvars()
{
	// tamaños y posiciones
	dkbsize="60%";  // tamaño de la ventana
	dkbtitpos=0;    // 0=izquierda 1=centrado

	// Variables de configuracion de margenes y tamaños
	dkbtitmarg="4";     // margen del texto del titulo
	dkbnavmarg="8";     // margen de los lados del navegador <- 1/2 ->
	dkbiconmarg="2";    // margen izquierdo del icono1
	dkbicon2marg="2";   // margen derecho del icono2
	dkbtnmargen=4;      // margenes laterales de los botones

	// estilos
	dkbestilo="";    // grupo de estilo css seleccionado
	dkbestiloalt=""; // grupo de estilo css alternativo seleccionado
	
	// centrado y alineado de botones automatico
	easybtn=1;

	// Variables volatiles (cambian al usarse)
	dkbtitulo="";                               // texto del titulo
	dkbicon="";     dkbicon2="";                // Iconos de ventana
	dkbiconlink=""; dkbicon2link="";            // Links iconos
	dkbnavtxt="";   dkbnavant=""; dkbnavsig=""; // Barra de navegacion

	titpaddingleft=0;
	titpaddingright=0;

	// variables de configuracion adicional de estilos (colores, fuentes..)
	dkbbbg=""; // borde background
	dkbtbg=""; // titulo background
	dkbtxt=""; // estilo dentro de las cajas

	// variables de configuracion internas (vars.js)
	dkbtitdinamic=0;    // titulo de altura dinamica
	dkbtitpos=0;        // 0=izquierda 1=centrado
	dkbestilos="";      // estilos alternativos disponibles

	// variables internas de trabajo
	dkbzone="0";  // 0 = zona normal, 1 = zona botones, 2 = zona msg 3 = msgbtn
	loadcss=0;

}
//}}}

  /***********************/
 /* Funciones de usuario /
/***********************/

//{{{ dkb_tema(t)
function dkb_tema(t,eid)
{
	dkbtema=t;
	dkb_resetvars();
	document.write('<script src="'+dkbtpath+dkbtema+'/vars.js"></script>');

	if (typeof(eid) == "undefined") {
		loadcss=1;
		//document.write('<link rel=stylesheet type="text/css" href="/dnkbox/'+dkbtema+'/estilo.css">');
		// cargar los css en el proximo dkb_start, ya que aqui aun no estan
		// disponibles las variables del .js de configuracion
		dkbestilo="dkb_"+dkbtema;
	} else {
		dkbestilo=eid;
	}
}
//}}}

//{{{ dkb_start(str) // str = estilo ventana datos
function dkb_start(str)
{
	if (loadcss==1) { dkb_loadcss(); }
	// hacemos aqui la carga de css en vez de en la funcion dkb_tema ya que
	// la lista de estilos alternativos no esta disponible hasta que se finaliza
	// la funcion y el </script> del dkb_tema
	// por eso hay que poner dkb_tema entre <script> y </script>, no funciona
	// poner el resto de funciones juntas en el mismo script
	
	dkbzone=0;
	document.write('<div id="'+dkbestilo+dkbestiloalt+'">');

	if (str) dkbtxt=str;

	dkb_tabla_start();

	if (dkbtitulo!="") dkb_titulo();
	else dkb_arr();

	dkb_izq();

	dkbtitulo="";
}
//}}}
//{{{ dkb_end()
function dkb_end()
{
	// zona botones?
	if(dkbzone==1 && easybtn==1) document.write('</tr></table>');

	dkb_der();
	dkb_aba();
		
	dkb_tabla_end();
	
	document.write('</div>');

	dkbestiloalt='';
}
//}}}

//{{{ dkb_next(str)
function dkb_next(str)
{
	if (str) dkbtxt=str;

	dkb_der();
	dkb_izq();
}
//}}}
//{{{ dkb_sepnext(str)
function dkb_sepnext(str)
{
	if (str) dkbtxt=str;

	dkb_der();
	dkb_hor();
	dkb_izq();
}
//}}}
//{{{ dkb_sepbtn(str)
function dkb_sepbtn(str)
{
	if (dkbzone==0)
	{
		dkbzone=1;

		if (str) dkbtxt=str;

		dkb_der();
		dkb_hor();
		dkb_izq();

		if (easybtn==1) document.write('<table align=center cellpadding=0 cellspacing=0><tr>');
	}
	if (dkbzone==2)
	{
		dkbzone=3;
		document.write('<table align=center cellpadding=0 cellspacing=0><tr>');
		document.write('<td><br></td></tr><tr>');
	}


}
//}}}

//{{{ dkb_btn()
function dkb_btn(link, data)
{
	if (typeof(data) == "undefined") data="Aceptar";

	dkb_btn_start();
	//document.write('&nbsp;&nbsp;'+data+'&nbsp;&nbsp;');
	document.write('<a href="'+link+'">');
	document.write(data);
	document.write('</a>');
	dkb_btn_end();
}
//}}}
//{{{ dkb_msg(data)
function dkb_msg(data)
{
	dkb_msg_start();
	document.write(data);
	dkb_msg_end();
}
//}}}

  /***********************/
 /* Funciones bajo nivel /
/***********************/

//{{{ dkb_loadcss()
function dkb_loadcss()
{
	// css alternativos si existen
	if (dkbestilos!="")
	{
		arr=dkbestilos.split(' ');
		for (i=0;i<arr.length;i++)
		{
		document.write('<link rel=stylesheet type="text/css" href="'+dkbtpath+dkbtema+'/'+arr[i]+'.css">');
		}
	}
	// css default
	document.write('<link rel=stylesheet type="text/css" href="'+dkbtpath+dkbtema+'/estilo.css">');
	// css mensajes
	document.write('<link rel=stylesheet type="text/css" href="'+dkbtpath+dkbtema+'/msg.css">');
}
//}}}
//{{{ dkb_tabla_start()
function dkb_tabla_start()
{
	// tabla principal
	document.write("<table width="+dkbsize+" border=0 cellspacing=0 cellpadding=0>");
	document.write("<tr><td>");
}
//}}}
//{{{ dkb_tabla_end()
function dkb_tabla_end()
{
	// fin tabla principal
	document.write("</td></tr></table>");
}
//}}}

//{{{ dkb_titulo()
function dkb_titulo()
{
	if (dkbtitdinamic=="1") dkb_titarr();
	dkb_titizq();
		dkb_titmid();
	dkb_titder();
	if (dkbtitdinamic=="1") dkb_titaba();
}
//}}}

//{{{ dkb_titarr()
function dkb_titarr()
{
	if(dkbbbg!="") b="bgcolor="+dkbbbg; else b="";
	with (document) {
		write("<table "+b+" width=100% border=0");
		write(" cellspacing=0 cellpadding=0><tr>");
		write("<td width=1><img src="+dkbtpath+dkbtema+"/titarrizq.png></td>");
		write("<td width=100% background="+dkbtpath+dkbtema+"/titarr.png>");
		write("<img src="+dkbtpath+dkbtema+"/titarr.png></td>");
		write("<td width=1><img src="+dkbtpath+dkbtema+"/titarrder.png></td>");
		write("</tr></table>");
	}
}
//}}}
//{{{ dkb_titaba()
function dkb_titaba()
{
	if(dkbbbg!="") b="bgcolor="+dkbbbg; else b="";
	with (document) {
		// tabla titulo abajo
		write("<table "+b+" width=100% border=0");
		write(" cellspacing=0 cellpadding=0><tr>");
		write("<td align=right><img src="+dkbtpath+dkbtema+"/titabaizq.png></td>");
		write("<td width=100% background="+dkbtpath+dkbtema+"/titaba.png>");
		write("<img src="+dkbtpath+dkbtema+"/titaba.png></td>");
		write("<td align=left><img src="+dkbtpath+dkbtema+"/titabader.png></td>");
		write("</tr></table>");
	}
}
//}}}

//{{{ dkb_titizq()
function dkb_titizq()
{
	if(dkbbbg!="") b="bgcolor="+dkbbbg; else b="";
	with (document) {
		// tabla titulo medio
		write("<table width=100% ");
		write("height="+ysiztit+" border=0");
		write(" cellspacing=0 cellpadding=0><tr>");

		write("<td "+b+" height="+ysiztit+" width="+xsiztitizq+" valign=bottom width=1");
		if (dkbtitdinamic==1) {
			write(" background="+dkbtpath+dkbtema+"/titizq.png");
		}
		write(">");
		write("<img height="+ysiztit+" width="+xsiztitizq+" src="+dkbtpath+dkbtema+"/titizq.png></td>");
		write("<td height="+ysiztit+" width=100% background="+dkbtpath+dkbtema+"/titmid.png>");
	}
}
//}}}
//{{{ dkb_titmid()
function dkb_titmid()
{
	if(dkbtbg!="") t="bgcolor="+dkbtbg; else t="";
	with (document) {
		// tabla icono/titulo
		//write('<div >');
		write("<table id='"+dkbestilo+dkbestiloalt+"_tit' height=100% width=100% border=0 cellpadding=0 cellspacing=0 valign=center>");
		
		//write("<tr><td height=1></td></tr>");
		
		write("<tr "+t+">");
		// icono izquierda?
		if (dkbicon!="") {
			write("<td width="+dkbiconmarg+"></td>");
			write("<td id='"+dkbestilo+dkbestiloalt+"_icon' valign=middle width=1>");
			if (dkbiconlink!="") write("<a href="+dkbiconlink+">");
			write("<img border=0 src="+dkbicon+">");
			if (dkbiconlink!="") write("</a>");
			write("</td>");
		}
		// para que el centrado este centrado si hay 1 icono :)
		if (dkbtitpos==1 && !dkbicon && dkbicon2) {
			write("<td width=20></td>");
		}
		
		// barra navegacion oculta (centrado)
		if (dkbtitpos==1 && dkbnavtxt!="") dkb_tit_nav2();

		// Ajuste de centrado por si las imagenes laterales son diferentes
		//if (dkbtitpos==1 && titpaddingleft>0) {
		if (dkbtitpos==1) {
			d=Number(xsiztitder)-Number(xsiztitizq);
			if(d>0) write("<td width="+d+"></td>");
		}
		
		// escribimos el titulo
		write("<td width="+dkbtitmarg+"></td>");
		if(dkbtitpos==0) write("<td align=left>");
		if(dkbtitpos==1) write("<td align=center>");
		if(dkbtitpos==2) write("<td align=right>");
		//write('<div id="'+dkbestilo+dkbestiloalt+'_tittxt">');
		write('<p>');
		write(dkbtitulo);
		write('</p>');
		//write('</div>');
		write("</td>");
		write("<td width="+dkbtitmarg+">&nbsp;</td>");
		
		// Ajuste de centrado por si las imagenes laterales son diferentes
		if (titpaddingright>0) {
			write("<td width="+titpaddingright+"></td>");
		}
		
		// barra navegacion
		if (dkbnavtxt!="") dkb_tit_nav();
		
		// icono derecha?
		if (dkbicon2!="") {
			write("<td id='"+dkbestilo+dkbestiloalt+"_icon2' valign=middle width=1>");
			if (dkbicon2link!="") write("<a href="+dkbicon2link+">");
			write("<img border=0 src="+dkbicon2+">");
			if (dkbicon2link!="") write("</a>");
			write("</td>");
			write("<td width="+dkbicon2marg+"></td>");
		}
		// para que el centrado este centrado si hay 1 icono :)
		if (dkbicon && !dkbicon2) {
			write("<td width=20></td>");
		}

		// cerramos tabla icono/titulo
		write("</tr></table>");

		dkbicon=""; dkbicon2="";
	}
}
//}}}
//{{{ dkb_titder()
function dkb_titder()
{
	if(dkbbbg!="") b="bgcolor="+dkbbbg; else b="";
	with (document) {
		write("</td>");
		write("<td "+b+" height="+ysiztit+" width="+xsiztitder+" valign=bottom");
		if (dkbtitdinamic==1) {
			write(" background="+dkbtpath+dkbtema+"/titder.png");
		}
		write(">");
		write("<img height="+ysiztit+" width="+xsiztitder+" src="+dkbtpath+dkbtema+"/titder.png></td>");
		write("</tr></table>");
	}
}
//}}}

//{{{ dkb_nav()
function dkb_nav()
{
	with (document)
	{
		// estilo nav
		write('<div id="'+dkbestilo+dkbestiloalt+'_nav">');
		
		// boton anterior
		//if (dkbnavant!="") {
		//	write("<a class=nav href='"+dkbnavant+"'>");
		//	write("<img src="+dkbtpath+dkbtema+"/fleizq.png border=0></a>");
		//} else write("<img src="+dkbtpath+dkbtema+"/fleizqno.png border=0>");
		
		// transformamos espacios a &nbsp; (nowrap no rula)
		act=1;
		for (i=0;i<dkbnavtxt.length;i++) {
			c=dkbnavtxt.charAt(i);
			if (c=="<") act=0;
			if (c==">") act=1;
			if (c==" " && act==1) write("&nbsp;");
			else write(c);
		}
		
		// boton siguiente
		//if (dkbnavsig!="") {
		//	write("<a class=nav href='"+dkbnavsig+"'>");
		//	write("<img src="+dkbtpath+dkbtema+"/fleder.png border=0></a>");
		//} else write("<img src="+dkbtpath+dkbtema+"/flederno.png border=0>");
		
		write('</div>');

		// reset
		dkbnavtxt=""; dkbnavant=""; dkbnavsig="";
	}
}
//}}}

//{{{ dkb_tit_nav()
function dkb_tit_nav()
{
	with (document)
	{
		// margen nav
		write("<td width="+dkbnavmarg+"></td>");
		
		// boton anterior
		write("<td id='"+dkbestilo+dkbestiloalt+"_navimg' valign=middle width=1>");
		if (dkbnavant!="") {
			write("<a href='"+dkbnavant+"'>");
			write("<img src="+dkbtpath+dkbtema+"/fleizq.png border=0></a>");
		} else write("<img src="+dkbtpath+dkbtema+"/fleizqno.png border=0>");
		write("</td>");
		
		// pagina actual/numero paginas, etc
		write('<td width=1>');
		// estilo nav
		write('<div id="'+dkbestilo+dkbestiloalt+'_nav">');
		// transformamos espacios a &nbsp; (nowrap no rula)
		act=1;
		for (i=0;i<dkbnavtxt.length;i++) {
			c=dkbnavtxt.charAt(i);
			if (c=="<") act=0;
			if (c==">") act=1;
			if (c==" " && act==1) write("&nbsp;");
			else write(c);
		}
		write('</div>');
		write("</td>");
		
		// boton siguiente
		write("<td id='"+dkbestilo+dkbestiloalt+"_navimg' valign=middle width=1>");
		if (dkbnavsig!="") {
			write("<a class=nav href='"+dkbnavsig+"'>");
			write("<img src="+dkbtpath+dkbtema+"/fleder.png border=0></a>");
		} else write("<img src="+dkbtpath+dkbtema+"/flederno.png border=0>");
		write("</td>");
		
		// margen nav
		write("<td width="+dkbnavmarg+"></td>");

		// reset
		dkbnavtxt=""; dkbnavant=""; dkbnavsig="";
	}
}
//}}}
//{{{ dkb_tit_nav2()
function dkb_tit_nav2()
{
	with (document)
	{
		// margen nav
		write("<td width="+dkbnavmarg+"></td>");
		
		// boton anterior
		write("<td id='"+dkbestilo+dkbestiloalt+"_navimg' valign=middle width=1>");
		if (dkbnavant!="") {
			write("<a href='"+dkbnavant+"'>");
			write("<img style=visibility:hidden src="+dkbtpath+dkbtema+"/fleizq.png border=0></a>");
		} else write("<img style=visibility:hidden src="+dkbtpath+dkbtema+"/fleizqno.png border=0>");
		write("</td>");
		
		// pagina actual/numero paginas, etc
		write("<td width=1>");
		// estilo nav
		write('<div style=visibility:hidden id="'+dkbestilo+dkbestiloalt+'_nav">');
		//write("<td class=nav width=1>");
		// transformamos espacios a &nbsp; (nowrap no rula)
		act=1;
		for (i=0;i<dkbnavtxt.length;i++) {
			c=dkbnavtxt.charAt(i);
			if (c=="<") act=0;
			if (c==">") act=1;
			if (c==" " && act==1) write("&nbsp;");
			else write(c);
		}
		write('</div>');
		write("</td>");
		
		// boton siguiente
		write("<td id='"+dkbestilo+dkbestiloalt+"_navimg' valign=middle width=1>");
		if (dkbnavsig!="") {
			write("<a class=nav href='"+dkbnavsig+"'>");
			write("<img style=visibility:hidden src="+dkbtpath+dkbtema+"/fleder.png border=0></a>");
		} else write("<img style=visibility:hidden src="+dkbtpath+dkbtema+"/flederno.png border=0>");
		write("</td>");
		
		// margen nav
		write("<td width="+dkbnavmarg+"></td>");

	}
}
//}}}

//{{{ dkb_arr()
function dkb_arr()
{
	with (document) {
		// tabla borde superior
		write("<table border=0 width=100% ");
		write(" cellpadding=0 cellspacing=0>");
		write("<tr>");
		write("<td><img src="+dkbtpath+dkbtema+"/arrizq.png></td>");
		write("<td width=100% background="+dkbtpath+dkbtema+"/arr.png>");
		write("<img src="+dkbtpath+dkbtema+"/arr.png></td>");
		write("<td><img src="+dkbtpath+dkbtema+"/arrder.png></td>");
		write("</tr></table>");
	}
}
//}}}
//{{{ dkb_aba()
function dkb_aba()
{
	if(dkbbbg!="") b="bgcolor="+dkbbbg; else b="";
	with (document) {
		write("<table "+b+" border=0 height="+ysizaba+" width=100% ");
		write(" cellpadding=0 cellspacing=0>");
		write("<tr>");
		write("<td height="+ysizaba+" width="+xsizabaizq+" valign=top><img src="+dkbtpath+dkbtema+"/abaizq.png height="+ysizaba+" width="+xsizabaizq+"></td>");
		
		write("<td height="+ysizaba+" width=100% background="+dkbtpath+dkbtema+"/aba.png height="+ysizaba+" width=100%>");

		// DNK Necesario??? ahora usamos height, quizas no haga falta
		//write("<img src="+dkbtpath+dkbtema+"/aba.png height="+ysizaba+" width=1>");
		write("</td>");

		write("<td height="+ysizaba+" width="+xsizabader+"><img src="+dkbtpath+dkbtema+"/abader.png height="+ysizaba+" width="+xsizabader+"></td>");
		
		write("</tr></table>");
	}
}
//}}}

//{{{ dkb_izq()
function dkb_izq()
{
	if(dkbbbg!="") b="bgcolor="+dkbbbg; else b="";
	with (document) {
		// tabla datos
		write("<table border=0 height="+ysizlat+" width=100% ");
		write(" cellpadding=0 cellspacing=0>");
		write("<tr>");
		write("<td "+b+" width="+xsizizq+" height="+ysizlat+" background="+dkbtpath+dkbtema+"/izq.png>");
		write("<img src="+dkbtpath+dkbtema+"/izq.png width="+xsizizq+" height="+ysizlat+">");
		write("</td>");
		z="_zonatxt";
		if (dkbzone==1) z="_zonabtn";
		if (dkbtxt!="") s="style='"+dkbtxt+"'"; else s="";
		write('<td '+s+' width=100% height='+ysizmid+'><div id="'+dkbestilo+dkbestiloalt+z+'">');
		// margen
		//write ("<table border=0 width=100% height=100% cellpadding=0 ");
		//write ("cellspacing="+dkbmarg+"><tr><td>");
	}
}
//}}}
//{{{ dkb_der()
function dkb_der()
{
	if(dkbbbg!="") b="bgcolor="+dkbbbg; else b="";
	with (document) {
		// margen
		//write("</td></tr></table>");
		// finalizamos tabla datos
		write("</td>");
		write("<td "+b+" width="+xsizder+" height="+ysizlat+" background="+dkbtpath+dkbtema+"/der.png>");
		write("<img width="+xsizder+" height="+ysizlat+" src="+dkbtpath+dkbtema+"/der.png>");
		write("</td>");
		write("</tr></table>");
	}
}
//}}}

//{{{ dkb_hor()
function dkb_hor()
{
	if(dkbbbg!="") b="bgcolor="+dkbbbg; else b="";

	with (document) {
		write("<table "+b+" height="+ysizmid+" border=0 width=100% ");
		write(" cellpadding=0 cellspacing=0>");
		write("<tr>");
		write("<td height="+ysizmid+" width="+xsizmidizq+"><img height="+ysizmid+" width="+xsizmidizq+" src="+dkbtpath+dkbtema+"/midizq.png></td>");
		write("<td height="+ysizmid+" width=100% background="+dkbtpath+dkbtema+"/midhor.png>");
		// DNK: necesario? ahora usamos tamaños de imagenes
		//write("<img src="+dkbtpath+dkbtema+"/midhor.png></td>");
		write("<td height="+ysizmid+" width="+xsizmidder+"><img  height="+ysizmid+" width="+xsizmidder+" src="+dkbtpath+dkbtema+"/midder.png></td>");
		//write("<td width=1><img src="+dkbtpath+dkbtema+"/midder.png></td>");
		write("</tr></table>");
	}
}
//}}}

//{{{ dkb_btn_start(margen)
function dkb_btn_start(margen)
{
	if (typeof(margen) == "undefined") margen=dkbtnmargen;

	if (dkbzone==1 && easybtn==1) document.write("<td>");
	if (dkbzone==3) document.write("<td>");

	with (document) {
		// Necesita align=left para que no se monte con el siguiente boton
		// quitado align=left porque no va bien en galeon. se necesita una
		// tabla para que no se monten los botones :(
		write('<table border=0 cellpadding=0 cellspacing=0><tr>');
		write('<td ');
		if (testbtn==1) write('bgcolor=red ');
		write('width='+margen+'></td>'); // margen
		write('<td>');
		//write('<img src="'+dkbtpath+dkbtema+'/btnl.png" width='+_btnlx+' height='+_btny+'>');
		write('<img src="'+dkbtpath+dkbtema+'/btnl.png" height='+ysizbtnl+' width='+xsizbtnl+'>');
		write('</td>');
		//write('<td background="'+dkbtpath+dkbtema+'/btnm.png" height='+_btny+'>');
		write('<td background="'+dkbtpath+dkbtema+'/btnm.png" valign=down><nobr>');
		//write('<div class=btn>');
		write('<div id="'+dkbestilo+dkbestiloalt+'_btn">');
		// pequeño truco para que la fuente salga centrada en explorer
		write('<font style="font-size:13px">&nbsp;</font>');
	}
}
//}}}
//{{{  dkb_btn_end(margen)
function dkb_btn_end(margen)
{
	if (typeof(margen) == "undefined") margen=dkbtnmargen;

	with (document) {
		// pequeño truco para que la fuente salga centrada en explorer
		write('<font style="font-size:13px">&nbsp;</font>');
		write('</div>');

		write('</nobr></td>');
		write('<td>');
		//write('<img src="'+dkbtpath+dkbtema+'/btnr.png" width='+_btnrx+' height='+_btny+'>');
		write('<img src="'+dkbtpath+dkbtema+'/btnr.png" height='+ysizbtnr+' width='+xsizbtnr+'>');
		write('</td>');
		write('<td ');
		if (testbtn==1) write('bgcolor=green ');
		write('width='+margen+'></td>'); // margen
		write('</tr></table>');
	}
	
	if (dkbzone==1 && easybtn==1) document.write("</td>");
	if (dkbzone==3) document.write("</td>");
}
//}}}

//{{{ dkb_msg_start()
function dkb_msg_start()
{
	if (loadcss==1) { dkb_loadcss(); }
	dkbzone=2;
	dkbestiloalt="_msg";
	document.write('<div id="'+dkbestilo+dkbestiloalt+'">');
}
//}}}
//{{{ dkb_msg_end()
function dkb_msg_end(margen)
{
	// cerramos tabla easybtn
	if (dkbzone==3)
	{
		document.write("</tr></table>");
	}
	dkbzone=0;
	document.write('</div>');
	dkbestiloalt="";
}
//}}}
