var Navegador = "ms"; var Version = 4; var SistOp = "w32"; InicializaTodo(); function InicializaTodo() { var ss; ss = navigator.appName.toLowerCase(); if(ss.indexOf("microsoft") != -1) Navegador = "ms"; else if(ss.indexOf("netscape") != -1) Navegador = "nv"; else Navegador = "ot"; ss = navigator.appVersion.toLowerCase(); if(ss.indexOf("win") != -1) SistOp = "w32"; else if(ss.indexOf("os/2") != -1) SistOp = "os2"; else if (ss.indexOf("unix") != -1) SistOp = "unx"; else if(ss.indexOf("mac") != -1) SistOp = "mac"; else SistOp = "des"; Version = parseInt(ss); if(Navegador == "ms") if(navigator.userAgent.indexOf('MSIE 5') > 0) Version = 5; } var ultimaIMG = ""; var ultimoArchivo = ""; function CambiaIMG(nombre, archivo) { var obj = ObjetoCapa(nombre); if(obj) if(obj.src) { ultimaIMG = nombre; ultimoArchivo = obj.src; obj.src = archivo; } } function RestauraIMG() { if(ultimaIMG != "" && ultimoArchivo != "") CambiaIMG(ultimaIMG, ultimoArchivo); } function ObjetoCapa(nombre, doc) { var i, obj; if(!doc) doc = document; if(!(obj=doc[nombre])) if(doc.all) obj = doc.all[nombre]; else if(doc.getElementById) obj = doc.getElementById(nombre); for(i=0; !obj && doc.layers && i < doc.layers.length; i++) obj = ObjetoCapa(nombre, doc.layers[i].document); return obj; } function BuscaCapa(nombre) { var obj; obj = ObjetoCapa(nombre); if(obj) if(obj.style) { obj = obj.style; } return obj; } function IniciaCapa(nombre, px, py, pw, ph, cl, ct, cr, cb, visible) { var obj; obj = BuscaCapa(nombre); if(obj != null) { PosicionaObjeto(obj, px, py); DimensionaObjeto(obj, pw, ph); if(arguments.length >= 9 && cl != null && ct != null && cr != null && cb != null) RecortaObjeto(obj, cl, ct, cr, cb); else { obj.RecX1 = 0; obj.RecY1 = 0; obj.RecX2 = pw; obj.RecY2 = ph; } if(arguments.length >= 10 && visible != null) if(visible == true) MuestraObjeto(obj); else OcultaObjeto(obj); } } var CuentaLineas = 0; var Lineas = new Array(); var CapaDestino = null; function AbreCapa(nombre) { var obj; obj = ObjetoCapa(nombre); if(obj != null) { CapaDestino = obj; if(Navegador == "nv" && Version <= 4) obj.document.open(); else CuentaLineas = 0; } } function CierraCapa() { var obj, n, ss; obj = CapaDestino; if(obj != null) { if(Navegador == "nv" && Version <= 4) obj.document.close(); else { ss = ""; for(n = 0; n < CuentaLineas; n++) { ss = ss + Lineas[n] + "\n"; } obj.innerHTML = ss; CuentaLineas = 0; } } CapaDestino = null; } function EscribeCapa(texto) { obj = CapaDestino; if(obj != null) { if(Navegador == "nv" && Version <= 4) obj.document.writeln(texto); else Lineas[CuentaLineas++] = texto; } } function DesplazaObjeto(capa, dx, dy) { if(dx != 0) { capa.coorx += dx; capa.left = capa.coorx; } if(dy != 0) { capa.coory += dy; capa.top = capa.coory; } } function DesplazaCapa(nombre, dx, dy) { var obj; obj = BuscaCapa(nombre); if(obj != null) DesplazaObjeto(obj, dx, dy); } function MuestraObjeto(capa) { var v; if (capa != null) { if (Navegador == "ms" || Version > 4) { v = "visible"; } else v = "show"; capa.visibility=v; } } function MuestraCapa(nombre) { var v, obj; obj = BuscaCapa(nombre); MuestraObjeto(obj); } function OcultaObjeto(capa) { var v; if (capa != null) { if (Navegador == "ms" || Version > 4) { v = "hidden"; } else v = "hide"; capa.visibility = v; } } function OcultaCapa(nombre) { var obj; obj = BuscaCapa(nombre); OcultaObjeto(obj); } function PosObjetoX(capa) { return capa.coorx; } function PosObjetoY(capa) { return capa.coory; } function CapaX(nombre) { var obj = BuscaCapa(nombre); if(obj != null) return PosObjetoX(obj); } function CapaY(nombre) { var obj = BuscaCapa(nombre); if(obj != null) return PosObjetoY(obj); } function CapaAncho(nombre) { var obj = BuscaCapa(nombre); if(obj != null) return obj.ancho; } function CapaAlto(nombre) { var obj = BuscaCapa(nombre); if(obj != null) return obj.alto; } function EsVisible(nombre) { var obj; obj = BuscaCapa(nombre); if(obj != null) { if (Navegador == "ms" || Version > 4) { if(obj.visibility == "hidden") return false; else return true; } else { if(obj.visibility == "hidde") return false; else return true; } } else return false; } function DesplazaObjetoX(capa, dx) { if(dx != 0) { capa.coorx += dx; capa.left = capa.coorx; } } function DesplazaCapaX(nombre, dx) { var obj = BuscaCapa(nombre); if(obj != null) DesplazaObjetoX(obj, dx); } function DesplazaObjetoY(capa, dy) { if(dy != 0) { capa.coory += dy; capa.top = capa.coory; } } function DesplazaCapaY(nombre, dy) { var obj = BuscaCapa(nombre); if(obj != null) DesplazaObjetoY(obj, dy); } function DimensionaObjeto(capa, anch, alt) { if(anch != null) { capa.width = anch; capa.ancho = anch; } if(alt != null) { capa.height = alt; capa.alto = alt; } } function DimensionaCapa(nombre, ancho, alto) { var obj = BuscaCapa(nombre); if(obj != null) DimensionaObjeto(obj, ancho, alto); } function PosicionaObjeto(capa, px, py) { capa.coorx = px; capa.coory = py; capa.left = px; capa.top = py; } function PosicionaCapa(nombre, px, py) { var obj = BuscaCapa(nombre); if(obj != null) PosicionaObjeto(obj, px, py); } function PosicionaObjetoY(capa, py) { capa.coory = py; capa.top = py; } function PosicionaCapaY(nombre, py) { var obj = BuscaCapa(nombre); if(obj != null) PosicionaObjetoY(obj, py); } function PosicionaObjetoX(capa, px) { capa.coorx = px; capa.left = px; } function PosicionaCapaX(nombre, px) { var obj = BuscaCapa(nombre); if(obj != null) PosicionaObjetoX(obj, px); } function RecortaObjeto(capa, le, to, ri, bo) { if(Navegador == "nv" && Version <= 4) { if(to != null) capa.clip.top = to; if(ri != null) capa.clip.right = ri; if(bo != null) capa.clip.bottom = bo; if(le != null) capa.clip.left = le; } else { if(to == null) to = capa.RecY1; if(ri == null) ri = capa.RecX2; if(bo == null) bo = capa.RecY2; if(le == null) le = capa.RecX1; capa.clip = "rect("+to+", "+ri+", "+bo+", "+le+")"; } if(le != null) capa.RecX1 = le; if(to != null) capa.RecY1 = to; if(ri != null) capa.RecX2 = ri; if(bo != null) capa.RecY2 = bo; } function RecortaCapa(nombre, le, to, ri, bo) { var obj = BuscaCapa(nombre); if(obj != null) RecortaObjeto(obj, le, to, ri, bo); } function GetClipLeft(capa) { var n = capa.RecX1; if(n == NaN) n = 0; return n; } function CapaClipX1(nombre) { var obj = BuscaCapa(nombre); if(obj != null) return GetClipLeft(obj); else return 0; } function GetClipTop(capa) { var n = capa.RecY1; if(n == NaN) n = 0; return n; } function CapaClipY1(nombre) { var obj = BuscaCapa(nombre); if(obj != null) return GetClipTop(obj); else return 0; } function GetClipRight(capa) { var n = capa.RecX2; if(n == NaN) n = CapaAncho(capa) return n; } function CapaClipX2(nombre) { var obj = BuscaCapa(nombre); if(obj != null) return GetClipRight(obj); else return 0; } function GetClipBottom(capa) { n = capa.RecY2 if(n == NaN) n = CapaAlto(capa) return n; } function CapaClipY2(nombre) { var obj = BuscaCapa(nombre); if(obj != null) return GetClipBottom(obj); else return 0; } var AnimandoTimer = false; var ObjetoAnim = [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]; function AnimacionCapa(nombre, px, py, tiempo, flags, funfin) { var obj, ind, n; px = Math.round(px); py = Math.round(py); ind = -1; for(n = 0; n < 16; n++) if(ObjetoAnim[n] == null) { ind = n; break; } if(ind >= 0) { obj = BuscaCapa(nombre); if(obj != null) { ObjetoAnim[ind] = obj; obj.InicioX = PosObjetoX(obj); obj.InicioY = PosObjetoY(obj); obj.FinalX = px; obj.FinalY = py; obj.RecoLeft = GetClipLeft(obj); obj.RecoTop = GetClipTop(obj); obj.RecoRight = GetClipRight(obj); obj.RecoBottom = GetClipBottom(obj); obj.ElTiempo = tiempo; obj.CuentaAnim = 0; if(arguments.length < 5 || flags == null) obj.FlagsAnim = ""; else obj.FlagsAnim = flags; if(arguments.length < 6 || funfin == null) obj.FuncionFinal = ""; else obj.FuncionFinal = funfin; if(!AnimandoTimer) { AnimandoTimer = true; AnimaDespla(); } } } return ind; } function AnimacionCapaRelativa(nombre, dx, dy, tiempo, flags, funfin) { var px, py, obj; var ind = -1; obj = BuscaCapa(nombre); if(obj != null) { if(flags != null && flags.indexOf("p") != -1) { px = GetClipRight(obj) + dx; py = GetClipBottom(obj) + dy; } else { px = PosObjetoX(obj) + dx; py = PosObjetoY(obj) + dy; } ind = AnimacionCapa(nombre, px, py, tiempo, flags, funfin) } return ind; } var FlagAnimando = true; var DentroDelMeollo = false; function AnimaDespla() { var n, x, y, flags; var ix, iy, fx, fy, cta, tt; var le, to, ri, bo; var obj, ftodo, fle, fto, fri, fbo; var objetos = new Array(); if(DentroDelMeollo) return; DentroDelMeollo = true; if(FlagAnimando) { for(n = 0; n < 16; n++) { objetos[n] = null; if(ObjetoAnim[n] != null) { obj = ObjetoAnim[n]; obj.CuentaAnim += 50; cta = obj.CuentaAnim; tt = obj.ElTiempo; flags = obj.FlagsAnim; if(flags != null && flags.indexOf("p") != -1) { ix = obj.RecoRight; iy = obj.RecoBottom; } else { ix = obj.InicioX; iy = obj.InicioY; } fx = obj.FinalX; fy = obj.FinalY; if(cta >= tt) { x = fx; y = fy; obj.CuentaAnim = 0; ObjetoAnim[n] = null; } else { x = ix + ((fx - ix) * cta) / tt; y = iy + ((fy - iy) * cta) / tt; } obj.recorta = false; obj.mueve = true; obj.nuevo_x = x; obj.nuevo_y = y; if(flags != null && flags.indexOf("p") != -1) { obj.nuevo_px1 = obj.RecoLeft; obj.nuevo_py1 = obj.RecoTop; obj.nuevo_px2 = x; obj.nuevo_py2 = y; obj.recorta = true; obj.mueve = false; } ftodo = (flags.indexOf("c") != -1); fle = (flags.indexOf("l") != -1); fto = (flags.indexOf("t") != -1); fri = (flags.indexOf("r") != -1); fbo = (flags.indexOf("b") != -1); if(ftodo || fle || fto || fri || fbo) { obj.recorta = true; if(ftodo || fle) le = obj.RecoLeft - (x - ix); else le = obj.RecoLeft; if(ftodo || fto) to = obj.RecoTop - (y - iy); else to = obj.RecoTop; if(ftodo || fri) ri = obj.RecoRight - (x - ix); else ri = obj.RecoRight; if(ftodo || fbo) bo = obj.RecoBottom - (y - iy); else bo = obj.RecoBottom; obj.nuevo_px1 = le; obj.nuevo_py1 = to; obj.nuevo_px2 = ri; obj.nuevo_py2 = bo; } objetos[n] = obj; } } for(n = 0; n < 16; n++) { if(objetos[n] != null) { obj = objetos[n]; if(obj.mueve) PosicionaObjeto(obj, obj.nuevo_x, obj.nuevo_y); if(obj.recorta) RecortaObjeto(obj, obj.nuevo_px1, obj.nuevo_py1, obj.nuevo_px2, obj.nuevo_py2); if(ObjetoAnim[n] == null) if(obj.FuncionFinal != "") { setTimeout(obj.FuncionFinal, 10); } } } } DentroDelMeollo = false; setTimeout("AnimaDespla()", 50); } function CancelaAnimacion(num) { var obj; if(DentroDelMeollo) return false; if(num >= 0 && num <= 16) { obj = ObjetoAnim[num]; if(obj != null) { obj.CuentaAnim = 0; ObjetoAnim[num] = null; } } return true; } function PararAnimaciones() { FlagAnimando = false; } function ContinuarAnimaciones() { FlagAnimando = true; } function EstaAnimando(ind) { if(ind >= 0 && ind < 16) { obj = ObjetoAnim[ind]; return (obj != null); } else return false; }