(function($){$.fn.MCGalery=function(opt){opt=jQuery.extend({my_speed:null,close_speed:300,bg_alpha:0.5,close_all:'.mcg_close,.mcg_overlay',slideShow:null,slideSpeed:null},opt);function start_mcmsgallery(){var corners='<tr>'+'<td colspan="3" class="mcmsgallery_up"></td>'+'</tr>'+'<tr>'+'<td class="t_l"></td>'+'<td class="t_c"></td>'+'<td class="t_r"></td>'+'</tr>'+'<tr>'+'<td class="c_l"></td>'+'<td class="c_c"><span><span></span></span><div></div></td>'+'<td class="c_r"></td>'+'</tr>'+'<tr>'+'<td class="b_l"></td>'+'<td class="b_c"></td>'+'<td class="b_r"></td>'+'</tr>'+'<tr>'+'<td colspan="3" class="mcmsgallery_down"></td>'+'</tr>';var window_height=$(document).height();var bg_overlay=$(jQuery('<div class="mcg_overlay"></div>').hide().css({'opacity':+opt.bg_alpha,'height':window_height+'px'}));var mcgmain_cont=$(jQuery('<table class="mcmsgallery_content" cellpadding="0" cellspacing="0"></table>'));var caption=$(jQuery('<div class="caption"></div>'));var mcg_nav=$(jQuery('<div class="mcg_nav"></div>'));var mcg_close=$(jQuery('<a href="#close" class="mcg_close" title="Chiudi"></a>'));var mcg_play=$(jQuery('<a href="#play" class="play" title="Avvia Slideshow"></a>'));var mcg_stop=$(jQuery('<a href="#stop" class="stop" title="Ferma Slideshow"></a>'));var mcg_prev=$(jQuery('<a href="#prev" class="mcg_prev" title="Immagine Precedente"></a>'));var mcg_next=$(jQuery('<a href="#next" class="mcg_next" title="Immagine Successiva"></a>'));$('body').append(bg_overlay).append(mcgmain_cont);mcgmain_cont.append(corners);$('.mcmsgallery_up').append(mcg_close);$('.mcmsgallery_down').append(mcg_nav);$('.mcmsgallery_down').append(mcg_play);mcg_play.hide();$('.mcmsgallery_down').append(mcg_prev).append(mcg_next);mcg_nav.append(caption);var my_nav_w=mcg_prev.width();mcgmain_cont.hide();var my_gall_classes=$("a[class^='mcmsgallery']");var map=new Object();for(var i=0;i<my_gall_classes.length;i++){var it=$(my_gall_classes[i])
map['a.'+it.attr('class')]=0;}
var gall_settings=new Array();for(var key in map){gall_settings.push(key);}
for(var i=0;i<gall_settings.length;i++){$(gall_settings[i]).each(function(rel){this.rel=rel+1+" di "+$(gall_settings[i]).length;});var add_first=$(gall_settings[i]+':first').addClass('first');var add_last=$(gall_settings[i]+':last').addClass('last');}
$(my_gall_classes).each(function(rev){this.rev=rev+0});var imgCache=$(my_gall_classes).each(function(){this.href});var hidden=$('body').append('<div id="imgCache" style="display:none"></div').children('#imgCache');$.each(imgCache,function(i,val){$('<div/>').css({'background':'url('+val+')'}).appendTo(hidden);});var mcg_gallery=$(my_gall_classes);$.fn.fixPNG=function(){return this.each(function(){var image=$(this).css('backgroundImage');if(image.match(/^url\(["']?(.*\.png)["']?\)$/i)){image=RegExp.$1;$(this).css({'backgroundImage':'none','filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod="+($(this).css('backgroundRepeat')=='no-repeat'?'crop':'scale')+", src='"+image+"')"}).each(function(){var position=$(this).css('position');if(position!='absolute'&&position!='relative')
$(this).css('position','relative');});}});};$.browser.msie6=($.browser.msie&&/MSIE 6\.0/i.test(window.navigator.userAgent));if($.browser.msie6&&!/MSIE 8\.0/i.test(window.navigator.userAgent)){$('.t_l,.t_c,.t_r,.c_l,.c_r,.b_l,.b_c,.b_r,a.mcg_next, a.mcg_prev,a.mcg_prev_out,a.mcg_next_out,.c_c,.mcg_close,a.play,a.stop').fixPNG();var ie_w_h=$(document).height();bg_overlay.css('height',ie_w_h+'px');}
if($.browser.msie){opt.close_speed=0;}
$(window).resize(function(){var new_w_bg=$(document).height();bg_overlay.css({'visibility':'visible','height':+new_w_bg+'px'});});mcg_prev.add(mcg_next).bind('click',function(c){c.preventDefault();var image_count=parseInt($(mcg_gallery).filter('.item').attr('rev'));var start=$(this).is('.mcg_prev_out,.mcg_prev')?$(mcg_gallery).eq(image_count-1):$(mcg_gallery).eq(image_count+1);if(!start.size()){start=$(this).is('.mcg_prev_out,.mcg_prev')?$(mcg_gallery).eq($(mcg_gallery).size()-1):$(mcg_gallery).eq(0);}
start.click();mcg_close.add(caption).add(mcg_next).add(mcg_prev).css('visibility','hidden');});$(mcg_gallery).each(function(array){var item=$(this);item.unbind();item.bind('click',function(c){c.preventDefault();mcg_open(item.attr('href'));var this_url=item.attr('href');var descr=item.attr('title');var number=item.attr('rel');if(descr==""){caption.html('<p>'+this_url+'<em class="number">'+number+'</em><a href='+this_url+' class="link_to" target="_blank" title="Apri immagine in una nuova finestra"></a></p>');}else{caption.html('<p>'+descr+'<em class="number">'+number+'</em><a href='+this_url+' class="link_to" target="_blank" title="Apri immagine in una nuova finestra"></a></p>');}
if(item.is('.last')){$('.number').css('text-decoration','underline');}else{$('.number').css('text-decoration','none');}
if(item.is('.first')){mcg_prev.hide();mcg_next.show();}else{mcg_next.add(mcg_prev).show();}
if(item.is('.last')){mcg_prev.show();mcg_next.hide();mcg_play.css('width','0');}else{mcg_play.css('width','40px');}
if(item.is('.last')&&item.is('.first')){mcg_prev.add(mcg_next).hide();$('.number').hide();mcg_play.remove();}
$(mcg_gallery).filter('.item').removeClass('item');item.addClass('item');$('.c_c').removeClass('unique');});});var mcg_open=function(my_url){mcg_play.add(mcg_stop).hide();mcg_close.add(caption).add(mcg_next).add(mcg_prev).css('visibility','hidden');if(mcgmain_cont.is(':visible')){$('.c_c div').children().fadeOut(300,function(){$('.c_c div').children().remove();load_img(my_url);});}else{$('.c_c div').children().remove();mcgmain_cont.show();bg_overlay.fadeIn(300,function(){load_img(my_url);});}}
var load_img=function(my_url){if(mcgmain_cont.is('.loading')){return;}
mcgmain_cont.addClass('loading');var img=new Image();img.onerror=function(){var mcgmain_cont_h=$(mcgmain_cont).height();mcgmain_cont.css({marginTop:parseInt($(document).scrollTop())-(mcgmain_cont_h/1.9)});$('.c_c div').append('<p class="err_mess">Si  verificato un Errore: <a href="#close" class="close_mcmsgallery">Chiudi</a></p>');$('.close_mcmsgallery').bind('click',function(c){c.preventDefault();mcg_close.add(bg_overlay).add(mcgmain_cont).add(caption).add(mcg_next).add(mcg_prev).hide(0,function(){img.src='';});mcgmain_cont.removeClass('loading');});}
img.onload=function(){var imgH=img.height;var imgW=img.width;var mcgmain_cont_h=$(mcgmain_cont).height();var w_H=$(window).height();var w_W=$(window).width();$(img).height(imgH).width(imgW).hide();$('.c_c div').animate({height:imgH+'px',width:imgW+'px'},opt.my_speed);var fix=imgH/w_H*2.3;if(w_H<imgH){h_fix=fix;}else{h_fix=2;}
mcgmain_cont.animate({height:(imgH+40)+'px',width:(imgW+40)+'px',marginLeft:'-'+((imgW)/2+20)+'px',marginTop:parseInt($(document).scrollTop())-(imgH/h_fix)},opt.my_speed,function(){$('.mcg_nav,.caption').css({width:(imgW)+'px','margin-bottom':'10px'});$('.mcg_nav').css('margin-left','-'+(imgW)/2+'px');var caption_height=caption.height();$('.c_c div').append(img);mcg_close.css('display','block');mcg_next.add(mcg_prev).add(mcg_close).css('visibility','visible');caption.css({'visibility':'visible','display':'block','opacity':'0.8','overflow':'hidden'});mcgmain_cont.hover(function(){caption.stop().fadeTo(200,0.8);},function(){caption.stop().fadeTo(200,0);});$(img).fadeIn(300);mcgmain_cont.removeClass('loading');if(opt.slideShow===true){mcg_play.add(mcg_stop).show();}else{mcg_play.add(mcg_stop).hide();}});}
img.src=my_url;$('html').bind("keyup",function(c){if(c.keyCode==27){c.preventDefault();if($(img).is(':visible')||$('.c_c>div>p>a').is('.close_mcmsgallery')){$(mcg_gallery).removeClass('slideshow').removeClass('item');mcg_close.add(bg_overlay).add(mcgmain_cont).add(caption).add(mcg_next).add(mcg_prev).hide(0,function(){img.src='';});mcgmain_cont.removeClass('loading');clearTimeout(timer);$(mcg_gallery).children().removeAttr('class');$('.stop').remove();$('.c_c').append(mcg_play);$('.sc_menu').css('display','none');$('ul.sc_menu li a').removeClass('img_active').css('opacity','0.4');mcg_next.add(mcg_prev).show().css({'top':'50%'});$(mcg_gallery).children().fadeTo(100,1);}}});$('html').bind("keyup",function(e){if($('.item').is('.first')){}else if(e.keyCode==37){e.preventDefault();if($(img).is(':visible')){clearTimeout(timer);$(mcg_gallery).children().removeAttr('class');$('.stop').remove();$('.c_c').append(mcg_play);mcg_prev.click();}}});$('html').bind("keyup",function(z){if($('.item').is('.last')){}else if(z.keyCode==39){z.preventDefault();if($(img).is(':visible')){clearTimeout(timer);$(mcg_gallery).children().removeAttr('class');$('.stop').remove();$('.c_c').append(mcg_play);mcg_next.click();}}});var win_h=$(window).height();mcg_stop.bind('click',function(x){x.preventDefault();clearTimeout(timer);$(mcg_gallery).removeClass('slideshow');$('.stop').remove();$('.mcmsgallery_down').append(mcg_play);mcg_next.add(mcg_prev).css('width',my_nav_w+'px');});mcg_play.bind('click',function(w){w.preventDefault();clearTimeout(timer);if($(img).is(':visible')){$(mcg_gallery).addClass('slideshow');$('.play').remove();$('.mcmsgallery_down').append(mcg_stop);}
mcg_next.add(mcg_prev).css({'width':'0px'});return slideshow();});$(opt.close_all).bind('click',function(c){$(mcg_gallery).removeClass('slideshow');clearTimeout(timer);if($(img).is(':visible')){c.preventDefault();mcg_close.add(bg_overlay).add(mcgmain_cont).add(caption).add(mcg_next).add(mcg_prev).hide(0,function(){img.src='';});mcgmain_cont.removeClass('loading');$(mcg_gallery).removeClass('slideshow');mcg_next.add(mcg_prev).css('width',my_nav_w+'px').hide();$('.stop').remove();$('.mcmsgallery_down').append(mcg_play);mcg_play.hide();}});if(opt.slideShow===true){function slideshow(){if($(mcg_gallery).filter('.item').is('.last')){clearTimeout(timer);$(mcg_gallery).removeClass('slideshow');$('.stop').remove();$('.mcmsgallery_down').append(mcg_play);mcg_next.add(mcg_prev).css('width',my_nav_w+'px');}else if($(mcg_gallery).is('.slideshow')&&$(img).is(':visible')){clearTimeout(timer);mcg_next.click();}}
var timer=setInterval(slideshow,opt.slideSpeed*1000);}}}
start_mcmsgallery();}})(jQuery);
