// charset=utf-8
// $Id: TitleImageSwitcher.js 60 2011-05-26 13:35:35Z hebing $
// $HeadURL: svn://svnserver/strikowestofen/module/2011/TitleImageSwitcher/scripts/TitleImageSwitcher.js $
// +----------------------------------------------------------------------+
// | mcm module: TitleImageSwitch v1.0                                    |
// | for mcm 5.6                                                          |
// | (c) 2002-2011 monsun media (http://www.monsun-media.com)             |
// +----------------------------------------------------------------------+


/**
* TitleImageSwitcher
*
* @author	hebing
*/
var TitleImageSwitcher = {

	imageContainer : null
	,
	articleContainer : null
	,
	activeImage : null
	,
	nextImage : null
	,
	activeArticle : null
	,
	nextArticle : null
	,
	doFadeOut : true
	,
	letImageStay : 5000
	, 
	cnt : 0
	, 
	/**
	* init
	*
	* @return	void
	*/
	init: function(evt) {
		//hole zuerst alle Titelbilder
		TitleImageSwitcher.imageContainer = $('div.TitleimageArea div.TitleImage');
		//erstes Bild
		TitleImageSwitcher.activeImage = TitleImageSwitcher.imageContainer[0];
		//zweites Bild
		TitleImageSwitcher.nextImage = TitleImageSwitcher.imageContainer[1];
		//verstecke alle Bilder ausser das Erste
		TitleImageSwitcher.hideAdditionalImages();
		
		//hole dann alle Artikel
		TitleImageSwitcher.articleContainer = $('div.TitleimageArea div.Article');
		//erster Artikel
		TitleImageSwitcher.activeArticle = TitleImageSwitcher.articleContainer[0];
		//zweiter Artikel
		TitleImageSwitcher.nextArticle= TitleImageSwitcher.articleContainer[1];
		//verstecke alle Artikel ausser den Ersten
		TitleImageSwitcher.hideAdditionalArticles();
		
		//Start ein- und ausblenden
		TitleImageSwitcher.fadeInAndFadeOut();
	}
	,
	hideAdditionalImages : function(){
		TitleImageSwitcher.imageContainer.each(
			function(index){
				$(this).css("position","absolute");
				if(index > 0){
					$(this).css("display","none");
				}
			}
		);
	}
	,
	hideAdditionalArticles : function(){
		TitleImageSwitcher.articleContainer.each(
			function(index){
				if(index > 0){
					$(this).css("display","none");
				}
			}
		);
	}
	,
	fadeInAndFadeOut: function(){
		window.setInterval("TitleImageSwitcher.doFadeIn()", TitleImageSwitcher.letImageStay);
		window.setInterval("TitleImageSwitcher.doFadeOut()", TitleImageSwitcher.letImageStay);
	}
	,
	doFadeIn: function(){
		if(TitleImageSwitcher.imageContainer.length > 1){
			$(TitleImageSwitcher.nextImage).fadeIn('slow', function() {
	        	TitleImageSwitcher.moveActiveImageToLastPosition();
	      	});
		}
		if(TitleImageSwitcher.articleContainer.length > 1){
			$(TitleImageSwitcher.nextArticle).fadeIn('slow', function() {
	        	TitleImageSwitcher.moveActiveArticleToLastPosition();
	      	});
		}
		
	}
	,
	doFadeOut: function(){
		if(TitleImageSwitcher.imageContainer.length > 1){
			$(TitleImageSwitcher.activeImage).fadeOut('slow', function() {
			    // Animation complete.
			});
		}
		if(TitleImageSwitcher.articleContainer.length > 1){
			$(TitleImageSwitcher.activeArticle).fadeOut('slow', function() {
			    // Animation complete.
	      	});
		}
	}
	,
	moveActiveImageToLastPosition: function(){
		//aktualisiere zuerst alle Titelbilder
		TitleImageSwitcher.imageContainer = $('div.TitleimageArea div.TitleImage');
		var movingElement = $(TitleImageSwitcher.activeImage).detach();
		var lastElement = TitleImageSwitcher.imageContainer[TitleImageSwitcher.imageContainer.length-1];
		
		//Verschiebe das erste Bild an letzte Stelle
		$(lastElement).after(movingElement);
		$(movingElement).css("display","none");
				
		//aktualisiere nochmal nach dem Verschieben alle Titelbilder
		TitleImageSwitcher.imageContainer = $('div.TitleimageArea div.TitleImage');
		//erstes Bild
		TitleImageSwitcher.activeImage = TitleImageSwitcher.imageContainer[0];
		//zweites Bild
		TitleImageSwitcher.nextImage = TitleImageSwitcher.imageContainer[1];
		
	}
	,
	moveActiveArticleToLastPosition: function(){
		//aktualisiere zuerst alle Artikel
		TitleImageSwitcher.articleContainer = $('div.TitleimageArea div.Article');
		var movingElement = $(TitleImageSwitcher.activeArticle).detach();
		var lastElement = TitleImageSwitcher.articleContainer[TitleImageSwitcher.articleContainer.length-1];
		
		//Verschiebe den ersten Artikel an letzte Stelle
		$(lastElement).after(movingElement);
		$(movingElement).css("display","none");
				
		//aktualisiere nochmal nach dem Verschieben alle Titelbilder
		TitleImageSwitcher.articleContainer = $('div.TitleimageArea div.Article');
		//erster Artikel
		TitleImageSwitcher.activeArticle = TitleImageSwitcher.articleContainer[0];
		//zweiter Artikel
		TitleImageSwitcher.nextArticle= TitleImageSwitcher.articleContainer[1];
		
	}
}


$(document).ready(function() {
	TitleImageSwitcher.init();
});
