function RDzoomswitch(obj) {
 RDon[obj]=((RDon[obj])?(0):(1));
 return RDon[obj];
}

function RDzoomif(obj,highres) {
 if(RDon[obj]) {RDzoom(obj,highres);}
}

function RDzoom(obj,highres) {
 RDzoomratio=RDzoomheight/RDzoomwidth;
 if(RDzoomoffsetx > 1) {
  RDzoomoffset='dumb';
  RDzoomoffsetx=RDzoomoffsetx/RDzoomwidth;
  RDzoomoffsety=RDzoomoffsety/RDzoomheight;
 }
 if(!obj.style.width) {
  if(obj.width > 0) {
   
   obj.style.width=obj.width+'px';
   obj.style.height=obj.height+'px';
  }
 }
 if(typeof(highres) != typeof('')) {highres=obj.src}
 var RDstage=document.createElement("div");
 RDstage.style.width=obj.style.width;
 RDstage.style.height=obj.style.height;
 RDstage.style.overflow='hidden';
 RDstage.style.position='absolute';
 if(typeof(RDstage.style.filter) != typeof(nosuchthing)) {
  
  if(navigator.appVersion.indexOf('Mac') == -1) { 
   RDstage.style.filter='alpha(opacity=0)';
   RDstage.style.backgroundColor='#ffffff';
  }
 } else {
  
  RDstage.style.backgroundImage='transparent';
 }
 RDstage.setAttribute('onmousemove','RDhandlemouse(event,this);');
 RDstage.setAttribute('onmousedown','RDhandlemouse(event,this);');
 RDstage.setAttribute('onmouseup','RDhandlemouse(event,this);');
 RDstage.setAttribute('onmouseout','RDhandlemouse(event,this);');
 if(navigator.userAgent.indexOf('MSIE')>-1) {
  RDstage.onmousemove = function() {RDhandlemouse(event,this);}
  RDstage.onmousedown = function() {RDhandlemouse(event,this);}
  RDstage.onmouseup = function() {RDhandlemouse(event,this);}
  RDstage.onmouseout = function() {RDhandlemouse(event,this);}
 }
 obj.parentNode.insertBefore(RDstage,obj);
 
 RDwin=document.createElement("div");
 RDwin.style.width='0px';
 RDwin.style.height='0px';
 RDwin.style.overflow='hidden';
 RDwin.style.position='absolute';
 RDwin.style.display='none';
 tw1='<div style="position:absolute;overflow:hidden;margin:';
 RDwin.innerHTML= 
 tw1+RDshadowthick+'px 0 0 '+RDshadowthick+'px; background-color:'+RDbordercolor+'; width:'+(RDzoomwidth-RDshadowthick*2)+'px;height:'+(RDzoomheight-RDshadowthick*2)+'px"></div>' +
 tw1+(RDshadowthick+RDborderthick)+'px 0 0 '+(RDshadowthick+RDborderthick)+'px; width:'+(RDzoomwidth-RDshadowthick*2-RDborderthick*2)+'px;height:'+(RDzoomheight-RDshadowthick*2-RDborderthick*2)+'px;"><img src="'+obj.src+'" style="position:absolute;margin:0;padding:0;border:0; width:'+(RDzoomamount*parseInt(obj.style.width))+'px;height:'+(RDzoomamount*parseInt(obj.style.height))+'px;" />'+((obj.src!=highres)?('<img src="'+highres+'" style="position:absolute;margin:0;padding:0;border:0; width:'+(RDzoomamount*parseInt(obj.style.width))+'px;height:'+(RDzoomamount*parseInt(obj.style.height))+'px;" onload="if(this.parentNode) {this.parentNode.parentNode.getElementsByTagName(\'div\')[2].style.display=\'none\';}" />'):(''))+'</div>';
 if(highres != obj.src) {
  RDwin.innerHTML+='<div style="position:absolute; margin:'+(RDshadowthick+RDborderthick)+'px 0 0 '+(RDshadowthick+RDborderthick)+'px;">'+RDloading+'</div>';
 }
 if(RDshadowthick>0) {
  st1='<span style="position:absolute; display:inline-block; margin: ';
  st2='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=\'scale\',src='
  st3='filter:alpha(opacity=0);margin:0;padding:0;border:0;"/></span>';
  RDwin.innerHTML+=
  st1+'0 0 0 0    ; width:'+RDshadowthick*2+'px; height:'+RDshadowthick*2+'px;'+st2+'\''+RDshadow+'nw.png\')"><img src="'+RDshadow+'nw.png" style="width:'+RDshadowthick*2+'px; height:'+RDshadowthick*2+'px;'+st3 +
  st1+'0 0 0 '+(RDzoomwidth-RDshadowthick*2)+'px; width:'+RDshadowthick*2+'px; height:'+RDshadowthick*2+'px;'+st2+'\''+RDshadow+'ne.png\')"><img src="'+RDshadow+'ne.png" style="width:'+RDshadowthick*2+'px; height:'+RDshadowthick*2+'px;'+st3 +
  st1+''+(RDzoomheight-RDshadowthick*2)+'px 0 0 0px; width:'+RDshadowthick*2+'px; height:'+RDshadowthick*2+'px;'+st2+'\''+RDshadow+'sw.png\',sizingMethod=\'scale\')"><img src="'+RDshadow+'sw.png" style="width:'+RDshadowthick*2+'px; height:'+RDshadowthick*2+'px;'+st3 +
  st1+''+(RDzoomheight-RDshadowthick*2)+'px 0 0 '+(RDzoomwidth-RDshadowthick*2)+'px; width:'+RDshadowthick*2+'px; height:'+RDshadowthick*2+'px;'+st2+'\''+RDshadow+'se.png\',sizingMethod=\'scale\')"><img src="'+RDshadow+'se.png" style="width:'+RDshadowthick*2+'px; height:'+RDshadowthick*2+'px;'+st3 +
  
  st1+'0 0 0 '+(RDshadowthick*2)+'px; width:'+(RDzoomwidth-RDshadowthick*4)+'px; height:'+RDshadowthick*2+'px;'+st2+'\''+RDshadow+'n.png\',sizingMethod=\'scale\')"><img src="'+RDshadow+'n.png" style="width:'+(RDzoomwidth-RDshadowthick*4)+'px; height:'+RDshadowthick*2+'px;'+st3 +
  st1+''+(RDshadowthick*2)+'px 0 0 0; width:'+(RDshadowthick*2)+'px; height:'+(RDzoomheight-RDshadowthick*4)+'px;'+st2+'\''+RDshadow+'w.png\',sizingMethod=\'scale\')"><img src="'+RDshadow+'w.png" style="width:'+(RDshadowthick*2)+'px; height:'+(RDzoomheight-RDshadowthick*4)+'px;'+st3 +
  st1+''+(RDshadowthick*2)+'px 0 0 '+(RDzoomwidth-RDshadowthick*2)+'px; width:'+(RDshadowthick*2)+'px; height:'+(RDzoomheight-RDshadowthick*4)+'px;'+st2+'\''+RDshadow+'e.png\',sizingMethod=\'scale\')"><img src="'+RDshadow+'e.png" style="width:'+(RDshadowthick*2)+'px; height:'+(RDzoomheight-RDshadowthick*4)+'px;'+st3 +
  st1+''+(RDzoomheight-RDshadowthick*2)+'px 0 0 '+(RDshadowthick*2)+'px; width:'+(RDzoomwidth-RDshadowthick*4)+'px; height:'+RDshadowthick*2+'px;'+st2+'\''+RDshadow+'s.png\',sizingMethod=\'scale\')"><img src="'+RDshadow+'s.png" style="width:'+(RDzoomwidth-RDshadowthick*4)+'px; height:'+RDshadowthick*2+'px;'+st3;
 }
 ;
 
 obj.parentNode.insertBefore(RDwin,RDstage);

 RDresize(obj);
}

function RDresize(obj) {
 sbr=0; sbl=0;
 if(RDzoomwidth-2*RDborderthick-3*RDshadowthick < 22) {sbr=1}
 if(RDzoomheight-2*RDborderthick-3*RDshadowthick < 22) {sbr=1}
 if(RDzoomwidth > parseFloat(obj.style.width)) {sbl=1;}
 if(RDzoomheight > parseFloat(obj.style.height)) {sbl=1}
 
 if(sbr==1 && sbl == 1) {
  RDzoomwidth=parseFloat(obj.style.width)/2;
  RDzoomheight=parseFloat(obj.style.height)/2;
  RDzoomratio=RDzoomheight/RDzoomwidth;
 }

 if(sbr==1) {
  if(RDzoomwidth<RDzoomheight) {
   RDzoomheight=RDzoomheight/RDzoomwidth*(22+2*RDborderthick+3*RDshadowthick); RDzoomwidth=22+2*RDborderthick+3*RDshadowthick;
  } else {
   RDzoomwidth=RDzoomwidth/RDzoomheight*(22+2*RDborderthick+3*RDshadowthick); RDzoomheight=22+2*RDborderthick+3*RDshadowthick;
  }
 }
 

 if(sbl==1) {
  if(parseFloat(obj.style.width)/parseFloat(obj.style.height) > RDzoomwidth/RDzoomheight) {
   RDzoomheight=parseFloat(obj.style.height);
   RDzoomwidth=RDzoomheight/RDzoomratio;
  } else {
   RDzoomwidth=parseFloat(obj.style.width);
   RDzoomheight=RDzoomratio*RDzoomwidth;
  }
 }

 RDzoomwidth=Math.floor(RDzoomwidth/2)*2;
 RDzoomheight=Math.floor(RDzoomheight/2)*2;

 ww=obj.parentNode.getElementsByTagName('div')[0];
 ww.style.width=RDzoomwidth+'px';
 ww.style.height=RDzoomheight+'px';
 w=ww.getElementsByTagName('div')[0];
 w.style.width=RDzoomwidth-RDshadowthick*2+'px';
 w.style.height=RDzoomheight-RDshadowthick*2+'px';
 w=ww.getElementsByTagName('div')[1];
 w.style.width=RDzoomwidth-RDshadowthick*2-RDborderthick*2+'px';
 w.style.height=RDzoomheight-RDshadowthick*2-RDborderthick*2+'px';
 if(RDshadowthick > 0) {
  w=ww.getElementsByTagName('span')[1]; w.style.margin='0 0 0 '+(RDzoomwidth-RDshadowthick*2)+'px';
  w=ww.getElementsByTagName('span')[2]; w.style.margin=(RDzoomheight-RDshadowthick*2)+'px 0 0 0px';
  w=ww.getElementsByTagName('span')[3]; w.style.margin=(RDzoomheight-RDshadowthick*2)+'px 0 0 '+(RDzoomwidth-RDshadowthick*2)+'px';

  w=ww.getElementsByTagName('span')[6]; w.style.margin=(RDshadowthick*2)+'px 0 0 '+(RDzoomwidth-RDshadowthick*2)+'px';
  w=ww.getElementsByTagName('span')[7]; w.style.margin=(RDzoomheight-RDshadowthick*2)+'px 0 0 '+(RDshadowthick*2)+'px';

  www=(RDzoomwidth-RDshadowthick*4)+'px';
  w=ww.getElementsByTagName('span')[4]; w.style.width=www;
  w=w.getElementsByTagName('img')[0]; w.style.width=www;
  w=ww.getElementsByTagName('span')[7]; w.style.width=www;
  w=w.getElementsByTagName('img')[0]; w.style.width=www;
  
  www=(RDzoomheight-RDshadowthick*4)+'px';
  w=ww.getElementsByTagName('span')[5]; w.style.height=www;
  w=w.getElementsByTagName('img')[0]; w.style.height=www;
  w=ww.getElementsByTagName('span')[6]; w.style.height=www;
  w=w.getElementsByTagName('img')[0]; w.style.height=www;
 }
}

function RDfindposy(obj) {
 var curtop = 0;
 if(!obj) {return 0;}
 if (obj.offsetParent) {
  while (obj.offsetParent) {
   curtop += obj.offsetTop
   obj = obj.offsetParent;
  }
 } else if (obj.y) {
  curtop += obj.y;
 }
 return curtop;
}

function RDfindposx(obj) {
 var curleft = 0;
 if(!obj) {return 0;}
 if (obj && obj.offsetParent) {
  while (obj.offsetParent) {
   curleft += obj.offsetLeft
   obj = obj.offsetParent;
  }
 } else if (obj.x) {
  curleft += obj.x;
 }
 return curleft;
}


function RDhandlemouse(evt,obj) {
 var evt = evt?evt:window.event?window.event:null; if(!evt) { return false; }
 if(evt.pageX) {
  nowx=evt.pageX-RDfindposx(obj)-RDadjustx;
  nowy=evt.pageY-RDfindposy(obj)-RDadjusty;
 } else {
  if(document.documentElement && document.documentElement.scrollTop) {
   nowx=evt.clientX+document.documentElement.scrollLeft-RDfindposx(obj)-RDadjustx;
   nowy=evt.clientY+document.documentElement.scrollTop-RDfindposy(obj)-RDadjusty;
  } else {
   nowx=evt.x+document.body.scrollLeft-RDfindposx(obj)-RDadjustx;
   nowy=evt.y+document.body.scrollTop-RDfindposy(obj)-RDadjusty;
  }
 }
 if(evt.type == 'mousemove') {
  RDsetwin(obj,nowx,nowy);
 } else if(evt.type == 'mousedown') {
  RDmouse=1; 
  RDmousey=nowy;
  RDmousex=nowx;
 } else if(evt.type =='mouseup') {
  RDmouse=0;
 } else if(evt.type =='mouseout') {
  RDmouse=0;
  if(navigator.appVersion.indexOf('Mac') == -1 || navigator.appVersion.indexOf('MSIE') == -1) { 
   x=obj.parentNode;
   x.removeChild(x.getElementsByTagName('div')[0]);
   x.removeChild(x.getElementsByTagName('div')[0]);
  }
 }
}







function RDsetwin(obj,nowx,nowy) {
 obj.parentNode.getElementsByTagName('div')[0].style.display='block';
 if(RDzoomoffset=='smart') {
  RDzoomoffsetx=.1+.8*nowx/parseFloat(obj.style.width);
  RDzoomoffsety=.1+.8*nowy/parseFloat(obj.style.height);
 }

 stage=obj.parentNode.getElementsByTagName('div')[0];
 if(RDmouse == 1) {
  if(Math.abs(nowy-RDmousey) >= 1) {
   RDzoomamount*=((nowy>RDmousey)?(0.909):(1.1));
   RDmousey=nowy;
   if(RDzoomamount < RDzoomamountmin) {RDzoomamount=RDzoomamountmin;}
   if(RDzoomamount > RDzoomamountmax) {RDzoomamount=RDzoomamountmax;}
   stage.getElementsByTagName('div')[1].getElementsByTagName('img')[0].style.width=  parseInt(obj.style.width)*RDzoomamount+'px';
   stage.getElementsByTagName('div')[1].getElementsByTagName('img')[0].style.height=  parseInt(obj.style.height)*RDzoomamount+'px';
   if(stage.getElementsByTagName('div')[1].getElementsByTagName('img')[1]) {
    stage.getElementsByTagName('div')[1].getElementsByTagName('img')[1].style.width= stage.getElementsByTagName('div')[1].getElementsByTagName('img')[0].style.width;
    stage.getElementsByTagName('div')[1].getElementsByTagName('img')[1].style.height= stage.getElementsByTagName('div')[1].getElementsByTagName('img')[0].style.height;
   }
  }
  if(Math.abs(nowx-RDmousex) >= 12 && RDzoomwindowlock==0) {
   RDzoomwidth*=((nowx>RDmousex)?(1.1):(0.909));
   RDzoomheight=RDzoomwidth*RDzoomratio;
   RDresize(obj);
   RDmousex=nowx;
  }
 }
 stage.style.marginLeft=nowx-(RDzoomwidth -2*RDborderthick-2*RDshadowthick)*RDzoomoffsetx-RDborderthick-RDshadowthick+'px';
 stage.style.marginTop= nowy-(RDzoomheight-2*RDborderthick-2*RDshadowthick)*RDzoomoffsety-RDborderthick-RDshadowthick+'px';
 clip1=0; clip2=RDzoomwidth; clip3=RDzoomheight; clip4=0;
 nwidth=RDzoomwidth; nheight=RDzoomheight;
 tmp=(1-2*RDzoomoffsetx)*(RDborderthick+RDshadowthick);
 
 if(nowx-RDzoomwidth*RDzoomoffsetx < tmp) {
  clip4=RDzoomwidth*RDzoomoffsetx-nowx + tmp;
 } else if(parseFloat(nowx-RDzoomwidth*RDzoomoffsetx+RDzoomwidth) > parseFloat(obj.style.width)+tmp) {
  clip2= RDzoomwidth*RDzoomoffsetx - nowx + parseFloat(obj.style.width)+tmp;
  nwidth=RDzoomwidth*RDzoomoffsetx-nowx+parseInt(obj.style.width)+RDborderthick+RDshadowthick;
 }
 
 tmp=(1-2*RDzoomoffsety)*(RDborderthick+RDshadowthick);
 
 if(nowy-RDzoomheight*RDzoomoffsety < tmp) {
  clip1=RDzoomheight*RDzoomoffsety-nowy+tmp;
 } else if(parseFloat(nowy-RDzoomheight*RDzoomoffsety+RDzoomheight) > parseFloat(obj.style.height)+tmp) {
  clip3= RDzoomheight*RDzoomoffsety - nowy + parseFloat(obj.style.height)+tmp;
  nheight=RDzoomheight*RDzoomoffsety - nowy + parseFloat(obj.style.height)+RDborderthick+RDshadowthick;
 }
 stage.style.width=nwidth+'px';
 stage.style.height=nheight+'px';

 stage.style.clip='rect('+clip1+'px,'+clip2+'px,'+clip3+'px,'+clip4+'px)';

 if(nowy-RDzoomoffsety*(RDzoomheight-2*RDborderthick-2*RDshadowthick) < 0) { t=-(nowy-RDzoomoffsety*(RDzoomheight-2*RDborderthick-2*RDshadowthick))} 
 else if(nowy-RDzoomoffsety*(RDzoomheight-2*RDborderthick-2*RDshadowthick) > parseFloat(obj.style.height)-RDzoomheight+RDborderthick*2+RDshadowthick*2) { t=-RDzoomamount*parseFloat(obj.style.height)+RDzoomheight-RDborderthick*2-RDshadowthick*2-((nowy-RDzoomoffsety*(RDzoomheight-2*RDborderthick-2*RDshadowthick))-(parseFloat(obj.style.height)-RDzoomheight+RDborderthick*2+RDshadowthick*2)); }
 else { t=(-RDzoomamount*parseFloat(obj.style.height)+RDzoomheight-RDborderthick*2-RDshadowthick*2)/(parseFloat(obj.style.height)-RDzoomheight+RDborderthick*2+RDshadowthick*2)*(nowy-RDzoomoffsety*(RDzoomheight-2*RDborderthick-2*RDshadowthick)) }
 stage.getElementsByTagName('div')[1].getElementsByTagName('img')[0].style.marginTop=t+'px';

 if(stage.getElementsByTagName('div')[1].getElementsByTagName('img')[1]) {
  stage.getElementsByTagName('div')[1].getElementsByTagName('img')[1].style.marginTop=t+'px';
 }

 if(nowx-RDzoomoffsetx*(RDzoomwidth-2*RDborderthick-2*RDshadowthick) < 0) { t=-(nowx-RDzoomoffsetx*(RDzoomwidth-2*RDborderthick-2*RDshadowthick))} 
 else if(nowx-RDzoomoffsetx*(RDzoomwidth-2*RDborderthick-2*RDshadowthick) > parseFloat(obj.style.width)-RDzoomwidth+RDborderthick*2+RDshadowthick*2) { t=-RDzoomamount*parseFloat(obj.style.width)+RDzoomwidth-RDborderthick*2-RDshadowthick*2-((nowx-RDzoomoffsetx*(RDzoomwidth-2*RDborderthick-2*RDshadowthick))-(parseFloat(obj.style.width)-RDzoomwidth+RDborderthick*2+RDshadowthick*2)); }
 else { t=(-RDzoomamount*parseFloat(obj.style.width)+RDzoomwidth-RDborderthick*2-RDshadowthick*2)/(parseFloat(obj.style.width)-RDzoomwidth+RDborderthick*2+RDshadowthick*2)*(nowx-RDzoomoffsetx*(RDzoomwidth-2*RDborderthick-2*RDshadowthick)) }
 stage.getElementsByTagName('div')[1].getElementsByTagName('img')[0].style.marginLeft=t+'px';

 if(stage.getElementsByTagName('div')[1].getElementsByTagName('img')[1]) {
  stage.getElementsByTagName('div')[1].getElementsByTagName('img')[1].style.marginLeft=t+'px';
 }
}

function RDinit() {
 RDadjustx=0; RDadjusty=0;
 if(navigator.userAgent.indexOf('MSIE')>-1) {RDadjustx=2;RDadjusty=2;}
 if(navigator.userAgent.indexOf('Opera')>-1) {RDadjustx=0; RDadjusty=0;}
 if(navigator.userAgent.indexOf('Safari')>-1) {RDadjustx=1; RDadjusty=2;}
}


var RDon=new Array();
var RDadjustx,RDadjusty;
var RDmouse=0; var RDmousey; var RDmousex;
var RDloading='<div style="background-color: #ffeb77; color: #333333; padding:2px; font-family: verdana,arial,helvetica; font-size: 10px;">Loading...</div>';

var RDzoomwidth=180;
var RDzoomheight=180;
var RDzoomratio;
var RDzoomwindowlock=1;

var RDzoomoffsetx=.5;
var RDzoomoffsety=.5;
var RDzoomoffset;

var RDzoomamount=1.8;
var RDzoomamountmax=1.78;
var RDzoomamountmin=1.8;

var RDborderthick=2;
var RDbordercolor='white';

var RDshadowthick=0;
var RDshadow='';

RDinit();
