



/*//////////////////////////////////////////////////////


crea un layer scuro con sopra un box e lo anima verso il centro della finestra

PARAMETRI

'dark_color': '#000',				colore del layer di scuro
'dark_trasp': 0.3,					trasparenza layer scuro
'endW':200,							larghezza box animato
'endH':200,							altezza box animato
'fondo': "#CCC",					colore fondo box animato
'bordo':"solid 10px #FFF",			bordo del box animato
'classe':"zoomBox",					classe del box animato
'css_botChiudo': 'galA_botChiudo',	classe del bottone per chiudere box

'funzaEnd': undefined,				funzione da eseguire a fine animazione
'funzaEndParam':{}					parametri della funzione da eseguire a fine animazione

*///////////////////////////////////////////////////////









(function($) {
    $.fn.zoomBox = function(options) {
		
		var questo = this;
		
		
        // valori di default
        var PARAM = {
			'dark_color': '#000',
            'dark_trasp': 0.3,
			'endW':200,
			'endH':200,
			'fondo': "#CCC",
			'bordo':"solid 10px #FFF",
			'classe':"zoomBox",
			'css_botChiudo': 'galA_botChiudo',
			
			'funzaEnd': undefined,
			'funzaEndParam':{}
        };
 
        if (options) $.extend(PARAM, options);
		
		
		
		
		
		
		///////////// ESECUZIONE ZOOM DEL BOX
		
		function doZoom(elemento){
			
			var myDark = tool_doDark(PARAM.dark_color, PARAM.dark_trasp);
			var boxAll = tool_doDark(0, 1);
			boxAll.css("overflow","hidden");
			
			var posaIni = {X:elemento.offset().left,Y:elemento.offset().top,W:elemento.outerWidth(),H:elemento.outerHeight()}
			var end_xy = tool_centroVetroXY(PARAM.endW,PARAM.endH);
			var posaEnd = {X:end_xy.X,Y:end_xy.Y,W:PARAM.endW,H:PARAM.endH};
			
			var myLiv = buildBox(myDark,boxAll,posaIni.X,posaIni.Y,posaIni.W,posaIni.H);
			
			myLiv.animate({left:posaEnd.X,top:posaEnd.Y,width:posaEnd.W,height:posaEnd.H}, 300,function(){
				if(PARAM.funzaEnd){
					var canvas = myLiv.children("div").last();
					canvas.width(PARAM.endW);
					canvas.height(PARAM.endH);
					canvas.css("overflow-y","auto");
					canvas.css("overflow-x","hidden");
					//canvas.css("border","solid 1px #000");
					
					PARAM.funzaEndParam["zoomBoxCanvas"] = canvas;
					PARAM.funzaEnd(PARAM.funzaEndParam);
				}
			});
		}
		
		// costruisce il livello della foto
		function buildBox(myDark,boxAll,X,Y,W,H){
			var maxZ = tool_maxZindex()+5;
			
			boxAll.append(("<div class=\"" +PARAM.classe+ "\"></div>"));
			var myLiv = boxAll.children("div").last();
			
			myLiv.width(W);
			myLiv.height(H);
			myLiv.css("position", "absolute");
			//myLiv.css("overflow", "auto");
			myLiv.css("left",X);
			myLiv.css("top",Y);
			myLiv.css("background-color", PARAM.fondo);
			myLiv.css("border", PARAM.bordo);
			myLiv.css("z-index", maxZ);
			
			// bottone chiusura
			myLiv.append(("<div style=\"position:relative;\"><a class=\"" +PARAM.css_botChiudo+ "\" style=\"position:absolute;\"></a></div>"));
			var chiudoBox = function (){
				myLiv.animate({opacity:0}, 500,function(){
					myLiv.remove();
					myDark.remove();
					boxAll.remove();
				});
			}
			myLiv.children("div").last().off("click").on("click",chiudoBox);
			
			// div da utilizzare per mettere html
			//myLiv.append(("<div style=\"border:solid 1px #000\"></div>"));
			myLiv.append(("<div></div>"));
			
			return myLiv;
		}
		
	
		
		////////////////// ESECUZIONE
		
        this.each(function() {
			doZoom($(this));
        });
 
        return this;
 
    }
})(jQuery);



