var loader = new YAHOO.util.YUILoader({
    require: ['animation', 'carousel', 'connection'],
    loadOptional: true,
    onSuccess: function() {
	    YAHOO.util.Event.onDOMReady(function (ev) {	    
			
			if ( YAHOO.env.ua.ie >= 8 || YAHOO.env.ua.gecko || YAHOO.env.ua.webkit || YAHOO.env.ua.opera ) {
				YAHOO.util.Connect.asyncRequest('GET', 'parrucca-carousel.htm?id=' + YAHOO.util.Dom.get('form').id.value, {
					 success: function(o) {
						YAHOO.util.Dom.get('carousel-container').innerHTML = o.responseText;
						var carousel = new YAHOO.widget.Carousel('carousel-container');
						carousel.set('animation', { speed: 0.5 }); 
						carousel.set('numVisible', 5);
						if ( !YAHOO.util.Dom.get('field-hidden-carousel') ) {
							YAHOO.util.Dom.setStyle('carousel-h2', 'display', 'none');
							YAHOO.util.Dom.setStyle('carousel-container', 'display', 'none');
							var scheda = YAHOO.util.Dom.getElementsByClassName('parrucca-scheda-dettaglio')[0];
							YAHOO.util.Dom.setStyle(scheda, 'opacity', 0);
							YAHOO.util.Dom.setStyle(scheda, 'visibility', 'visible');
							new YAHOO.util.Anim(scheda, {opacity: {to: 1}}, .3).animate();
							parrucca();
							return true;
						}
						carousel.set('selectedItem', Number(YAHOO.util.Dom.get('field-hidden-carousel').value));
						carousel.render();
						if(YAHOO.env.ua.ie>0)
							YAHOO.util.Dom.setStyle(carousel, 'width', '575px');
						else
							YAHOO.util.Dom.setStyle(carousel, 'width', '540px');
						carousel.show();
						
						var el = YAHOO.util.Dom.getElementsByClassName('carousel-parrucca-scheda');
						for ( i = 0; i <= el.length; i++ ) {
							YAHOO.util.Dom.setStyle(el[i], 'opacity', 0);
							YAHOO.util.Dom.setStyle(el[i], 'visibility', 'visible');
							YAHOO.util.Event.addListener(el[i], 'mouseenter', function (e) {
								YAHOO.util.Dom.setStyle(this, 'opacity', 1);
							});
							YAHOO.util.Event.addListener(el[i], 'mouseleave', function (e) {
								YAHOO.util.Dom.setStyle(this, 'opacity', 0);
							});
							
						}
						
						if (YAHOO.env.ua.ie > 0) {
							var el = YAHOO.util.Dom.getElementsByClassName('carousel-parrucca-scheda-container');
							for ( i = 0; i <= el.length; i++ )
								YAHOO.util.Dom.setStyle(el[i], 'height', 110);
						}
						
						var el = YAHOO.util.Dom.getElementsByClassName('carousel-parrucca-a');
						for ( i = 0; i <= el.length; i++ ) {
							YAHOO.util.Event.addListener(el[i], 'click', function (e) {
								YAHOO.util.Event.preventDefault(e);
								YAHOO.util.Connect.asyncRequest('GET', this.href, {
									 success: function(o) {
										var anim = new YAHOO.util.Anim(YAHOO.util.Dom.getElementsByClassName('parrucca-scheda-dettaglio')[0], {opacity: {to: 0}}, .1);
										anim.animate();
										anim.onComplete.subscribe(function(e) {
											var scheda = YAHOO.util.Dom.getElementsByClassName('parrucca-scheda-dettaglio')[0];
											needle = '<div id="layout-bread-crumbs">';
											start = o.responseText.indexOf(needle) + needle.length;
											needle = '<div id="zoom-overlay"></div>';
											end = o.responseText.indexOf(needle) - 10;
											YAHOO.util.Dom.get('layout-bread-crumbs').innerHTML = o.responseText.substr(start, (end - start));
											
											needle = '<div class="parrucca-scheda-dettaglio">';
											start = o.responseText.indexOf(needle) + needle.length;
											needle = '<form method="post" action="carrello.htm" id="form">';
											end = o.responseText.indexOf(needle) - 8;
											scheda.innerHTML = o.responseText.substr(start, (end - start));
											new YAHOO.util.Anim(scheda, {opacity: {to: 1}}, .3).animate();
											
											id = o.argument[0].substr((o.argument[0].indexOf('id=') + 3))
											YAHOO.util.Dom.get('form').id.value = id;
											parrucca();										
										});
									 },
									failure: function(o) {
										alert('errore');
									},
									argument: [this.href, this.title]
								});
							});
						}
									
						
						YAHOO.util.Dom.setStyle('carousel-container', 'opacity', 0);
						YAHOO.util.Dom.setStyle('carousel-container', 'visibility', 'visible');
						/*
						if (YAHOO.env.ua.ie > 0)
							new YAHOO.util.Anim('carousel-container', {height: {to: 115}}, .3).animate();
						else if (YAHOO.env.ua.webkit > 0)
							new YAHOO.util.Anim('carousel-container', {height: {to: 90}}, .3).animate();
						else
							new YAHOO.util.Anim('carousel-container', {height: {to: 110}}, .3).animate();
						*/
						
						new YAHOO.util.Anim('carousel-container', {height: {to: 90}}, .3).animate();
						var anim = new YAHOO.util.Anim('carousel-container', {opacity: {to: 1}}, .3);
						anim.animate();
						anim.onComplete.subscribe(function(e) {
							var scheda = YAHOO.util.Dom.getElementsByClassName('parrucca-scheda-dettaglio')[0];
							YAHOO.util.Dom.setStyle(scheda, 'opacity', 0);
							YAHOO.util.Dom.setStyle(scheda, 'visibility', 'visible');
							new YAHOO.util.Anim(scheda, {opacity: {to: 1}}, .3).animate();
						});
					 },
					failure: function(o) {
						void(0);
					},
					argument: [this.href]
				});
			} else
				YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName('parrucca-scheda-dettaglio')[0], 'visibility', 'visible');
			
			/* vecchio sistema colori
			var el = YAHOO.util.Dom.getElementsByClassName('checkbox');
			for ( i = 0; i <= el.length; i++ ) {
				YAHOO.util.Event.addListener(el[i], 'click', function (e) {				
					if ( this.id != 'checkbox-checked' ) {
						YAHOO.util.Dom.setStyle('btn-carrello-msg', 'display', 'none');
					
						if ( YAHOO.util.Dom.get('checkbox-checked') ) {						
							YAHOO.util.Dom.setStyle('checkbox-checked', 'background-image', 'url(/images/parrucca-scheda/checkbox.png)');
							YAHOO.util.Dom.get('checkbox-checked').id = '';
						}
						YAHOO.util.Dom.setStyle(this, 'background-image', 'url(/images/parrucca-scheda/checkbox-hover.png)');
						this.id = 'checkbox-checked';
						YAHOO.util.Dom.get('field-hidden-colore').value = this.title;
					} else {
						YAHOO.util.Dom.setStyle(this, 'background-image', 'url(/images/parrucca-scheda/checkbox.png)');
						this.id = '';
						YAHOO.util.Dom.get('field-hidden-colore').value = '';
					}
				});
			}
			 vecchio sistema colori */
			 
			function parrucca() {
				/* nuovo sistema colori */
				var el = YAHOO.util.Dom.getElementsByClassName('parrucca-colore-container');
				for ( i = 0; i <= el.length; i++ ) {
					YAHOO.util.Event.addListener(el[i], 'click', function (e) {
						if ( this.id != 'parrucca-colore-selected' ) {
							YAHOO.util.Dom.setStyle('parrucca-colore-zoom', 'display', 'none');
							YAHOO.util.Dom.get('parrucca-scheda-riepilogo-img').src = this.rel.replace('w-250','w-120').replace('h-191','h-100');
							YAHOO.util.Dom.get('parrucca-scheda-riepilogo-img').onerror = function(e) {
								//YAHOO.util.Dom.get('parrucca-scheda-riepilogo-img').src = YAHOO.util.Dom.get('parrucca-scheda-riepilogo-img').src.replace('colore_' + this.rel, 'colore');
								YAHOO.util.Dom.get('parrucca-scheda-riepilogo-img').onerror = null;
							}
							YAHOO.util.Dom.get('parrucca-scheda-riepilogo-colore').innerHTML = 'colore prescelto:<br />' + this.getElementsByTagName('span')[0].innerHTML.toUpperCase();
							
							YAHOO.util.Dom.setStyle('btn-carrello-msg', 'display', 'none');
							YAHOO.util.Dom.setStyle('parrucca-scheda-riepilogo-h2', 'display', 'block');
							YAHOO.util.Dom.setStyle('parrucca-scheda-riepilogo-div', 'display', 'block');
							
							if ( YAHOO.util.Dom.get('parrucca-colore-selected') ) {						
	//							YAHOO.util.Dom.setStyle('parrucca-colore-selected', 'background-image', 'url(/images/parrucca-scheda/checkbox.png)');
								YAHOO.util.Dom.get('parrucca-colore-selected').id = '';
							}
							//YAHOO.util.Dom.setStyle(this, 'background-image', 'url(/images/parrucca-scheda/checkbox-hover.png)');
							this.id = 'parrucca-colore-selected';
							YAHOO.util.Dom.get('field-hidden-colore').value = this.title;
						} else {
		//					YAHOO.util.Dom.setStyle(this, 'background-image', 'url(/images/parrucca-scheda/checkbox.png)');
							this.id = '';
							YAHOO.util.Dom.get('field-hidden-colore').value = '';
						}
					});
					
					YAHOO.util.Event.addListener(el[i], 'mouseover', function (e) {
						YAHOO.util.Dom.setStyle('parrucca-colore-zoom', 'display', 'block');
						YAHOO.util.Dom.setX('parrucca-colore-zoom', (Number(YAHOO.util.Dom.getX(this)) + 85));
						YAHOO.util.Dom.setY('parrucca-colore-zoom', (Number(YAHOO.util.Dom.getY(this)) - 30));
						YAHOO.util.Dom.get('parrucca-colore-zoom-img').src = this.rel;
						YAHOO.util.Dom.setStyle('parrucca-colore-zoom', 'visibility', 'visible');
						
						YAHOO.util.Event.addListener('layout-contents', 'mouseout', function (e) {
							YAHOO.util.Dom.get('parrucca-colore-zoom-img').src = '/images/layout/loader.gif';
							YAHOO.util.Dom.setStyle('parrucca-colore-zoom', 'visibility', 'hidden');
							YAHOO.util.Dom.setStyle('parrucca-colore-zoom', 'display', 'none');
						});
					});
				}
				/* nuovo sistema colori */
				
				YAHOO.util.Event.addListener('btn-carrello', 'click', function (e) {
					YAHOO.util.Event.preventDefault(e);
					
					if ( YAHOO.util.Dom.get('field-hidden-colore').value ) {
						YAHOO.util.Dom.get('form').submit();
						return true;
					}
					
					YAHOO.util.Dom.setStyle('btn-carrello-msg', 'display', 'block');
				});
			
				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-dettaglio-img');
				for ( i = 0; i <= el.length; i++ ) {
					pre = new Image();
					if ( !el[i] )
						continue;
					
					img = el[i].src;
					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 = this.src;
						img = img.replace(')', '');
						img = img.replace('&w=250', '&w=460');
						img = img.replace('&w=123', '&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.getRegion('layout-header').bottom > YAHOO.util.Dom.getRegion('zoom-container').top ) {
							YAHOO.util.Dom.setY('zoom-container', YAHOO.util.Dom.getRegion('layout-header').bottom + 20);
						} else 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', 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.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();
					});
				}
				*/
			
			}
			parrucca();
			
		});
    },
    timeout: 10000,
    combine: true
});

loader.insert();
