/*
*
* Author: Christopher Pietsch
* Company: Limeflavour | http://www.limeflavour.com
* Date: Feb 2009
*/




function paginateList(cntOuter,cntInner,numPerPage) {

	$(cntOuter).each(function() {
							  
		var $container = $(this);
		var currentPage = 0;
		var numDisplay = 1;
		var dotText = "...";
		//if ( !numPerPage ) var numPerPage = 6;
		var start=currentPage * numPerPage;
		var end=(currentPage + 1) * numPerPage;
		var numDivs = $container.find(cntInner).length;
		var numPages = Math.ceil(numDivs / numPerPage)
		var $pager = $container.find('div.pagination');
		var lastPage=0;
		
		var url = document.location.toString();
		var cleanUrl = url.split('#')[0];
		
		if (url.match('#')) {
			var urlAnchor = url.split('#')[1];
			currentPage = urlAnchor.substr(4)-1;
			//console.log(urlAnchor)
		}
		
	
		if (numPerPage<numDivs) {
						
			$container.bind('repaginate', function() { 
				
				
				var $spanPrev = $pager.find('span.prev');
				var $spanNext = $pager.find('span.next');

				if(currentPage == 0) {
					$spanPrev.css("display","none");
				} else {
					$spanPrev.css("display","inline");
				}
				if(currentPage == (numPages-1) ) {
					$spanNext.css("display","none");
				} else {
					$spanNext.css("display","inline");
				}
				
				$spanNext.find("a").attr("href", cleanUrl+'#page'+(currentPage+1));
				$spanPrev.find("a").attr("href", cleanUrl+'#page'+(currentPage+1));
							
				$(".imageBox",$blogBoxen).removeClass("active").hide()
				// nicht schön, die paginierung muss per ajax passieren
			
						
				start=currentPage * numPerPage;
				end=(currentPage + 1) * numPerPage;
				$container.find(cntInner)
					.slice(start, end).fadeIn().end()
					.slice(0, start).hide().end()
					.slice(end).hide().end()
					.eq(end-1).addClass('lastChild').end()
					.eq(start).addClass('firstChild').end()
					.eq(start).find(".imageBox").show().addClass("active").end().end()
					
				$pager.find('span.pages').html("");
				for (var page = 0; page < numPages; page++)
				{
					var pageStart = (currentPage - numDisplay);
					var pageEnd = (currentPage + numDisplay);
					if(pageStart<0) {pageEnd=pageEnd+(-1*pageStart);}				
					if(pageEnd>numPages-1) {pageStart=pageStart-(numPages-pageEnd)-1;}
				
					if(page==0 || page == numPages-1 || ((page >= pageStart) && (page <= pageEnd))){
						
						var $pageSpan = $('<span class="page"><a href="' + cleanUrl + '#page'+(page+1)+'">' + (page + 1) + '</a></span>')
						.bind('click', {'newPage': page}, function(event) {
							currentPage = event.data['newPage'];
							$container.trigger('repaginate');
							$.scrollTo( 111, 800, {easing:'swing'} );
						})
						if((page-lastPage)>1){
							$('<span>...</span>').appendTo($pager.find('span.pages'));
							$pageSpan.addClass('firstChild')
						}
						$pageSpan.appendTo($pager.find('span.pages'))
						if(currentPage==page) $pageSpan.addClass('active')
												
						lastPage=page;
						
					}
				}
				
				$pager.find('span.page:first').addClass('firstChild') ;
				$pager.show();
		

				//$pager.find('span.page:first').addClass('active');
			
				//$pager.find(".page").eq(currentPage).addClass('active').siblings().removeClass('active');
				
			});
			
	
		$pager.find('span.prev').bind('click',  function(event) {
			currentPage--;
			$container.trigger('repaginate');
			$.scrollTo( 111, 800, {easing:'swing'} );
		})
		$pager.find('span.next').bind('click',  function(event) {
			currentPage++;
			$container.trigger('repaginate');
			$.scrollTo( 111, 800, {easing:'swing'} );
			
		})
			
			$container.trigger('repaginate');
		}
	});
} // end function