var site_url = "/";
var periodical;
var overLay;
var fadeTo;

var Gallery = {

	init: function() {

		overLay = new Fx.Morph($('gallery-image-overlay'), { duration: '1800' });
		thumbList = new Fx.Morph($('gallery-fade-container'), { duration: '900' });
		logoOverLay = new Fx.Morph($('gallery-logo-overlay'), { duration: '600' });
		logoContainerOverLay = new Fx.Morph($('gallery-logo'), { duration: '600' });

		$$('#gallery-image').setOpacity(0);
		$$('#gallery-image-overlay').setOpacity(0);
		$('gallery-content').setOpacity(0);

		var thumbImages = [];
		$$('.gallery-thumb img').each(function(obj) {
			var parent = obj.getParent().get('id').replace('gallery-image-', '');
			var bImage = $('big-image-'+parent).get('value');

			thumbImages.push(bImage);
		});

/* logo start */
		var logoImages = [];
		$$('.gallery-logo img').each(function(obj2) {
			var logoParent = obj2.getParent().get('id').replace('logo-image-', '');
			var logoImage = $('logo-image-'+logoParent).get('value');

			logoImages.push(logoImage);
		});
		
		$('gallery-logo').addEvent('click', function(){
			if($('mfId').get('value') >0) {
				var u = new URI("http://www.wohn-fabrik.de/nc/hersteller/mfId/" + $('mfId').get('value') + ".html");
				u.go();
			}
		});
/* logo ende */

		var toPreload = new Asset.images([thumbImages,logoImages], {
			onComplete: function() {
				$('gallery-loader').hide();
				$('gallery-image').setOpacity(1);


				if(thumbImages.length>1) {
					$('gallery-content').setOpacity(1);
					periodical = Gallery.crossfade.periodical(6000);
				}

			}
		});

// remooz		
		$$('img.remooz').each(function(element) {
			element.removeEvents();
		});

		$$('img.remooz').each(function(element) {
		
		    // Constructor, takes the element and options as arguments
		    new ReMooz(element, {
		        origin:			element.getElement('img'), // Take the image inside as origin for the zooming element
				shadow:			'onOpenEnd', // fx is faster because shadow appears after resize animation
				resizeFactor:	0.8, // resize to maximum 80% of screen size
				cutOut:			false, // don't hide the original
				opacityResize:	0.4, // opaque resize
				dragging:		true, // disable dragging
				centered:		true, // resize to center of the screen, not relative to the source element
				/*resizeLimit:	{x: 932, y: 518}, // {x: 640, y: 640}*/
				onOpen:			function(){Gallery.openReMoozBackground(); $clear(periodical);},
				onCloseEnd:		function(){Gallery.closeReMoozBackground(); periodical = Gallery.crossfade.periodical(6000);}
		    });
		
		});
// remooz end

	},
	
	openReMoozBackground: function() {
		//console.log('teeeest');
		
         if (!$('lightboxBg')) {
              if (Browser.Engine.trident && Browser.Engine.version <= 4) {
                  var background = new Element('div', {
                      'id': 'lightboxBg',
                      'styles': {
                          'opacity': .8,
                          'width': window.document.getCoordinates().width,
                          'height': window.document.getScrollSize().y
                      }
                  }).inject($('WohnFabrik'), 'top');

              } else {
                  var background = new Element('div', {
                      'id': 'lightboxBg',
                      'styles': {
                          'opacity': .8,
                          'background': 'black',
						'height': '100%',
						'left': '0px',
						'position': 'fixed',
						'top': '0px',
						'width': '100%',
						'z-index': 20000
                      }
                  }).inject($('WohnFabrik'), 'top');
              }
          }
		
	},

    closeReMoozBackground: function(){
    
        if($('lightboxBg')) {
        
        	$('lightboxBg').dispose();
        	
        }
    },
    
	crossfade: function() {

		childs = $('gallery-fade-container').getChildren('a');
		galleryActive = childs[0];

		var el = $(galleryActive);
		fadeTo = $(el).getNext('a');

		var tmpChilds = $(fadeTo).getChildren();
		var imgChild = tmpChilds[0];

		var parent 	  = imgChild.getParent('a').get('id').replace('gallery-image-', '');
		var rImgChild = {src: $('big-image-'+parent).get('value'), id: parent};
		var logoImg = {src: $('logo-image-'+parent).get('value'), id: parent};
		// var logoMfId = {value: $('logo-mfid-'+parent).get('value')};
		
		// thumbs // large images
		var toPreload = new Asset.images(new Array(rImgChild.src), {
			onComplete: function() {
				imgContainer = $('gallery-image');

				var images = imgContainer.getChildren();

				image = images[0];
				
				overlay = images[1];
				
				overlay.setOpacity('0');
				overlay.src = rImgChild.src;

				overLay.start({'opacity':1}).chain(function() {
					original  = imgChild.getParent().get('rel');
					image.src = rImgChild.src;

					var linkFromIdArray = (fadeTo.id).split("-");

				});

// remooz
				$$('img.remooz').each(function(element) {
					element.removeEvents();
				});

				$$('img.remooz').each(function(element) {
			 
			        // Constructor, takes the element and options as arguments
			        new ReMooz(element, {
				        centered:		true, // Zoom the center of the screen
				        origin:			element.getElement('img'), // Take the image inside as origin for the zooming element
						shadow:			'onOpenEnd', // fx is faster because shadow appears after resize animation
						resizeFactor:	0.8, // resize to maximum 80% of screen size
						cutOut:			false, // don't hide the original
						opacityResize:	0.4, // opaque resize
						dragging:		true, // disable dragging
						/*resizeLimit:	{x: 932, y: 518}, // {x: 640, y: 640}*/
						onOpen:			function(){Gallery.openReMoozBackground();$clear(periodical);},
						onCloseEnd:		function(){Gallery.closeReMoozBackground(); periodical = Gallery.crossfade.periodical(6000);}	
			        });
			 
			    });
    
// remooz end

		/* logo start */
		
		if(logoImg.src) {
			var toPreloadLogo = new Asset.images(new Array(logoImg.src), {
				onComplete: function() {
					logoImgContainer = $('gallery-logo');
					var logoImages = logoImgContainer.getChildren();

					logoImage = logoImages[1];
					logoImage.set('styles', {
						'display': 'none'
					});
					logoOverlay = logoImages[2];
					
					logoOverLay.start({'opacity':1,'display':'inline'}).chain(function() {
						logoOverlay.src = logoImg.src;
						logoContainerOverLay.start({'opacity':1}).chain(function() {
						});
					});
				}
			});
		} else {
			logoContainerOverLay.start({'opacity':0}).chain(function() {
				logoImgContainer = $('gallery-logo');
				var logoImages = logoImgContainer.getChildren();
					logoImage = logoImages[1];
					logoImage.set('styles', {
						'display': 'none'
					});
					logoImage = logoImages[2];
					logoImage.set('styles', {
						'display': 'none'
					});
			});
		}
		
		$('mfId').set('value', $('logo-mfid-'+parent).get('value'));
		
		/* logo ende */
		
				thumbList.start({'opacity':0}).chain(
					function() {
						galleryActive.removeClass('first');
						$('gallery-fade-container').grab(galleryActive);
						var gals = $('gallery-fade-container').getChildren('a');

						gals[0].addClass('first');

						this.start({'opacity':1});
					}
				);
			}
		});

	}
}


window.addEvent('domready', function() {

	if ($('gallery')) {
		Gallery.init();
	}

});

