YAHOO.namespace('ThumbViewer.panel');YAHOO.ThumbViewer.panel.panels={};
function createPreviewImage(id,u,w,h)
{try{var $E=YAHOO.util.Event,$D=YAHOO.util.Dom,evt=$E.getEvent(),p=10,tv=YAHOO.ThumbViewer.panel.panels;
if(!tv.panel){tv.panel=new YAHOO.widget.Panel(id,{visible:false,draggable:false,close:false,constraintoviewport:true,width:(w+2),iframe:true});} else{tv.panel.cfg.setProperty('width',(w+2));}tv.panel.setBody("<div style='postition:relative;text-align:center; padding:1px'><div class='panel-arrow-left'></div><img src='"+u+"' width='"+w+"' height='"+h+"'></div>");
tv.panel.render(document.body);tv.target=$E.getTarget(evt);tv.arrow=$D.getElementsByClassName('panel-arrow-left','DIV',tv.panel.body)[0];var hReg=$D.getRegion(tv.panel.header),hH=hReg['bottom']-hReg['top'],aReg=$D.getRegion(tv.arrow),aH=parseInt(aReg['bottom'])-parseInt(aReg['top']),aW=parseInt(aReg['right'])-parseInt(aReg['left']),tReg=$D.getRegion(tv.target),vpW=$D.getViewportWidth(),vpH=$D.getViewportHeight(),x,y,xyM=$E.getXY(evt);if((parseInt(vpW)-parseInt(tReg['right']))>(tReg['left'])){x=parseInt(tReg['right'])+parseInt(aW);$D.replaceClass(tv.arrow,'panel-arrow-right','panel-arrow-left');}
else{x=parseInt(tReg['left'])-(parseInt(w+2)+parseInt(aW));$D.replaceClass(tv.arrow,'panel-arrow-left','panel-arrow-right');}y=((parseInt(xyM[1])-parseInt(hH))>0)?(parseInt(xyM[1])-parseInt(hH)):parseInt(xyM[1]);tv.panel.cfg.setProperty("x",parseInt(x));tv.panel.cfg.setProperty("y",parseInt(y));tv.panel.beforeShowEvent.subscribe(function(){var bReg=$D.getRegion(tv.panel.body),aY=((parseInt(xyM[1])+parseInt(aH))>=parseInt(bReg['bottom']))?(parseInt(bReg['bottom'])-parseInt(aH)):((parseInt(xyM[1])<=parseInt(bReg['top']))?parseInt(bReg['top']):parseInt(xyM[1]));$D.setY(tv.arrow,aY);$E.addListener(document,'mousemove',closePreviewImage);});tv.panel.show();}catch(e){}}



function closePreviewImage(evt)
{var $E=YAHOO.util.Event,$D=YAHOO.util.Dom,mX,mY,r,tv=YAHOO.ThumbViewer.panel.panels;
try{r=$D.getRegion(tv.target);mX=$E.getPageX(evt);mY=$E.getPageY(evt);
if((mX<r['left'])||(mX>r['right'])||(mY<r['top'])||(mY>r['bottom'])){tv.panel.hide();$E.removeListener(document,'mousemove',closePreviewImage);}}catch(e){}}
