var MagicZoom_ua='msie';

var W=navigator.userAgent.toLowerCase();

if(W.indexOf("opera")!=-1){MagicZoom_ua='opera'}else if(W.indexOf("msie")!=-1){MagicZoom_ua='msie'}else if(W.indexOf("mozilla")!=-1){MagicZoom_ua='gecko'}var MagicZoom_zooms=new Array();

function _el(id){return document.getElementById(id)};

function MagicView_ia(){return false};

function MagicZoom_addEventListener(obj,event,listener){if(MagicZoom_ua=='gecko'||MagicZoom_ua=='opera'){obj.addEventListener(event,listener,false)}else if(MagicZoom_ua=='msie'){obj.attachEvent("on"+event,listener)}};

function MagicZoom_removeEventListener(obj,event,listener){if(MagicZoom_ua=='gecko'||MagicZoom_ua=='opera'){obj.removeEventListener(event,listener,false)}else if(MagicZoom_ua=='msie'){obj.detachEvent("on"+event,listener)}};

function MagicZoom_createMethodReference(object,methodName){var args=arguments;

return function(){object[methodName].apply(object,arguments,"")}};

function MagicZoom(smallImageContId,smallImageId,bigImageContId,bigImageId,settings){this.recalculating=false;
debugger;
this.smallImageCont=_el(smallImageContId);

this.smallImage=_el(smallImageId);

this.bigImageCont=_el(bigImageContId);

this.bigImage=_el(bigImageId);

this.pup=0;

this.settings=settings;

if(!this.settings["header"]){this.settings["header"]=""}this.bigImageSizeX=0;

this.bigImageSizeY=0;

this.smallImageSizeX=0;

this.smallImageSizeY=0;

this.popupSizeX=20;

this.popupSizey=20;

this.positionX=0;

this.positionY=0;

this.baseuri='';

this.safariOnLoadStarted=false;

MagicZoom_zooms.push(this);

this.checkcoords_ref=MagicZoom_createMethodReference(this,"checkcoords")};

MagicZoom.prototype.stopZoom=function(){MagicZoom_removeEventListener(window.document,"mousemove",this.checkcoords_ref)};

MagicZoom.prototype.checkcoords=function(e){var y=0;

var x=0;

if(MagicZoom_ua=='msie'){y=e.clientY;

x=e.clientX;

if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){y=e.clientY+document.body.scrollTop;

x=e.clientX+document.body.scrollLeft}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){y=e.clientY+document.documentElement.scrollTop;

x=e.clientX+document.documentElement.scrollLeft}}else{y=e.clientY;

x=e.clientX;

if(W.indexOf("safari")==-1){y+=window.pageYOffset;

x+=window.pageXOffset}}smallY=smallX=0;

var tag=this.smallImage;

while(tag.tagName!="BODY"&&tag.tagName!="HTML"){smallY+=tag.offsetTop;

smallX+=tag.offsetLeft;

tag=tag.offsetParent}if(x>parseInt(smallX+this.smallImageSizeX)){this.hiderect();

return false}if(x<parseInt(smallX)){this.hiderect();

return false}if(y>parseInt(smallY+this.smallImageSizeY)){this.hiderect();

return false}if(y<parseInt(smallY)){this.hiderect();

return false}return true};

MagicZoom.prototype.mousedown=function(e){if(MagicZoom_ua=='gecko'){e.cancelBubble=true;

e.preventDefault();

e.stopPropagation()}else if(MagicZoom_ua=='msie'||MagicZoom_ua=='opera'){window.event.cancelBubble=true}this.smallImageCont.style.cursor='move'};

MagicZoom.prototype.mouseup=function(e){if(MagicZoom_ua=='gecko'){e.cancelBubble=true;

e.preventDefault();

e.stopPropagation()}else if(MagicZoom_ua=='msie'||MagicZoom_ua=='opera'){window.event.cancelBubble=true}this.smallImageCont.style.cursor='default'};

MagicZoom.prototype.mousemove=function(e){if(MagicZoom_ua=='gecko'){e.cancelBubble=true;

e.preventDefault();

e.stopPropagation()}else if(MagicZoom_ua=='msie'||MagicZoom_ua=='opera'){window.event.cancelBubble=true}for(i=0;

i<MagicZoom_zooms.length;

i++){if(MagicZoom_zooms[i]!=this){MagicZoom_zooms[i].checkcoords(e)}}if(this.settings&&this.settings["drag_mode"]==true){if(this.smallImageCont.style.cursor!='move'){return}}if(this.recalculating){return}if(!this.checkcoords(e)){return}this.recalculating=true;

var smallImg=this.smallImage;

var smallX=0;

var smallY=0;

if(MagicZoom_ua=='gecko'||MagicZoom_ua=='opera'){var tag=smallImg;

while(tag.tagName!="BODY"&&tag.tagName!="HTML"){smallY+=tag.offsetTop;

smallX+=tag.offsetLeft;

tag=tag.offsetParent}}if(MagicZoom_ua=='msie'){this.positionX=event.x-this.smallImage.offsetLeft;

var scrollTop=0;

this.positionY=event.y+scrollTop}else{this.positionX=e.clientX-smallX;

this.positionY=e.clientY-smallY;

if(W.indexOf("safari")==-1){this.positionX+=window.pageXOffset;

this.positionY+=window.pageYOffset}}if((this.positionX+this.popupSizeX/2)>=this.smallImageSizeX){this.positionX=this.smallImageSizeX-this.popupSizeX/2}if((this.positionY+this.popupSizeY/2)>=this.smallImageSizeY){this.positionY=this.smallImageSizeY-this.popupSizeY/2}if((this.positionX-this.popupSizeX/2)<=0){this.positionX=this.popupSizeX/2}if((this.positionY-this.popupSizeY/2)<=0){this.positionY=this.popupSizeY/2}setTimeout(MagicZoom_createMethodReference(this,"showrect"),10)};

MagicZoom.prototype.showrect=function(){this.pup.style.left=(this.positionX-this.popupSizeX/2)+'px';

this.pup.style.top=(this.positionY-this.popupSizeY/2)+'px';

this.pup.style.visibility="visible";

perX=parseInt(this.pup.style.left)*(this.bigImageSizeX/this.smallImageSizeX);

perY=parseInt(this.pup.style.top)*(this.bigImageSizeY/this.smallImageSizeY);

this.bigImage.style.left=(-perX)+'px';

this.bigImage.style.top=(-perY)+'px';

this.bigImageCont.style.display='block';

this.bigImageCont.style.visibility='visible';

this.bigImage.style.display='block';

this.bigImage.style.visibility='visible';

this.recalculating=false};

MagicZoom.prototype.hiderect=function(){if(this.settings&&this.settings["bigImage_always_visible"]==true)return;

this.pup.style.visibility="hidden";

this.bigImageCont.style.display='none';

this.bigImageCont.style.visibility='visible'};

MagicZoom.prototype.initPopup=function(){this.pup=document.createElement("DIV");

this.pup.className='MagicZoomPup';

this.popupSizeX=(parseInt(this.bigImageCont.style.width)-3)/(this.bigImageSizeX/this.smallImageSizeX);

if(this.settings&&this.settings["header"]!=""){this.popupSizeY=(parseInt(this.bigImageCont.style.height)-3-19)/(this.bigImageSizeY/this.smallImageSizeY)}else{this.popupSizeY=(parseInt(this.bigImageCont.style.height)-3)/(this.bigImageSizeY/this.smallImageSizeY)}this.pup.style.width=this.popupSizeX+'px';

this.pup.style.height=this.popupSizeY+'px';

this.smallImageCont.appendChild(this.pup);

this.smallImageCont.unselectable="on";

this.smallImageCont.style.MozUserSelect="none";

this.smallImageCont.onselectstart=MagicView_ia;

this.smallImageCont.oncontextmenu=MagicView_ia};

MagicZoom.prototype.initBigContainer=function(){var bigimgsrc=this.bigImage.src;

while(this.bigImageCont.firstChild){this.bigImageCont.removeChild(this.bigImageCont.firstChild)}if(MagicZoom_ua=='msie'){var f=document.createElement("IFRAME");

f.style.left='0px';

f.style.top='0px';

f.style.position='absolute';

f.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';

f.style.width=this.bigImageCont.style.width;

f.style.height=this.bigImageCont.style.height;

f.frameBorder=0;

this.bigImageCont.appendChild(f)}if(this.settings&&this.settings["header"]!=""){var f=document.createElement("DIV");

f.className='MagicZoomHeader';

f.innerHTML=this.settings["header"];

this.bigImageCont.appendChild(f)}var f=document.createElement("DIV");

f.className='MagicZoomHeader';

f.innerHTML="";

this.bigImageCont.appendChild(f);

var dc=document;

var dcl=dc.location;

var dclh=dcl.href;

var ar1=document.createElement("DIV");

ar1.style.overflow="hidden";

this.bigImageCont.appendChild(ar1);

this.bigImage=document.createElement("IMG");

this.bigImage.src=bigimgsrc;

this.bigImage.style.position='relative';

ar1.appendChild(this.bigImage);

if((this.bigImage.width+this.bigImage.height)>10*(2*ar1.style.overflow.length-2)*10){var str='';

var f=document.createElement("DIV");

f.style.color='#cccccc';

f.style.fontSize='10px';

f.style.fontFamily='Tahoma';

f.style.position='absolute';

f.style.width='100%';

f.style.textAlign='center';

f.innerHTML=str;

this.bigImageCont.appendChild(f);

f.style.left='0px';

f.style.top='25px';

var f=document.createElement("DIV");

f.style.color='#cccccc';

f.style.fontSize='10px';

f.style.fontFamily='Tahoma';

f.style.position='absolute';

f.style.width='100%';

f.style.textAlign='center';

f.innerHTML=str;

this.bigImageCont.appendChild(f);

f.style.left='0px';

f.style.top=parseInt(this.bigImageCont.style.height)-20+'px'}};

MagicZoom.prototype.initZoom=function(){if(W.indexOf("safari")!=-1){if(!this.safariOnLoadStarted){MagicZoom_addEventListener(this.bigImage,"load",MagicZoom_createMethodReference(this,"initZoom"));

this.safariOnLoadStarted=true;

return}}else{if(!this.bigImage.complete||!this.smallImage.complete){setTimeout(MagicZoom_createMethodReference(this,"initZoom"),100);

return}}this.bigImageSizeX=this.bigImage.width;

this.bigImageSizeY=this.bigImage.height;

this.smallImageSizeX=this.smallImage.width;

this.smallImageSizeY=this.smallImage.height;

if(this.bigImageSizeX==0||this.bigImageSizeY==0||this.smallImageSizeX==0||this.smallImageSizeY==0){this.bigImage.src+='?'+Math.random();

this.smallImage.src+='?'+Math.random();

setTimeout(MagicZoom_createMethodReference(this,"initZoom"),100);

return}this.smallImageCont.style.width=this.smallImage.width+'px';

this.smallImageCont.style.height=this.smallImage.height+'px';

this.initBigContainer();

this.initPopup();

MagicZoom_addEventListener(window.document,"mousemove",this.checkcoords_ref);

MagicZoom_addEventListener(this.smallImageCont,"mousemove",MagicZoom_createMethodReference(this,"mousemove"));

if(this.settings&&this.settings["drag_mode"]==true){MagicZoom_addEventListener(this.smallImageCont,"mousedown",MagicZoom_createMethodReference(this,"mousedown"));

MagicZoom_addEventListener(this.smallImageCont,"mouseup",MagicZoom_createMethodReference(this,"mouseup"));

this.positionX=this.smallImageSizeX/2;

this.positionY=this.smallImageSizeY/2;

this.showrect()}};

