Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var bmi_htmlEdit = 0;
- var bmi_ie;
- var bmi_ns;
- var bmi_safari;
- var bmi_imageObjSelected;
- var bmi_ffx_op_toolTip = "Shift+R improves the quality of this image. Shift+A improves the quality of all images on this page.";
- var bmi_toolTip = "Shift+R improves the quality of this image. CTRL+F5 reloads the whole page.";
- var bmi_ns_tooltip = "Shift+Reload reloads the whole page.";
- var bmi_toolTipSeperator = " ... ";
- var bmi_concatStr = "bmi_orig_img";
- var bmi_frameNotAllowed;
- var agt = navigator.userAgent.toLowerCase();
- var is_major = parseInt(navigator.appVersion);
- var is_minor = parseFloat(navigator.appVersion);
- var bmi_ns = ((agt.indexOf('mozilla') != -1) && (agt.indexOf('spoofer') == -1) && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera') == -1) && (agt.indexOf('webtv') == -1) && (agt.indexOf('hotjava') == -1));
- var bmi_ns2 = (bmi_ns && (is_major == 2));
- var bmi_ns3 = (bmi_ns && (is_major == 3));
- var bmi_ns4 = (bmi_ns && (is_major == 4));
- var bmi_ns4up = (bmi_ns && (is_major >= 4));
- var bmi_nsonly = (bmi_ns && ((agt.indexOf(";nav") != -1) || (agt.indexOf("; nav") != -1) || (agt.indexOf("Netscape") != -1) || (agt.indexOf("netscape") != -1)));
- var bmi_ns6 = (bmi_ns && (is_major == 5));
- var bmi_ns6up = (bmi_ns && (is_major >= 5));
- var is_gecko = (agt.indexOf('gecko') != -1);
- var bmi_firefox = (agt.indexOf('firefox') != -1);
- var bmi_safari = (agt.indexOf('applewebkit') != -1);
- var bmi_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
- var bmi_ie3 = (bmi_ie && (is_major < 4));
- var bmi_ie4 = (bmi_ie && (is_major == 4) && (agt.indexOf("msie 4") != -1));
- var bmi_ie4up = (bmi_ie && (is_major >= 4));
- var bmi_ie5 = (bmi_ie && (is_major == 4) && (agt.indexOf("msie 5.0") != -1));
- var bmi_ie5_5 = (bmi_ie && (is_major == 4) && (agt.indexOf("msie 5.5") != -1));
- var bmi_ie5up = (bmi_ie && !bmi_ie3 && !bmi_ie4);
- var bmi_ie5_5up = (bmi_ie && !bmi_ie3 && !bmi_ie4 && !bmi_ie5);
- var bmi_ie6 = (bmi_ie && (is_major == 4) && (agt.indexOf("msie 6.") != -1));
- var bmi_ie6up = (bmi_ie && !bmi_ie3 && !bmi_ie4 && !bmi_ie5 && !bmi_ie5_5);
- var bmi_opera = (agt.indexOf("opera") != -1);
- var bmi_opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
- var bmi_opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
- var bmi_opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
- var bmi_opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
- var bmi_opera5up = (bmi_opera && !bmi_opera2 && !bmi_opera3 && !bmi_opera4);
- function bmi_checkAccess(win) {
- bmi_frameNotAllowed = 0;
- window.bmioldOnError = window.onerror;
- window.onerror = null;
- try {
- var l = win.location.href;
- } catch (e) {
- bmi_frameNotAllowed = 1;
- }
- if (bmi_frameNotAllowed == 1) {
- window.onerror = window.bmioldOnError;
- return false;
- } else {
- window.onerror = window.bmioldOnError;
- return true;
- }
- }
- function bmi_ImageElement(el) {
- if (!el) return 0;
- var str = new String(el.tagName);
- if (str.match("IMG")) {
- return 1;
- }
- if (str.match("INPUT")) {
- if (el.type && bmi_checkInputType(el.type)) {
- return 1;
- }
- return 0;
- }
- if (str.match("OBJECT")) {
- if (el.type && bmi_checkMIMEType(el.type)) {
- el.bmi_objTag = 1;
- return 1;
- }
- }
- if (str.match("EMBED")) {
- if (el.type && bmi_checkMIMEType(el.type)) {
- return 1;
- }
- }
- if (str.match("AREA") || str.match("A")) {
- var p = el.parentNode;
- if (p && (p.tagName == "MAP") && (p.bmi_imgObj != null)) {
- el.bmi_mapImage = p.bmi_imgObj;
- p.bmi_imgObj.bmi_areaEl = el;
- return 1;
- }
- }
- return 0;
- }
- function bmi_resetTitle(el) {
- if (!el) return;
- if (el.bmi_touched != 1) return;
- el.title = "";
- if (el.bmi_oldTitle) {
- el.title = el.bmi_oldTitle;
- if (el.bmi_oldAlt) {
- el.alt = el.bmi_oldAlt;
- }
- } else if (el.bmi_oldAlt) {
- el.alt = el.bmi_oldAlt;
- if (bmi_ie) el.title = el.alt;
- }
- if (el.bmi_gotOriginal) {
- if (el.bmi_orig_mouseout) {
- el.onmouseout = el.bmi_orig_mouseout;
- }
- }
- }
- function bmi_checkElement(el) {
- var pwindow = null;
- if (el.bmi_gotOriginal) return;
- if (el.bmi_mapImage) {
- if (el.bmi_mapImage.bmi_gotOriginal == 1) {
- el.bmi_gotOriginal = 1;
- if (el.bmi_touched) bmi_resetTitle(el);
- return;
- }
- }
- if (el.bmi_touched != 1) {
- bmi_setElementTitle(el);
- if (el.onmouseout) {
- el.bmi_orig_mouseout = el.onmouseout;
- el.onmouseout = bmi_safeMouseOutEvents;
- } else {
- el.onmouseout = bmi_safeMouseOutEvents;
- }
- } else {
- el.title = el.bmi_title;
- el.alt = el.bmi_alt;
- }
- if (el.bmi_mapImage) bmi_imageObjSelected = el.bmi_mapImage;
- else bmi_imageObjSelected = el;
- if (bmi_ie || bmi_opera) pwindow = document.parentWindow;
- else if (bmi_nsonly || is_gecko) pwindow = document.defaultView;
- else pwindow = null;
- if (pwindow && (pwindow != pwindow.parent)) {
- pwindow.focus();
- el.bmi_changedFocus = 1;
- }
- return;
- }
- function bmi_setElementTitle(el) {
- var tmpAlt = "";
- if (el.alt) {
- tmpAlt = el.alt;
- el.bmi_oldAlt = el.alt;
- el.bmi_alt = "";
- el.alt = "";
- }
- if (el.title) {
- el.bmi_oldTitle = el.title;
- el.title = el.title + "";
- } else {
- el.title = tmpAlt + "";
- }
- if (bmi_firefox) {
- el.title = el.title + bmi_toolTipSeperator + bmi_ffx_op_toolTip;
- el.bmi_touched = 1;
- el.bmi_title = el.title;
- } else if (bmi_opera || bmi_safari) {
- el.title = bmi_ffx_op_toolTip;
- el.bmi_touched = 1;
- el.bmi_title = el.title;
- } else {
- el.title = el.title + bmi_toolTipSeperator + bmi_toolTip;
- el.bmi_touched = 1;
- el.bmi_title = el.title;
- }
- return;
- }
- function bmi_checkInputType(type) {
- if (!type) return 0;
- if (type.match("image") || type.match("Image")) {
- return 1;
- }
- return 0;
- }
- function bmi_checkMIMEType(type) {
- var typeStr = new String(type);
- var find = /image\//gi;
- if (typeStr.search(find) != -1) return 1;
- return 0;
- }
- function bmi_mouseOver(e) {
- bmi_imageObjSelected = null;
- var obj;
- if (document.bmi_onmouseover_original != null) document.bmi_onmouseover_original(e);
- if (bmi_ie || bmi_opera) {
- var e = window.event;
- obj = e.srcElement;
- } else {
- obj = e.target;
- }
- if (obj.bmi_gotOriginal) return;
- if (bmi_ImageElement(obj)) {
- bmi_checkElement(obj);
- }
- return;
- }
- function bmi_safeMouseOutEvents(e) {
- var obj;
- if (bmi_ie || bmi_opera) {
- e = window.event;
- obj = e.srcElement;
- } else {
- obj = e.target;
- }
- bmi_resetTitle(obj);
- if (obj.bmi_changedFocus == 1) {
- var pwindow = null;
- if (bmi_ie || bmi_opera) pwindow = document.parentWindow;
- else if (bmi_nsonly || is_gecko) pwindow = document.defaultView;
- else pwindow = null;
- if (pwindow) {
- pwindow.top.focus();
- obj.bmi_changedFocus = 0;
- }
- }
- if (obj.bmi_orig_mouseout) {
- obj.bmi_orig_mouseout();
- }
- }
- function bmi_updateImageSrc(src) {
- var found = 0;
- var find = /\?/g;
- var editUrl;
- var editIndex;
- var editProto;
- var bmiSignIndex;
- var bmiSign;
- srcString = new String(src);
- if (srcString.search(find) != -1) {
- found = 1;
- srcString = srcString.concat("&" + bmi_concatStr + "=1");
- } else {
- var i = srcString.lastIndexOf("/");
- var newStr = srcString.substring(i + 1);
- srcString = srcString.concat("/" + bmi_concatStr + "/" + newStr);
- }
- if (bmi_htmlEdit) {
- editIndex = srcString.indexOf("://");
- if (editIndex != -1) {
- editProto = srcString.substring(0, editIndex + 3);
- editUrl = srcString.substring(editIndex + 3);
- editIndex = editUrl.indexOf("/");
- if (editIndex != -1) {
- editUrl = editUrl.substring(editIndex + 1);
- bmiSignIndex = editUrl.indexOf("/");
- if (bmiSignIndex != -1) {
- bmiSign = editUrl.substring(0, bmiSignIndex);
- if (bmiSign == "bmi") {
- editUrl = editUrl.substring(bmiSignIndex + 1);
- srcString = editProto + editUrl;
- }
- }
- }
- }
- }
- return (srcString);
- }
- function bmi_replaceImages(array) {
- if (!array) return;
- for (var i = 0; i < array.length; i++) {
- if (array[i].bmi_gotOriginal) {
- continue;
- }
- if (array[i].bmi_objTag) {
- array[i].data = bmi_updateImageSrc(array[i].data);
- } else {
- array[i].src = bmi_updateImageSrc(array[i].src);
- }
- array[i].bmi_gotOriginal = 1;
- if (array[i].bmi_touched) {
- bmi_resetTitle(array[i]);
- }
- }
- return;
- }
- function bmi_replaceInputImages(array) {
- if (!array) return;
- for (var i = 0; i < array.length; i++) {
- if (array[i].bmi_gotOriginal) {
- continue;
- }
- if (array[i].type && bmi_checkInputType(array[i].type)) {
- array[i].src = bmi_updateImageSrc(array[i].src);
- array[i].bmi_gotOriginal = 1;
- if (array[i].bmi_touched) {
- bmi_resetTitle(array[i]);
- }
- }
- }
- return;
- }
- function bmi_NSlayers() {
- if (document != null) {
- if (!document.layers) {
- bmi_replaceImages(document.tags.IMG);
- bmi_replaceInputImages(document.tags.INPUT);
- return;
- }
- for (var i = 0; i < document.layers.length; i++) {
- bmi_NSlayers(document.layers[i].document);
- bmi_replaceImages(document.layers[i].document.tags.IMG);
- bmi_replaceInputImages(document.layers[i].document.tags.INPUT);
- }
- }
- return;
- }
- function bmi_downloadAllHandler() {
- if ((true == bmi_checkAccess(parent)) && (parent.location.href != self.location.href)) {
- var newparent = parent;
- do {
- newparent = newparent.parent;
- if ((false == bmi_checkAccess(newparent.parent)) || (newparent.parent.location.href == newparent.location.href)) {
- break;
- }
- } while (newparent); //
- var numFrames = newparent.frames.length;
- var index = 0;
- var frame;
- for (; index < newparent.frames.length; index++) {
- frame = newparent.frames[index];
- if (false == bmi_checkAccess(frame.window)) {
- continue;
- }
- if (frame.window.bmi_reDownloadAllImages) {
- frame.window.bmi_reDownloadAllImages();
- }
- }
- return;
- }
- bmi_reDownloadAllImages();
- }
- function bmi_reDownloadAllImages() {
- var imgArray;
- var inputArray;
- var backgroundArray;
- var numFrames = window.frames.length;
- var index = 0;
- var frame;
- for (; index < numFrames; index++) {
- frame = window.frames[index];
- if (false == bmi_checkAccess(frame.window)) {
- continue;
- }
- if (frame.window.bmi_reDownloadAllImages) {
- frame.window.bmi_reDownloadAllImages();
- }
- }
- if ((bmi_ie5up || bmi_ns6up || bmi_opera5up || bmi_firefox)) {
- imgArray = document.getElementsByTagName("IMG");
- inputArray = document.getElementsByTagName("INPUT");
- bmi_replaceImages(imgArray);
- bmi_replaceInputImages(inputArray);
- } else if (bmi_ns && (bmi_ns4 || bmi_ns3)) {
- var imgArray;
- var docLayers;
- docLayers = document.layers;
- if (docLayers && docLayers.length) {
- for (var layi = 0; layi < 0; layi++) {
- imgArray = docLayers[layi].document.images;
- bmi_replaceImages(imgArray);
- }
- } else {
- imgArray = document.images;
- bmi_replaceImages(imgArray);
- }
- } else {
- imgArray = document.images;
- bmi_replaceImages(imgArray);
- }
- return;
- }
- function bmi_reDownloadSelectedImage(img) {
- if (img.bmi_gotOriginal) {
- return;
- }
- if (img && !img.bmi_gotOriginal) {
- if (img.bmi_objTag) {
- img.data = bmi_updateImageSrc(img.data);
- } else {
- img.src = bmi_updateImageSrc(img.src);
- }
- img.bmi_gotOriginal = 1;
- if (img.bmi_touched) {
- bmi_resetTitle(img);
- }
- if (img.bmi_areaEl && (img.bmi_areaEl.bmi_touched)) {
- bmi_resetTitle(img.bmi_areaEl);
- img.bmi_areaEl.bmi_gotOriginal = 1;
- }
- }
- return;
- }
- function bmi_keypress(e) {
- var reloadSingle = 0;
- var reloadAll = 0;
- var obj;
- if (bmi_ns) {
- if (bmi_ns6up) {
- if ((String.fromCharCode(e.charCode) == 'r') || (String.fromCharCode(e.charCode) == 'R')) reloadSingle = 1;
- else {
- if ((String.fromCharCode(e.charCode) == 'A')) reloadAll = 1;
- }
- obj = e.target;
- var str = new String(obj.tagName);
- if (str.match("INPUT") && (bmi_checkInputType(obj.type) != 1)) {
- if (bmi_imageObjSelected == obj) reloadAll = reloadSingle = 0;
- }
- } else {
- if ((String.fromCharCode(e.which) == 'R') && (e.modifiers == Event.SHIFT_MASK)) reloadSingle = 1;
- else {
- if ((String.fromCharCode(e.which) == 'A') && (e.modifiers == Event.SHIFT_MASK)) reloadAll = 1;
- }
- }
- }
- if (bmi_ie || bmi_opera) {
- if ((String.fromCharCode(window.event.keyCode) == 'R') && (window.event.shiftKey)) reloadSingle = 1;
- else if (bmi_opera) {
- if ((String.fromCharCode(window.event.keyCode) == 'A') && (window.event.shiftKey)) reloadAll = 1;
- }
- var e = window.event;
- obj = e.srcElement;
- var str = new String(obj.tagName);
- if (str.match("INPUT") && (bmi_checkInputType(obj.type) != 1)) {
- if (bmi_imageObjSelected == obj) reloadSingle = reloadAll = 0;
- }
- }
- if (reloadSingle == 1) {
- if (bmi_ns) {
- if (bmi_ns4 || bmi_ns3 || bmi_ns2) {
- return;
- }
- }
- if (bmi_imageObjSelected) bmi_reDownloadSelectedImage(bmi_imageObjSelected);
- } else {
- if (reloadAll == 1) {
- bmi_downloadAllHandler();
- }
- }
- if ((document.bmi_onkeypress_original != null) && (document.bmi_onkeypress_original != bmi_keypress)) {
- return (document.bmi_onkeypress_original(e));
- }
- return;
- }
- function bmi_linkMapImages(maps, objs) {
- var linked = 0;
- for (var i = 0; i < objs.length; i++) {
- if (linked >= maps.length) {
- return linked;
- }
- if (objs[i].useMap) {
- var newStr = new String(objs[i].useMap);
- var mapName = newStr.substring(newStr.lastIndexOf("#") + 1);
- if (bmi_ImageElement(objs[i]) != 1) continue;
- for (var j = 0; j < maps.length; j++) {
- if (maps[j].name == mapName) {
- maps[j].bmi_imgObj = objs[i];
- linked++;
- }
- }
- }
- }
- return linked;
- }
- function bmi_load() {
- if (bmi_orig_onLoad) {
- bmi_orig_onLoad();
- }
- if (bmi_ns2 || bmi_ns3 || bmi_ns4) {
- window.defaultStatus = bmi_ns_tooltip;
- return;
- }
- if (document.onmouseover) {
- if (document.onmouseover != bmi_mouseOver) {
- document.bmi_onmouseover_original = document.onmouseover;
- }
- }
- document.onmouseover = bmi_mouseOver;
- if (document.onkeypress) {
- if (document.onkeypress != bmi_keypress) {
- document.bmi_onkeypress_original = document.onkeypress;
- }
- } else {
- document.bmi_onkeypress_original = null;
- }
- document.onkeypress = bmi_keypress;
- var maps = document.getElementsByTagName("MAP");
- if ((maps == null) || (maps.length == 0)) {
- return;
- }
- var objs = null;
- if (bmi_ie || bmi_opera) {
- objs = document.all;
- if (objs) {
- bmi_linkMapImages(maps, objs);
- }
- }
- if (bmi_ns || is_gecko) {
- var num = 0;
- objs = document.getElementsByTagName("IMG");
- if (objs) {
- num = num + bmi_linkMapImages(maps, objs);
- }
- if (num >= maps.length) {
- return;
- }
- objs = null;
- objs = document.getElementsByTagName("INPUT");
- if (objs) {
- num += bmi_linkMapImages(maps, objs);
- }
- if (num >= maps.length) {
- return;
- }
- objs = null;
- objs = document.getElementsByTagName("OBJECT");
- if (objs) {
- num += bmi_linkMapImages(maps, objs);
- }
- }
- return;
- }
- var bmi_orig_onLoad;
- function bmi_SafeAddOnload(f, urlStr, htmlEdit) {
- if (urlStr) {
- bmi_concatStr = urlStr;
- }
- if (htmlEdit) {
- bmi_htmlEdit = htmlEdit;
- }
- if (bmi_ie4) {
- window.onload = f;
- } else if (window.onload) {
- if (window.onload != f) {
- bmi_orig_onLoad = window.onload;
- window.onload = f;
- }
- } else {
- window.onload = f;
- }
- }
Add Comment
Please, Sign In to add comment