/** page slider **/
var slider = {
	
	$content:null,
	$layers:null,
	
	scrollFallOff:4,
	
	defaultTime:800,
	
	
	startDragX:0,
	offsetIndex:0,
	
	
	menuOffsetLeft:0,
	contentWidth:0,
	
	isActiv:true,
	
	init:function (content, layers) {
		slider.$content = content;
		slider.$layers 	= layers;
		
		$sizer = $( '#page-size' );
		
		slider.resizeWindows();
		$( window ).resize(slider.resizeWindows);
		
		content.scroll( slider.onScroll )
		
		/*
		slider
			.$content
			.bind({
				mousedown: slider.onDown
				});
		*/

		$('#menu')
			.css('background-position',(slider.menuOffsetLeft + 16)+'px 12px')

		
		$('.content').hover(
			function () {
				slider.isActiv = false;	
			},
			function () {
				slider.isActiv = true;		
			}
		);
		
		delete slider.init;
	},
	
	
	
	
	resizeWindows: function (e) {
		slider
			.$content
			.children('li')
			.each(function (i, elem) {
				$(this)
					.css({
						left: 	$sizer.width() * i,
						display:'block',
						width: $sizer.width()
						});
			});		


		slider.menuOffsetLeft = Math.round($('#menu > ul').offset().left);
		slider.contentWidth = slider.$content.width();
		
		
		$('.content').css('top', (slider.$content.height()/2) - 280);
		
	},
	
	
	
	
	
	
	onScroll: function (e) {
		
		var left = slider.$content.scrollLeft();
		
		var $elems = slider.$layers.find('li');
		var length = $elems.length;
		
		slider
			.$layers
			.children('li')
			.each (function (i,em) {
				
				$(this)
					.css({'background-position' :'-'+ ( left / (slider.scrollFallOff * (length-i)) ) +'px center'});
				
			});
		
		
		var scrollP = (slider.$content.scrollLeft() * 100) / (slider.contentWidth * pm.size);
		var mpos = Math.round((1000 * scrollP) / 100);
		
		$('#menu')
			.css('background-position',(slider.menuOffsetLeft + mpos + 16)+'px 12px')
		
	},
	
	
	
	
	
	scollTo: function (pos, time) {
	
		$sizer = $( '#page-size' );
		
		if (!time) 
			time = slider.defaultTime;
		
		slider
			.$content
			.stop()
			.animate({scrollLeft: $sizer.width() *pos }, time);
		
		
		
	},
	
	
	
	onDown: function (e) {
		if (slider.isActiv) {
		slider.startDragX = e.pageX;
		
		
		slider
			.$content
			.bind({
				mousemove:slider.onMove,
				mouseup: slider.onUp
				});
				
		}
	},
	
	
	onMove: function (e) {

		var dx = slider.startDragX - e.pageX;
			
		slider
			.$content
			.css('cursor','e-resize')
			.stop()
			.scrollLeft( slider.$content.scrollLeft() + (dx) );
			
			
		var pos = Math.round(slider.$content.scrollLeft() / slider.contentWidth);
	
		if (pos != pm.currentIndex) {
				
			$('.acitv').removeClass('acitv');
			$(pm.$links[pos]).addClass('acitv');
				
			pm.currentIndex = pos;
		}
	
		slider.startDragX = e.pageX;
		
	},
	
	
	
	
	
	onUp: function (e) {
		
		slider
			.$content
			.css('cursor','default')
			.unbind({
				mousemove:slider.onMove,
				mouseup: slider.onUp
				});	

		var pos = Math.round(slider.$content.scrollLeft() / slider.contentWidth);
		
		window.location.hash = pm.normLink( $(pm.$links[pos]).attr('href') )+"?cb="+ Math.round( Math.random()*10 );
		
	}
}




/** page slider end **/
startSlider = {
	
	size:0,
	steps:0,
	
	pos:0,
	
	init:function () {
		startSlider.size = $('#start-next-events-slider-items > .item').each(function(index, element) {
			$t = $(element);
			$t.css('left',(($t.width()+5)*index)+'px');
        }).length;
		
		$('#start-next-events-slider-items > .item, #start-next-events-top > ul > li')
			.click(function () {
				window.location.hash = "events";
				events.loadEvent($(this).attr('eventid'));
			}).css('cursor','pointer');
		
		startSlider.steps = Math.round(startSlider.size / 4);
	},
	
	next:function () {
		if (startSlider.pos < startSlider.steps){
			startSlider.pos ++;	
			startSlider.animate();
		}
		
	},
	
	prev:function () {
		if (startSlider.pos > 0){
			startSlider.pos --;	
			startSlider.animate();	
		}	
			
	},
	
	animate:function () {
		$t = $('#start-next-events-slider-items');
		$t.stop().animate({'scrollLeft': $t.width() * startSlider.pos},800)
	}
		
}
