// JavaScript Document
(function($){
	$.fn.clpaginate = function(options) {
		var defaults={
			display	: 5,
			noOfPages:10,
			totalRecords:0,
			predblimg:'../images/prev-dblearw.png',
			preimg:'../images/prev-arw.png',
			nextdblimg:'../images/next-dblearw.png',
			nextimg:'../images/next-arw.png',
			numcolor:'',
			numselcolor:'',
			totalLabelClass:"clreccount",
			totalLabel:"Total Records : ",
			clicked:function(v){			
			},
			pagediv:''
		};
		var opts = $.extend({}, defaults, options);			
		
		return this.each(function() {
			$this = $(this);
			
			var maindiv=$(document.createElement("div")).addClass("clpaginate");
			/*var recordcount="<select id='clreccount' class='clreccount'>";
				recordcount+="<option value='5'>5</option>";
				recordcount+="<option value='10'>10</option>";
				recordcount+="<option value='20'>20</option>";
				recordcount+="<option value='50'>50</option>";
				recordcount+="<option value='100'>100</option>";
				recordcount+="</select>";*/
			var totalrec="<div class='"+opts.totalLabelClass+"'>"+opts.totalLabel+opts.totalRecords+"</div>";
			var first="<a id='clpgfirst'><img src='"+opts.predblimg+"'>&nbsp;</a>";
			var prev="<a id='clpgleft'><img src='"+opts.preimg+"'>&nbsp;</a>";
			var next="<a id='clpgright'><img src='"+opts.nextimg+"'>&nbsp;</a>";
			var last="<a id='clpglast'><img src='"+opts.nextdblimg+"'>&nbsp;</a>";
			//maindiv.append(recordcount);
			
			var wrap=$(document.createElement("div")).addClass("clpaginatewrap");
			var pages="<ul>";
			for(i=1;i<=opts.noOfPages && opts.noOfPages>1;i++){
				pages+="<li>"+i+"</li>";
			}
			pages+="</ul>";
			wrap.html(pages);
			maindiv.append(totalrec);
			
			if(opts.noOfPages>opts.display){
				maindiv.append(first);
				maindiv.append(prev);
				maindiv.append(wrap);
				maindiv.append(next);
				maindiv.append(last);
				
			}else{
				maindiv.append(wrap);
				
			}
			//if(opts.pagediv!=""){
			//	$("#"+opts.pagediv+"").html(maindiv);
			//}else{
				$this.html(maindiv);
			//}
			
			
			var scrollerwidth=($(".clpaginate li").width()+2)*opts.noOfPages ;
			var pdisplay=($(".clpaginate li").width()+2)*opts.display;
			//alert(opts.display);
			if(opts.noOfPages>opts.display){
				$(".clpaginate ul").css("width",scrollerwidth);
			}
			$(".clpaginatewrap").css("width",pdisplay);
			$(".clpaginate li").first().addClass("clselected");
			if(opts.numcolor!=''){
				//alert(opts.numcolor);
				$(this).parent().find(".clpaginate li").css("color",opts.numcolor);
			}
			if(opts.numselcolor!=''){
				
				//$(".clselected").css("background",opts.numselcolor);
				
			}
			$("#clpgleft").click(function(){
				//$(".clpaginatewrap").animate({scrollLeft:  $(".clpaginatewrap").scrollLeft()+pdisplay});
				var w=($(".clpaginate li").width()-5);
				//$(".clpaginatewrap").animate({scrollLeft:  $(".clpaginatewrap").scrollLeft()-w});
				var obj=$(".clpaginate ul").find(".clselected")
				//alert(obj.next());
				if(obj.prev().html()!=null){
					$(".clpaginate li").removeClass("clselected");
					obj.prev().addClass("clselected");
					opts.clicked(obj.prev().html());
				}
			});
			$("#clpgright").click(function(){
				var w=($(".clpaginate li").width()+5);
				//$(".clpaginatewrap").animate({scrollLeft:  $(".clpaginatewrap").scrollLeft()+w});
				var obj=$(".clpaginate ul").find(".clselected")
				//alert(obj.next());
				if(obj.next().html()!=null){
					$(".clpaginate li").removeClass("clselected");
					obj.next().addClass("clselected");
					opts.clicked(obj.next().html());
				}
			});
			$("#clpgleft").hover(function(){
				img_scroll_interval = setInterval(
				function() {
				  var left = $(".clpaginatewrap").scrollLeft()- 1;
				  $(".clpaginatewrap").scrollLeft(left);
				},
				20
				);
				},
				function(){
					clearInterval(img_scroll_interval);
				}
			);
			$("#clpgright").hover(function(){
						img_scroll_interval = setInterval(
						function() {
						  var left = $(".clpaginatewrap").scrollLeft()+ 1;
						  $(".clpaginatewrap").scrollLeft(left);
						},
						20
						);
						},
						function(){
							clearInterval(img_scroll_interval);
						}
			);
			$("#clpglast").click(function(){
				$(".clpaginatewrap").animate({scrollLeft: scrollerwidth});
				//alert($(".clpaginate li:last").html());
				var obj=$(".clpaginate li:last");
				//alert(obj.next());
				if(obj.html()!=null){
					$(".clpaginate li").removeClass("clselected");
					obj.addClass("clselected");
					opts.clicked(obj.html());
				}
			});
			$("#clpgfirst").click(function(){
				$(".clpaginatewrap").animate({scrollLeft: '0px'});
				//alert($(".clpaginate li:first").html());
				var obj=$(".clpaginate li:first");
				//alert(obj.next());
				if(obj.html()!=null){
					$(".clpaginate li").removeClass("clselected");
					obj.addClass("clselected");
					opts.clicked(obj.html());
				}
			});
//			$(".clpaginate li").click(function(){
////				var currpos=(obj.outerWidth(true)*opts.display)*($(this).text()-1);
////				//alert(currpos);
//				$(".clpaginate li").removeClass("clselected");
//				$(this).addClass("clselected");
////				$(".clreswrapper").animate({scrollLeft:currpos});
//				opts.clicked($(this).html());
//			});
			$(this).find("li").click(function(){
				$(this).parent().find('li').removeClass("clselected");
				$(this).addClass("clselected");
				opts.clicked($(this).html());
			});
		}
		);
	}
})(jQuery);
