/*
 * 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",
			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)");
					}
				}
			}
			var page = 2;	
			var base = options.url;
			options.url = base+"?page="+page;
			page++;
			
			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);

				options.url = base+"?page="+page;
				page++;
				if (options.method == "get")
				{
					$.get(options.url, options.parameters, function(data, e){
						if (options.debug == true)
						{
							alert("GET response: " + data);
						}
						$("#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);


//(function(a){a.fn.smartPagination=function(b){var c={url:"results.html",parameters:{isAjax:true},method:"get",button:"load_more",debug:false};var page = 1;var b=a.extend(c,b);return this.each(function(){var e=a(this);var d=a(this).attr("class");a("body").append('<div id="smartPagination_TemporaryContainer'+d+'" style="display:none"></div>');if(b.debug==true){alert("Parameters to be sent:");a.each(b.parameters,function(g,f){alert(g+" = "+f)})}if(b.debug==true){if(b.method=="get"){alert("Will use GET method")}else{if(b.method=="post"){alert("Will use POST method")}else{alert("Will use GET method (invalid method selected)")}}}if(b.method=="get"){a.get(b.url,b.parameters,function(f,g){a("#smartPagination_TemporaryContainer"+d).html(f)})}else{if(b.method=="post"){a.post(b.url,b.parameters,function(f,g){a("#smartPagination_TemporaryContainer"+d).html(f)})}else{a.get(b.url,b.parameters,function(f,g){a("#smartPagination_TemporaryContainer"+d).html(f)})}}a("#"+b.button).click(function(){a(a("#smartPagination_TemporaryContainer"+d).html()).fadeIn().appendTo(e);options.url = options.url+"?page="+page;if(b.method=="get"){a.get(b.url,b.parameters,function(f,g){if(b.debug==true){alert("GET response: "+f)}a("#smartPagination_TemporaryContainer"+d).html(f)})}else{if(b.method=="post"){a.post(b.url,b.parameters,function(f,g){if(b.debug==true){alert("POST response: "+f)}a("#smartPagination_TemporaryContainer"+d).html(f)})}else{a.get(b.url,b.parameters,function(f,g){if(b.debug==true){alert("GET response: "+f)}a("#smartPagination_TemporaryContainer"+d).html(f)})}}return false})})}})(jQuery);
