//Modified for start 2010-10-14 Gabriel Desjardins / Michele Goglio lines 100-101

//-------------------------------------------------
//		Quick Pager jquery plugin
//		Created by dan@geckonm.com
//		www.geckonewmedia.com
// 
//-------------------------------------------------

(function($) {
	    
	$.fn.quickPager = function(options) {
	
		var defaults = {
            pageSize: 8,
            currentPage: 1,
			holder: ".pager",
			nextLabel: '&nbsp;',
			previousLabel: '&nbsp;',
			useAlternate: true,
			useDefault: false
						
    	};
    	var options = $.extend(defaults, options);
	  	
		//leave this
		var selector = $(this);
		var totalRecords = $(this).children().length;
		var pageCounter = 1;

		selector.children().each(function(i){
			if(i < pageCounter*options.pageSize && i >= (pageCounter-1)*options.pageSize) {
				$(this).addClass("page"+pageCounter);
			}
			else {
				$(this).addClass("page"+(pageCounter+1));
				pageCounter ++;
			}	
		});
		 
		//show/hide the appropriate regions 
		selector.children().hide();
		$(".page"+options.currentPage).show();
		
		var pageNav = "";
		pageNav +="<div class=viewableRecords>Currently viewing&nbsp;<span class=actualRecords></span><span class=totalRecords>&nbsp;of&nbsp;"+totalRecords+"</span> paths you created.</div>";
		
		//first check if there is more than one page. If so, build nav
		if(pageCounter > 1) {
			//Build pager navigation
			
			if(options.useDefault) {
				pageNav = "<ul class='pageNav'>";	
				for (i=1;i<=pageCounter;i++){
					if (i==options.currentPage) {
						pageNav += "<li class=currentPage pageNav"+i+"'><a rel='"+i+"' href='#'>"+i+"</a></li>";	
					}
					else {
						pageNav += "<li class='pageNav"+i+"'><a rel='"+i+"' href='#'>"+i+"</a></li>";
					}
				}
				pageNav += "</ul>";
			}
			
			if(options.useAlternate) {
				
				pageNav += '<div class="alternatePager" currentPage="'+options.currentPage+'" pageCount="'+pageCounter+'"><a class="pagerPrev" href="#" data="-1" style="visibility: hidden">'+options.previousLabel+'</a>';
				pageNav += '<span>Page </span><span class="currentPageCount">'+options.currentPage+ '</span><span>of</span><span class="totalPageCount">' +pageCounter+ "</span>";
				pageNav += '<a class="pagerNext" href="#" data="1">'+options.nextLabel+'</a></div>';
			}
									
			//pager navigation behaviour
			$(".pageNav a").live("click", function() {			
				//grab the REL attribute 
				var clickedLink = $(this).attr("rel");
				options.currentPage = clickedLink;
				//remove current current (!) page
				$("li.currentPage").removeClass("currentPage");
				//Add current page highlighting
				$("ul.pageNav").find("a[rel='"+clickedLink+"']").parent("li").addClass("currentPage");
				//$(this).parent("li").addClass("currentPage");
				//hide and show relevant links				
				selector.children().hide();			
				selector.find(".page"+clickedLink).show();
				return false;
			});
			
			$(".alternatePager a").live("click", function() {						
				options.currentPage =  parseInt($(this).parent().attr("currentPage"));
				requestedPage = options.currentPage + parseInt($(this).attr('data'));
				if (requestedPage < 2) {$(".alternatePager .pagerPrev").css({'visibility': 'hidden'});}else{$(".alternatePager .pagerPrev").css({'visibility': 'visible'});}
				if (requestedPage >= parseInt($(this).parent().attr("pageCount"))){$(".alternatePager .pagerNext").css({'visibility': 'hidden'});}else{$(".alternatePager .pagerNext").css({'visibility': 'visible'});}
				selector.children().hide();			
				selector.find(".page"+requestedPage).show();
				$('.alternatePager').attr('currentPage', requestedPage);
				$('.alternatePager .currentPageCount').html(requestedPage);
				if (jQuery("#manageMyPathsList").size() > 0) {
					var viewable = jQuery("#manageMyPathsList li:visible").size();
					jQuery('.actualRecords').html(viewable);
				}
				if (jQuery("#myfavoritePathsList").size() > 0) {
					var viewable = jQuery("#myfavoritePathsList li:visible").size();
					jQuery('.actualRecords').html(viewable);
				}
				if (jQuery("#memberPathsList").size() > 0) {
					var viewable = jQuery("#memberPathsList li:visible").size();
					jQuery('.actualRecords').html(viewable);
				}				
				return false;
			});
			
		}
		if (options.holder == "") {
			selector.after(pageNav);
		}
		else {
			jQuery(options.holder).append(pageNav);
		}
			  
	}
	

})(jQuery);

