Bmi.js
- 1. 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)
- 3. +3);editIndex=editUrl.indexOf("/");if(editIndex!=-1)
{editUrl=editUrl.substring(editIndex+1);bmiSignIndex=editUrl.indexOf("/");if(bmiSig
nIndex!=-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);r
eturn;}
for(var i=0;i<document.layers.length;i++)
{bmi_NSlayers(document.layers[i].document);bmi_replaceImages(document.layers[i].doc
ument.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.getElementsByTag
Name("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;}
- 4. 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.SHI
FT_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;}