// namespace
var p = p || {};

p.playbill = {
	
	wrapper: {
		width: function(){
			return $('#playbill-wrapper-inner').width();
		}	
	},
	
	list: {
		width: 0,
		offsetLeft: function(){
			return parseInt($('#playbill-wrapper-inner>ul').css('left') );
		},
		fixPosition: function(){
			var position = 0;
			var listOffsetLeft = p.playbill.list.offsetLeft();
			var wrapperWidth = p.playbill.wrapper.width();
			
			if (p.playbill.list.width + listOffsetLeft < wrapperWidth && p.playbill.list.width > wrapperWidth) {
			
				$('#playbill-wrapper-inner>ul').css({
					left: - (p.playbill.list.width - wrapperWidth) + 'px'
				});
			}
		},
		
		setWidth: function() {
			$('#playbill-wrapper-inner ul').css({
				overflow: 'hidden'
			});
			
			$('#playbill-wrapper-inner ul li').each(function(){
			
				p.playbill.list.width += 175;
			});
	 		p.playbill.list.width -= 15;
			$('#playbill-wrapper-inner ul').width(p.playbill.list.width);
		}
	},
	
	wlRelation: function(){
		return p.playbill.wrapper.width() / p.playbill.list.width;
	},
	
	slider: {
		
		html: '<div class="slider-wrapper"><div class="left"></div><div class="slider"><div class="handle" /></div><div class="right"></div></div>',
		
		jObj: {},
		
		handleWidth: function(){
			var width = p.playbill.wlRelation() * $('.slider-wrapper').width();
			return width;
		}, 
		
		setHandleWidth: function(){
			var width = p.playbill.slider.handleWidth();
			if (width <= $('.slider-wrapper').width() ) {
				$('.slider .handle').width(width);
			} else {
				$('.slider .handle').width($('.slider-wrapper').width() );
			}
		},
		activate: function(){
			p.playbill.slider.jObj.slider({
				handle: '.handle',
				animate:true,
				min:0,
				startValue:0,
				max: p.playbill.list.width - $('#playbill-wrapper-inner').width(),				
				 slide: function (ev, ui) {
				 	
					$('#playbill-wrapper-inner ul').css('left', '-' + ui.value + 'px');
					       		
			      }, 
			     stop: function (ev, ui) {
			        $('#playbill-wrapper-inner ul').animate({ 'left' : '-' + ui.value + 'px' }, 600);
					$(".handle").css("background", "url('images/design/slider_bg.png') no-repeat top center");
					$(".handle").removeClass("mousedown");
			     }
			});
		}
	}
};
window.onresize = function(event) {
  window_resize(event);
}

var resizeTimeoutId;

function window_resize(e) {
     window.clearTimeout(resizeTimeoutId);
     resizeTimeoutId = window.setTimeout('doResizeCode();', 10);
}
function doResizeCode(){
  	p.playbill.slider.setHandleWidth();
}

/*
 * On DOM ready
 */
$(document).ready(function(){
	
	 p.playbill.list.setWidth();
	$('#leiste').html(p.playbill.slider.html);
	p.playbill.slider.jObj = $('.slider');
	p.playbill.slider.setHandleWidth();
	$('#playbill-wrapper-inner>ul').css('left', '-175px');
	$('.handle').css('left', '49px');

	setTimeout(function () {
		$('#playbill-wrapper-inner>ul').animate({ left: '0px' }, 3000);
		$('.handle').animate({ left: '0px' }, 3000, function() {
			p.playbill.slider.activate();
		});
	},500);
		
	$('.slider-wrapper div.left').click(function() {
		p.playbill.slider.jObj.slider('moveTo', '-=175');
		return false;
	});
	$('.slider-wrapper div.right').click(function(){
		p.playbill.slider.jObj.slider('moveTo', '+=175');
		return false;
	});


	if ($.browser.msie) {
		
		$('.slider-wrapper div.left').dblclick(function() {
			p.playbill.slider.jObj.slider('moveTo', '-=175');
			return false;
		});
		$('.slider-wrapper div.right').dblclick(function(){
			p.playbill.slider.jObj.slider('moveTo', '+=175');
			return false;
		});
	
		$('.slider a').hideFocus = true;
	}
	/* ---------------------------------------------------------------------------------------------------------------- */
	
});