/*
	Plugin paginador desarrollado por Ignacio Pérez Terradillos
*/

jQuery.iptPager = function( data ) {
	var num_pages = data.totalPages;
	var show_pages = data.visiblePages;
	var current_page = data.selectedPage;
	var url = data.url;
	var page_param = data.pageParam;
	var inner = '';
	var x = current_page - parseInt( show_pages / 2 );
	
	if( show_pages > num_pages ) show_pages = num_pages;
	
	if( x < 1 ) x = 1;
	if( x > num_pages - show_pages + 1 ) x = num_pages - show_pages + 1;
	for(i=1; i<=num_pages; i++) {
		if( i==current_page ) 
			inner = inner + '<div class="currentpage">' + i + '</div>';
		else
			inner = inner + '<div class="page"><a href="' + url + '&' + page_param +'=' + i + '">' + i + '</a></div>';
	}
	
	inner = inner + '<div class="spacer"></div>';
	inner = '<span class="label">Pág.</span><div class="side left">&lt;</div><div class="pages"><div class="pages_content" style="margin-left;-40px;">' + inner + '</div></div><div class="side right">&gt;</div><div class="spacer"></div>';
	$(".ipt-pager").html(inner);
	
	var page_width = parseInt( $(".ipt-pager .page").width() );
	if( isNaN( page_width ) ) page_width = parseInt( $(".ipt-pager .currentpage").width() );
	
	if( isNaN( page_width ) ) {
		$(".ipt-pager").html('');
		return;
	}
	
	if( x == 1 ) $('.ipt-pager .left').css( 'visibility', 'hidden' );
	else  $('.ipt-pager .left').css( 'visibility', 'visible' );
	if( x == num_pages - show_pages + 1 ) $('.ipt-pager .right').css( 'visibility', 'hidden' );
	else  $('.ipt-pager .right').css( 'visibility', 'visible' );

	$(".ipt-pager .pages").width( ( page_width + 1 ) * show_pages );
	$(".ipt-pager").width( ( page_width + 1 ) * show_pages + $(".ipt-pager .side").width() * 2 + $(".ipt-pager .label").width() + 5 + 2 );

	var ml = -1 * ( x - 1 ) * ( page_width + 1 );
	$(".ipt-pager .pages_content").width( num_pages * ( page_width + 2 ) );
	$(".ipt-pager .pages_content").css( 'margin-left', ml + 'px' );

	$(".ipt-pager .left").click( function() {
		x--;
		if( x < 1 ) x = 1;
		ml = -1 * ( x - 1 ) * ( page_width + 1 );
		$(".ipt-pager .pages_content").css( 'margin-left', ml + 'px' );
		if( x == 1 ) $('.ipt-pager .left').css( 'visibility', 'hidden' );
		else  $('.ipt-pager .left').css( 'visibility', 'visible' );
		if( x == num_pages - show_pages + 1 ) $('.ipt-pager .right').css( 'visibility', 'hidden' );
		else  $('.ipt-pager .right').css( 'visibility', 'visible' );
	});
	$(".ipt-pager .right").click( function() {
		x++;
		if( x > num_pages - show_pages + 1 ) x = num_pages - show_pages + 1;
		ml = -1 * ( x - 1 ) * ( page_width + 1 );
		$(".ipt-pager .pages_content").css( 'margin-left', ml + 'px' );
		if( x == 1 ) $('.ipt-pager .left').css( 'visibility', 'hidden' );
		else  $('.ipt-pager .left').css( 'visibility', 'visible' );
		if( x == num_pages - show_pages + 1 ) $('.ipt-pager .right').css( 'visibility', 'hidden' );
		else  $('.ipt-pager .right').css( 'visibility', 'visible' );
	});
}

