//show loading bar
function showLoading(){
	var loading = $("#loading");
	loading
		.css({visibility:"visible"})
		.css({opacity:"1"})
		.css({display:"block"})
	;
}
//hide loading bar
function hideLoading(){
	var loading = $("#loading");
	loading.fadeTo(1000, 0);
};

function showPages(from,to,total_pages)
{
	for(i=1;i<=total_pages;i++)
	{
		if(i>=from && i<=to)
		{
			$("#paging_row_"+i).show();
		}
		else
		{
			$("#paging_row_"+i).hide();
		}
	}
	$("#from").val(from);
	$("#to").val(to);
}

/*function showPrevNext(pageNum,total_pages)
{
				if(pageNum!=1)
				{
					$("#prev_page").show();
					$("#no_prev_page").hide();
				}
				else
				{
					$("#prev_page").hide();
					$("#no_prev_page").show();
				}
				
				if(pageNum==total_pages)
				{
					$("#next_page").hide();
					$("#no_next_page").show();
				}
				else
				{
					$("#next_page").show();
					$("#no_next_page").hide();
				}
				
				var end=parseInt($("#to").val());
				var start=parseInt($("#from").val());
				if(pageNum+1==start)
				{
					pageNum+=1;
					if(pageNum-2<=0)
						showPages(1,3,total_pages);
					else
						showPages(pageNum-2,pageNum,total_pages);
				}
				
				if(pageNum-1==end)
				{
					pageNum-=1;
					showPages(pageNum,pageNum+2,total_pages);
				}
};*/
function showPrevNext(pageNum,total_pages,inc)
{
				if(pageNum!=1 && inc!=0)
				{
					$("#prev_page").show();
					$("#no_prev_page").hide();
				}
				else if(inc!=0)
				{
					$("#prev_page").hide();
					$("#no_prev_page").show();
				}
				
				if(pageNum==total_pages && inc!=0)
				{
					$("#next_page").hide();
					$("#no_next_page").show();
				}
				else if(inc!=0)
				{
					$("#next_page").show();
					$("#no_next_page").hide();
				}
				
				var end=parseInt($("#to").val());
				var start=parseInt($("#from").val());
				if(inc==-1)
				{
					if(pageNum+2==total_pages || pageNum+1==total_pages || pageNum==total_pages)
					 {
					 	$("#next_page").hide();
					    $("#no_next_page").show();
					 }
					 if(pageNum+1==total_pages)
					   showPages(pageNum-1,pageNum+1,total_pages);
					 else if(pageNum==total_pages)
					   showPages(pageNum-2,pageNum,total_pages);
					 else
					   showPages(pageNum,pageNum+2,total_pages);
				}
				     
				else if(inc==1)
				{
					 if(pageNum+2==total_pages || pageNum+1==total_pages)
					 {
					 	$("#next_page").hide();
					    $("#no_next_page").show();
					 }
					 if(pageNum+1==total_pages)
					   showPages(pageNum-1,pageNum+1,total_pages);
					 else if(pageNum==total_pages)
					   showPages(pageNum-2,pageNum,total_pages);
					 else
					   showPages(pageNum,pageNum+2,total_pages);
				     
				}
				
};

function initPagination(pagename) 
{
	var content = $("#placeholder_content");
	var loading = $("#loading");
	
	$("#prev_page").hide();
	$("#no_prev_page").show();
	
	var total_pages = $("#total_pages").val();
	
	if(total_pages==1)
	{
		$("#menu").hide();
		$("#next_page").hide();
	}
	
	if(total_pages<=3)
	{
		$("#next_page").hide();
		$("#no_next_page").show();
	}
	
	if(total_pages>3)
	{
		showPages(1,3,total_pages);
	}

	//Manage Previous click events
	$("#prev_page").click(function(){
		var total_pages = $("#total_pages").val();
		var pageNum = parseInt($("#current_page").val())-1;
		if(pageNum >= 1)
		{
			showLoading();

			//Highlight current page number
			//pages.css({'background-color' : ''});
			$('td [id^=paging_row_]').each(
				function(intIndex ){
					$("#"+this.id).css({'background-color' : ''});
				}
			);		
			
			$("#paging_row_"+pageNum).css({'background-color' : '#EEEEEE'});

			//Load content
			var mid = $("#member_id").val(); 
			var targetUrl = pagename+"?page=" + pageNum + "&" + $("#myForm").serialize();
			$.get(targetUrl, function(data){
				content.html(data);
				$("#current_page").val(pageNum);
				hideLoading();
				showPrevNext(pageNum,total_pages,-1);
			});
		}
	});

	//Manage Next click events
	$("#next_page").click(function(){		
		var pageNum = parseInt($("#current_page").val())+1;		
		var total_pages = $("#total_pages").val();

		if(pageNum <= total_pages)
		{
			showLoading();

			//Highlight current page number
			//pages.css({'background-color' : ''});
			$('td [id^=paging_row_]').each(
				function(intIndex ){
					$("#"+this.id).css({'background-color' : ''});
				}
			);		
			
			$("#paging_row_"+pageNum).css({'background-color' : '#EEEEEE'});

			//Load content
			var mid = $("#member_id").val();
			var targetUrl = pagename+"?page=" + pageNum + "&" + $("#myForm").serialize();
			$.get(targetUrl , function(data){
				content.html(data);
				$("#current_page").val(pageNum);
				hideLoading();
				showPrevNext(pageNum,total_pages,1);
			});
		}

	});

	//Manage click events
	$('td [id^=paging_row]').click(function(){
		//Load content
		var pageNum = parseInt($(this).html());	
		var total_pages = $("#total_pages").val();
		if(pageNum <= total_pages || pageNum >= 1)
		{
			showLoading();

			//Highlight current page number
			//pages.css({'background-color' : ''});
			$('td [id^=paging_row_]').each(
				function(intIndex ){
					$("#"+this.id).css({'background-color' : ''});
				}
			);		
			
			$("#paging_row_"+pageNum).css({'background-color' : '#EEEEEE'});

			var mid = $("#member_id").val();
			var targetUrl = pagename+"?page=" + pageNum + "&" + $("#myForm").serialize();
			$.get(targetUrl , function(data){
				content.html(data);
				$("#current_page").val(pageNum);
				hideLoading();
				showPrevNext(pageNum,total_pages,0);
			});
		}
	});
}
