$.fn.fadeInOrNot = function(speed, easing, callback) {
	if($.browser.product()=="msie" && $.browser.version()=="6"){
		return this.show(speed, easing, callback);
	} else {
		this.fadeIn(speed, easing, callback);
	}
};


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');

			if ( cntInner == "div.paginationPage" ) {
				$paginationPage = $container.find('div.paginationPage');
				$paginationPage.find('div.contentBox:last').addClass('paginationEnd').end();
			}
		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) {
			$('div.pagination').show();			
			$container.bind('repaginate', function() { 
				
				
				var $spanPrev = $pager.find('span.prev');
				var $spanNext = $pager.find('span.next');

					if(currentPage == 0) {
						$pager.find('span.prev').css("visibility","hidden");
					} else {
						$pager.find('span.prev').css("visibility","visible");
					}
					if(currentPage == (numPages-1) ) {
						$pager.find('span.next').css("visibility","hidden");
					} else {
						$pager.find('span.next').css("visibility","visible");
					}
			
				
				$spanNext.find("a").attr("href", cleanUrl+'#page'+(currentPage+1));
				$spanPrev.find("a").attr("href", cleanUrl+'#page'+(currentPage+1));
							
			
						
				start=currentPage * numPerPage;
				end=(currentPage + 1) * numPerPage;
				$container.find(cntInner)
					.slice(start, end).show().end()
					.slice(0, start).hide().end()
					.slice(end).hide().end()
					.eq(end-1).addClass('lastChild').end()
					.eq(start).addClass('firstChild').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 = $('<a href="' + cleanUrl + '#page'+(page+1)+'">' + (page + 1) + '</a>')
						.bind('click', {'newPage': page}, function(event) {
							currentPage = event.data['newPage'];
							$container.trigger('repaginate');
					
						})
						
						if((page-lastPage)>1){
							$('&nbsp;<span>...</span>&nbsp;').appendTo($pager.find('span.pages'));
							$pageSpan.addClass('firstChild');
						}
						$pageSpan.appendTo($pager.find('span.pages')).wrap('<span class="page"></span>')
						if(currentPage==page) { $pageSpan.parent("span").addClass('active') }
						
						$('<a name="page'+(page+1)+'"></a>').prependTo("body")
												
						lastPage=page;
						
					}
				}

				$pager.find('span.page:first').addClass('firstChild') ;
				$pager.find('span.page:last').addClass('lastChild') ;
				$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');
		
		})
		$pager.find('span.next').bind('click',  function(event) {
			currentPage++;
			$container.trigger('repaginate');

			
		})
	
			$container.trigger('repaginate');
		}
	});
} // end function
function paginateList2(cntOuter,cntInner,numPerPage) {

	$(cntOuter).each(function() {
							  
		var $container = $(this);
		var currentPage = 0;
		//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.paginationBox');
		
		if ( cntInner == "div.paginationPage" ) {
			$paginationPage = $container.find('div.paginationPage');
			$paginationPage.find('div.contentBox:last').addClass('paginationEnd').end();
		}
		
		if(numPerPage<numDivs){
			
			$container.bind('repaginate', function() { 
				start=currentPage * numPerPage;
				end=(currentPage + 1) * numPerPage;
				$container.find(cntInner)
					//.slice(start, end).fadeIn().end()
					.slice(start, end).show().end()
					.slice(0, start).hide().end()
					.slice(end).hide().end()
					.eq(end-1).addClass('lastChild').end()
					
				if(currentPage == 0) {
					$pager.find('span.prev').css("visibility","hidden");
				} else {
					$pager.find('span.prev').css("visibility","visible");
				}
				if(currentPage == (numPages-1) ) {
					$pager.find('span.next').css("visibility","hidden");
				} else {
					$pager.find('span.next').css("visibility","visible");
				}
				$pager.find(".page").eq(currentPage).addClass('active').siblings().removeClass('active');
			});
			
			
			for (var page = 0; page < numPages; page++) {
				$('<span class="page"><a href="' + document.URL + '#top">' + (page + 1) + '</a></span>')
				.bind('click', {'newPage': page}, function(event) {
					currentPage = event.data['newPage'];
					$container.trigger('repaginate');
					
				})
				.appendTo($pager.find('span.pages'));
			}
			$pager.find('span.prev').click(function(){
				currentPage--;
				$container.trigger('repaginate');
			});
			$pager.find('span.next').click(function(){
				currentPage++;
				$container.trigger('repaginate');
			});
			
			$pager.find('span.page:first').addClass('active') ;
			$pager.show();
			$container.trigger('repaginate');
		}
	});
} // end function