/*************************************************************************** * Automatic Image Popup * Copyright 2003 by David Schontzler | www.stilleye.com * Free to use under GNU General Public License as long as this message * remains intact. * Description: Automate your image popup windows (centered and sized) * Compatibility: Win/IE5+, Mozilla/Netscape, degrades otherwise * URI: http://www.stilleye.com/projects/iPop *************************************************************************** * Version: 2.0 ***************************************************************************/ ///////////////// USER SETTINGS ///////////////// // Absolute path of *this* file on your server. This must be set for the // script to function!!! iPop.ScriptPath = "ipop.js"; // Set the target for browsers that don't support the script. By default, // target is "_self" which will open in the same window as the link. Change // it to whatever target you like. iPop.DegradeTarget = "_self"; ///////////////// FUNCTIONALITY ///////////////// ///////////////// DO NOT EDIT ///////////////// function ipopup(img, imgTitle) { iPop(img, imgTitle); } function iPop(img, imgTitle) { // just follow the link in browsers that do not support images or the DOM if(!document.images || !document.getElementById) { // or launch in new window if that's what you wanted it to do switch(iPop.DegradeTarget) { case "_blank" : open(img); break; case "_self" : location = img; break; case "_top" : top.location = img; break; case "_parent" : window.parent.location = img; break; default : open(img, iPop.DegradeTarget); } return true; } // initial (small) window with loading screen var width = 150, height = 100; var left = (screen.availWidth - width)/2, top = (screen.availHeight - height)/ 2; var imgWin = window.open("about:blank", "", "width=" + width + ",height=" + height + ",left=" + left + ",top=" + top); // when moz disables all popups, imgWin will be false if(!imgWin) return true; // user can pass an image title if they wish. by default, // window title will display: "Image (img source)" imgTitle = imgTitle || "Image (" + img + ")"; // html generated for use in our popup // note on the javascript functions: // wrapper functions with timeouts because sometimes the image is loaded // before the script is loaded, at least in Win/IE when doing local testing; // timeout should (presumably) prevent that var html = 'Cargando'; html += '\n'; html += '\n'; html += ''; html += '\n'; html == '\n'; html += '\n
Cargando Imagen. Espere por favor...
'; html += '\n
Imagen no encontrada. No se pudo cargar la imagen.
Cerrar ventana
'; html += '\n
Imagen cargada. Su navegador no permite redimensionar la ventana.
Ver imagen
'; html += '\n
'; html += '\n'; imgWin.document.open(); imgWin.document.write(html); imgWin.document.close(); return false; } iPop.ImageLoaded = function(e) { if(!e) return; e.onload = null; e.onerror = null; var width = e.width + 60, height = e.height + 85; var tooLarge = false; if(width > screen.availWidth) { width = screen.availWidth - 20; tooLarge = true; } if(height > screen.availHeight) { height = screen.availHeight - 20; tooLarge = true; } if(tooLarge) { document.getElementById("image").style.overflow = "auto"; } var left = (screen.availWidth - width)/2, top = (screen.availHeight - height)/ 2; window.resizeTo(width, height); window.moveTo(left, top); var winWidth = document.body.clientWidth, winHeight = document.body.clientHeight; if( (tooLarge && (winWidth < 200 || winHeight < 200) ) || !tooLarge && (e.width > 150 && winWidth <= 150 || e.height > 100 && winHeight <= 100) ) { _e = { src : e.src, width : e.width, height : e.height, tooLarge : tooLarge } document.getElementById("loading").style.display = "none"; document.getElementById("error").style.display = "none"; document.getElementById("image").style.display = "none"; document.title = "Image Loaded"; } else { // can resize document.getElementById("loading").style.display = "none"; document.getElementById("error").style.display = "none"; document.getElementById("resize").style.display = "none"; document.title = _title; } } iPop.ErrorLoading = function(e) { if(!e) return; e.onload = null; e.onerror = null; document.getElementById("loading").style.display = "none"; document.getElementById("resize").style.display = "none"; document.getElementById("image").style.display = "none"; document.title = "Imagen no encontrada"; } iPop.ImageLoadedManualPopup = function(e) { if(!e) return; var width = e.width + 20, height = e.height + 20; if(width > screen.availWidth) width = screen.availWidth - 20; if(height > screen.availHeight) height = screen.availHeight - 100; var left = (screen.availWidth - width)/2, top = (screen.availHeight - height)/ 2; window.open(e.src, "ManualImageViewer", "width=" + width + ",height=" + height + ",left=" + left + ",top=" + top + (e.tooLarge ? ",scrollbars" : "")); window.close(); }