$(document).ready(function()  {
	
	$('#flashMessage').fadeOut(5000);
				  
	$("form").validate({
					   errorClass: "invalid",
					   errorElement: "span",
					   ignore: ".ignore",
					   success: function(label) {
						   // set &nbsp; as text for IE
						   label.html("&nbsp;").addClass("checked");
					   }
	});
	
	initFiltering();
	
	SetupAJAXPagination('#pagcontent');
	
});


function SetupAJAXPagination(filter) 
{
	//alert('setupajax');
	$(filter).find('a[href*=/sort:],a[href*=/page:]').click(function() {
			$('#waitoverlay').show();
			$.ajax({
				   type: "GET",
				   url: this.href,
				   success: function(msg) {
					   $(filter).html($('<div>'+msg+'</div>').find(filter).html());
					   //AFTER CLICKED PAGE IS LOADED, SETUP FILTERING AND PAGINATION AGAIN
					   SetupAJAXPagination(filter);
					   initFiltering();
					   $('#waitoverlay').hide();
				   }
			});
			return false;
	});
}

function loadPaginationContent(filter) {
	//alert('load');
	$('#waitoverlay').show();
	$.ajax({
		   type: "GET",
		   url: this.href,
		   success: function(msg) {
			   $(filter).html($('<div>'+msg+'</div>').find(filter).html());
			   //SetupAJAXPagination(filter);
			   $('#waitoverlay').hide();
			   //WHEN LOADED DATA AFTER FILTERING, SETUP FILTER AND PAGINATION AGAIN
			   initFiltering();
			   SetupAJAXPagination('#pagcontent');
		   }
	});
}

function initFiltering() {
	//alert('init');
	var options = { 
		success: function() {
			//AFTER FORM SUBMITTED, LOAD CHANGED DATA
			loadPaginationContent('#pagcontent');
		}  // post-submit callback 
	}; 
 
	$('form.filterform').ajaxForm(options); 
	
	$('select.filterelement').change(function(){
		$('form.filterform').submit(); 						   
	});
}
