$(function(){
	// Ajax Start / Stop
	var ajaxStart=function(){
		$("#loading").show();
		$('.schoolNavBar:eq(1)').hide();
	};
	var ajaxStop=function(){
		$("#loading").hide();
		$('.schoolNavBar:eq(1)').show();
	};

	// get search params
	var url=window.location.href;
	var params=url.substring(url.indexOf('?')+1,url.length);
	
	// get number of pages
	var pages=parseInt($('#schoolTotalCount').html() / 5);
	var currPage=1;
	if(($('#schoolTotalCount').html() % 5) > 0){
		pages++;
	}

	// set the containers to hold page results to prevent calling back to server once loaded
	for(var i=2;i<=pages;i++){
		$('#browseContent').append('<div id="pageResult'+i+'" class="pageResults"></div>');
	}
	// PAGINATION
	var paginate=function(){
		if($('#schoolTotalCount').html() > 0){
			$('.currPage').html('Page '+currPage+' of '+pages);
			$('.schoolPagination').show();
			
			/* NEXT PAGE */
			if(currPage < pages){
				$('.nextPage').each(function(){
					$(this).addClass('nextPageOn').unbind('click').bind('click',function(){
						currPage++;
						paginate();
					});
				});
			}else{
				$('.nextPage').each(function(){
					$(this).removeClass('nextPageOn').unbind('click');
				});
			}

			/* PREVIOUS PAGE */
			if(currPage==1){
				$('.prevPage').each(function(){
					$(this).removeClass('prevPageOn').unbind('click');
				});
			}else{
				$('.prevPage').each(function(){
					$(this).addClass('prevPageOn').unbind('click').bind('click',function(){
						currPage--;
						paginate();
					});
				});
			}
			$('.pageResults').hide();
			if($('#pageResult'+currPage).html()==''){
				ajaxStart();
				$.ajax({
					type: "GET",
					url: "/dynamic/school-form/browsePaginate?currentPageNumber="+currPage+"&"+params,
					success: function(data){
						$('#pageResult'+currPage).html(data);
						$('#pageResult'+currPage).fadeIn('fast');
						clean.removeTags();
						ajaxStop();
					},
					cache: false
				});
            }else{
				$('#pageResult'+currPage).fadeIn('fast');
			}
		}else{
			$('.schoolNavBar:eq(1)').hide();
		}
	}
	paginate();
	clean.removeTags();
});
