var loader = new YAHOO.util.YUILoader({
    require: ['animation'],
    loadOptional: true,
    onSuccess: function() {
	    YAHOO.util.Event.onDOMReady(function (ev) {
			YAHOO.util.Dom.setStyle('zoom-overlay', 'opacity', 0);
			YAHOO.util.Dom.setStyle('zoom-overlay', 'display', 'block');
			YAHOO.util.Dom.setX('zoom-overlay', 0);
			YAHOO.util.Dom.setY('zoom-overlay', 0);
			YAHOO.util.Dom.setStyle('zoom-overlay', 'width', YAHOO.util.Dom.getDocumentWidth());
			YAHOO.util.Dom.setStyle('zoom-overlay', 'height', YAHOO.util.Dom.getDocumentHeight());
			YAHOO.util.Dom.setStyle('zoom-overlay', 'display', 'none');
		
			var el = YAHOO.util.Dom.getElementsByClassName('parrucca-scheda-img');

			for ( i = 0; i <= el.length; i++ ) {
				pre = new Image();
				img = YAHOO.util.Dom.getStyle(el[i], 'background-image').substr(4);
				img = img.replace(')', '');
				img = img.replace('&w=90', '&w=460');
				pre.src = img;
				
				YAHOO.util.Event.addListener(el[i], 'click', function (e) {
					YAHOO.util.Dom.setStyle('zoom-overlay', 'display', 'block');
					YAHOO.util.Dom.setStyle('zoom-container', 'visibility', 'hidden');
					img = YAHOO.util.Dom.getStyle(this, 'background-image').substr(4);
					img = img.replace(')', '');
					img = img.replace('&w=90', '&w=460');
					YAHOO.util.Dom.get('zoom-img-dummy').src = img;
					YAHOO.util.Dom.get('zoom-img').src = img;
					YAHOO.util.Dom.setStyle('zoom-container', 'display', 'block');
					YAHOO.util.Dom.setX('zoom-container', (Math.round(YAHOO.util.Dom.getViewportWidth() / 2) - 250));
					y  = YAHOO.util.Dom.getDocumentScrollTop();
					y += Math.round(YAHOO.util.Dom.getViewportHeight() / 2);
					y -= (Math.round((YAHOO.util.Dom.getRegion('zoom-container').bottom - YAHOO.util.Dom.getRegion('zoom-container').top) / 2));
					YAHOO.util.Dom.setY('zoom-container', (y));
					if (YAHOO.util.Dom.getDocumentHeight() < YAHOO.util.Dom.getRegion('zoom-container').bottom ) {
						y  = YAHOO.util.Dom.getDocumentHeight();
						y += YAHOO.util.Dom.getRegion('zoom-container').bottom;
						y -= YAHOO.util.Dom.getRegion('zoom-container').top;
						YAHOO.util.Dom.setY('zoom-container', 'top', y);
					}					
					var anim = new YAHOO.util.Anim('zoom-overlay', {opacity: { to: .5 }}, .25, YAHOO.util.Easing.easeIn);
					anim.onComplete.subscribe(function(e) {
						YAHOO.util.Dom.setStyle('zoom-container', 'visibility', 'visible')
					});
					anim.animate();
					YAHOO.util.Event.addListener(window, 'scroll', function(e) {
						y  = YAHOO.util.Dom.getDocumentScrollTop();
						y += Math.round(YAHOO.util.Dom.getViewportHeight() / 2);
						y -= (Math.round((YAHOO.util.Dom.getRegion('zoom-container').bottom - YAHOO.util.Dom.getRegion('zoom-container').top) / 2));
						new YAHOO.util.Motion('zoom-container', {points: { to: [YAHOO.util.Dom.getX('zoom-container'), y] }}, .25).animate();
					});
				});
				
				YAHOO.util.Event.addListener('zoom-close', 'click', function (e) {
					var anim = new YAHOO.util.Anim('zoom-overlay', {opacity: { to: 0 }}, .25, YAHOO.util.Easing.easeOut);
					YAHOO.util.Dom.setStyle('zoom-container', 'display', 'none');
					anim.onComplete.subscribe(function(e) {
						YAHOO.util.Dom.setStyle('zoom-overlay', 'display', 'none');
					});
					anim.animate();
					YAHOO.util.Dom.get('zoom-img').src = '';
				});
				
				YAHOO.util.Event.addListener('zoom-overlay', 'click', function (e) {
					var anim = new YAHOO.util.Anim('zoom-overlay', {opacity: { to: 0 }}, .25, YAHOO.util.Easing.easeOut);
					YAHOO.util.Dom.setStyle('zoom-container', 'display', 'none');
					anim.onComplete.subscribe(function(e) {
						YAHOO.util.Dom.setStyle('zoom-overlay', 'display', 'none');
					});
					anim.animate();
					YAHOO.util.Dom.get('zoom-img').src = '';
				});
			}
		});
    },
    timeout: 1000,
    combine: true
});

loader.insert();
