;(function($){var loadImageDrawer_list={};$.fn.imgSlideOver=function(opts){this.each(function(){var thumb=$(this);thumb.data("imgslideover_thumb",new loadImageDrawer(thumb,opts));});return this;}
$.fn.imgSlideOver.defaults={src:"",width:0,height:0,target:null,direction:'right',dx:0,dy:0,zIndex:10}
function loadImageDrawer(thumb,options){var opts=$.extend({},$.fn.imgSlideOver.defaults,options);if($.metadata){var o=$.metadata.get(thumb[0]);opts=$.extend({},opts,o);}
opts.widthdx=opts.width+opts.dx;opts.heightdy=opts.height+opts.dy;this.options=opts;var pos;pos=getFinalPos();var slideOpts={width:opts.width,height:opts.height,target:typeof pos=='function'?pos:getPos,direction:opts.direction,zIndex:opts.zIndex}
function getPos(){return pos;}
var slideDiv=this.slideDiv=$("<img>").attr("src",opts.src).css({width:opts.width,height:opts.height});var slideOver=this.slideOver=this.slideDiv.slideOver(slideOpts).slideOver("get")[0];var tracker;var thumbRect=$.slideOver.getRect(thumb);this.tracker=tracker=new MouseTracker({cb:trackerCB,getDims:getDims});var hoverOpts={sensitivity:7,interval:200,timeout:0,over:mover,out:mout}
thumb.hoverIntent(hoverOpts);loadImageDrawer_list[thumb.attr("id")]=slideOver;function getDims(){var pos=getFinalPos();if(typeof pos=='function')pos=pos();var dims=[thumbRect,{left:pos.left,top:pos.top,width:opts.width,height:opts.height,right:pos.left+opts.widthdx,bottom:pos.top+opts.heightdy}];return dims;}
function getFinalPos(){if(typeof opts.target=='string'&&opts.target!="window"){var targetRect=$.slideOver.getRect($("#"+opts.target));var pos=$.slideOver.getFinalFromDim({width:opts.widthdx,height:opts.heightdy},targetRect,opts.direction);return pos;}
return posWindow;function posWindow(){return $.slideOver.windowAsTarget(opts.widthdx,opts.heightdy,opts.direction);}}
function trackerCB(traker,type,rdiv,evt){if(type=="out"){traker.stop();slideOver.hide();}}
function mover(){if(slideOver.isVisible())return;hideAll();slideOver.show();tracker.start();}
function mout(e){}
function hideAll(){var name,p;var list=loadImageDrawer_list;for(name in list){p=list[name];if(p&&p.isVisible())
p.hide();}}}
function MouseTracker(opts){var thisptr=this;var dims=[opts.dim1,opts.dim2];opts=$.extend({},{cb:null},opts);var cb=typeof opts.cb=='function'?opts.cb:function(){};thisptr.body=$(document.body);this.inDivs=function(x,y){var d=dims;var i,n=d.length;for(i=0;i<n;i++){p=d[i];if(x>=p.left&&x<=p.right&&y>=p.top&&y<=p.bottom)
return p;}
return null;}
function tracker(evt){var indiv=thisptr.inDivs(evt.pageX,evt.pageY);if(indiv!=null)cb(thisptr,"in",indiv,evt);else cb(thisptr,"out",indiv,evt);}
this.bindTracker=function(){thisptr.body.bind("mousemove",tracker);}
this.unbindTracker=function(){thisptr.body.unbind("mousemove",tracker);}
this.start=function(){dims=opts.getDims();thisptr.bindTracker();}
this.stop=function(){thisptr.unbindTracker();}}})(jQuery);
