/*
LEGAL NOTICE
The source code, graphics, designs, images, photographs, sounds, animations, scripts, texts, banners,
advertisements, and information and contents included in this website are protected by legislation
on intellectual and industrial property rights and they can not be reproduced and / or publicated of all
or part of the website, or transmitted, distributed, divulged, modified , or treated, or other legally
recognized rights of the owner, without his prior written permission. The user, exclusively, can use
the material appearing on this website for personal and private motivations, and is prohibit the use
for commercial purposes or illegal activities. All rights associated with intellectual property are
expressly reserved by ensure compliance of the above conditions and the proper use of the contents 
resented in its website, taking pertinent civil or criminal correspond in the case of infringement
or breach of these rights by the user. 
IMPORTANT: We denounce in the courts any plagiarism we detect in our crawls.
(c) WWW.ABACOX.COM (Web Projects Division)
*/ // ---------------------------- 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; 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; } //-------------------------------------------------------------------------------- // 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("","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\nYOUR BROWSER HAS DENIED OPEN NEW WINDOWS\r\n\r\n.PLEASE, ALLOW THE POPUP WINDOWS IN THIS SITE.\r\n\r\nThanks."); return true; } else { if(wtl){wtl.close();} return false; } } //-------------------------------------------------------------------------------- function CARGA_GETS(){ var fl,fAp,fAp2,f,fAp3,fev,fn,fv; // Evaluamos los parámetros GET convirtíendolos en variables javascript de texto fl=self.location.href; fAp=fl.split("?"); if(fAp.length==2){ fAp2=fAp[1].split("&"); for(f in fAp2){fAp3=fAp2[f].split("=");fn=unescape(fAp3[0]);fv=unescape(fAp3[1]);eval(fn+"='"+fv+"';");} } } //-------------------------------------------------------------------------------- // Chequea si las cookies están habilitadas o no function COOKIE_CHECK(){ COOKIE_SAVE("LCPChkCookies", "OK");setTimeout("COOKIE_CHECK2()",1000);} function COOKIE_CHECK2() { if(COOKIE_GET("LCPChkCookies")!="OK"){alert('YOU MUST TO ALLOW COOCKIES IN YOUR BROWSER FOR USE THIS SITE');} } function COOKIE_GETVAL(indice) { var galleta = document.cookie; var finDeCadena = galleta.indexOf(";", indice); if (finDeCadena == -1){finDeCadena = galleta.length;} return unescape(galleta.substring(indice, finDeCadena)) } function COOKIE_GET(nombre) { var galleta = document.cookie; var arg = nombre + "="; var alen = arg.length; var glen = galleta.length; var i = 0; while (i < glen) { var j = i + alen; if (galleta.substring(i, j) == arg){ return COOKIE_GETVAL(j);} i = galleta.indexOf(" ", i) + 1; if (i == 0){break;} } return null; } function COOKIE_SAVE(nombre,valor){document.cookie = nombre + "=" + escape(valor) + "; path=/";} //-------------------------------------------------------------------------------- function CARRITO(ref){ ABRE_URL(BASE+'/information.html',''); return; var ref,url,w,wp; ref=typeof(ref)==ND?"":ref; if(LOCAL_FILE) {alert("En modo Local-File, no hay acceso al carrito");return;} if(LOCAL_APACHE){ url=APACHEROOT+CARRITO_DIR+"/"+CARRITO_FILE+"?DOMINIO=" + DOMINIO + "&ref=" + ref; } else { url=SSLROOT +CARRITO_DIR+"/"+CARRITO_FILE+"?DOMINIO=" + DOMINIO + "&ref=" + ref; } var wp="width=790,height=400,screenX=1,screenY=1,top=1,left=1,status=yes,menubar=no,toolbar=no,locationbar=no,resizable=yes,scrollbars=yes"; w=window.open(url,CARRITO_WN,wp); if(WLOCKED(w)){return;} } //-------------------------------------------------------------------------------- // EFECTO INFO ONMOUSEOVER by ABACOX Software 2007 function popupon(idobj,thetext){ var idobj,thetext,obj; if(!NAV_DOM) {return false;} obj=document.getElementById(idobj); obj.innerHTML=thetext; obj.style.width=250; obj.style.display="inline"; return false; } function popupoff(idobj){ var idobj,obj; if(!NAV_DOM) {return false;} obj=document.getElementById(idobj); obj.style.display="none"; } //------------------------------------------------------------------------------- // 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;} } else { document.location=url; } return true; } //-------------------------------------------------------------------------------- // 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 /_docum // 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; 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; if(fichero.substr(0,1)=="/"){ fichero=ROOT+fichero; } else { if(fichero.substr(0,4)=="http"){ fichero=fichero; } else { fichero=THIS_DIR+"/"+fichero; } } url=VISOR_PATH+"/visordoc.html?DOMINIO="+DOMINIO+"&FICH=" + fichero + "&POS=" + o_posicion; ancho=typeof(o_ancho)==ND?400:o_ancho; alto=typeof(o_alto)==ND?300:o_alto; wp2="width="+String(ancho)+",height="+String(alto)+",screenX=1,screenY=1,top=1,left=1,status=yes,menubar=no,toolbar=no,locationbar=no,resizable=yes,scrollbars=no"; w=window.open(url,VISORDOC_WN,wp2); if(WLOCKED(w)){return false;} w.resizeTo(String(ancho),String(alto)); w.moveTo(1,1); w.focus(); 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; if(typeof(fichero)==ND){return false;} o_titulo=typeof(o_titulo)==ND?"Display of enlarged image":o_titulo; o_txtalt=typeof(o_txtalt)==ND?"Enlarged image":o_txtalt; fichero=fichero.substr(0,1)=="/" || fichero.substr(0,4)=="http"?fichero:BASE+"/"+fichero; o_titulo=escape(o_titulo); o_txtalt=escape(o_txtalt); fichero=escape(fichero); url=VISOR_PATH+"/visorimg.html?DOMINIO="+DOMINIO+"&FICH=" + fichero + "&TIT=" + o_titulo + "&ALT=" + o_txtalt; wp2="width=300,height=200,screenX=1,screenY=1,top=1,left=1,status=yes,menubar=no,toolbar=no,locationbar=no,resizable=yes,scrollbars=no"; w=window.open(url,VISOR_WN,wp2); if(WLOCKED(w)){return false;} w.moveTo(1,1); w.focus(); 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; if(typeof(nick_tabla)==ND){return false;} url=SSLATT + VISOR_URI + "/visortbl.html?NICK=" + nick_tabla; wp2="width=300,height=200,screenX=1,screenY=1,top=1,left=1,status=yes,menubar=no,toolbar=no,locationbar=no,resizable=yes,scrollbars=auto"; w=window.open(url,VISOR_WN,wp2); if(WLOCKED(w)){return false;} w.resizeTo(300,200); w.moveTo(1,1); w.focus(); 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; if(typeof(nick_selector)==ND){return false;} if(typeof(o_nick_seleccion)==ND){o_nick_seleccion=0;} url=SSLATT + VISOR_URI + "/visorsel.html?NICK1=" + nick_selector + "&NICK2=" + o_nick_seleccion; wp2="width=512,height=204,screenX=1,screenY=1,top=1,left=1,status=yes,menubar=no,toolbar=no,locationbar=no,resizable=yes,scrollbars=no"; w=window.open(url,VISOR_WN,wp2); if(WLOCKED(w)){return false;} w.resizeTo(512,204); w.moveTo(1,1); w.focus(); return true; } //-------------------------------------------------------------------------------- // 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 //-------------------------------------------------------------------------------- function CARRITOVISOR(bajo_ssl){ var bajo_ssl,dest,w; bajo_ssl=typeof(bajo_ssl)==ND?false:bajo_ssl; dest=bajo_ssl?CARRITOVISOR_SSL:CARRITOVISOR_URI; w=window.open(dest,CARRITOVISOR_WN); if(WLOCKED(w)){return false;} 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("Make up your printer and click OK"); windowobj.document.WebBrowser1.ExecWB(6, 2); windowobj.document.WebBrowser1.outerHTML = ""; } else { windowobj.alert("You must to print this document manually using your browser"); } } } //-------------------------------------------------------------------------------- // 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=yes, menubar=no,width='+String(ancho)+',height='+String(alto)+',screenX='+String(x)+',screenY='+String(y)+',top='+String(y)+',left='+String(x)+',toolbar=no,locationbar=no,resizable=yes,scrollbars='+scroll; w2=open(CARGANDO_URI,nombre,t); if(WLOCKED(w2)){return;} 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;} 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=yes,menubar=no,toolbar=no,locationbar=no,resizable=yes,scrollbars='+scroll; w2=window.open(CARGANDO_URI,nombre,t); if(WLOCKED(w2)){return;} 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(NAV_IE){ if(typeof(url)==ND) {return false;} 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;}} 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?"INFORMATION REQUEST":asunto; cuerpo=typeof(cuerpo)==ND?"##################################################%0AMESSAGE:%0A%0A%0A%0A%0A##################################################%0A(c) " + hostU :cuerpo; url="mailto:" + cuenta + "@" + host + "?subject=" + asunto + "&body=" + cuerpo; f=window.open(url,"EMAIL"); //if(WLOCKED(f)){return false;} if(NAV_NN || NAV_OP){f.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?"Show Info":txt_show; txt_hide=typeof(txt_hide)==ND?"Hide Info":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("You must to write a integer number (not float)");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("You must to write a number");if(NAV_IE){obj.select();obj.focus();} else {obj.value="";};} return ret; } //------------------------------------------------------------------------------- // Envía error por e-mail function ERROR_JS(msj,url,linea) { window.onerror=function(){return false;}; // desactivamos el evento var txt=escape(msj+"···"+url+"···"+linea+"···"+DOMINIO); ERROR_AJAX.open("GET", ERROR_URI+"?id="+txt); //Enviamos el error ERROR_AJAX.onreadystatechange = ERROR_JS2; ERROR_AJAX.send(''); return true; } function ERROR_JS2(){ if(typeof(ERROR_AJAX)=="undefined"){return true;}// si el evento se dispara fuera de ventana if(ERROR_AJAX.readyState==4){ var txt=ERROR_AJAX.responseText; if(txt!="" && ERROR_SHOW==true){alert(txt);} } window.onerror=ERROR_JS; // recuperamos el evento } //------------------------------------------------------------------------------- // Halla objeto XMLHTTP (conexión Ajax) function getXMLHTTP(){ var obj = null; try { obj = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { obj = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e2) { obj = null; } } if (!obj && typeof XMLHttpRequest != "undefined") { obj = new XMLHttpRequest(); } return obj; }