(function($){$.fn.innerfade = function(options){return this.each(function(){
$.innerfade(this, options);});};$.innerfade = function(container, options){
var settings={'animationtype':'fade','speed':'normal','type':'sequence','timeout':2000,'containerheight':'auto','runningclass':'innerfade','children':null};
if(options)
$.extend(settings, options);
if(settings.children === null)
var elements = $(container).children();
else
var elements = $(container).children(settings.children);
if(elements.length > 1) {
$(container).css('position', 'relative').css('left', '0').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').css('left', '0px').hide();};
if(settings.type == "sequence") {
setTimeout(function() {
$.innerfade.next(elements, settings, 1, 0);}, settings.timeout);
$(elements[0]).show();}else if(settings.type == "random") {
var last=Math.floor ( Math.random () * ( elements.length ) );
setTimeout(function() {
do{
current=Math.floor ( Math.random ( ) * ( elements.length ) );
}while(last==current );
$.innerfade.next(elements, settings, current, last);}, settings.timeout);$(elements[last]).show();
}else if( settings.type == 'random_start' ) {
settings.type = 'sequence';
var current = Math.floor ( Math.random () * ( elements.length ) );
setTimeout(function(){
$.innerfade.next(elements, settings, (current + 1) %  elements.length, current);
},settings.timeout);
$(elements[current]).show();
}else{alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');}
}
};
$.innerfade.next = function(elements, settings, current, last) {
if(settings.animationtype == 'slide') {
$(elements[last]).slideUp(settings.speed);
$(elements[current]).slideDown(settings.speed);
}else if(settings.animationtype == 'fade') {
$(elements[last]).fadeOut(settings.speed);
$(elements[current]).fadeIn(settings.speed, function() {
removeFilter($(this)[0]);
});
}else
alert('Innerfade-animationtype must either be \'slide\' or \'fade\'');
if(settings.type == "sequence") {
if((current + 1) < elements.length) {
current = current + 1;
last=current - 1;
}else{
current = 0;
last = elements.length - 1;
}}else if(settings.type=="random"){last=current;
while(current==last)current=Math.floor(Math.random() * elements.length);}else alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');
setTimeout((function() {
$.innerfade.next(elements, settings, current, last);
}),settings.timeout);};
})(jQuery);function removeFilter(element){if(element.style.removeAttribute){element.style.removeAttribute('filter');}}

