var Scrollbars = {

	initBody: function() {
//return false;
//alert("Scrollbars.initBody");
		Scrollbars.logger("Scrollbars.initBody()");
		// IE < 8 bekommen keinen JavaScript Scroller
//		if (($.browser.msie) && ($.browser.version < 8)) { return; }
		if ($.browser.msie) { return; }

		var isResizing;
		var setContainerHeight = function() {
			if (!isResizing) { 
				isResizing = true;
				$w = $(window);
				$c = $('#pageContainer');
				var p = (parseInt($c.css('paddingLeft')) || 0) + (parseInt($c.css('paddingRight')) || 0);
				$('body>.jScrollPaneContainer').css({'height': $w.height() + 'px', 'width': $w.width() + 'px'});
				$c.css({'height': ($w.height()-p) + 'px', 'width': ($w.width() - p) + 'px', 'overflow':'auto'});
				$c.jScrollPane({
					scrollbarWidth:15,
					showArrows:true,
					animateTo:false,
					maintainPosition:true
				});
				isResizing = false;	
				
				//author: Andreas Pfau
				//stop propagation of mousedown event on scroller on anchors. 
				//This event raises an error within the scroller pane.
				$('#pageContainer a').mousedown(function(event){return false;})	
			//----------------------------------------
			}
		};

		$(window).bind('resize', setContainerHeight);
		setContainerHeight();
		setContainerHeight();
	},

	init: function(rolloId) {
		Scrollbars.logger("Scrollbars.init("+rolloId+")");
		//return false;
		if ($.browser.msie) {
/**
			if ($.browser.version >= 7) {
				$(".rollo"+rolloId+" .container-center").jScrollPane({
					scrollbarWidth:15,
					showArrows:true,
					animateTo:false,
					maintainPosition:true
				});
			}
*/
		} else {

			//Andreas Pfau
			var show_scroller=true
			if ($.browser.safari) {
				if (window.location.hash.length==0 &&
					(window.location.pathname=='/de/produkte-und-service/energieeffizienz/beratung/beratung-interaktiv/sparpotenziale-entdecken/'
					 || window.location.pathname=='/de/produkte-und-service/energieeffizienz/beratung/beratung-interaktiv/foerdermittel-ermitteln/')) 
					{
						show_scroller=false
					}
			}	
			
			if (show_scroller) {
                $(".rollo"+rolloId+" .container-center").jScrollPane({
					scrollbarWidth:15,
					showArrows:true,
					animateTo:false,
					maintainPosition:true
				});
			}
					
			//author: Andreas Pfau
			//stop propagation of mousedown event on scroller on areas and anchors. 
			//This event raises an error within the scroller pane.
			var elements = ".rollo"+rolloId+" .container-center area"+
						   ", .rollo"+rolloId+" .container-center a";
						   
			$(elements).mousedown(function(event){return false;})	
			
			//
	
		}
		
		$(".jScrollPaneContainer").focus(function() {
			$(this).blur();	
		});
	},
	
	initThickbox: function() {
		Scrollbars.logger("Scrollbars.initThickbox()");
        //return false;
		if ($.browser.msie) {
/**
			if ($.browser.version >= 7) {
				$("#TB_window .content").jScrollPane({
					scrollbarWidth:15,
					showArrows:true,
					animateTo:false,
					maintainPosition:true
				});
			}
*/
		} else {
			$("#TB_window .content").jScrollPane({
				scrollbarWidth:15,
				showArrows:true,
				animateTo:false,
				maintainPosition:true
			});
			
			$('#content-lightbox .content').jScrollPane({
				scrollbarWidth:15,
				showArrows:true,
				animateTo:false,
				maintainPosition:true
			});
		}
	},
	
	remove: function(selector) {
    	Scrollbars.logger("Scrollbars.remove("+selector+")");
        if ($.browser.msie) {
/**
			if ($.browser.version >= 8) {
                $(selector).jScrollPaneRemove();
            }
*/
        } else {
			if ($(selector).parent().hasClass("jScrollPaneContainer")) {
                $(selector).jScrollPaneRemove();
            }
        }
    },
    
	/* helper functions */
	/**
	 * author: Andreas Pfau
	 * */
	  
	observeEventsFor: function(element,name) {
		window.observe_events=true
		var handling = function(event) {
			//logger.info(name+": "+event.type);
			this.unbind(event.type)
		}
		var events = new Array('blur','change','click','dblclick','error','focus',
							   'keydown','keypress','keyup','load','mousedown','mouseenter',
							   'mouseleave','mousemove','mouseout','mouseover','mouseup',
							   'mousedown.jScrollPane','resize','scroll','select','submit',
							   'unload','emchange','readystatechange','keydown.jscrollpane',
							   'keyup.jscrollpane','keyup.jscrollpane','dragstart','selectstart',
							   'mousedown.jScrollPane','focus');
		
		for(var i=0; i<events.length; i++) {
			$(element).bind(events[i], handling )
		}		
	},
	
	unbindAllEvents: function(element) {
		var events = new Array('blur','change','click','dblclick','error','focus',
							   'keydown','keypress','keyup','load','mousedown','mouseenter',
							   'mouseleave','mousemove','mouseout','mousewheel','mouseover','mouseup',
							   'resize','scroll','mousedown.jScrollPane','select','submit','unload',
							   'readystatechange','keyup.jscrollpane','dragstart','keydown.jscrollpane',
							   'selectstart','keyup.jscrollpane','focus');
		
		for(var i=0; i<events.length; i++) {
			$(element).unbind(events[i])
		}	
	
	},
    
    logger: function(logstring) {
		//log(logstring);
	}

};
