/* =========================================================

// jquery.innerfade.js

// Datum: 2008-02-14
// Firma: Medienfreunde Hofmann & Baldes GbR
// Author: Torsten Baldes
// Mail: t.baldes@medienfreunde.com
// Web: http://medienfreunde.com

// based on the work of Matt Oakes http://portfolio.gizone.co.uk/applications/slideshow/
// and Ralf S. Engelschall http://trainofthoughts.org/

 *
 *  <ul id="news"> 
 *      <li>content 1</li>
 *      <li>content 2</li>
 *      <li>content 3</li>
 *  </ul>
 *  
 *  $('#news').innerfade({ 
 *	  animationtype: Type of animation 'fade' or 'slide' (Default: 'fade'), 
 *	  speed: Fading-/Sliding-Speed in milliseconds or keywords (slow, normal or fast) (Default: 'normal'), 
 *	  timeout: Time between the fades in milliseconds (Default: '2000'), 
 *	  type: Type of slideshow: 'sequence', 'random' or 'random_start' (Default: 'sequence'), 
 * 		containerheight: Height of the containing element in any css-height-value (Default: 'auto'),
 *	  runningclass: CSS-Class which the container get’s applied (Default: 'innerfade'),
 *	  children: optional children selector (Default: null)
 *	 'slide_timer_on':	default slider is on like 'yes' but you stop auto play using 'no'
 *   'slide_ui_parent':	'news',
 *	 'slide_ui_text':	profilio text ul id
 *   'pause_button_id':  pause button id,
 *   'slide_nav_id':		slide navigation ul id
 *  }); 
 *

// ========================================================= */


(function($) {

	$.fn.innerfade = function(options) {
		var settings;
		var elements;
		var elements_title;
		var curr_slide_id_number;
		var next_slide_id_number;
		return this.each(function() {
			$.innerfade(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(isPlay == "pause")
                {
                	$("#"+settings.pause_button_id+" span").html("play");
                	settings.slide_timer_on = 'no'
                	$("#"+settings.pause_button_id).attr("class", "paused_button");
                }
                else
                {
                	$("#"+settings.pause_button_id+" span").html("pause");
					settings.slide_timer_on = 'yes'
					$("#"+settings.pause_button_id).attr("class", "pause_button");
					button_class = $("#slide_nav li[id*=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(){
					$.innerfade.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 + " span").html("play");
		//alert("#"+settings.pause_button_id+"span");



		$("#" + settings.pause_button_id).attr("class", "paused_button");
		button_class = $("#slide_nav li[id*=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 + " span").html("play");
		$("#" + settings.pause_button_id).attr("class", "paused_button");
		button_class = $("#slide_nav li[id*=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() {
		$("#" + settings.pause_button_id + " span").html("play");
		$("#" + settings.pause_button_id).attr("class", "paused_button");
		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 + " span").html("play");
		$("#" + 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();
		$.next();

	}




	//set options button click event
	jQuery.setOptionsButtonEvent = function() {


		$("#" + settings.slide_nav_id + " li").each(function() {
			// add click functionality to buttons

			$(this).click(function() {

				$("#" + settings.pause_button_id + " span").html("play");
				$("#" + 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

	}


	$.innerfade = function(container, options) {
		settings = {
			'animationtype': 'fade',
			'speed': 'normal',
			'type': 'sequence',
			'timeout': 2000,
			'containerheight': 'auto',
			'runningclass': 'innerfade',
			'children': null,
			'slide_timer_on': 'yes',
			'slide_ui_parent': null,
			'slide_ui_text': null,
			'pause_button_id': null,
			'slide_nav_id': null,
			'first_time': '1' 
		};
		var elements;
		var elements_title;

        if(settings.first_time == '1')
        {
           settings.first_time = '0';
		   $("#slide_nav li[class*=slide_0]").addClass('first_time');

        }
		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() {
					$.innerfade.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 + " .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);
					$.innerfade.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() {
					$.innerfade.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('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');
			}
		}
	};


	$.skip = function() {


		var elements = $("ul#" + settings.slide_ui_parent + " li");
        //alert(elements[0].toString());
		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 + " .slide_" + curr_slide_id_number).attr("id", "button_selected_" + curr_slide_id_number);
			
		}


	} //skip


	$.innerfade.next = function(elements, settings, curr_slide_id_number, next_slide_id_number) {
		var elements_title;

        if(settings.first_time == '0' )
        {
		   $("#slide_nav li[class*=slide_0]").removeClass('first_time');
        }
		if (settings.slide_ui_text != 'null') {
			elements_title = $("ul#" + settings.slide_ui_text + " li");
		}

		if (settings.slide_timer_on == 'yes') {

			//alert(elements.length+"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 + " .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 + " .slide_" + curr_slide_id_number).attr("id", "button_selected_" + curr_slide_id_number);
					currentSlide = curr_slide_id_number;
				}
			}
			else
				alert('Innerfade-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('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');


			setTimeout((function() {
				$.innerfade.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');
	}
}


$(document).ready(
                function(){
                    	$('ul#portfolio').innerfade({
                        speed: 1000,
                        timeout: 7000,
                        type: 'sequence',
                        containerheight: 	'220px',
                        slide_timer_on: 	'yes',
                        slide_ui_parent: 	'portfolio',
                        slide_ui_text:		'null',
                       	pause_button_id: 	'pause_button',
                       	slide_nav_id:		'slide_nav'
                    	});
                    	$.setOptionsButtonEvent();
                    
                        
                   		$("#pause_button").click(function() {
                   			$.pause();
                        });
			});

