/* =========================================================

// jquery.innerfade2.js

// Datum: 2008-02-14
// Firma: Medienfreunde Hofmann & Baldes GbR
// Author: Torsten Baldes
// Mail: t.baldes@medienfreunde.com
// Web: http://medienfreunde.com
 *

// ========================================================= */

(function($) {

	$.fn.innerfade2 = function(options) {
    		var settings;
    		var elements;
    		var elements_title;
    		var curr_slide_id_number;
    		var next_slide_id_number;
        	return this.each(function() {   
			$.innerfade2(this, options);
        	});
	};
	//control play and  pause functionality 
	jQuery.pause = function() {
		var elements = $("ul#"+settings.slide_ui_parent+" li");
		var isPlay = $("#"+settings.pause_button_id+" span").html();

		if(settings.slide_timer_on == 'yes') {
			settings.slide_timer_on = 'no'
			$("#"+settings.pause_button_id).attr("class", "paused_button");
                } else {
			settings.slide_timer_on = 'yes'
			$("#"+settings.pause_button_id).attr("class", "pause_button");
			button_class = $("#button_selected").attr("class");
			split_button_class_string = button_class.split("_");
			button_class_string   = split_button_class_string.pop();
			curr_slide_id_number  = parseFloat(button_class_string);
			next_slide_id_number  = curr_slide_id_number - 1;;
			setTimeout(function(){
				$.innerfade2.next(elements, settings, curr_slide_id_number, next_slide_id_number);
			}, 0);
		}
	}  
            
	// next button
	jQuery.next = function(){
		var elements = $("ul#"+settings.slide_ui_parent+" li");			
		$("#"+settings.pause_button_id).attr("class", "paused_button");		
		button_class = $("#button_selected").attr("class");
		split_button_class_string = button_class.split("_");
		button_class_string   = split_button_class_string.pop();
		curr_slide_id_number  = parseFloat(button_class_string)+1;
		next_slide_id_number  = curr_slide_id_number - 1;
		settings.slide_timer_on = 'no'

		if ((curr_slide_id_number) < elements.length) {
			$.skip();
		}
	}
	
	// prev button
	jQuery.prev = function(){
		var elements = $("ul#"+settings.slide_ui_parent+" li");
		$("#"+settings.pause_button_id).attr("class", "paused_button");
		button_class = $("#button_selected").attr("class");
		split_button_class_string = button_class.split("_");
		button_class_string   = split_button_class_string.pop();
		curr_slide_id_number  = parseFloat(button_class_string)- 1;
		next_slide_id_number  = curr_slide_id_number - 1;
		settings.slide_timer_on = 'no'
		if ((curr_slide_id_number) >= 0) {
                    $.skip();
		}
	}
	
	//first button
	jQuery.first = function(){
		curr_slide_id_number  = 0;
		next_slide_id_number  = curr_slide_id_number - 1;
		settings.slide_timer_on = 'no'
		$.skip();               
	}
	
	//last button
	jQuery.last = function(){
		var elements = $("ul#"+settings.slide_ui_parent+" li");
		$("#"+settings.pause_button_id).attr("class", "paused_button");		
		curr_slide_id_number  = elements.length - 1;
		next_slide_id_number  = curr_slide_id_number - 1;
		settings.slide_timer_on = 'no'
		$.skip();
	}
    
	//set options button click event
	jQuery.setOptionsButtonEvent = function() {
		$("#"+settings.slide_nav_id+" li").each(function() {
		
			$(this).click(function() {
				$("#"+settings.pause_button_id).attr("class", "paused_button");
				button_class = $(this).attr("class");
				split_button_class_string = button_class.split("_");
				button_class_string   = split_button_class_string.pop();
				curr_slide_id_number  = parseFloat(button_class_string);
				next_slide_id_number  = curr_slide_id_number - 1;
				settings.slide_timer_on = 'no'
				$.skip();
			}); // click
		}); //each
	}

	$.innerfade2 = function(container, options) {
		settings = {
			'animationtype':    	'fade',
			'speed':            	'normal',
			'type':             	'sequence',
			'timeout':          	5000,
			'containerheight':  	'auto',
			'runningclass':     	'innerfade2',
			'children':		null,
			'slide_timer_on':	'yes',
			'slide_ui_parent':	null,
			'slide_ui_text':	null,
			'pause_button_id':  	null,
			'slide_nav_id':		null
		};
		var elements;
		var elements_title;
		
		if (options)
			$.extend(settings, options);
		if (settings.children === null)
			elements = $(container).children();
		else
			elements = $(container).children(settings.children);
		
		if (elements.length > 1)  {
			if(settings.slide_ui_text != null) {
				elements_title = $("ul#"+settings.slide_ui_text+" li")
			}
			
			$(container).css('position', 'relative').css('height', settings.containerheight).addClass(settings.runningclass);
		
			for (var i = 0; i < elements.length; i++) {
				$(elements[i]).css('z-index', String(elements.length-i)).css('position', 'absolute').hide();
				
				if(settings.slide_ui_text != null) {
					$(elements_title[i]).css('z-index', String(elements_title.length-i)).css('position', 'absolute').hide();
				}
			};
			
			if (settings.type == "sequence") {
				setTimeout(function() {
					$.innerfade2.next(elements, settings, 1, 0);
				}, settings.timeout);
				
				$(elements[0]).show();
				
				if(settings.slide_ui_text != null) {
					$(elements_title[0]).show();
				}
				
				if(settings.slide_nav_id != null) {
					$("#"+settings.slide_nav_id+" li").removeAttr("id");
					$("#"+settings.slide_nav_id+" ."+settings.slide_nav_id+"-slide_0").attr("id", "button_selected");
				}
			}
			
			else if (settings.type == "random") {
				next_slide_id_number = Math.floor ( Math.random () * ( elements.length ) );
				setTimeout(function() {
					do { 
						curr_slide_id_number = Math.floor ( Math.random ( ) * ( elements.length ) );
					} while (next_slide_id_number == curr_slide_id_number );             
					$.innerfade2.next(elements, settings, curr_slide_id_number, next_slide_id_number);
				}, settings.timeout);
				
				$(elements[next_slide_id_number]).show();
				
				if(settings.slide_ui_text != null) {
					$(elements_title[next_slide_id_number]).show();
				}
			} 
			else if ( settings.type == 'random_start' ) {
				settings.type = 'sequence';
				curr_slide_id_number = Math.floor ( Math.random () * ( elements.length ) );
				setTimeout(function(){
					$.innerfade2.next(elements, settings, (curr_slide_id_number + 1) %  elements.length, curr_slide_id_number);
				}, settings.timeout);
									
				$(elements[curr_slide_id_number]).show();
						
				if(settings.slide_ui_text != null) {
	                		$(elements_title[curr_slide_id_number]).show();
	                	}			
			}
			else {
				alert('innerfade2-Type must either be \'sequence\', \'random\' or \'random_start\'');
			}
		}
	};

	$.skip = function() {
		var elements = $("ul#"+settings.slide_ui_parent+" li");
		if(settings.slide_ui_text != null) {
			var elements_title = $("ul#"+settings.slide_ui_text+" li")
		}
		for (var i = 0; i < elements.length; i++) {
			if (settings.animationtype == 'fade') {
				$(elements[i]).fadeOut(settings.speed);
				if(settings.slide_ui_text != null) {
					$(elements_title[i]).fadeOut(settings.speed);
				}
			}
			else {
				$(elements[i]).slideUp(settings.speed);
				if(settings.slide_ui_text != null) {
					$(elements_title[i]).slideUp(settings.speed);
				}
			}
		}
		
		if (settings.animationtype == 'fade') {
			$(elements[curr_slide_id_number]).fadeIn(settings.speed, function() {
				removeFilter($(this)[0]);
			});
		
			if(settings.slide_ui_text != null) {
				$(elements_title[curr_slide_id_number]).fadeIn(settings.speed, function() {
					removeFilter($(this)[0]);
				});
			}
		}
		else {
			$(elements[curr_slide_id_number]).slideDown(settings.speed, function() {
				removeFilter($(this)[0]);
			});
		
			if(settings.slide_ui_text != null) {
				$(elements_title[curr_slide_id_number]).slideDown(settings.speed, function() {
					removeFilter($(this)[0]);
				});
			}
		}
		
		if(settings.slide_nav_id != null) {
			$("#"+settings.slide_nav_id+" li").removeAttr("id");
			$("#"+settings.slide_nav_id+" ."+settings.slide_nav_id+"-slide_"+curr_slide_id_number).attr("id", "button_selected");
		}
	} //skip
    
	$.innerfade2.next = function(elements, settings, curr_slide_id_number, next_slide_id_number) {
		var elements_title;
		if(settings.slide_ui_text != null) {
			elements_title = $("ul#"+settings.slide_ui_text+" li");
		}
		
    	if(settings.slide_timer_on == 'yes') {
    		
        	if (settings.animationtype == 'slide') {
			$(elements[next_slide_id_number]).slideUp(settings.speed);
			$(elements[curr_slide_id_number]).slideDown(settings.speed);
            	
			$(elements[next_slide_id_number]).slideUp(settings.speed);
            	
			if(settings.slide_ui_text != null) {
				$(elements_title[next_slide_id_number]).slideUp(settings.speed);
			}
			
			$(elements[curr_slide_id_number]).slideDown(settings.speed, function() {
				removeFilter($(this)[0]);
			});
			
			if(settings.slide_ui_text != null) {
				$(elements_title[curr_slide_id_number]).slideDown(settings.speed, function() {
					removeFilter($(this)[0]);
				});
			}
			
			if(settings.slide_nav_id != null) {
				$("#"+settings.slide_nav_id+" li").removeAttr("id");
				$("#"+settings.slide_nav_id+" ."+settings.slide_nav_id+"-slide_"+curr_slide_id_number).attr("id", "button_selected");
			}
        	} 
			else if (settings.animationtype == 'fade') 
			{
            	$(elements[next_slide_id_number]).fadeOut(settings.speed);
            	if(settings.slide_ui_text != null)
				{
            		$(elements_title[next_slide_id_number]).fadeOut(settings.speed);
            	}
            	$(elements[curr_slide_id_number]).fadeIn(settings.speed, function() {
							removeFilter($(this)[0]);
						});
				if(settings.slide_ui_text != null)
				{
					$(elements_title[curr_slide_id_number]).fadeIn(settings.speed, function() {
							removeFilter($(this)[0]);
						});
				}
				if(settings.slide_nav_id != null)
				{
					$("#"+settings.slide_nav_id+" li").removeAttr("id");
            		$("#"+settings.slide_nav_id+" ."+settings.slide_nav_id+"-slide_"+curr_slide_id_number).attr("id", "button_selected");
            	}
        	} 
			else
            alert('innerfade2-animationtype must either be \'slide\' or \'fade\'');
        
			if (settings.type == "sequence") 
			{
				
            	//alert(curr_slide_id_number);
            	if ((curr_slide_id_number + 1) < elements.length) 
				{
					
            		//alert(curr_slide_id_number);
                	curr_slide_id_number = curr_slide_id_number + 1;
                	next_slide_id_number = curr_slide_id_number - 1;
                	//alert(curr_slide_id_number+"if");
            	} 
				else 
				{
					//alert(curr_slide_id_number+"else");
                	curr_slide_id_number = 0;
                	next_slide_id_number = elements.length - 1;
            	}
            	
        	} 
			else if (settings.type == "random") 
			{
            	next_slide_id_number = curr_slide_id_number;
            	while (curr_slide_id_number == next_slide_id_number)
                curr_slide_id_number = Math.floor(Math.random() * elements.length);
        	} 
			else
            alert('innerfade2-Type must either be \'sequence\', \'random\' or \'random_start\'');
            
            
        	setTimeout((function() {
            $.innerfade2.next(elements, settings, curr_slide_id_number, next_slide_id_number);
        	}), settings.timeout);
        	
        //	alert(curr_slide_id_number);
        };
    }
    
    


})(jQuery);

// **** remove Opacity-Filter in ie ****
function removeFilter(element) {
	if(element.style.removeAttribute){
		element.style.removeAttribute('filter');
	}
}
