/*
AVISO LEGAL - WEB PROTEGIDA POR DERECHOS DE AUTOR
El código fuente, diseños, gráficos, imágenes, fotografías, sonidos, animaciones, programas,
textos, banners, publicidad, así como la información y contenidos que se recogen en este sítio web
están protegidos por la legislación española sobre los derechos de la propiedad intelectual e industrial
a favor de los propietarios y no se permite la reproducción y/o publicación, total
o parcial, del sitio web, ni su tratamiento informático, su distribución, su difusión, ni su modificación,
transformación o descompilación, ni demás derechos reconocidos legalmente a su titular, sin el permiso
previo y por escrito de los mismos. El usuario, única y exclusivamente, puede utilizar este material para
su uso personal y privado, quedando prohibido su uso con fines comerciales o para incurrir en actividades
ilícitas. Velaremos por estos derechos ejercitando todas las acciones civiles y penales que correspondan.
IMPORTANTE: Denunciaremos en los juzgados cualquier posible plagio que detectemos en nuestros rastreos.
(c) WWW.ABACOX.COM (División de Proyectos Web)
*/ //-------------------------------------------------------------------------------- // Abre una ventana secundaria desde la principal. //-------------------------------------------------------------------------------- function AbreDesdeIndex(url){ if(NAV_IE && !NAV_IEto6){ location.href=url; } else { window2=window.open(url,"_blank",WP2); window2.focus(); }; };; //-------------------------------------------------------------------------------- // Evita que la ventana que está abriéndose haya sido abierta desde otra con el mismo nombre // Para evitar problema del bloqueo de la navegación entre ventanas de distinto dominio //-------------------------------------------------------------------------------- function BlockOpener(){ if(opener){ try{ if(opener.name==self.name){ self.location.href="about:blank"; self.name="ERROR"; self.resizeTo(0,0); self.moveTo(5000,5000); // self.close(); self.blur(); opener.focus(); }; } catch(err){}; }; };; //-------------------------------------------------------------------------------- // Abre el carrito de la compra bajo zona SSL // Usa las JS_globales... CARRITO_SSL, CARRITO_WN, CARRITO_WP, windowC, WN1, WN2, CALC_WN //-------------------------------------------------------------------------------- function CARRITO(o_id){ var gtxt=typeof(o_id)==ND?"":"?X_BUY=1&X_CODIGO=" + o_id; windowC=window.open(CARRITO_SSL + gtxt,CARRITO_WN,CARRITO_WP); windowC.focus(); };; //-------------------------------------------------------------------------------- // Cierra carrito si la ventana actual lo abrió y existe (llamado por evento Unload) //-------------------------------------------------------------------------------- function CierraCarrito(){ try{ if(windowC){windowC.close();windowC=false;}; } catch(err){}; };; //-------------------------------------------------------------------------------- // Refresca o abre el Visor del carrito de la compra especificando si es bajo SSL o no // Usa las JS_globales... CARRITOVISOR_SSL, CARRITOVISOR_URI y CARRITOVISOR_WN // Nota si se llama a esta función y no está el visor en la página principal abrirá una ventana con el visor // ANULADA: Permiso denegado por acceso entre dominios distintos y protocolos (https y http) distintos //-------------------------------------------------------------------------------- function CARRITOVISOR(bajo_ssl){ return true; var bajo_ssl,dest,w; bajo_ssl=typeof(bajo_ssl)==ND?false:bajo_ssl; dest=bajo_ssl?CARRITOVISOR_SSL:CARRITOVISOR_URI; // CAPADO PARA QUE NO DE ERROR w=window.open(dest,CARRITOVISOR_WN); return true; } // ---------------------------- HALLA WFW y WFH ---------------------------------- // Zonas NO usadas para el resizeTo de una window existente (debe tener un body) // IMPORTANTE: Los WINFACs NO SON NECESARIOS para window.open(), pues las medidas // que en window.open se indican resultan ser las del INTERIOR de la ventana //-------------------------------------------------------------------------------- var WFW,WFH; function GET_WINFAC(wobj){ var fw,fh; if(!NAV_SF){wobj.resizeTo(500,500);} // resizamos para disponer de una base de cálculo // Hallamos el tamaño de la zona de usuario de la ventana if(wobj.innerWidth){ fw=wobj.innerWidth - 4; // ajustes por diferencias con clientWidth fh=wobj.innerHeight -0; // ajustes por diferencias con clientHeight } else { fw=wobj.document.body.clientWidth; fh=wobj.document.body.clientHeight; } WFW=500-fw; WFH=500-fh; } //-------------------------------------------------------------------------------- // PROVOCA ERRORES MÚLTIPLES EN LA APERTURA DE VENTANAS SEGURAS DESDE ZONA NO SEGURA // Comprueba si está activada la configuración de bloqueo de elementos emergentes // para ello genera una ventana y luego la cierra. // Si se le pasa un objeto ventana comprueba si se ha bloqueado y avisa de ello // // Modos de bloqueo de los navegadores: // NAV_FF ... Bloquea las aperturas automáticas pero no las de click // NAV_IE ... (bloqueo default) Bloquea las aperturas automáticas pero no las de click // NAV_IE ... (super bloqueo) Bloquea las aperturas incluso cuando haces click //-------------------------------------------------------------------------------- //function WLOCKED(o_wname){ // var o_wname,wtl; // wtl=false; // if(typeof(o_wname)==ND){ wtl=window.open(CARGANDO_URI,"WNA","width=1,height=1,screenX=1,screenY=1,top=1,left=1,status=no,menubar=no,toolbar=no,location=no,resizable=no,scrollbars=no"); } // if(wtl==null || o_wname==null){ // alert("\r\nAVISO IMPORTANTE:\r\n\r\nSU NAVEGADOR NO PERMITE MOSTRAR LAS VENTANAS\r\n\r\nQUE GENERA ESTA WEB. PERMITA SIEMPRE LOS ELEMENTOS\r\n\r\nEMERGENTES DE ESTE SITIO Y LAS VERÁ CORRECTAMENTE.\r\n\r\nGracias."); // return true; // } else { // if(wtl){wtl.close();} // return false; // } //} //-------------------------------------------------------------------------------- // Abre una ventana tipo visor presentando el contenido de "fichero", // cuyo foco se posicionará en un y aparecerá (si/no) la // opción de "contratar". // Si fichero no es una uri o url entonces lo cogerá de /js/visor/docs // Usa las JS_globales... VISOR_URI y VISOR_WN //-------------------------------------------------------------------------------- function VISORDOC(fichero,o_posicion,o_ancho,o_alto){ var fichero,o_posicion,o_ancho,o_alto,ancho,alto,url,w,wp1,wp2,wn; if(typeof(fichero)==ND){return false;} o_posicion=typeof(o_posicion)==ND?"INICIO":o_posicion; o_posicion=typeof(o_posicion)=="boolean"?(o_posicion?"INICIO":""):o_posicion; fichero=fichero.substr(0,1)=="/" || fichero.substr(0,4)=="http"?fichero:VISORDOC_URI + "/" + fichero; url=VISOR_URI + "/visordoc.html?FICH=" + fichero + "&POS=" + o_posicion; url=SSL?SSL_URL + url:url; wn=SSL?VISOR_WN_SSL:VISOR_WN; ancho=typeof(o_ancho)==ND?400:o_ancho; alto=typeof(o_alto)==ND?300:o_alto; wp2 ="width=" + String(ancho) + ",height=" + String(alto)+ ","+VISOR_WP; w=window.open(url,wn,wp2); // if(WLOCKED(w)){return false;} w.focus(); if(!NAV_SF){w.resizeTo(String(ancho),String(alto)); w.moveTo(1,1);} return true; } //-------------------------------------------------------------------------------- // Abre una ventana tipo visor presentando la imagen de "fichero", // Usa las JS_globales... VISOR_URI y VISOR_WN //-------------------------------------------------------------------------------- function VISORIMG(fichero,o_titulo,o_txtalt){ var fichero, o_titulo, o_txtalt,url,w,wp1,wp2,wn; if(typeof(fichero)==ND){return false;} o_titulo=typeof(o_titulo)==ND?"Visualización de la imagen ampliada":o_titulo; o_txtalt=typeof(o_txtalt)==ND?"Imagen ampliada":o_txtalt; url=VISOR_URI + "/visorimg.html?FICH=" + fichero + "&TIT=" + o_titulo + "&ALT=" + o_txtalt; url=SSL?SSL_URL + url:url; wn=SSL?VISOR_WN_SSL:VISOR_WN; wp2="width=300,height=200,"+VISOR_WP; w=window.open(url,wn,wp2); //if(WLOCKED(w)){return false;} w.focus(); if(!NAV_SF){w.moveTo(1,1);} return true; } //-------------------------------------------------------------------------------- // Muestra una ventana con una tabla de datos, (puede ser de precios o de cualquier otra cosa... etc) // Usa las JS_globales... VISOR_URI y VISOR_WN //-------------------------------------------------------------------------------- function VISORTBL(nick_tabla){ var nick_tabla,url,w,wp1,wp2,wn; if(typeof(nick_tabla)==ND){return false;} url=VISOR_URI + "/visortbl.html?NICK=" + nick_tabla; url=SSL?SSL_URL + url:url; wn=SSL?VISOR_WN_SSL:VISOR_WN; wp2="width=300,height=200,"+VISOR_WP; w=window.open(url,wn,wp2); //if(WLOCKED(w)){return false;} w.focus(); if(!NAV_SF){w.moveTo(1,1);} return true; } //-------------------------------------------------------------------------------- // Muestra una ventana con los datos de un control selector (las selecciones) // Usa las JS_globales... VISOR_URI y VISOR_WN //-------------------------------------------------------------------------------- function VISORSEL(nick_selector,o_nick_seleccion){ var nick_selector,o_nick_seleccion,url,w,wp1,wp2,wn; if(typeof(nick_selector)==ND){return false;} if(typeof(o_nick_seleccion)==ND){o_nick_seleccion=0;} url=VISOR_URI + "/visorsel.html?NICK1=" + nick_selector + "&NICK2=" + o_nick_seleccion; url=SSL?SSL_URL + url:url; wn=SSL?VISOR_WN_SSL:VISOR_WN; wp2="width=520,height=215,"+VISOR_WP; w=window.open(url,wn,wp2); //if(WLOCKED(w)){return false;} w.focus(); return true; } //------------------------------------------------------------------------------- // ABRE_URL(url,o_nombre_ventana) = boolean // - Produce un salto en la ventana actual o genera una nueva si le damos el nombre //-------------------------------------------------------------------------------- function ABRE_URL(url,o_nombre_ventana){ var url,o_nombre_ventana,w; if(typeof(url)==ND){return false;} if(typeof(o_nombre_ventana)!=ND){ w=window.open(url,o_nombre_ventana); //if(WLOCKED(w)){return false;} w.focus(); } else { document.location=url; } return true; } //---------------------------------------- // IMPRIMIR() = boolean // SALTAR(url[txt],nombre[txt],ancho[num],alto[num],x[num],y[num],scroll[boolean]) = boolean // CERRARVENTANA(nombre[txt]) = void() // ABRIRVENTANA_R(url[txt],nombre[txt],x[num],y[num],ancho[num],alto[num],scroll[bool]) = boolean // SALTAR_R(url[txt],nombre[txt]) = boolean // CORREO(cuenta[txt],host[txt],asunto[txt],cuerpo[txt]) = boolean // VISOR(fichero[txt],posición[num],contratar[bool]) = void() // DELAY(milisegs[num]) = void // VIBRACION(amplitud[num]) = void // MUESTRAVAR(variable[var],mayúsculas[bool]) = void // SHOWHIDEBLOCK(id_bloque,id_enlace,txt_mostrar,txt_ocultar)SHOWHIDEBLOCK(url) = datos // trim(txt) = string //---------------------------------------- //-------------------------------------------------------------------------------- // MONEDA(url,mon) = boolean // - Salta a una Url determinada añadiendo el indicador de moneda. //-------------------------------------------------------------------------------- function MONEDA(url,mon){ var url,mon; if(typeof(url)==ND || typeof(url)==ND) {return false;} self.location.href=url + "?WTS_CURR_CURRENCY=" + mon; } //-------------------------------------------------------------------------------- // IMPRIMIR() = boolean // - Imprime la actual ventana. Retorna false si el explorador no admite la // impresión automática. //-------------------------------------------------------------------------------- function IMPRIMIR(windowobj){ var WebBrowser; if(typeof(windowobj)==ND){windowobj=self;} windowobj.focus(); if(windowobj.print){ windowobj.print(); }else{ if (NAV_IE){ // para los EXPLORER 4. WebBrowser = ''; windowobj.document.body.insertAdjacentHTML('beforeEnd', WebBrowser); windowobj.alert("Prepare la impresora y pulse aceptar para imprimir el documento"); windowobj.document.WebBrowser1.ExecWB(6, 2); windowobj.document.WebBrowser1.outerHTML = ""; } else { windowobj.alert("Deberá imprimir este documento manualmente desde su navegador"); } } } //-------------------------------------------------------------------------------- // SALTAR(url[txt],nombre[txt],ancho[num],alto[num],x[num],y[num],scroll[boolean]) = boolean // - Abre una ventana de dialogo. "url" indica la url de carga. Si se define // "nombre" entonces se abrirá una nueva ventana con este nombre,"ancho", // "alto","x" e "y" serán las dimensiones y la posición. Incluye switch "scroll". //-------------------------------------------------------------------------------- function SALTAR(url,nombre,ancho,alto,x,y,scroll){ var url,nombre,ancho,alto,x,y,scroll,t,w2; if(typeof(nombre)==ND){ self.location.href=url; return true; } else { ancho=typeof(ancho)==ND?500:ancho; alto=typeof(alto)==ND?350:alto; x=typeof(x)==ND?0:x; y=typeof(y)==ND?0:y; scroll=typeof(scroll)==ND?"no":(scroll?"yes":"no"); t='status=no, menubar=no,width='+String(ancho)+',height='+String(alto)+',screenX='+String(x)+',screenY='+String(y)+',top='+String(y)+',left='+String(x)+',toolbar=no,location=no,resizable=yes,scrollbars='+scroll; w2=open(CARGANDO_URI,nombre,t); //if(WLOCKED(w2)){return;} w2.focus(); if(url!="") { if(url.substr(0,7)=="mailto:" || url.substr(0,11)=="javascript:") {return false;} if(url.substr(0,7)=="http://" || url.substr(0,8)=="https://") {w2.location.href=url;} else {w2.location.href=url;} } w2.focus(); } } //------------------------------------------------------------------------------- // ABRIRVENTANA_R(url[txt],nombre[txt],x[num],y[num],ancho[num],alto[num],scroll[bool]) = boolean // - Genera la apertura de una ventana o cambio de url de una ya existente con // el mismo nombre asegurando la integridad del referer. //-------------------------------------------------------------------------------- function ABRIRVENTANA_R(url,nombre,x,y,ancho,alto,scroll){ var url,nombre,x,y,ancho,alto,scroll,t,w2; if(typeof(url)==ND) {return false;} nombre=typeof(nombre)==ND?"NUEVA_R":nombre; x=typeof(x)==ND?0:x; y=typeof(y)==ND?0:y; ancho=typeof(ancho)==ND?400:ancho; alto=typeof(alto)==ND?300:alto; scroll=typeof(scroll)==ND?"no":(scroll?"yes":"no"); t='width='+String(ancho)+',height='+String(alto)+',screenX='+String(x)+',screenY='+String(y)+',top='+String(y)+',left='+String(x)+',status=no,menubar=no,toolbar=no,location=no,resizable=yes,scrollbars='+scroll; w2=window.open(CARGANDO_URI,nombre,t); //if(WLOCKED(w2)){return false;} w2.focus(); SALTAR_R(url,nombre,w2); w2.focus(); } //------------------------------------------------------------------------------- // SALTAR_R(url[txt],nombre[txt]) = boolean // - Produce un salto de la ventana actual o de la indicada a otra url del // site manteniendo la integridad del referer. //-------------------------------------------------------------------------------- function SALTAR_R(url,nombre){ var url,nombre,myBody,myLink; if(typeof(url)==ND){return false;} if(NAV_IE){ myBody = document.getElementsByTagName('body').item(0); myLink = document.createElement('a'); myLink.href=url; myLink.id="enlace"; if(typeof(nombre)!=ND) {myLink.target=nombre;} void(myBody.appendChild(myLink)); document.getElementById("enlace").click(); void(myBody.removeChild(myLink)); } else { if(typeof(nombre)!=ND){ w2=window.open(url,nombre); //if(WLOCKED(w2)){return;} w2.focus(); } else { document.location=url; } } } //-------------------------------------------------------------------------------- // CORREO(cuenta[txt],host[txt],asunto[txt],cuerpo[txt]) = boolean // - Genera un mensaje de correo abriendo el programa cliente predeterminado. // como parámetros... la "cuenta"@"host", el "asunto" y el "cuerpo" //-------------------------------------------------------------------------------- function CORREO(cuenta,host,asunto,cuerpo){ var cuenta,host,asunto,cuerpo,url; cuenta=typeof(cuenta)==ND?"info":cuenta; host=typeof(host)==ND?DOMINIO:host; hostU=host.toUpperCase(); asunto=typeof(asunto)==ND?"SOLICITUD DE INFORMACION":asunto; cuerpo=typeof(cuerpo)==ND?"Fecha: " + FECHA + " - Hora: " + HORA + " - Asunto: " + asunto + "%0A##################################################%0AMENSAJE:%0A%0A%0A%0A%0A##################################################%0A(c) " + hostU + " - 2005":cuerpo; url="mailto:" + cuenta + "@" + host + "?subject=" + asunto + "&body=" + cuerpo; w2=window.open(url,"EMAIL"); //if(WLOCKED(w2)){return false;} w2.focus(); if(NAV_NN || NAV_OP){w2.close();} } //------------------------------------------------------------------------------- // VALIDAEMAIL(email[txt]) = boolean // - Comprueba si la sintaxis del e-mail suministrado es correcta. //-------------------------------------------------------------------------------- function VALIDAEMAIL(email){ var email; if (email.indexOf("@")==-1 || email.indexOf(".")==-1) {return false;} return email.toLowerCase(); } //------------------------------------------------------------------------------- // DELAY(milisegs[num]) = void // - Genera una pausa en milisegundos. //-------------------------------------------------------------------------------- function DELAY(milisegs){ var milisegs,then,now; then=new Date().getTime(); now=then; while((now-then) 0; i--) { for (j = n; j > 0; j--) { self.moveBy(0,i); self.moveBy(i,0); self.moveBy(0,-i); self.moveBy(-i,0); } } } } //------------------------------------------------------------------------------- // MUESTRAVAR(variable[var],mayúsculas[bool]) = void // - Muestra el contenido de una variable general //-------------------------------------------------------------------------------- function MUESTRAVAR(variable,mays) { var variable,mays; if (typeof(variable)==ND) {return;} mays=typeof(mays)!="boolean"?false:mays; variable=mays?variable.toUpperCase():variable; document.open(); document.write(variable); document.close(); } //------------------------------------------------------------------------------- // SHOWHIDEBLOCK(id_bloque,id_enlace,txt_mostrar,txt_ocultar) = void // - Muestra/Oculta el contenido de un bloque < div > intercambiando el texto contenido en un enlace //-------------------------------------------------------------------------------- function SHOWHIDEBLOCK(id_block,id_link,txt_show,txt_hide){ var id_block,id_link,txt_show,txt_hide,dge; id_block=typeof(id_block)==ND?"SW_BLOCK":id_block; id_link=typeof(id_link)==ND?"SW_LINK":id_link; txt_show=typeof(txt_show)==ND?"Mostrar Información":txt_show; txt_hide=typeof(txt_hide)==ND?"Ocultar Información":txt_hide; dge=document.getElementById(id_link); if(dge.innerHTML==txt_show){ dge.innerHTML=txt_hide; document.getElementById(id_block).style.display="block"; } else { dge.innerHTML=txt_show; document.getElementById(id_block).style.display="none"; } } //------------------------------------------------------------------------------- // trim(txt) = string // - Hace un TRIM delantero y trasero de un texto (elimina espacios sobrantes) //-------------------------------------------------------------------------------- function trim(txt){ var txt,result; txt=typeof(txt)==ND?"":txt; result=txt.replace(/^\s*/,""); result=result.replace(/\s*$/,""); return result; } //------------------------------------------------------------------------------- // Chequea si un control INPUT (this) contiene un número entero function ChkInputInt(obj,o_warn){ var obj,o_warn,ret,val; if(typeof(obj)==ND){return false;} o_warn=typeof(o_warn)!="boolean"?false:o_warn; val=obj.value;ret=true; if(isNaN(val)){ret=false;} if(val.indexOf(".")>=0){ret=false;} if(!ret && o_warn){ alert("Debe indicar un número entero (sin decimales)"); if(NAV_IE){obj.select();obj.focus();} else {obj.value="";}; }; return ret; } //------------------------------------------------------------------------------- // Chequea si un control INPUT (this) contiene un número flotante. function ChkInputFloat(obj,o_warn){ var obj,o_warn,ret,val; if(typeof(obj)==ND){return false;} o_warn=typeof(o_warn)!="boolean"?false:o_warn; val=obj.value;obj.value=val.replace(/,/,"."); val=obj.value;ret=true; if(isNaN(val)){ret=false;} if(!ret && o_warn){alert("Debe indicar un número");if(NAV_IE){obj.select();obj.focus();} else {obj.value="";};} return ret; }