$(document).ready(function() {
	
	jQuery('#classifieds').each(function() {
		
		var currentPage = 0;
		var numPerPage = 10;
		var $adList = jQuery(this);
		
		var repaginate = function () {
			var ltFilter = currentPage * numPerPage; 
			var gtFilter = (currentPage + 1) * numPerPage - 1;
			
			/* Hides ads that are not on the current page */
			$adList.find('div.classified_summary')
				.show()
				.filter(':lt(' + ltFilter + ')')
				.hide()
				.end()	
				.filter(':gt(' + gtFilter + ')')
				.hide()
				.end();			
		}

		
		/* Calculates total pages*/
		var numRows = $adList.find('div.classified_summary').length;
		var numPages = Math.ceil(numRows / numPerPage);
		var $pager = jQuery("<br><div></div>");
		
		
		/* Builds pagination controls and bind click events */
		for (var page = 0; page < numPages; page++) {
			jQuery("<span class='page-number'>" + (page + 1) + "</span>")
				.bind(	'click'
					, {'newPage': page}
					, function (event) {
						currentPage = event.data['newPage']
						jQuery(this).addClass('active').siblings().removeClass('active')
						repaginate();						
					}
				)
				.appendTo($pager).addClass("clickable");
		}
		
		/* Only display pagination controls when there are multiple pages */
		if (numPages > 1) {
			$pager.find('span.page-number:first').addClass('active');
			$pager.insertBefore($adList); 	
			repaginate();
		}
	});	
	
});

