//
var SEP_AND = new String('|&|');
var SEP_IGUAL = new String('|=|');
var DIR_ROOT = new String('/');
var DIR_FIX = new String('../../');
var ID_IDIOMA_ADMIN = 1;
var ER_WEB_HTTP = new RegExp('^https?://(www\\.[a-z0-9]{1}[a-z0-9\\.\\-]*[a-z0-9]{1}\\.[a-z]{2,6}(\\.[a-z]{3})?(.*)?|([a-z0-9]{2,}\\.)?[a-z0-9]{1}[a-z0-9\\.\\-]*[a-z0-9]{1}\\.[a-z]{2,6}(\\.[a-z]{3})?(.*)?|[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}(.*)?)$');
var ER_EMAIL = /^[a-z0-9_\.\-]+@[a-z0-9_\-]+(\.[a-z0-9_\-]{2,20})*\.[a-z]{2,4}$/;
var ER_NATURAL_NOCERO = new RegExp("^[1-9]+[0-9]*$");
var ER_FECHA = new RegExp("^(([0][1-9])|([12][0-9])|(3[01]))(\/|-)((0[1-9])|(1[012]))(\/|-)([12][0-9]{3})$");
var ER_NATURAL = new RegExp("^[0-9]+$");
var ER_STR = new RegExp("([^ \t\n\r]([ \t\n\r]|[^ \t\n\r])*[^ \t\n\r])+$|^[^ \t\n\r]$");
var msjFiltroLupa = 'Escriba parte de lo que desea
buscar y luego presione ENTER';
var msjFechaLupa = 'Debe ingresar la fecha \n
en el formato DD/MM/YYYY';
var SECCION_FICHA_PRODUCTOS = '6';
var SECCION_FICHA_CATEGORIAS = '7';
var IVA = '21';
var SEP_DEC = '.';
var SEP_MIL = '';
var DECIMALES = '2';
var MONEDA = '$';
var MSJ_PAGINA = 'Pagina';
var CONF_POPUP_INFORMES = 'width=800px,height=713px,scrollbars=yes,resizable=yes';
var CANT_RETRYS = 1;
var MSJ_SIN_CONEXION = "¿Usted esta teniendo problemas con su conexión a Internet desea volver a intentar la acción?";
var CONFIG_IMAGENES = new Array();
var PERMITIR_PRODUCTO = false;
var PERMITIR_MEDIA = false;
var PERMITIR_NOTICIAS = false;
function $(i){
return document.getElementById(i);
}
var Navegador = function(){
this.esIE = false;// Internet Explorer
this.esIE6 = false;
this.esIE7 = false;
this.esIE8 = false;
this.esFf = false;// Mozilla
this.esOp = false;// Opera
this.esNs = false;// Netscape
if(window.navigator.userAgent.search(RegExp("MSIE","im"))!=-1){
this.esIE = true;
if(window.navigator.userAgent.search(RegExp("MSIE 8","im"))!=-1) this.esIE8 = true;
else if(window.navigator.userAgent.search(RegExp("MSIE 7","im"))!=-1) this.esIE7 = true;
else if(window.navigator.userAgent.search(RegExp("MSIE 6","im"))!=-1) this.esIE6 = true;
}
else if(window.navigator.userAgent.search(RegExp("Firefox","im"))!=-1) this.esFf = true;
else if(window.navigator.userAgent.search(RegExp("Opera","im"))!=-1) this.esOp = true;
else if(window.navigator.userAgent.search(RegExp("Safari","im"))!=-1) this.esSa = true;
else if(window.navigator.userAgent.search(RegExp("Netscape","im"))!=-1) this.esNs = true;
};
var Nav = new Navegador();
Function.prototype.closure = function(obj){
// Init object storage.
if (!window.__objs){
window.__objs = [];
window.__funs = [];
}
// For symmetry and clarity.
var fun = this;
// Make sure the object has an id and is stored in the object store.
var objId = obj.__objId;
if (!objId) __objs[objId = obj.__objId = __objs.length] = obj;
// Make sure the function has an id and is stored in the function store.
var funId = fun.__funId;
if (!funId) __funs[funId = fun.__funId = __funs.length] = fun;
// Init closure storage.
if (!obj.__closures) obj.__closures = [];
// See if we previously created a closure for this object/function pair.
var closure = obj.__closures[funId];
if (closure) return closure;
// Clear references to keep them out of the closure scope.
obj = null;
fun = null;
// Create the closure, store in cache and return result.
var o = __objs[objId].__closures[funId] = function (){
if(!!__funs[funId] && !!__objs[objId]) return __funs[funId].apply(__objs[objId], arguments);
else return false;
};
o.__funId = funId;
return o;
};
var EliminarClosures = function(o){
var i = 0;
if(o){
if(o.__objId){
for(i in o.__closures){
delete(window.__funs[i]);
delete(o.__closures[i]);
}
delete(window.__objs[o.__objId]);
/*delete(o.__closures);
delete(o.__objId);*/
o.__closures = null;
o.__objId = null;
}
}
i = null;
}
var LimpiarClosures = function(){
if(!!Nav && !Nav.esIE) window.addEventListener('unload', LimpiarClosures, false);
else window.detachEvent("onunload",LimpiarClosures);
if(window.__objs){
for(i in window.__objs) EliminarClosures(window.__objs[i]);
}
window.__objs = [];
window.__funs = [];
};
var Limpiar = function(){
if(!!Nav && !Nav.esIE) window.addEventListener('unload', LimpiarClosures, false);
else window.attachEvent("onunload", LimpiarClosures);
}();
document.LimpiarClosures = LimpiarClosures;
function AddEvent(o, e, f){
if(Nav.esIE) o.attachEvent('on'+e, f);
else o.addEventListener(e, f, ((Nav.esOp)? false : true));
};
function RemEvent(o, e, f){
if(Nav.esIE) o.detachEvent('on'+e, f);
else o.removeEventListener(e, f, ((Nav.esOp)? false : true));
};
function FireEvent(o, e){
var evt = null;
if(Nav.esIE) o.fireEvent('on'+e);
else{
if(e=='click' || e=='dblclick' || e=='mousedown' || e=='mousemove' || e=='mouseout' || e=='mouseover' || e=='mouseup'){
evt = document.createEvent("MouseEvents");
evt.initMouseEvent(e, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
}
else if(e=='keydown' || e == 'keypress' || e == 'keyup'){
evt = document.createEvent("KeyboardEvent");
evt.initKeyEvent(e, true, true, null, false, false, false, false, 9, 0);
}
else{
evt = document.createEvent("Event");
evt.initEvent(e, true, false);
}
o.dispatchEvent(evt);
}
}
function StopEvent(e){
if(Nav.esIE){
e.returnValue = false;
e.cancelBubble = true;
}
else{
e.preventDefault();
e.stopPropagation();
}
}
function ltrim(str){
return str.replace(/^(\s+)/g, '');
}
function rtrim(str){
return str.replace(/(\s+)$/g, '');
}
function trim(str){
return ltrim(rtrim(str));
}
// JavaScript Document
var Request = function(oListener, metodo){
this.pedido = new crearXHR();
this.reportar = true;
this.respuestaXML = null;
this.respuestaHTML = null;
this.archivo = null;
this.valores = null;
this.listener = oListener;
//
this.onError = null;
this.onRetry = null;
this.retrys = 0;
this.curRetry = 0;
if(!metodo) this.metodo = 'POST';
else this.metodo = metodo;
}
Request.prototype.pedir = function(a, v, m, r){
//inicializamos
if(!!a) this.archivo = a;
if(!!v) this.valores = v;
if(!!m) this.metodo = m;
if(!r) this.curRetry = 0;
//
this.respuestaXML = null;
this.respuestaHTML = null;
//
this.cancelar(this.pedido);
//
this.pedido.onreadystatechange = this.procesar.closure(this);
//
this.pedido.open(this.metodo, this.archivo, true);
//
if(this.valores){
this.valores = this.valores.puntualChars();
this.pedido.send(this.valores);
}
else this.pedido.send();
}
Request.prototype.procesar = function(){
var termino = false;
if(this.pedido && this.pedido.readyState == 4){
var stat = this.pedido.status;
if((stat >= 200 && stat < 300) || stat == 304 || stat == 1223){
if(this.pedido.responseXML) this.respuestaXML = this.pedido.responseXML.documentElement;
this.respuestaHTML = this.pedido.responseText;
if(this.listener && this.listener.onRequestLoad) this.listener.onRequestLoad();
else if(typeof(this.listener)=='function'){ this.listener(); }
}
else if(this.curRetry < this.retrys){
this.curRetry++;
this.pedir(false, false, false, true);
if(typeof(this.onRetry) == 'function'){ this.onRetry(); }
else if(typeof(this.onError) == 'function'){ this.onError(); }
}
else{
if(this.reportar){
ERROR.reportar("Error en clase Request."+
"\nESTADO: "+this.pedido.status+" "+this.pedido.statusText+
"\nARCHIVO: "+this.archivo+
"\nMETODO: "+this.metodo);
}
if(this.onError && (typeof(this.onError) == 'function' || typeof(this.onError) == 'object')){ this.onError(); }
this.cancelar();
}
}
}
Request.prototype.cancelar = function(){
cancelarPedido(this.pedido);
}
//
String.prototype.puntualChars = function(){
var chrs = new Array({'chr':'€', 'ent':'€'}), i, str = this.toString();
for(i = 0; i < chrs.length; i++){
str = str.replace(chrs[i]['chr'], chrs[i]['ent']);
}
return str;
}
String.prototype.unPuntualChars = function(){
var chrs = new Array({'chr':'€', 'ent':'€'}), i, str = this.toString();
for(i = 0; i < chrs.length; i++){
str = str.replace(chrs[i]['ent'], chrs[i]['chr']);
}
return str;
}
/* FUNCION DE CREACION DE XMLHttpRequest */
var crearXHR = function(){
var r = null
if (window.XMLHttpRequest) r = new XMLHttpRequest()
else if(window.ActiveXObject) {
var msp = new Array('Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP')
for(var i = 0; i < msp.length; i++){
try { r = new ActiveXObject(msp[i]) } catch (e){}
}
}
return r
}
/* FUNCION DE DETENCION DE XMLHttpRequest */
var cancelarPedido = function(reqXHR){
if(reqXHR!=null){
reqXHR.onreadystatechange=new Function()//una funcion vacia...
reqXHR.abort()
}
}
//
var ReportarError = function(f, m){
this.archivo = (!!f)? f: DIR_FIX + 'xmlHttpRequest/reportarError.php';
this.metodo = (!!m)? m:'POST';
this.req = new Request();
this.req.reportar = false;
this.alerta = true;
this.reportar = function(msj){
var msg = "Ha ocurrido un error.\nLos administradores del sistema ya han sido notificados del mismo."+
"\nSi el error continua pongase en contacto con los mismos.";
alert(msj);
this.req.pedir(this.archivo, msj, this.metodo);
if(this.alerta){
if(LayError){
LayLoader.showed = Blocker.showed = 1;
LayLoader.hide();
Blocker.hide();
LayError.message = msg;
LayError.onAcept = function(){
LayError.hide();
Blocker.hide();
};
LayError.onCancel = function(){
LayLoader.hide();
Blocker.hide();
};
Blocker.show();
LayError.show();
}
else{ alert(msg); }
}
return false;
};
}
var ERROR = new ReportarError();
/*////////////
File: Tween.js
Creation Date: January 20 2006
Author: Philippe Maegerman
Email: mx2004-at-pandora.be
Website: http://jsTween.blogspot.com
Download: http://cfpim.coffeeflower.com/jsTween/Tween.js
*/////////////
function Delegate() {}
Delegate.create = function (o, f) {
var a = new Array() ;
var l = arguments.length ;
for(var i = 2 ; i < l ; i++) a[i - 2] = arguments[i] ;
return function() {
var aP = [].concat(arguments, a) ;
f.apply(o, aP);
}
}
var Tween = function(obj, prop, func, begin, finish, duration, suffixe){
this.init(obj, prop, func, begin, finish, duration, suffixe)
}
var t = Tween.prototype;
t.obj = new Object();
t.prop='';
t.func = function (t, b, c, d) { return c*t/d + b; };
t.begin = 0;
t.change = 0;
t.prevTime = 0;
t.prevPos = 0;
t.looping = false;
t._duration = 0;
t._time = 0;
t._pos = 0;
t._position = 0;
t._startTime = 0;
t._finish = 0;
t.name = '';
t.suffixe = '';
t._listeners = new Array();
t.setTime = function(t){
this.prevTime = this._time;
if (t > this.getDuration()) {
if (this.looping) {
this.rewind (t - this._duration);
this.update();
this.broadcastMessage('onMotionLooped',{target:this,type:'onMotionLooped'});
} else {
this._time = this._duration;
this.update();
this.stop();
this.broadcastMessage('onMotionFinished',{target:this,type:'onMotionFinished'});
}
} else if (t < 0) {
this.rewind();
this.update();
} else {
this._time = t;
this.update();
}
}
t.getTime = function(){
return this._time;
}
t.setDuration = function(d){
this._duration = (d == null || d <= 0) ? 100000 : d;
}
t.getDuration = function(){
return this._duration;
}
t.setPosition = function(p){
this.prevPos = this._pos;
var a = this.suffixe != '' ? this.suffixe : '';
this.obj[this.prop] = Math.round(p) + a;
this._pos = p;
this.broadcastMessage('onMotionChanged',{target:this,type:'onMotionChanged'});
}
t.getPosition = function(t){
if (t == undefined) t = this._time;
return this.func(t, this.begin, this.change, this._duration);
};
t.setFinish = function(f){
this.change = f - this.begin;
};
t.geFinish = function(){
return this.begin + this.change;
};
t.init = function(obj, prop, func, begin, finish, duration, suffixe){
if (!arguments.length) return;
this._listeners = new Array();
this.addListener(this);
if(suffixe) this.suffixe = suffixe;
this.obj = obj;
this.prop = prop;
this.begin = begin;
this._pos = begin;
this.setDuration(duration);
if (func!=null && func!='') {
this.func = func;
}
this.setFinish(finish);
}
t.start = function(){
this.rewind();
this.startEnterFrame();
this.broadcastMessage('onMotionStarted',{target:this,type:'onMotionStarted'});
//alert('in');
}
t.rewind = function(t){
this.stop();
this._time = (t == undefined) ? 0 : t;
this.fixTime();
this.update();
}
t.fforward = function(){
this._time = this._duration;
this.fixTime();
this.update();
}
t.update = function(){
this.setPosition(this.getPosition(this._time));
}
t.startEnterFrame = function(){
this.stopEnterFrame();
this.isPlaying = true;
this.onEnterFrame();
}
t.onEnterFrame = function(){
if(this.isPlaying) {
this.nextFrame();
setTimeout(Delegate.create(this, this.onEnterFrame), 0);
}
}
t.nextFrame = function(){
this.setTime((this.getTimer() - this._startTime) / 1000);
}
t.stop = function(){
this.stopEnterFrame();
this.broadcastMessage('onMotionStopped',{target:this,type:'onMotionStopped'});
}
t.stopEnterFrame = function(){
this.isPlaying = false;
}
t.continueTo = function(finish, duration){
this.begin = this._pos;
this.setFinish(finish);
if (this._duration != undefined)
this.setDuration(duration);
this.start();
}
t.resume = function(){
this.fixTime();
this.startEnterFrame();
this.broadcastMessage('onMotionResumed',{target:this,type:'onMotionResumed'});
}
t.yoyo = function (){
this.continueTo(this.begin,this._time);
}
t.addListener = function(o){
this.removeListener (o);
return this._listeners.push(o);
}
t.removeListener = function(o){
var a = this._listeners;
var i = a.length;
while (i--) {
if (a[i] == o) {
a.splice (i, 1);
return true;
}
}
return false;
}
t.broadcastMessage = function(){
var arr = new Array();
for(var i = 0; i < arguments.length; i++){
arr.push(arguments[i])
}
var e = arr.shift();
var a = this._listeners;
var l = a.length;
for (var i=0; i document.body.offsetHeight)? HScreen():document.body.offsetHeight) + 'px';
return true;
}
//
var Messages = function(sType){ this.init(sType); }
var p = Messages.prototype;
p.oEle = null;
p.oAcept = null;
p.oCancel = null;
p.oClose = null;
p.oMessage = null;
p.onAcept = null;
p.onCancel = null;
p.message = null;
p.init = function(sType){
var sId = 'lay' + sType;
this.oEle = $(sId);
if(!this.oEle){ return alert('Messages.init: Error al localizar el objeto.'); }
//
this.oAcept = $(sId + 'BtnAceptar');
if(!this.oAcept){ return alert('Messages.init: Error al localizar el boton aceptar.'); }
AddEvent(this.oAcept, 'click', this.acept.closure(this));
imgRollOver(this.oAcept, this.oAcept.src.replace('ff'+ID_IDIOMA+'.gif', 'n'+ID_IDIOMA+'.gif'));
//
if(sType == 'Confirm'){
this.oCancel = $(sId + 'BtnCancelar');
if(!this.oCancel){ return alert('Messages.init: Error al localizar el boton cancelar.'); }
AddEvent(this.oCancel, 'click', this.cancel.closure(this));
imgRollOver(this.oCancel, this.oCancel.src.replace('ff'+ID_IDIOMA+'.gif', 'n'+ID_IDIOMA+'.gif'));
}
//
this.oClose = $(sId + 'BtnCerrar');
if(!this.oClose){ return alert('Messages.init: Error al localizar el boton cerrar.'); }
this.oMessage = $(sId + 'Msj');
if(!this.oMessage){ return alert('Messages.init: Error al localizar el cuadro del mensaje.'); }
AddEvent(this.oClose, 'click', this.cancel.closure(this));
//
AddEvent(this.oEle, 'keypress', function(e){ if(e.keyCode==27){ this.cancel(); }}.closure(this));
return true;
};
p.show = function(){
if(!!this.message){ this.oMessage.innerHTML = this.message; }
this.oEle.style.marginTop = (document.documentElement.scrollTop - Math.ceil(this.oEle.offsetHeight / 2)) + 'px';
this.oEle.style.marginLeft = '-' + Math.ceil(this.oEle.offsetWidth / 2) + 'px';
this.oEle.style.visibility = 'visible';
try{ if(!this.oCancel){ this.oAcept.focus(); }else{ this.oCancel.focus(); } }catch(e){ };
}
p.hide = function(){
this.oEle.style.visibility = 'hidden';
this.oEle.style.marginTop = '-10000px';
}
p.acept = function(){
if(typeof(this.onAcept) == 'function'){ this.onAcept(); }
}
p.cancel = function(){
this.hide();
if(typeof(this.onCancel) == 'function'){ this.onCancel(); }
}
var aSolActs = new Object;
function cambiarSolapa(id, pos, on, off, event){
if(!!aSolActs[id]){
aSolActs[id]['tit'].className = off;
aSolActs[id]['con'].style.display = 'none';
}
aSolActs[id] = new Object;
aSolActs[id]['tit'] = $('titSolDeCont'+id+'Pos'+pos);
aSolActs[id]['tit'].className = on;
aSolActs[id]['con'] = $('conSolDeCont'+id+'Pos'+pos);
aSolActs[id]['con'].style.display = 'block';
if(event) StopEvent(event);
}
function getScrollPos(){
if(Nav.esOp) return {y:window.pageYOffset, x:window.pageXOffset};
else return {y:document.documentElement.scrollTop, x:document.documentElement.scrollLeft};
}
function getWindowDims(){
if(Nav.esOp) return {w:window.innerWidth, h:window.innerHeight};
else return {w:document.documentElement.clientWidth, h:document.documentElement.clientHeight};
}
function getBodyWHAvaible(){
if(Nav.esOp) return {w:window.innerWidth, h:window.innerHeight};
else return {w:document.documentElement.clientWidth, h:document.documentElement.clientHeight};
}
function getBodyDims(){
if(Nav.esOp) return {w:document.body.clientWidth, h:document.body.clientHeight};
else return {w:document.body.offsetWidth, h:document.body.offsetHeight};
}
function WScreen(){ return (Nav.esIE)? document.documentElement.clientWidth : window.innerWidth; }
function HScreen(){ return (Nav.esIE)? document.documentElement.clientHeight : window.innerHeight; }
function YPos(){ return (Nav.esIE)? document.documentElement.scrollTop : window.pageYOffset; }
function XPos(){ return (Nav.esIE)? document.documentElement.scrollLeft : window.pageXOffset; }
function HBody(){ return document.documentElement.scrollHeight; }
function WBody(){ return document.documentElement.scrollWidth; }
var centrarContenido = function(contenido){
if(contenido && typeof(contenido) == "string")contenido = $(contenido);
if(!contenido){
alert("Error en funcion centrarContenido: Contenido inexistente");
return false;
}
var scrll = getScrollPos();
var dims = getBodyWHAvaible();
contenido.style.top = (Math.round((dims.h - contenido.offsetHeight)/2)+scrll.y)+"px";
contenido.style.left = (Math.round((dims.w - contenido.offsetWidth)/2)+scrll.x)+"px";
return true;
}
var MostrarContenido = function(contenido,e){
if(contenido && typeof(contenido) == "string")contenido = $(contenido);
if(!contenido){
alert("Error en funcion MostrarPopUp: Contenido inexistente");
return false;
}
centrarContenido(contenido);
contenido.style.visibility = "visible";
if(e)StopEvent(e);
return true;
}
var OcultarContenido = function(contenido,e){
if(contenido && typeof(contenido) == "string")contenido = $(contenido);
contenido.style.visibility = "hidden";
contenido.style.top = '-'+(contenido.offsetHeight+100)+"px";
if(e)StopEvent(e);
}
var blockeadorGeneral = null;
var mostrarBlockeador = function(mostrar){
if(!blockeadorGeneral){
blockeadorGeneral = $("blockeadorGeneral");
if(Nav.esIE || Nav.esIE7) blockeadorGeneral.style.filter = 'alpha(opacity=45)';
else blockeadorGeneral.style.MozOpacity = ".45";
}
if(mostrar){
var alto = HScreen();
if(alto < HBody())alto = HBody();
var scrn = getBodyDims();
blockeadorGeneral.style.display = "block";
blockeadorGeneral.style.height = alto+"px";
blockeadorGeneral.style.width = scrn.w+"px";
}
else blockeadorGeneral.style.display = "none";
}
var solAntList = null;
var cambiarSolapaLista = function(contenedor,clase,titSol,indiceSolapa,e){
$(contenedor).className = clase;
if(!solAntList)solAntList = $('solListado');
if(solAntList)solAntList.className = '';
try{
oCookie.set('solOrden', titSol.id);
}
catch(e){}
titSol.className = 'on';
solAntList = titSol;
if(e)StopEvent(e);
}
var solapaListaDefecto = function(){
var id = oCookie.get('solOrden');
sol = $(id);
if(sol){
FireEvent(sol,'click');
}
}
var solapaLista = function(conf){
var oConf = conf;
var solAnt = null;
if(!oConf.indice)oConf.indice = '';
this.cambiarSolapaLista = function(titSol,clase,e){
$(oConf.contenedor).className = clase;
if(!solAnt){
if(this.defecto == 'galeria')solAnt = $('solListado'+oConf.indice);
else solAnt = $('solGaleria'+oConf.indice);
}
if(solAnt)solAnt.className = '';
try{
oCookie.set('solOrden'+oConf.indice, titSol.id);
}
catch(e){}
titSol.className = 'on';
solAnt = titSol;
if(e)StopEvent(e);
}
this.solapaListaDefecto = function(forzada){
var id = oCookie.get('solOrden'+oConf.indice);
sol = $(id);
if(sol && !forzada){
FireEvent(sol,'click');
}
else{
if(this.defecto == 'galeria')FireEvent($('solGaleria'+oConf.indice),'click');
else FireEvent($('solListado'+oConf.indice),'click');
}
}
}
var mostrarSubMenu = function(id, e){
var desde = hasta = 0, obj = $(id);
//
if(obj && (e || e == 'init')){
if(parseInt(obj.style.height) == 0 || obj.style.height=='') desde = 0, hasta = obj.scrollHeight;
else if(parseInt(obj.style.height) == obj.scrollHeight || obj.style.height=='auto') desde = obj.scrollHeight, hasta = 0;
if(desde != hasta){
var tm = new Tween(obj.style, 'height', Tween.strongEaseOut, desde, hasta, 2, 'px');
tm.start();
}
}
if(e && e != 'init')StopEvent(e);
}
var verSubTop = function(obj,subMenu,display){
var men = $(subMenu);
if(men){
if(!Nav.esIE && display == 'block'){
//obj.style.position = 'absolute';
men.style.marginTop = obj.offsetHeight+'px';
//obj.style.position = '';
}
men.style.display = display;
}
}
function getElementPos(ele){
var p = ele.style.position;
ele.style.position = 'relative';
var x = ele.offsetLeft;
var y = ele.offsetTop;
ele.style.position = p;
return {'x':x, 'y':y};
}
function setOpacity(opa, ele){
if(!window.innerWidth){ ele.style.filter = 'alpha(opacity='+opa+')'; }
else{ ele.style.opacity = (opa / 100); }
}
function strongEaseInOut(t,b,c,d){
if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
return c/2*((t-=2)*t*t*t*t + 2) + b;
}
var oToolTip = new Object();
oToolTip.mostrar = function(e,conf){
return false;
}
oToolTip.ocultar = function(e,conf){
return false;
}
var setBusqueda = function(url,e){
oCookie.unset('clavePrivada');
oCookie.set('clavePrivada', $('clavePrivada').value);
oCookie.unset('paginaBusqueda');
oCookie.set('paginaBusqueda', 1);
document.location = url;
if(e)StopEvent(e);
}
var setPagina = function(anex,pagina,e){
oCookie.unset('pagina'+anex);
oCookie.set('pagina'+anex, pagina);
if(e)StopEvent(e);
}
var analizarEnterBuscar = function(e){
if(e.keyCode == 13){
FireEvent($('btnBuscar'),'click');
StopEvent(e);
}
}
function writeInElement(elem, tld, name, acc, inner){
elem['href'] = 'mailto:' + acc + '@' + name + '.' + tld;
if(inner){ elem['innerHTML'] = acc + '@' + name + '.' + tld; }
}
function serialize( mixed_value ) {
// http://kevin.vanzonneveld.net
// + original by: Arpad Ray (mailto:arpad@php.net)
// + improved by: Dino
// + bugfixed by: Andrej Pavlovic
// + bugfixed by: Garagoth
// % note: We feel the main purpose of this function should be to ease the transport of data between php & js
// % note: Aiming for PHP-compatibility, we have to translate objects to arrays
// * example 1: serialize(['Kevin', 'van', 'Zonneveld']);
// * returns 1: 'a:3:{i:0;s:5:"Kevin";i:1;s:3:"van";i:2;s:9:"Zonneveld";}'
// * example 2: serialize({firstName: 'Kevin', midName: 'van', surName: 'Zonneveld'});
// * returns 2: 'a:3:{s:9:"firstName";s:5:"Kevin";s:7:"midName";s:3:"van";s:7:"surName";s:9:"Zonneveld";}'
var _getType = function( inp ) {
var type = typeof inp, match;
var key;
if (type == 'object' && !inp) {
return 'null';
}
if (type == "object") {
if (!inp.constructor) {
return 'object';
}
var cons = inp.constructor.toString();
if (match = cons.match(/(\w+)\(/)) {
cons = match[1].toLowerCase();
}
var types = ["boolean", "number", "string", "array"];
for (key in types) {
if (cons == types[key]) {
type = types[key];
break;
}
}
}
return type;
};
var type = _getType(mixed_value);
var val, ktype = '';
switch (type) {
case "function":
val = "";
break;
case "undefined":
val = "N";
break;
case "boolean":
val = "b:" + (mixed_value ? "1" : "0");
break;
case "number":
val = (Math.round(mixed_value) == mixed_value ? "i" : "d") + ":" + mixed_value;
break;
case "string":
val = "s:" + mixed_value.length + ":\"" + mixed_value + "\"";
break;
case "array":
case "object":
val = "a";
/*
if (type == "object") {
var objname = mixed_value.constructor.toString().match(/(\w+)\(\)/);
if (objname == undefined) {
return;
}
objname[1] = serialize(objname[1]);
val = "O" + objname[1].substring(1, objname[1].length - 1);
}
*/
var count = 0;
var vals = "";
var okey;
var key;
for (key in mixed_value) {
ktype = _getType(mixed_value[key]);
if (ktype == "function") {
continue;
}
okey = (key.match(/^[0-9]+$/) ? parseInt(key) : key);
vals += serialize(okey) +
serialize(mixed_value[key]);
count++;
}
val += ":" + count + ":{" + vals + "}";
break;
}
if (type != "object" && type != "array") val += ";";
return val;
}
function unserialize(data){
// http://kevin.vanzonneveld.net
// + original by: Arpad Ray (mailto:arpad@php.net)
// + improved by: Pedro Tainha (http://www.pedrotainha.com)
// + bugfixed by: dptr1988
// + revised by: d3x
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// % note: We feel the main purpose of this function should be to ease the transport of data between php & js
// % note: Aiming for PHP-compatibility, we have to translate objects to arrays
// * example 1: unserialize('a:3:{i:0;s:5:"Kevin";i:1;s:3:"van";i:2;s:9:"Zonneveld";}');
// * returns 1: ['Kevin', 'van', 'Zonneveld']
// * example 2: unserialize('a:3:{s:9:"firstName";s:5:"Kevin";s:7:"midName";s:3:"van";s:7:"surName";s:9:"Zonneveld";}');
// * returns 2: {firstName: 'Kevin', midName: 'van', surName: 'Zonneveld'}
var error = function (type, msg, filename, line){throw new window[type](msg, filename, line);};
var read_until = function (data, offset, stopchr){
var buf = [];
var chr = data.slice(offset, offset + 1);
var i = 2;
while(chr != stopchr){
if((i+offset) > data.length){
error('Error', 'Invalid');
}
buf.push(chr);
chr = data.slice(offset + (i - 1),offset + i);
i += 1;
}
return [buf.length, buf.join('')];
};
var read_chrs = function (data, offset, length){
buf = [];
for(var i = 0;i < length;i++){
var chr = data.slice(offset + (i - 1),offset + i);
buf.push(chr);
}
return [buf.length, buf.join('')];
};
var _unserialize = function (data, offset){
if(!offset) offset = 0;
var buf = [];
var dtype = (data.slice(offset, offset + 1)).toLowerCase();
var dataoffset = offset + 2;
var typeconvert = new Function('x', 'return x');
var chrs = 0;
var datalength = 0;
switch(dtype){
case "i":
typeconvert = new Function('x', 'return parseInt(x)');
var readData = read_until(data, dataoffset, ';');
var chrs = readData[0];
var readdata = readData[1];
dataoffset += chrs + 1;
break;
case "b":
typeconvert = new Function('x', 'return (parseInt(x) == 1)');
var readData = read_until(data, dataoffset, ';');
var chrs = readData[0];
var readdata = readData[1];
dataoffset += chrs + 1;
break;
case "d":
typeconvert = new Function('x', 'return parseFloat(x)');
var readData = read_until(data, dataoffset, ';');
var chrs = readData[0];
var readdata = readData[1];
dataoffset += chrs + 1;
break;
case "n":
readdata = null;
break;
case "s":
var ccount = read_until(data, dataoffset, ':');
var chrs = ccount[0];
var stringlength = ccount[1];
dataoffset += chrs + 2;
var readData = read_chrs(data, dataoffset+1, parseInt(stringlength));
var chrs = readData[0];
var readdata = readData[1];
dataoffset += chrs + 2;
if(chrs != parseInt(stringlength) && chrs != readdata.length){
error('SyntaxError', 'String length mismatch');
}
break;
case "a":
var readdata = {};
var keyandchrs = read_until(data, dataoffset, ':');
var chrs = keyandchrs[0];
var keys = keyandchrs[1];
dataoffset += chrs + 2;
for(var i = 0;i < parseInt(keys);i++){
var kprops = _unserialize(data, dataoffset);
var kchrs = kprops[1];
var key = kprops[2];
dataoffset += kchrs;
var vprops = _unserialize(data, dataoffset);
var vchrs = vprops[1];
var value = vprops[2];
dataoffset += vchrs;
readdata[key] = value;
}
dataoffset += 1;
break;
default:
error('SyntaxError', 'Unknown / Unhandled data type(s): ' + dtype);
break;
}
return [dtype, dataoffset - offset, typeconvert(readdata)];
};
return _unserialize(data, 0)[2];
}
var menuHermanaAnterior = null;
var mostrarMenuHermanas = function(idCategoria,e){
if($('menuHermanas'+idCategoria)){
if(menuHermanaAnterior && menuHermanaAnterior.id != 'menuHermanas'+idCategoria)menuHermanaAnterior.style.display = 'none';
$('menuHermanas'+idCategoria).style.display = 'inline';
menuHermanaAnterior = $('menuHermanas'+idCategoria);
}
if(e)StopEvent(e);
}
var ocultarMenuHermanas = function(idCategoria){
if($('menuHermanas'+idCategoria))$('menuHermanas'+idCategoria).style.display = 'none';
}
function verSubMenuArbol(menu,nivel,display,e){
if(menu){
if(!display)display = 'none';
menu.style.display = display;
if(display == 'block'){
menu.widthTemp = menu.offsetWidth;
if(nivel > 0){
menu.parentNode.parentNode.style.display = 'inline';
menu.parentNode.style.display = 'inline';
menu.style.marginLeft = (menu.offsetWidth-2)+'px';
if(!Nav.esIE)menu.style.marginTop = (-menu.parentNode.childNodes[1].offsetHeight-1)+'px';
else menu.style.marginTop = (-menu.parentNode.childNodes[0].offsetHeight-1)+'px';
}
}
}
}
var INTERVAL_ARBOL = 0;
var arbolAnterior = null;
function verMenuArbolPrincipal(obj,display){
if(display == 'inline'){
clearInterval(INTERVAL_ARBOL);
obj.style.marginLeft = '-10px';
if(arbolAnterior && arbolAnterior.id != obj.id)arbolAnterior.style.display = 'none';
}
arbolAnterior = obj;
obj.style.display = display;
}
function ocultarArbolPrincipal(){
clearInterval(INTERVAL_ARBOL);
INTERVAL_ARBOL = setTimeout(function(){
if(arbolAnterior){
verMenuArbolPrincipal(arbolAnterior,'none');
}
},500);
}
function hideFlashes(b){
var objs = document.getElementsByTagName('embed');
for (var i = 0; i < objs.length; i++) {
var ele = objs[i];
ele.style.visibility = (b)? 'hidden' : 'visible';
}
}
function setearAntSig(idC, orden, tipo){
oCookie.set('idC' + tipo, idC);
oCookie.set('orden' + tipo, orden);
}
function desetearAntSig(tipo){
oCookie.unset('idC' + tipo);
oCookie.unset('orden' + tipo);
}
/*RECARGAR OBJETOS*/
var cargarHTMLRequest = function(html){
if(!$('htmlTemporal')){
var div = document.createElement('div');
div.id = 'htmlTemporal';
div.style.display = 'none';
document.body.appendChild(div);
}
$('htmlTemporal').innerHTML = html;
while($('htmlTemporal').childNodes.length > 0){
document.body.appendChild($('htmlTemporal').firstChild);
}
}
var oRecomendar = new function(){
var listener = function(){
var d = req.respuestaXML;
if(d){
cargarHTMLRequest(d.firstChild.data);
oRecomendar = new layer('Recomendar', 'recomendar');
oRecomendar.addField($('nombreRecomendar'), 'nombre', ER_STR, false);
oRecomendar.addField($('emailRecomendar'), 'email', ER_EMAIL, false);
oRecomendar.addField($('nombreAmigoRecomendar'), 'nombreAmigo', ER_STR, false);
oRecomendar.addField($('emailAmigoRecomendar'), 'emailAmigo', ER_EMAIL, false);
oRecomendar.addField($('mensajeRecomendar'), 'mensaje', ER_STR, false);
oRecomendar.moreInfo = 'idElemento' + SEP_IGUAL + this.idTemp + SEP_AND;
oRecomendar.moreInfo += 'idSeccion' + SEP_IGUAL + this.idSeccionTemp + SEP_AND;
AddEvent($('cerrarRecomendar'), 'click', oRecomendar.close);
AddEvent($('enviarRecomendar'), 'click', function(){
oRecomendar.send();
});
oRecomendar.mostrarFormulario = function(boton, id, idSeccion, e){
oRecomendar.moreInfo = 'idElemento' + SEP_IGUAL + id + SEP_AND;
oRecomendar.moreInfo += 'idSeccion' + SEP_IGUAL + idSeccion + SEP_AND;
oRecomendar.open(boton, '');
if(e)StopEvent(e);
}
if(Nav.esIE){ $('layRecomendar').style.visibility = 'visible'; }
oRecomendar.open(this.botonTemp,'');
}
}.closure(this);
this.mostrarFormulario = function(boton,id, idSeccion, e){
if(!req){
this.botonTemp = boton;
this.idTemp = id;
this.idSeccionTemp = idSeccion;
req = new Request(listener);
req.pedir(DIR_ROOT + 'requests/cargar.php','file' + SEP_IGUAL +'../includes/popRecomendar.php' + SEP_AND);
}
if(e)StopEvent(e);
}
var req = null;
}
var oConsConf = new Object();
oConsConf.iniciar = function(){
oConsultaProducto.consultar(this.aTemp,this.idProductoActual);
}
var SCRIPTS_SETEADOS = new Array();
var incluirScript = function(src){
if(!SCRIPTS_SETEADOS[src]){
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = src;
document.body.appendChild(script);
SCRIPTS_SETEADOS[src] = true;
}
}
var oConsultaProducto = new function(){
var seteando = false;
this.consultar = function(a,idProducto,e){
if(!seteando){
seteando = true;
oConsConf.aTemp = a;
oConsConf.idProductoActual = idProducto;
incluirScript(DIR_ROOT + 'js/layer.js');
incluirScript(DIR_ROOT + 'js/zoomElement.js');
incluirScript(DIR_ROOT + 'js/oConsultaProducto.js');
}
if(e)StopEvent(e);
}
}
var oVideoConf = {
iniciar: function(){
oVideo.loadVideo(this.aTemp, this.idVideo, this.w, this.h);
}
}
var oVideo = new function(){
var seteando = false;
this.loadVideo = function(a,idVideo,w,h){
if(!seteando){
seteando = true;
oVideoConf.aTemp = a;
oVideoConf.idVideo = idVideo;
oVideoConf.w = w;
oVideoConf.h = h;
incluirScript(DIR_ROOT + 'js/layer.js');
incluirScript(DIR_ROOT + 'js/zoomElement.js');
incluirScript(DIR_ROOT + 'js/oVideo.js');
}
}
}
var buscarImagenDentro = function(div){
var i,j;
for(i = 0; i < div.childNodes.length;i++){
if(div.childNodes[i].tagName && div.childNodes[i].tagName.toLowerCase() == 'a'){
for(j=0;j WScreen()){
if(!obj.margenSeteado){
obj.style.marginLeft = ((-obj.offsetWidth)+4)+'px';
if(Nav.esIE){
posicionarCerrar(obj.id.replace('subMenu',''),-obj.offsetWidth-10);
posicionarIconSub(obj.id.replace('subMenu',''),-10,mitad);
}
else{
posicionarCerrar(obj.id.replace('subMenu',''),-10);
posicionarIconSub(obj.id.replace('subMenu',''),obj.offsetWidth-10,mitad);
}
obj.margenSeteado = true;
}
}
else{
if(!obj.margenSeteado){
obj.style.marginLeft = (obj.offsetLeft+4)+'px';
if(Nav.esIE){
posicionarCerrar(obj.id.replace('subMenu',''),-10);
posicionarIconSub(obj.id.replace('subMenu',''),-obj.offsetWidth-10,mitad,true);
}
else{
posicionarIconSub(obj.id.replace('subMenu',''),-5,mitad,true);
}
obj.margenSeteado = true;
}
}
}
else{
var margen = obj.parentNode.offsetLeft;
if(margen + obj.offsetWidth > WScreen()){
if(!obj.margenSeteado){
if(!Nav.esIE)obj.style.marginLeft = ((-obj.offsetWidth)+obj.a.offsetWidth)+'px';
else obj.style.marginLeft = ((-obj.offsetWidth)-4)+'px';
}
}
else{
if(!obj.margenSeteado){
if(obj.offsetLeft < 0){
if(Nav.esIE)obj.style.marginLeft = ((-margen-obj.parentNode.offsetWidth))+'px';
else{
obj.style.marginLeft = -(margen - 10)+'px';
}
}
}
}
if(Nav.esIE)posicionarCerrar(obj.id.replace('subMenu',''),-10);
}
this.mostrarOpacidad(obj);
}
else{
if(objOpacidad){
if(a.parentNode.parentNode.id){
menuStop = a.parentNode.parentNode;
ocultarRecursivo(objOpacidad);
activarMenu(a.parentNode.parentNode);
objOpacidad = a.parentNode.parentNode;
menuStop = null;
}
}
}
if(e)StopEvent(e);
}
this.mostrarOpacidad = function(obj,e){
if(obj){
if(!animOpacidad){
animOpacidad = true;
modoOpacidad = 'mostrar';
indiceFrameOpacidad = 0;
objOpacidad = obj;
opacidad();
}
}
if(e)StopEvent(e);
}
var mostrarOpacidadFin = function(){
}
//O
this.ocultarMenuActivo = function(){
if(objOpacidad){
ocultarRecursivo(objOpacidad);
}
}
this.ocultarMenu = function(obj){
this.ocultarOpacidad(obj);
soloOcultar(obj);
}
var soloOcultar = function(obj){
//ESTA FUNCION OCULTA TODOS LOS MENUES QUE POSEE HACIA ABAJO
var i,j;
for(i=0;i';
if (ele.className != 'btnProdIco fltL') { //si no es el icon solo
ele.className = 'btnProdRemOrder fltR';
ele.innerHTML = img+' '+ele.title;
}
else { ele.innerHTML = img; }
}
else {
ele.title = 'Add to Cart';
var img = '
';
if (ele.className != 'btnProdIco fltL') { //si no es el icon solo
ele.className = 'btnProdOrder fltR';
ele.innerHTML = img+' '+ele.title;
}
else { ele.innerHTML = img; }
}
}
}
this.addToCart = function(evt, code) {
if (evt) { StopEvent(evt) }
init();
var is = false;
this.getTotalCart();
if(codes.indexOf(',' + code + ',') == -1){
codes += code + ',';
is = true;
}
else { codes = codes.replace(',' + code + ',', ','); }
changeBtnCart($('productAddToCart'+code), is);
changeBtnCart($('productAddToCart2'+code), is);
oCookie.set('codes', codes);
this.setTotalCart();
}
this.getTotalCart = function () {
codes = (oCookie.get('codes') == '')? ',' : oCookie.get('codes');
return (codes != ',')? codes.substr(1, codes.length - 2).split(',').length : 0;
}
this.setTotalCart = function () {
$('cartCount').innerHTML = this.getTotalCart();
}
this.isAtCart = function (code, plus) {
if (codes != ',' && RegExp(','+code+',').test(codes)) {
changeBtnCart($('productAddToCart' + ((!!plus)? plus : '') + code), true);
}
}
// SEND
var loadedVideo = false, initedVideo = false, layVideo, infoVideo;
var loadVideo = function () {
if (loading) { return false; }
loading = true;
var v = 'codigo' + SEP_IGUAL + infoVideo.code + SEP_AND;
action = 'loadVideoForm';
request.pedir(DIR_ROOT + 'requests/catalogoProductoFormVideo.php', v);
return true;
}
var initVideo = function () {
if (!initedVideo) {
layVideo = new layer('CatalogoProductoVideo', 'catalogoProductoVideo');
AddEvent($('cerrarCatalogoProductoVideo'), 'click', layVideo.close);
initedVideo = true;
}
this.openVideo(false, infoVideo.ele, infoVideo.code);
}.closure(this);
this.openVideo = function(evt, ele, code) {
if (evt) { StopEvent(evt) }
init();
infoVideo = {ele: ele, code: code};
if (!loadedVideo) { loadVideo(); }
else {
var v = 'codigo' + SEP_IGUAL + code + SEP_AND;
action = 'loadVideo';
request.pedir(DIR_ROOT + 'requests/catalogoProductoVideo.php', v);
}
}
// ADD TO CART
var changeBtnQuote = function (ele, add) {
if (!!ele) {
if(add){
ele.title = 'Remove from Quote';
var img = '
';
if (ele.className != 'btnProdIco fltL') { //si no es el icon solo
ele.className = 'btnProdRemOrder fltR';
ele.innerHTML = img+' '+ele.title;
}
else { ele.innerHTML = img; }
}
else {
ele.title = 'Add to Quote';
var img = '
';
if (ele.className != 'btnProdIco fltL') { //si no es el icon solo
ele.className = 'btnProdOrder fltR';
ele.innerHTML = img+' '+ele.title;
}
else { ele.innerHTML = img; }
}
}
}
this.addToQuote = function(evt, code) {
if (evt) { StopEvent(evt) }
init();
var is = false;
this.getTotalQuote();
if(codes.indexOf(',' + code + ',') == -1){
codes += code + ',';
is = true;
}
else { codes = codes.replace(',' + code + ',', ','); }
changeBtnQuote($('productAddToCart'+code), is);
changeBtnQuote($('productAddToCart2'+code), is);
oCookie.set('codes', codes);
this.setTotalQuote();
}
this.getTotalQuote = function () {
codes = (oCookie.get('codes') == '')? ',' : oCookie.get('codes');
return (codes != ',')? codes.substr(1, codes.length - 2).split(',').length : 0;
}
this.setTotalQuote = function () {
$('quoteCount').innerHTML = this.getTotalQuote();
}
this.isAtQuote = function (code, plus) {
if (codes != ',' && RegExp(','+code+',').test(codes)) {
changeBtnQuote($('productAddToCart' + ((!!plus)? plus : '') + code), true);
}
}
}
// JavaScript Document
function layer(nombre, archivo){
var capa = $('lay' + nombre);
var fondo = $('bg' + nombre);
var error = $('error' + nombre);
var seccion = 0;
var enviando = false;
var errores = 0;
var aCampos = new Array();
var aValidar = new Array();
var aLimpiar = new Array();
var req = new Request();
var animando = false;
var elemento = false;
var zoomEle = null;
this.onSuccess = null;
this.onError = null;
this.onClose = null;
this.sinScroll = false;
var id = null;
//
req.listener = function(){
var d = req.respuestaXML;
block(false);
if(!d){ alert(req.respuestaHTML); }
else if(d.getAttribute('exito') == 'si'){
RemEvent(document, 'keypress', this.escape);
block(true);
if(!this.onSuccess){
capa.style.zIndex = 9;
Exito.onAccept = onAcceptSuccess;
Exito.show(d.firstChild.data);
}
else{ this.onSuccess(); }
}
else{
RemEvent(document, 'keypress', this.escape);
block(true);
if(!this.onError){
capa.style.zIndex = 9;
LayError.onAccept = onAcceptError;
LayError.show(d.firstChild.data);
}
else{ this.onError(); }
}
}.closure(this);
var onAcceptSuccess = function(){
capa.style.zIndex = 10;
clean();
block(false);
this.close();
}.closure(this);
var onAcceptError = function(){
AddEvent(document, 'keypress', this.escape);
block(false);
capa.style.zIndex = 10;
}.closure(this);
this.center = function(){
center();
}
var center = function(){
//
if(!!fondo){
fondo.style.height = ((HBody() > HScreen())? HBody():HScreen()) + 'px';
fondo.style.width = ((WBody() > WScreen())? WScreen():WBody()) + 'px';
}
//
var topTemp = (((HScreen() - capa.offsetHeight) / 2) + YPos());
if(topTemp < 10)topTemp = 10;
capa.style.top = topTemp + 'px';
capa.style.left = (((WScreen() - capa.offsetWidth) / 2) + XPos()) + 'px';
}.closure(this);
this.escape = function(event){ if(event.keyCode == 27){ this.close(); } }.closure(this);
this.enter = function(event){ if(event.keyCode == 13){ this.send(); } }.closure(this);
this.open = function(ele, sec, event,idEle){
if(!!event){ StopEvent(event); }
if(!!animando){ return false; }
animando = true;
//
elemento = ele;
seccion = sec;
id = idEle;
hideFlashes(true);
animIn();
return true;
}
this.close = function(event){
if(!!event){ StopEvent(event); }
if(!!animando){ return false; }
animando = true;
if(!this.sinScroll)RemEvent(window, 'scroll', center);
RemEvent(window, 'resize', center);
RemEvent(document, 'keypress', this.escape);
clearTimeout(animBgInt);
animBgFrame = 0;
animBgMode = 'out';
animBgInt = setTimeout(animBg, animBgRetardo);
return true;
}.closure(this);
this.addField = function(campo, nombre, expresion, clear,opcional){
var o = {'c':campo, 'n':nombre};
//
aCampos.push(o);
if(expresion){
campo.expresion = expresion;
campo.inputError = inputError;
campo.opcional = opcional;
campo.onblur = funcVal.closure(campo);
//
aValidar.push(aCampos.length - 1);
}
if(clear){ aLimpiar.push(aCampos.length - 1); }
}
this.setBackground = function(oEle){ fondo = oEle; }
var clean = function(){
var i = null;
//
for(i in aLimpiar){ aCampos[aLimpiar[i]]['c'].value = ''; }
for(i in aCampos){ inputError(aCampos[i]['c'], false); }
errores = 0;
showError();
}
this.send = function(event){
var v = '', i = null;
if(!!event){ StopEvent(event); }
//
if(enviando){ return false; }
else if(validate()){ return false; }
//
block(true);
//
v += 'seccion' + SEP_IGUAL + seccion + SEP_AND;
if(id)v += 'id' + SEP_IGUAL + id + SEP_AND;
for(i in aCampos){ v += aCampos[i]['n'] + SEP_IGUAL + trim(aCampos[i]['c'].value) + SEP_AND; }
if(this.moreInfo != '' && this.moreInfo){ v += this.moreInfo; }
//
req.pedir(DIR_ROOT + 'requests/' + archivo + '.php', v);
return true;
}.closure(this);
var inputError = function(c, b){
errores += (b)? 1:0;
c.parentNode.className = (b)? 'fieldsetError':'';
}.closure(this);
var showError = function(){
error.style.display = (errores > 0)? 'block':'none';
}
var funcVal = function(){
this.value = trim(this.value);
if(this.value.search(this.expresion) == 0 || this.errorDesactivado || (this.value == '' && this.opcional)){ this.inputError(this, false); }
else{ this.inputError(this, true); }
}
var validate = function(){
var i = null;
//
errores = 0;
for(i in aValidar){ aCampos[aValidar[i]]['c'].onblur(); }
showError();
return (errores > 0);
}
var block = function(b){
var i = null;
//
enviando = b;
for(i in aCampos){ aCampos[i]['c'].disabled = b; }
}
//Aminacion
var animBgInt = 0;
var animBgRetardo = 1;
var animBgFrames = 5;
var animBgFrame = 0;
var animBgMode = '';
var animIn = function(){
center();
if(!!fondo){
setOpacity(0, fondo);
fondo.style.display = 'block';
}
if(!zoomEle){ zoomEle = new ZoomElement(); }
zoomEle.zoomElement(elemento, capa, animInEnd, animOutEnd, false);
}
var animOut = function(){
zoomEle.zoomElement(elemento, capa, animInEnd, animOutEnd, false, true);
zoomEle.zoomElementOut();
}
var animInEnd = function(){
center();
//
try{ aCampos[0]['c'].focus(); }catch(e){}
if(!this.sinScroll)AddEvent(window, 'scroll', center);
AddEvent(window, 'resize', center);
AddEvent(document, 'keypress', this.escape);
clearTimeout(animBgInt);
animBgFrame = (!!fondo)? 0 : animBgFrames + 1;
animBgMode = 'in';
animBgInt = setTimeout(animBg, animBgRetardo);
animBgInt = setTimeout(animBg, animBgRetardo);
if(this.funcionFinalExpand)this.funcionFinalExpand();
}.closure(this);
var animOutEnd = function(){
hideFlashes(false);
if(!!fondo){ fondo.style.display = 'none'; }
if(!!this.onClose){ this.onClose(); }
}.closure(this);
var animBg = function(){
if(animBgFrame == animBgFrames + 1){
animando = false;
if(animBgMode == 'in'){ ; }
else{ animOut(); }
}
else{
var i = (animBgMode == 'in')? (60 / animBgFrames) * animBgFrame : (60 / animBgFrames) * (animBgFrames - animBgFrame);
if(!!fondo){ setOpacity(i, fondo); }
animBgFrame++;
animBgInt = setTimeout(animBg, animBgRetardo);
}
}.closure(this);
}
// JavaScript Document
var Exito = new function(){
//
this.show = function(msj){
$('msjExito').innerHTML = msj;
var l = $('capaExito');
l.style.top = (((HScreen() - l.offsetHeight) / 2) + YPos()) + 'px';
l.style.left = (((WScreen() - l.offsetWidth) / 2) + XPos()) + 'px';
l.style.visibility = 'visible';
try{ $('aceptarExito').focus(); }catch(e){ ; }
AddEvent(document, 'keypress', escape);
AddEvent($('aceptarExito'), 'click', accept);
AddEvent($('cerrarExito'), 'click', accept);
}
this.hide = function(){
RemEvent(document, 'keypress', escape);
RemEvent($('aceptarExito'), 'click', accept);
RemEvent($('cerrarExito'), 'click', accept);
var l = $('capaExito');
l.style.visibility = 'hidden';
l.style.top = '-1000px';
}
this.onAccept = null;
var accept = function(e){
if(!!e){ StopEvent(e); }
this.hide();
if(!!this.onAccept){ this.onAccept(); }
}.closure(this);
var escape = function(event){
if(event.keyCode == 27){ accept(); }
}.closure(this);
//
}
// JavaScript Document
var Error = new function(){
//
this.show = function(msj){
$('msjError').innerHTML = msj;
var l = $('capaError');
l.style.top = (((HScreen() - l.offsetHeight) / 2) + YPos()) + 'px';
l.style.left = (((WScreen() - l.offsetWidth) / 2) + XPos()) + 'px';
l.style.visibility = 'visible';
try{ $('aceptarError').focus(); }catch(e){ ; }
AddEvent(document, 'keypress', escape);
AddEvent($('aceptarError'), 'click', accept);
AddEvent($('cerrarError'), 'click', accept);
}
this.hide = function(){
RemEvent(document, 'keypress', escape);
RemEvent($('aceptarError'), 'click', accept);
RemEvent($('cerrarError'), 'click', accept);
var l = $('capaError');
l.style.visibility = 'hidden';
l.style.top = '-1000px';
}
this.onAccept = null;
var accept = function(e){
if(!!e){ StopEvent(e); }
this.hide();
if(!!this.onAccept){ this.onAccept(); }
}.closure(this);
var escape = function(event){
if(event.keyCode == 27){ accept(); }
}.closure(this);
//
}
//Javascript
function ZoomElement(){
//Config
var iZoomEleDelay = 4;//mlsgs
var iZoomEleFrames = 10;//px
var fZoomEleMove = strongEaseInOut;//function
//
var iZoomEleW = 0;
var iZoomEleH = 0;
var iZoomEleY = 0;
var iZoomEleX = 0;
var bZoomEleOn = false;
var bZoomEleAnim = false;
var eZoomEleFrom = null;
var eZoomEleTo = null;
var fZoomEleInEnd = null;
var fZoomEleOutEnd = null;
var fZoomEleAnim = null;
var iIniW, iChangeW, iIniH, iChangeH, iIniX, iChangeX, iIniY, iChangeY, iCurFrame, sMode;
var zoomElementInit = function(){
if(!window.innerWidth){//IE
iZoomEleW = document.documentElement.clientWidth;
iZoomEleH = document.documentElement.clientHeight;
iZoomEleY = document.documentElement.scrollTop;
iZoomEleX = document.documentElement.scrollLeft;
}
else{
iZoomEleW = window.innerWidth;
iZoomEleH = window.innerHeight;
iZoomEleY = window.pageYOffset;
iZoomEleX = window.pageXOffset;
}
}
this.zoomElement = function(eFrom, eTo, fOnInEnd, fOnOutEnd, fOnAmin, bNoStart){
eZoomEleFrom = eFrom;
eZoomEleTo = eTo;
fZoomEleInEnd = fOnInEnd;
fZoomEleOutEnd = fOnOutEnd;
fZoomEleAnim = fOnAmin;
zoomElementInit();
if(!bNoStart){ zoomElementIn(); }
}
var zoomElementIn = function(){
iIniW = eZoomEleFrom.offsetWidth;
iIniH = eZoomEleFrom.offsetHeight;
var iEndW = eZoomEleTo.offsetWidth;
var iEndH = eZoomEleTo.offsetHeight;
var oPos = getElementPos(eZoomEleFrom);
iIniX = oPos.x;
iIniY = oPos.y;
if(bZoomEleAnim != true){
eZoomEleTo.style.overflow = 'hidden';
eZoomEleTo.style.height = iIniH + 'px';
eZoomEleTo.style.width = iIniW + 'px';
eZoomEleTo.style.top = iIniY + 'px';
eZoomEleTo.style.left = iIniX + 'px';
setOpacity(0, eZoomEleTo);
eZoomEleTo.style.visibility = 'visible';
iChangeX = (((iZoomEleW / 2) - (iEndW / 2) - iIniX) + iZoomEleX);
iChangeY = (((iZoomEleH / 2) - (iEndH / 2) - iIniY) + iZoomEleY);
iChangeW = (iEndW - iIniW);
iChangeH = (iEndH - iIniH);
iCurFrame = 0;
sMode = 'in';
setTimeout(zoomElementAnim, iZoomEleDelay);
bZoomEleAnim = true;
oPos = null;
}
}
this.zoomElementOut = function(){
if(bZoomEleAnim != true){
eZoomEleTo.style.overflow = 'hidden';
iIniW = eZoomEleTo.offsetWidth;
eZoomEleTo.__width = iIniW;
iIniH = eZoomEleTo.offsetHeight;
var iEndW = eZoomEleFrom.offsetWidth;
var iEndH = eZoomEleFrom.offsetHeight;
iIniX = parseInt(eZoomEleTo.style.left);
iIniY = parseInt(eZoomEleTo.style.top);
var oPos = getElementPos(eZoomEleFrom);
iChangeX = oPos.x - iIniX;
iChangeY = oPos.y - iIniY;
iChangeW = eZoomEleFrom.offsetWidth - iIniW;
iChangeH = eZoomEleFrom.offsetHeight - iIniH;
iCurFrame = 0;
sMode = 'out';
setTimeout(zoomElementAnim, iZoomEleDelay);
bZoomEleAnim = true;
}
}
var zoomElementAnim = function(){
if(iCurFrame == (iZoomEleFrames + 1)){
bZoomEleAnim = false;
if(sMode == 'in'){ zoomElementInEnd(); }
else{ zoomElementOutEnd(); }
}
else{
var w = fZoomEleMove(iCurFrame, iIniW, iChangeW, iZoomEleFrames);
var h = fZoomEleMove(iCurFrame, iIniH, iChangeH, iZoomEleFrames);
var x = fZoomEleMove(iCurFrame, iIniX, iChangeX, iZoomEleFrames);
var y = fZoomEleMove(iCurFrame, iIniY, iChangeY, iZoomEleFrames);
var i = (sMode == 'in')? (100 / iZoomEleFrames) * iCurFrame : (100 / iZoomEleFrames) * (iZoomEleFrames - iCurFrame);
eZoomEleTo.style.left = x + 'px';
eZoomEleTo.style.top = y + 'px';
eZoomEleTo.style.width = w + 'px';
eZoomEleTo.style.height = h + 'px';
setOpacity(i, eZoomEleTo);
iCurFrame++;
setTimeout(zoomElementAnim, iZoomEleDelay);
}
if(fZoomEleAnim){ fZoomEleAnim(iCurFrame, sMode); }
}.closure(this);
var zoomElementInEnd = function(){
bZoomEleOn = true;
eZoomEleTo.style.height = 'auto';
if(fZoomEleInEnd){
fZoomEleInEnd();
}
}
var zoomElementOutEnd = function(){
bZoomEleOn = false;
eZoomEleTo.style.visibility = 'hidden';
eZoomEleTo.style.top = '-1000px';
eZoomEleTo.style.left = '0';
eZoomEleTo.style.overflow = 'auto';
eZoomEleTo.style.height = 'auto';
eZoomEleTo.style.width = eZoomEleTo.__width + 'px';
if(fZoomEleOutEnd){ fZoomEleOutEnd(); }
}
}
//Javascript
//Config
var iZoomMinMarging = 30;//px
var iZoomDelay = 4;//mlsgs
var iZoomFrames = 16;//px
//
var iZoomImgW = 0;
var iZoomImgH = 0;
var iZoomImgY = 0;
var iZoomImgX = 0;
var bZoomImgOn = false;
var bZoomImgAnim = false;
var aZoomImgInfo = new Object();
var eZoomImage = null;
var oZoomImgLoad = null;
var eZoomImgLoader = null;
var eZoomImgLayer = null;
var eZoomImgImage = null;
var eZoomImgClose = null;
var eZoomImgBack = null;
var eZoomImgFord = null;
var eZoomFromGalery = false;
var eZoomFromIdGalery = false;
var eZoomFromBtnGalery = false;
var eZoomHasFord = false;
var eZoomHasBack = false;
var eZoomHasDown = false;
var eZoomImgBlock = null;
var eZoomImgClosePos = 'right';
var eZoomImgGalerys = new Array();//SE UTILIZA PARA GUARDAR LAS GALERIAS YA CARGADAS ASI NO SE VUELVEN A CARGAR.
var eZoomImgFileGalery = DIR_ROOT + 'requests/loadGalery.php';
var eZoomImgReq = null;
var eZoomImgPrincipal = false;
var eZoomImgDesdePartir = false;
var eZoomImgAnt = null;
var eZoomShowDown = false;
var eZoomCargando = false;
var eZoomTemp = null;
var eZoomImgDown = null;
var eZoomReqTemp = null;
var eZoomSeccionTemp = null;
var eZoomIdSeccion = null;
var eZoomImgPlus = '';
var eZoomImgEpi;
var eZoomImgMinis;
function zoomInit(){
iZoomImgW = WBody();
iZoomImgH = HScreen();
iZoomImgY = YPos();
iZoomImgX = XPos();
eZoomImgLoader = document.getElementById('zoomLayLoader');
eZoomImgLayer = document.getElementById('zoomLayPrev');
eZoomImgImage = document.getElementById('zoomImagePrev');
eZoomImgImage.onclick = zoomImageOut;
eZoomImgEpi = document.getElementById('zoomImageEpi');
eZoomImgEpi.firstChild.innerHTML = '';
eZoomImgEpi.style.display = 'none';
eZoomImgClose = document.getElementById('zoomImageClose');
eZoomImgClose.onclick = zoomImageOut;
eZoomImgClose.style.visibility = 'hidden';
eZoomImgBack = document.getElementById('zoomImageBack');
eZoomImgBack.onclick = zoomImagePrev;
eZoomImgBack.style.visibility = 'hidden';
eZoomImgDown = document.getElementById('zoomImageDown');
eZoomImgDown.onclick = zoomImageDown;
eZoomImgDown.style.visibility = 'hidden';
eZoomImgFord = document.getElementById('zoomImageFord');
eZoomImgFord.onclick = zoomImageNext;
eZoomImgFord.style.visibility = 'hidden';
eZoomImgBlock = document.getElementById('zoomLayBlock');
eZoomImgBlock = document.getElementById('zoomLayBlock');
eZoomImgMinis = document.getElementById('zoomImageMinis');
if(!eZoomImgReq && eZoomFromIdGalery > 0){
eZoomImgReq = new Request(zoomImageListener);
}
if(!eZoomFromBtnGalery){
eZoomImgBlock.style.display = 'none';
eZoomFromBtnGalery = false;
}
setOpacity(70, eZoomImgBlock);
}
function zoomImage(event, image, galery, idGalery, principal, mostrarDown, idSeccion, plus){
eZoomIdSeccion = idSeccion;
if(document.getElementById('zoomLayLoader')){
eZoomShowDown = mostrarDown;
var IdGaleryAnt = eZoomFromIdGalery;
eZoomFromIdGalery = (!idGalery)? 0:idGalery;
zoomInit();
if(eZoomFromIdGalery > 0){
if(eZoomImgGalerys[eZoomFromIdGalery]){
if(IdGaleryAnt != eZoomFromIdGalery){
$('miniZoomImage').innerHTML = eZoomImgGalerys[eZoomFromIdGalery]['html'];
zoomRedimContMini();
}
}
else{
var anexReq = '';
if(eZoomIdSeccion){
anexReq = 'idSeccion' + SEP_IGUAL + eZoomIdSeccion + SEP_AND;
eZoomIdSeccion = null;
}
eZoomImgReq.pedir(eZoomImgFileGalery,'idGalery' + SEP_IGUAL + eZoomFromIdGalery + SEP_AND + anexReq);
}
}
eZoomImgPrincipal = principal;
if(principal){
eZoomImgDesdePartir = image;
}
eZoomImgPlus = (!plus)? '' : plus;
eZoomImage = image;
eZoomFromGalery = (!galery)? false:true;
zoomShowLoader(true);
zoomImageLoad();
}
else{
if(!eZoomCargando){
eZoomCargando = true;
eZoomTemp = {'image' : image,'galery' : galery,'idGalery' : idGalery,'principal' : principal,'mostrarDown' : mostrarDown};
eZoomReqTemp = new Request(zoomReqLoad);
eZoomReqTemp.pedir(DIR_ROOT + 'requests/cargar.php','file' + SEP_IGUAL +'../includes/zoomImage.php' + SEP_AND);
}
}
if(event)StopEvent(event);
}
function zoomReqLoad(){
var d = eZoomReqTemp.respuestaXML;
if(d){
cargarHTMLRequest(d.firstChild.data);
zoomImage(null,eZoomTemp['image'],eZoomTemp['galery'],eZoomTemp['idGalery'],eZoomTemp['principal'],eZoomTemp['mostrarDown'],eZoomIdSeccion);
}
}
function zoomImageLoad(){
oZoomImgLoad = new Image();
oZoomImgLoad.loaded = false;
oZoomImgLoad.onload = function(){ zoomImageLoaded(); }
oZoomImgLoad.src = eZoomImage.src.substr(0, eZoomImage.src.lastIndexOf('.') - 1) + eZoomImgPlus + eZoomImage.src.substr(eZoomImage.src.lastIndexOf('.'), eZoomImage.src.length);
}
function zoomImageLoaded(){
oZoomImgLoad.loaded = true;
if(eZoomFromIdGalery == 0 || (eZoomImgGalerys[eZoomFromIdGalery])){
if(eZoomImgPrincipal)eZoomImage = $('principal' + eZoomFromIdGalery);
zoomShowLoader(false);
zoomImageIn();
}
}
function zoomImageListener(){
if(eZoomImgReq.respuestaXML){
$('miniZoomImage').innerHTML = eZoomImgReq.respuestaXML.firstChild.data;
eZoomImgGalerys[eZoomFromIdGalery] = new Array();
eZoomImgGalerys[eZoomFromIdGalery]['html'] = eZoomImgReq.respuestaXML.firstChild.data;
eZoomImgGalerys[eZoomFromIdGalery]['cantidad'] = eZoomImgReq.respuestaXML.childNodes[1].getAttribute('cantidad');
eZoomImgGalerys[eZoomFromIdGalery]['widthImg'] = eZoomImgReq.respuestaXML.childNodes[1].getAttribute('widthImg');
zoomRedimContMini();
}
else alert(eZoomImgReq.respuestaHTML);
if(oZoomImgLoad.loaded){
if(eZoomImgPrincipal)eZoomImage = $('principal' + eZoomFromIdGalery);
zoomShowLoader(false);
zoomImageIn();
}
}
function zoomRedimContMini(){
$('miniZoomImage').style.width = (eZoomImgGalerys[eZoomFromIdGalery]['cantidad']*eZoomImgGalerys[eZoomFromIdGalery]['widthImg'])+'px';
var longitudContMini = Math.round((80*iZoomImgW/100));
if(longitudContMini < $('miniZoomImage').offsetWidth){
var diferencia = Math.round(longitudContMini/eZoomImgGalerys[eZoomFromIdGalery]['widthImg']);
longitudContMini = Math.round(diferencia*eZoomImgGalerys[eZoomFromIdGalery]['widthImg']);
$('zoomContAntSig').style.width = (longitudContMini + $('anteriorMini').offsetWidth + $('siguienteMini').offsetWidth + 20)+'px';
$('zoomContAntSig').style.marginLeft = (Math.round(iZoomImgW-$('zoomContAntSig').offsetWidth)/2)+'px';
$('zoomContAntSig').style.top = (HScreen()-eZoomImgMinis.offsetHeight-10)+YPos()+'px';
$('zoomContAntSig').style.visibility = 'visible';
}
else{
$('zoomContAntSig').style.visibility = 'hidden';
$('zoomContAntSig').style.top = '-5000px';
}
eZoomImgMinis.style.width = longitudContMini+'px';
eZoomImgMinis.style.marginLeft = (Math.round(iZoomImgW-eZoomImgMinis.offsetWidth)/2)+'px';
scrollWidth = eZoomImgMinis.offsetWidth+4;
}
function zoomShowLoader(bShow){
if(bShow){
eZoomImgLoader.style.top = Math.ceil(((iZoomImgH - eZoomImgLoader.offsetHeight) / 2) + iZoomImgY) + 'px';
eZoomImgLoader.style.left = Math.ceil(((iZoomImgW - eZoomImgLoader.offsetWidth) / 2) + iZoomImgX) + 'px';
eZoomImgLoader.style.visibility = 'visible';
}
else{
eZoomImgLoader.style.top = '-' + (eZoomImgLoader.offsetHeight + 20) + 'px';
eZoomImgLoader.style.visibility = 'hidden';
}
}
function zoomImageIn(){
if(eZoomImgDesdePartir){
var iIniW = eZoomImgDesdePartir.width;
var iIniH = eZoomImgDesdePartir.height;
}
else{
var iIniW = eZoomImage.width;
var iIniH = eZoomImage.height;
}
var iEndW = oZoomImgLoad.width;
var iEndH = oZoomImgLoad.height;
var DIFERENCIA = 0;
if($('miniZoomImage').innerHTML != '' && eZoomFromIdGalery > 0){
DIFERENCIA = $('miniZoomImage').offsetHeight + 4;
}
var iPorc = iEndW / iEndH;
var oPos;
if(eZoomImgDesdePartir){
oPos = getElementPos(eZoomImgDesdePartir);
}
else{
oPos = getElementPos(eZoomImage);
}
var iIniX = oPos.x;
var iIniY = oPos.y;
if(bZoomImgAnim != true){
aZoomImgInfo['iIniW'] = iIniW;
aZoomImgInfo['iIniH'] = iIniH;
aZoomImgInfo['iIniX'] = iIniX;
aZoomImgInfo['iIniY'] = iIniY;
eZoomImgImage.style.height = iIniH + 'px';
eZoomImgImage.style.width = iIniW + 'px';
eZoomImgImage.src = oZoomImgLoad.src;
eZoomImgImage.title = eZoomImage.title;
eZoomImgLayer.style.top = iIniY + 'px';
eZoomImgLayer.style.left = iIniX + 'px';
setOpacity(0, eZoomImgLayer);
eZoomImgLayer.style.visibility = 'visible';
var iDif = 0;
if(trim(eZoomImage.alt) != ''){
eZoomImgEpi.firstChild.innerHTML = eZoomImage.alt;
eZoomImgEpi.style.width = iIniW + 'px';
eZoomImgEpi.style.display = 'block';
iDif = eZoomImgEpi.offsetHeight;
}
if(iEndW > iZoomImgW - iZoomMinMarging){
iEndW = iZoomImgW - iZoomMinMarging;
iEndH = iEndW / iPorc;
}
if(iEndH > (iZoomImgH-DIFERENCIA) - iZoomMinMarging - iDif){
iEndH = (iZoomImgH-DIFERENCIA) - iZoomMinMarging - iDif;
iEndW = (iEndH - iDif) * iPorc;
}
var iChangeX = (((iZoomImgW / 2) - (iEndW / 2) - iIniX) + iZoomImgX);
var iChangeY = ((((iZoomImgH-DIFERENCIA) / 2) - (iEndH / 2) - iIniY) + iZoomImgY - (iDif / 2));
var iChangeW = (iEndW - iIniW);
var iChangeH = (iEndH - iIniH);
var sOpacity = "(100 / iZoomFrames) * iCurFrame";
setTimeout('zoomImageAnim('+iIniW+', '+iChangeW+', '+iIniH+', '+iChangeH+', '+iIniX+', '+iChangeX+', '+iIniY+', '+iChangeY+', 0, "in")', iZoomDelay);
bZoomImgAnim = true;
oPos = null;
}
}
function zoomImageOut(){
if(bZoomImgAnim != true){
eZoomImgMinis.style.visibility = 'hidden';
eZoomImgMinis.style.top = '-100px';
$('zoomContAntSig').style.visibility = 'hidden';
$('zoomContAntSig').style.top = '-100px';
RemEvent(document, 'keypress', zoomImageKeypress);
eZoomImgBlock.style.display = 'none';
eZoomImgClose.style.visibility = eZoomImgBack.style.visibility = eZoomImgDown.style.visibility =
eZoomImgFord.style.visibility = 'hidden';
var iIniW = parseInt(eZoomImgImage.style.width);
var iIniH = parseInt(eZoomImgImage.style.height);
var iEndW = eZoomImage.width;
var iEndH = eZoomImage.height;
var iIniX = parseInt(eZoomImgLayer.style.left);
var iIniY = parseInt(eZoomImgLayer.style.top);
var iChangeX = aZoomImgInfo['iIniX'] - iIniX;
var iChangeY = aZoomImgInfo['iIniY'] - iIniY;
var iChangeW = aZoomImgInfo['iIniW'] - iIniW;
var iChangeH = aZoomImgInfo['iIniH'] - iIniH;
setTimeout('zoomImageAnim('+iIniW+', '+iChangeW+', '+iIniH+', '+iChangeH+', '+iIniX+', '+iChangeX+', '+iIniY+', '+iChangeY+', 0, "out")', iZoomDelay);
bZoomImgAnim = true;
}
}
function zoomImageAnim(iIniW, iChangeW, iIniH, iChangeH, iIniX, iChangeX, iIniY, iChangeY, iCurFrame, sMode){
if(iCurFrame == (iZoomFrames + 1)){
bZoomImgAnim = false;
if(sMode == 'in'){ zoomImageInEnd(); }
else{ zoomImageOutEnd(); }
}
else{
var w = strongEaseInOut(iCurFrame, iIniW, iChangeW, iZoomFrames);
var h = strongEaseInOut(iCurFrame, iIniH, iChangeH, iZoomFrames);
var x = strongEaseInOut(iCurFrame, iIniX, iChangeX, iZoomFrames);
var y = strongEaseInOut(iCurFrame, iIniY, iChangeY, iZoomFrames);
var i = (sMode == 'in')? (100 / iZoomFrames) * iCurFrame : (100 / iZoomFrames) * (iZoomFrames - iCurFrame);
eZoomImgLayer.style.left = x + 'px';
eZoomImgLayer.style.top = y + 'px';
eZoomImgImage.style.width = w + 'px';
eZoomImgImage.style.height = h + 'px';
if(eZoomImgEpi.style.display == 'block'){
eZoomImgEpi.style.width = w + 'px';
}
setOpacity(i, eZoomImgLayer);
iCurFrame++;
setTimeout('zoomImageAnim('+iIniW+', '+iChangeW+', '+iIniH+', '+iChangeH+', '+iIniX+', '+iChangeX+', '+iIniY+', '+iChangeY+', '+iCurFrame+', "'+sMode+'")', iZoomDelay);
}
}
function zoomImageInEnd(){
bZoomImgOn = true;
eZoomImgClose.style.top = (parseInt(eZoomImgLayer.style.top) - (eZoomImgClose.offsetHeight / 2)) + 'px';
if(eZoomImgClosePos == 'left'){ eZoomImgClose.style.left = (parseInt(eZoomImgLayer.style.left) - (eZoomImgClose.offsetWidth / 2)) + 'px'; }
else{ eZoomImgClose.style.left = (parseInt(eZoomImgLayer.style.left) + parseInt(eZoomImgImage.style.width) - (eZoomImgClose.offsetWidth / 2)) + 'px'; }
eZoomImgClose.style.visibility = 'visible';
if(eZoomFromGalery && !!eZoomImage.parentNode && !!eZoomImage.parentNode.nextSibling && !!eZoomImage.parentNode.nextSibling.nextSibling){
eZoomHasFord = true;
eZoomImgFord.style.top = (((iZoomImgH - eZoomImgFord.offsetHeight) / 2) + iZoomImgY) + 'px';
eZoomImgFord.style.visibility = 'visible';
}
else{ eZoomHasFord = false; }
if(eZoomFromGalery && !!eZoomImage.parentNode && !!eZoomImage.parentNode.previousSibling && !!eZoomImage.parentNode.previousSibling.previousSibling){
eZoomHasBack = true;
eZoomImgBack.style.top = (((iZoomImgH - eZoomImgBack.offsetHeight) / 2) + iZoomImgY) + 'px';
eZoomImgBack.style.visibility = 'visible';
}
else{ eZoomHasBack = false; }
if(eZoomShowDown){
eZoomImgDown.style.top = (((iZoomImgH - eZoomImgDown.offsetHeight) / 2) + iZoomImgY + eZoomImgBack.offsetHeight) + 'px';
eZoomImgDown.style.visibility = 'visible';
}
if(eZoomFromIdGalery > 0)zoomImagePosicionarMinis();
var n = (HBody() > iZoomImgH)? HBody():iZoomImgH;
eZoomImgBlock.style.height = n + 'px';
eZoomImgBlock.style.width = WBody() + 'px';
eZoomImgBlock.style.display = 'block';
AddEvent(document, 'keypress', zoomImageKeypress);
}
function zoomImagePosicionarMinis(){
eZoomImgMinis.style.top = (HScreen()-eZoomImgMinis.offsetHeight-10)+YPos()+'px';
eZoomImgMinis.style.visibility = 'visible';
if(eZoomImgAnt)eZoomImgAnt.className = '';
eZoomImage.className = 'zoomImageMinisOn';
eZoomImgAnt = eZoomImage;
zoomImageOpacityMinis(50);
}
function zoomImageOpacityMinis(opa){
setOpacity(opa, eZoomImgMinis);
}
function zoomImageOutEnd(){
bZoomImgOn = false;
eZoomImgLayer.style.visibility = 'hidden';
eZoomImgLayer.style.top = '-1000px';
eZoomImgLayer.style.left = '0';
if(eZoomImgAnt)eZoomImgAnt.className = '';
}
function zoomImageNext(){
if(eZoomHasFord){
eZoomFromBtnGalery = true;
FireEvent(eZoomImage.parentNode.nextSibling.nextSibling.firstChild, 'click');
}
}
function zoomImagePrev(){
if(eZoomHasBack){
eZoomFromBtnGalery = true;
FireEvent(eZoomImage.parentNode.previousSibling.previousSibling.firstChild, 'click');
}
}
function zoomImageDown(){
var img = eZoomImage.src.substr(0, eZoomImage.src.lastIndexOf('.') - 1) + HR + eZoomImage.src.substr(eZoomImage.src.lastIndexOf('.'), eZoomImage.src.length);
if(Nav.esIE6)document.location = DIR_ROOT+'requests/descargaFoto.php'+'?foto='+img;
else $('galeriaFrame').src = DIR_ROOT+'requests/descargaFoto.php?foto='+img;
}
function zoomImageKeypress(e){
if(bZoomImgAnim != true){
if(e.keyCode == 27){ zoomImageOut(); }
else if(e.keyCode == 39){ zoomImageNext(); }
else if(e.keyCode == 37){ zoomImagePrev(); }
}
}
var scrollHeight = 473;
var scrollWidth = 250;
var frames = 15;
var delay = 4;
var scrollDownTimes = 0;
var scrollRightTimes = 0;
var scrollElement = null;
function zoomImageScrollRight(){
var o = $('miniZoomImage');
var e = $('siguienteMini');
var i = 0, t = 0;
if(!!scrollElement || e.className == 'siguienteOff'){ return false; }
o = o.childNodes;
for(i; i < o.length; i++){
if(!!o[i].tagName){
if(t == scrollRightTimes){
scrollElement = o[i];
var to = scrollWidth;
setTimeout('zoomImageScrollLeftRightAnim(0, -'+to+', 0)', delay);
scrollRightTimes++;
break;
}
else{ t++; }
}
}
return true;
}
function zoomImageScrollLeft(){
var o = $('miniZoomImage');
var i = 0, t = 0;
if(!!scrollElement || scrollRightTimes == 0){ return false; }
o = o.childNodes;
for(i; i < o.length; i++){
if(!!o[i].tagName){
if(t == (scrollRightTimes - 1)){
scrollElement = o[i];
var dif = parseInt(o[i].style.marginLeft);
setTimeout('zoomImageScrollLeftRightAnim('+dif+', '+(-dif)+', 0)', delay);
scrollRightTimes--;
break;
}
else{ t++; }
}
}
return true;
}
function zoomImageScrollLeftRightAnim(from, inc, current){
if(current != (frames + 1)){
var t = strongEaseInOut(current, from, inc, frames);
scrollElement.style.marginLeft = t + 'px';
current++;
setTimeout('zoomImageScrollLeftRightAnim('+from+', '+inc+', '+current+')', delay);
}
else{
scrollElement = null;
zoomImageScrollLeftRightControl();
}
}
function zoomImageScrollLeftRightControl(){
var o = $('zoomImageMinis').childNodes;
var e = $('siguienteMini');
var i = 0, t = 0, b = true;
for(i; i < o.length; i++){
if(!!o[i].tagName){
if(t == (scrollRightTimes)){
b = false;
break;
}
else{
if(t == scrollRightTimes){
FireEvent(o[i].firstChild, 'click');
}
t++;
}
}
}
e.className = 'siguiente' + ((b)? 'Off':'');
e = $('anteriorMini');
e.className = 'anterior' + ((scrollRightTimes > 0)? '':'Off');
}
//Javascript
function ZoomElement(){
//Config
var iZoomEleDelay = 4;//mlsgs
var iZoomEleFrames = 10;//px
var fZoomEleMove = strongEaseInOut;//function
//
var iZoomEleW = 0;
var iZoomEleH = 0;
var iZoomEleY = 0;
var iZoomEleX = 0;
var bZoomEleOn = false;
var bZoomEleAnim = false;
var eZoomEleFrom = null;
var eZoomEleTo = null;
var fZoomEleInEnd = null;
var fZoomEleOutEnd = null;
var fZoomEleAnim = null;
var iIniW, iChangeW, iIniH, iChangeH, iIniX, iChangeX, iIniY, iChangeY, iCurFrame, sMode;
var zoomElementInit = function(){
if(!window.innerWidth){//IE
iZoomEleW = document.documentElement.clientWidth;
iZoomEleH = document.documentElement.clientHeight;
iZoomEleY = document.documentElement.scrollTop;
iZoomEleX = document.documentElement.scrollLeft;
}
else{
iZoomEleW = window.innerWidth;
iZoomEleH = window.innerHeight;
iZoomEleY = window.pageYOffset;
iZoomEleX = window.pageXOffset;
}
}
this.zoomElement = function(eFrom, eTo, fOnInEnd, fOnOutEnd, fOnAmin, bNoStart){
eZoomEleFrom = eFrom;
eZoomEleTo = eTo;
fZoomEleInEnd = fOnInEnd;
fZoomEleOutEnd = fOnOutEnd;
fZoomEleAnim = fOnAmin;
zoomElementInit();
if(!bNoStart){ zoomElementIn(); }
}
var zoomElementIn = function(){
iIniW = eZoomEleFrom.offsetWidth;
iIniH = eZoomEleFrom.offsetHeight;
var iEndW = eZoomEleTo.offsetWidth;
var iEndH = eZoomEleTo.offsetHeight;
var oPos = getElementPos(eZoomEleFrom);
iIniX = oPos.x;
iIniY = oPos.y;
if(bZoomEleAnim != true){
eZoomEleTo.style.overflow = 'hidden';
eZoomEleTo.style.height = iIniH + 'px';
eZoomEleTo.style.width = iIniW + 'px';
eZoomEleTo.style.top = iIniY + 'px';
eZoomEleTo.style.left = iIniX + 'px';
setOpacity(0, eZoomEleTo);
eZoomEleTo.style.visibility = 'visible';
iChangeX = (((iZoomEleW / 2) - (iEndW / 2) - iIniX) + iZoomEleX);
iChangeY = (((iZoomEleH / 2) - (iEndH / 2) - iIniY) + iZoomEleY);
iChangeW = (iEndW - iIniW);
iChangeH = (iEndH - iIniH);
iCurFrame = 0;
sMode = 'in';
setTimeout(zoomElementAnim, iZoomEleDelay);
bZoomEleAnim = true;
oPos = null;
}
}
this.zoomElementOut = function(){
if(bZoomEleAnim != true){
eZoomEleTo.style.overflow = 'hidden';
iIniW = eZoomEleTo.offsetWidth;
eZoomEleTo.__width = iIniW;
iIniH = eZoomEleTo.offsetHeight;
var iEndW = eZoomEleFrom.offsetWidth;
var iEndH = eZoomEleFrom.offsetHeight;
iIniX = parseInt(eZoomEleTo.style.left);
iIniY = parseInt(eZoomEleTo.style.top);
var oPos = getElementPos(eZoomEleFrom);
iChangeX = oPos.x - iIniX;
iChangeY = oPos.y - iIniY;
iChangeW = eZoomEleFrom.offsetWidth - iIniW;
iChangeH = eZoomEleFrom.offsetHeight - iIniH;
iCurFrame = 0;
sMode = 'out';
setTimeout(zoomElementAnim, iZoomEleDelay);
bZoomEleAnim = true;
}
}
var zoomElementAnim = function(){
if(iCurFrame == (iZoomEleFrames + 1)){
bZoomEleAnim = false;
if(sMode == 'in'){ zoomElementInEnd(); }
else{ zoomElementOutEnd(); }
}
else{
var w = fZoomEleMove(iCurFrame, iIniW, iChangeW, iZoomEleFrames);
var h = fZoomEleMove(iCurFrame, iIniH, iChangeH, iZoomEleFrames);
var x = fZoomEleMove(iCurFrame, iIniX, iChangeX, iZoomEleFrames);
var y = fZoomEleMove(iCurFrame, iIniY, iChangeY, iZoomEleFrames);
var i = (sMode == 'in')? (100 / iZoomEleFrames) * iCurFrame : (100 / iZoomEleFrames) * (iZoomEleFrames - iCurFrame);
eZoomEleTo.style.left = x + 'px';
eZoomEleTo.style.top = y + 'px';
eZoomEleTo.style.width = w + 'px';
eZoomEleTo.style.height = h + 'px';
setOpacity(i, eZoomEleTo);
iCurFrame++;
setTimeout(zoomElementAnim, iZoomEleDelay);
}
if(fZoomEleAnim){ fZoomEleAnim(iCurFrame, sMode); }
}.closure(this);
var zoomElementInEnd = function(){
bZoomEleOn = true;
eZoomEleTo.style.height = 'auto';
if(fZoomEleInEnd){
fZoomEleInEnd();
}
}
var zoomElementOutEnd = function(){
bZoomEleOn = false;
eZoomEleTo.style.visibility = 'hidden';
eZoomEleTo.style.top = '-1000px';
eZoomEleTo.style.left = '0';
eZoomEleTo.style.overflow = 'auto';
eZoomEleTo.style.height = 'auto';
eZoomEleTo.style.width = eZoomEleTo.__width + 'px';
if(fZoomEleOutEnd){ fZoomEleOutEnd(); }
}
}
var URL_ROOT = '/';
var DIR_ROOT = '/';
var ID_IDIOMA = '2';
var THEME = 'usdental/';
var HR = 'HR';
// JavaScript Document
var Cookie = function(){ this.init(); }
var p = Cookie.prototype;
p.path = URL_ROOT;
p.init = function(){ }
p.set = function(n, v){
var d = new Date();
d.setHours(d.getHours() + 360);//1 mes
//d.setSeconds(d.getSeconds() + 3);
var t = d.toGMTString();
document.cookie = n + '=' + escape(v) + '; expires=' + t + '; path=' + this.path + ';';
}
p.unset = function(n){
document.cookie = n + '=; expires=Fri, 21 Dec 1976 04:31:24 GMT; path=' + this.path + ';';
}
p.get = function(n){
var iIni = 0, iEnd = 0, ret = '';
if (document.cookie.length > 0){
var iIni = document.cookie.indexOf(n + '=');
if (iIni != -1){
iIni = iIni + n.length + 1;
iEnd = document.cookie.indexOf(";", iIni);
if(iEnd == -1) iEnd = document.cookie.length;
ret = unescape(document.cookie.substring(iIni, iEnd));
}
}
return ret;
}
var oCookie = new Cookie();// JavaScript Document
var oLogin = new function () {
var inited = false, loading = false;
this.init = function () {
if (!inited) {
AddEvent($('userLogin'), 'keyup', function(evt){
if (evt.keyCode == 13) { $('passLogin').focus(); }
});
AddEvent($('passLogin'), 'keyup', function(evt){
if (evt.keyCode == 13) { oLogin.enter(false); }
});
inited = true;
}
}
//
this.enter = function (evt) {
if (evt) { StopEvent(evt); }
if (inited) { this.init(); }
if (trim($('userLogin').value) != '' && trim($('passLogin').value) != '') {
$('formLogin').submit();
}
}
//
this.exit = function (evt) {
if (evt) { StopEvent(evt); }
$('formLogout').submit();
}
}