﻿
// Jaap Dunnebier - 7 jun 2010 - APM Interactive BV
// Version 0.7

(function(aip){aip.fn.extend({apmImagePreview:function(options){var def={distance:50,prfx:'aip',cssclass:'aipClass',srcAttr:'href',preference:'left',useparentclass:null}
var options=aip.extend(def,options);var imgcache=[];var idcount=0;var mdv;if(aip('#'+def.prfx+'0').length>0){mdv=aip('#'+def.prfx+'0').empty();}else{mdv=aip('<div/>').attr('id',def.prfx+'0').appendTo('body');}
return this.each(function(){var o=options;var obj=aip(this);var imgT=aip("img:first",obj);var dv;var Bwidth=0;function LoadedImage(){idcount+=1;dv=aip('<div/>').attr('id',def.prfx+idcount).attr('class',def.cssclass)
dv.append(imgB).attr('width',aip(imgB).width()).attr('height',aip(imgB).height()).css('position','absolute').appendTo(mdv)
Bwidth=aip(imgB).width();dv.hide()} var imgB=new Image();imgB.src=obj.attr(o.srcAttr);if(imgB.complete||imgB.readyState=='complete'){LoadedImage();}else{imgB.onload=LoadedImage;}
imgcache.push(imgB);imgT.mouseover(function(){if(def.useparentclass!=null){var elem=imgT;var cnt=0;while(elem.attr('class')!=def.useparentclass&&cnt<6){cnt+=1;elem=elem.parent();}
var Twidth = aip(elem).width(); var Tpos = aip(elem).offset(); } else { var Twidth = aip(imgT).width(); var Tpos = aip(imgT).offset(); } if(Bwidth==0){return;}
if(def.preference=='left'){if(Tpos.left-(Bwidth+def.distance)>0){pb=Tpos.left-(Bwidth+def.distance);}else{pb=Tpos.left+Twidth+def.distance;}}else if(def.preference=='right'){if(Tpos.left+Twidth+def.distance+Bwidth<screen.width){pb=Tpos.left+Twidth+def.distance;}else{pb=Tpos.left-(Bwidth+def.distance);}}
dv.css({top:Tpos.top+'px',left:pb+'px'});dv.show();}).mouseout(function(){if(dv!=null)dv.hide();});});}});})(jQuery);
