/**
* jQuery fancyzoom plugin.
* This is an adaptation of the fancyzoom effect as a jQuery plugin
*
* Author: Mathieu Vilaplana <mvilaplana@df-e.com>
* Date: March 2008
* rev 1.0
* rev: 1.1
* Add title if alt in the img
*/
(function($){var p='imagini/zoom/';var q=$('<div>');var r=$('<img>').css({position:'absolute',top:0,left:0,cursor:'pointer',zIndex:102});$.fn.fancyzoom=function(m){var n=$('<div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,cursor:"wait"});function openZoomBox(a,o){if(o.showoverlay){n.appendTo('body').click(function(){closeZoomBox(o)})}pos=$('img',a).offset();o=$.extend(o,{dimOri:{width:$('img',a).outerWidth(),height:$('img',a).outerHeight(),left:pos.left,top:pos.top,'opacity':0}});q.css({'opacity':0}).appendTo('body');var b=q.outerWidth();var c=q.outerHeight();dimBoxTarget=$.extend({},{width:b,height:c,'opacity':1},__posCenter((b+15),(c+30)));r.css({left:(b-30+dimBoxTarget.left),top:dimBoxTarget.top});var d=function(){if($.fn.shadow&&!$.browser.msie){$('img:first',q).shadow(o.shadowOpts)}if(o.Speed>0&&!$.browser.msie){r.fadeIn('slow');$('div',q).fadeIn('slow')}else{r.show();$('div',q).show()}};$('div',q).hide();if(o.Speed>0){q.css(o.dimOri).animate(dimBoxTarget,o.Speed,d)}else{q.css(dimBoxTarget);d()}}function closeZoomBox(o){r.remove();if(o.Speed>0){q.animate(o.dimOri,o.Speed,function(){$(this).empty().remove()});if(o.showoverlay){n.animate({'opacity':0},o.Speed,function(){$(this).empty().remove()})}}else{q.empty().remove();if(o.showoverlay){n.empty().remove()}}}return this.each(function(){var k=$(this);var l=$.extend($.fn.fancyzoom.defaultsOptions,m||{},{dimOri:{},oImgZoomBoxProp:{position:'absolute',left:0,top:0}});n.css({opacity:l.overlay,background:l.overlayColor});if(!/\.jpg|\.png|.gif/i.test(k.attr('href'))||$('img',k).size()===0){return}k.click(function(){if(s&&s.is(':visible')||u){if(q&&$('img:first',q).attr('src')!=$(this).attr('href')){__cancelLoading()}else{return false}}var o=$.extend({},l,m);if(q&&q.parent().size()>0){var a=$('img:first',q);if(k.attr('href')==a.attr('src')){var b=$('img',k);pos=b.offset();o=$.extend(o,{dimOri:{width:b.outerWidth(),height:b.outerHeight(),left:pos.left,top:pos.top,'opacity':0}});closeZoomBox(o);return false}else{r.remove();q.empty().remove()}}if(o.showoverlay&&n){n.empty().remove().css({'opacity':o.overlay})}r.attr('src',o.imgDir+'closebox.png').appendTo('body').hide();if($.fn.ifixpng){$.ifixpng(o.imgDir+'blank.gif');r.ifixpng(o.imgDir+'blank.gif')}r.unbind('click').click(function(){closeZoomBox(o)});q=$('<div>').empty().css(o.oImgZoomBoxProp);var c=$('img',k).attr('alt');if(c){var d=$('<div><center><table height=0 border="0" cellspacing=0 cellpadding=0><tr><td></td><td class="fancyTitle">'+c+'</td><td></td></table></center></div>').css({marginTop:10,marginRight:15});var e=d.find('td:first').css({'background':'url('+o.imgDir+'zoom-caption-l.png)',width:'13px',height:'26px'});var f=d.find('td:last').css({'background':'url('+o.imgDir+'zoom-caption-r.png)',width:'13px',height:'26px'});var g=$('.fancyTitle',d).css({'background':'url('+o.imgDir+'zoom-caption-fill.png)','padding':'0px 20px',color:'#FFF','font-size':'14px'});if($.fn.ifixpng){e.ifixpng(o.imgDir+'blank.gif');f.ifixpng(o.imgDir+'blank.gif');g.ifixpng(o.imgDir+'blank.gif')}d.appendTo(q)}var h=$('<img />').attr('src',$(this).attr('href')).css({zIndex:100,marginTop:15,marginRight:15}).click(function(){closeZoomBox(o)}).prependTo(q);var i=new Image();i.src=$(this).attr('href');var j=function(){if(t){t=false}else{if(__getFileName(i.src)==__getFileName($('img:first',q).attr('src'))){openZoomBox(k,o);__stoploading()}}};if(i.complete){openZoomBox(k,o)}else{__displayLoading();i.onload=function(){j()}}return false})})};$.fn.fancyzoom.defaultsOptions={overlayColor:'#000',overlay:0.6,showoverlay:false,Speed:400,shadowOpts:{color:"#000",offset:4,opacity:0.2},imgDir:p};function __posCenter(a,b){var c=($(window).width()-a)/2+$(window).scrollLeft();var d=($(window).height()-b)/2+$(window).scrollTop();c=(c<0)?0:c;d=(d<0)?0:d;return{left:c,top:d}}var s=null;var t=false;var u=null;function __displayLoading(){if(!s){s=$('<div></div>').css({width:50,height:50,position:'absolute','background':'transparent',opacity:8/10,color:'#FFF',padding:'5px','font-size':'10px'})}s.appendTo('body').css(__posCenter(50,50)).html('<img src="'+$.fn.fancyzoom.defaultsOptions.imgDir+'blank.gif" />').click(function(){__cancelLoading()}).show();u=setTimeout(__changeimageLoading,400)}function __cancelLoading(){t=true;__stoploading()}function __stoploading(){s.hide().remove();if(u){clearTimeout(u);u=null}}function __changeimageLoading(){if(!s.is(':visible')){u=null;return}var a=$('img',s);if(!a.attr('src')||/blank\.gif/.test(a.attr('src'))){strImgSrc=$.fn.fancyzoom.defaultsOptions.imgDir+"zoom-spin-1.png"}else{tab=a.attr('src').split(/[- .]+/);iImg=parseInt(tab[2]);iImg=(iImg<12)?(iImg+1):1;strImgSrc=tab[0]+"-"+tab[1]+"-"+iImg+"."+tab[3]}var b=new Image();b.src=strImgSrc;var c=function(){s.css(__posCenter(50,50));a.attr('src',strImgSrc);u=setTimeout(__changeimageLoading,100)};if(b.complete){c()}else{b.onload=c}}function __getFileName(a){if(!a){return false}var b=a.split('/');return((b.length<1)?a:b[(b.length-1)])}})(jQuery);