(function($) {
    $.fn.pb_galery = function(options) {
        return this.each(function() {   
            $.pb_galery(this, options);
        });
    };
    
    pb_galery_current = 0;
    pb_galery_settings = {};
    pb_galery_elements = {};
    
    $.pb_galery = function(container, options) {
        var settings = {
            'duration':     'normal',
            'height':       'auto',
            'cssclass':     'pb_galery',
            'obj':           null
        };
        if (options)
            $.extend(settings, options);
        if (settings.children === null)
            var elements = $(container).children();
        else
            var elements = $(container).children(settings.obj);
        if (elements.length > 1) {
            
            pb_galery_elements = elements;
            pb_galery_settings = settings;
            
            $(container).css('position', 'relative').css('height', settings.height).addClass(settings.cssclass);
            $(container).after('<ul class="pb_galery_nav"></ul>');
            for (var i = 0; i < elements.length; i++) {
                $(elements[i]).css('z-index', String(elements.length-i)).css('position', 'absolute').hide();
                $('.pb_galery_nav').append('<li class="pb_galery_nav_item'+i+'" ref="'+i+'">'+i+'</li>');                             
            };
            
            $('.pb_galery_nav li').click(function(){
                $.pb_galery.fade_nav($(this).attr("ref"));
            });            
            
            $(container).click(function(){
                $('#bilderbuch_help').fadeOut(3000);
                $.pb_galery.fade(pb_galery_current);
            });
            
            var url=window.location;
            var anchor=url.hash;
            var img=url.hash.substring(1);
            preset = elements.length;
            if(img){
                for (var i = 0; i < elements.length; i++) {
                    if(($(elements[i]).attr('class').search(img)) != -1){
                        preset = i-1;
                        break;   
                    }                                          
                };
            }            
            
            pb_galery_current = elements.length;
            $.pb_galery.fade(preset, true);
		}
    };
    
    $.pb_galery.fade_nav = function(active) {        
        current = active*1;        
        if (current == 0) {
            current = pb_galery_elements.length-1;
        } else {
            current = current-1;
        }
        $.pb_galery.fade(current);
    };

    $.pb_galery.fade = function(active, nofade) {        
        last = pb_galery_current;
        pb_galery_current = active*1;
        if ((pb_galery_current + 1) < pb_galery_elements.length) {
            pb_galery_current = pb_galery_current + 1;
        } else {
            pb_galery_current = 0;
        }    
        if(last != pb_galery_current){
            if(!nofade){
                $(pb_galery_elements[last]).fadeOut(pb_galery_settings.duration);
                $(pb_galery_elements[pb_galery_current]).fadeIn(pb_galery_settings.duration, function() {
        			removeFilter($(this)[0]);
        		});
        	}else{
        	   $(pb_galery_elements[last]).hide();
        	   $(pb_galery_elements[pb_galery_current]).show();
            }
                       
    		$('.pb_galery_nav li').removeClass('current_pb');
    		$('.pb_galery_nav li.pb_galery_nav_item'+pb_galery_current).addClass('current_pb');
    		
    		var url = document.location.toString();
            if (url.match('#')) { var url = url.split('#')[0]; }
            anchor = $(pb_galery_elements[pb_galery_current]).attr('class');
            anchor = anchor.split('pb_');
            anchor = anchor.pop();
            document.location.href = url+'#pb_'+anchor;
    	}
    };

})(jQuery);

// **** remove Opacity-Filter in ie ****
function removeFilter(element) {
	if(element.style.removeAttribute){
		element.style.removeAttribute('filter');
	}
}

