/*
 * Smart Scrolling Pagination - simple and usefull jQuery plugin
 * Examples and documentation at: http://phpdev.ro/
 * Version: 1.0.0 (04/01/2010)
 * Copyright (c) 2009 Andrei Gabreanu
 * Licensed under the MIT License: http://en.wikipedia.org/wiki/MIT_License
 * Requires: jQuery v1.3+
*/
(function($){
	$.fn.smartPagination = function(options) {
			
		var defaults = {
			url        : "results.html",
			urlSort        : "",
			parameters : { "isAjax": true },
			method     : "get",
			button     : "load_more",
			debug      : false
		};
		
		
		var options = $.extend(defaults, options);
	 
		return this.each(function() {
			var obj = $(this);
			var obj_name = $(this).attr("class");
			
			//create a temporary div
			$("body").append("<div id=\"smartPagination_TemporaryContainer" + obj_name + "\" style=\"display:none\"></div>")
			
			if (options.debug == true)
			{
				alert("Parameters to be sent:");
				$.each(options.parameters, function(i,j)
				{
					alert(i + " = " + j);
				});
			}
			
			if (options.debug == true)
			{
				if (options.method == "get") 
				{
					alert("Will use GET method");
				}
				else
				{
					if (options.method == "post")
					{
						alert("Will use POST method");
					}
					else
					{
						alert("Will use GET method (invalid method selected)");
					}
				}
			}
			
			
			if (options.method == "get")
			{
				
				$.get(options.url, options.parameters, function(data, e){
																
					$("#smartPagination_TemporaryContainer" + obj_name).html(data);
					
					
				});
			}
			else 
			{
				if (options.method == "post")
				{
					$.post(options.url, options.parameters, function(data, e){
						$("#smartPagination_TemporaryContainer" + obj_name).html(data);
					
					});
				}
				else
				{
					$.get(options.url, options.parameters, function(data, e){
						$("#smartPagination_TemporaryContainer" + obj_name).html(data);
					
					});
				}
			}
			
			$("#" + options.button).click(function(){
				
				//obj.append( $("#smartPagination_TemporaryContainer" + obj_name).html() );
				$($("#smartPagination_TemporaryContainer" + obj_name).html())
					.fadeIn()
					.appendTo(obj);
					
				
				if (options.method == "get")
				{
					//recentCommentBox
					options.urlSort='';
					options.urlSort=options.url+"/"+$(obj).children('li').length+"/";
					//alert(options.urlSort);
					//alert($("#pane5 .result").length);
					$.get(options.urlSort, options.parameters, function(data, e){
						if (options.debug == true)
						{
							alert("GET response: "+data);
						}
						
						if($.trim(data)=='noREc')
						{
							$("#" + options.button).parent().parent().fadeOut(500);
							
						}
						else
						{
							$(obj).append(data);	
						}
						//$(obj).children('input').append(options.parameters.CountRec);
						//$("#smartPagination_TemporaryContainer" + obj_name).html(data);
						
					});
				}
				else 
				{
					if (options.method == "post")
					{
						$.post(options.url, options.parameters, function(data, e){
							if (options.debug == true)
							{
								alert("POST response: " + data);
							}
							
							$("#smartPagination_TemporaryContainer" + obj_name).html(data);
						});
					}
					else
					{
						$.get(options.url, options.parameters, function(data, e){
							if (options.debug == true)
							{
								alert("GET response: " + data);
							}
							
							$("#smartPagination_TemporaryContainer" + obj_name).html(data);
						});
					}
				}
				return false;
			});
		});
	};
})(jQuery);

