
(function($) {
	$.pagingManager = {
		defaults : {
			intShowPage : 5
		},
		img : {
			imgPagePrevAtv		: "/common/img/btn_pagePrev_atv.gif",
			imgPagePrevDatv		: "/common/img/btn_pagePrev_datv.gif",
			imgPageNextAtv		: "/common/img/btn_pageNext_atv.gif",
			imgPageNextDatv		: "/common/img/btn_pageNext_datv.gif",
			imgPagePrevAtv2		: "/common/img/btn_pagePrev_2_atv.gif",
			imgPagePrevDatv2	: "/common/img/btn_pagePrev_2_datv.gif",
			imgPageNextAtv2		: "/common/img/btn_pageNext_2_atv.gif",
			imgPageNextDatv2	: "/common/img/btn_pageNext_2_datv.gif"
		},
		intShowPage : 0,
		intCurPage : 0,
		intTotalPage : 0
	};

	var arrReverseSiteCode = new Array('ae_ar', 'eg', 'il', 'iran', 'sa');
	var siteUrl = document.URL;
	var splitUrl, siteCode;

	try {
		splitUrl = siteUrl.split("/");
		siteCode = splitUrl[3];		
	} catch(e) {
		siteCode = "uk";	
	}
	
	if($.inArray(siteCode, arrReverseSiteCode) >= 0){
		$.pagingManager.img.imgPagePrevAtv = "/common/img/ar/btn_pagePrev_atv.gif";
		$.pagingManager.img.imgPagePrevDatv = "/common/img/ar/btn_pagePrev_datv.gif";
		$.pagingManager.img.imgPageNextAtv = "/common/img/ar/btn_pageNext_atv.gif";
		$.pagingManager.img.imgPageNextDatv = "/common/img/ar/btn_pageNext_datv.gif";
		$.pagingManager.img.imgPagePrevAtv2 = "/common/img/ar/btn_pagePrev_2_atv.gif";
		$.pagingManager.img.imgPagePrevDatv2 = "/common/img/ar/btn_pagePrev_2_datv.gif";
		$.pagingManager.img.imgPageNextAtv2 = "/common/img/ar/btn_pageNext_2_atv.gif";
		$.pagingManager.img.imgPageNextDatv2 = "/common/img/ar/btn_pageNext_2_datv.gif";
	}
	
	$.paging = {
		drawPaging : function(thisObj) {

			var intShowPage		= $.pagingManager.intShowPage;
			var intCurPage		= $.pagingManager.intCurPage;
			var intTotalPage	= $.pagingManager.intTotalPage;		

			var currentPaging	= Math.ceil(intCurPage / intShowPage);
			var finalPaging		= Math.ceil(intTotalPage / intShowPage);
			
			var imgPagePrev2	= (currentPaging > 1			? $.pagingManager.img.imgPagePrevAtv2	: $.pagingManager.img.imgPagePrevDatv2);
			var imgPagePrev		= (currentPaging > 1			? $.pagingManager.img.imgPagePrevAtv	: $.pagingManager.img.imgPagePrevDatv);
			var imgPageNext		= (currentPaging < finalPaging	? $.pagingManager.img.imgPageNextAtv	: $.pagingManager.img.imgPageNextDatv);
			var imgPageNext2	= (currentPaging < finalPaging	? $.pagingManager.img.imgPageNextAtv2	: $.pagingManager.img.imgPageNextDatv2);

			var strHTML = "";
			strHTML += '<p class="pagePrev2"><a href="#" onclick="return false;"><img src="'+imgPagePrev2+'" alt="'+PAGING_FIRST_PAGE+'" title="'+PAGING_FIRST_PAGE+'" /></a></p>';
			strHTML += '<p class="pagePrev"><a href="#" onclick="return false;"><img src="'+imgPagePrev+'" alt="'+PAGING_PREVIOUS_PAGE+'" title="'+PAGING_PREVIOUS_PAGE+'" /></a></p>';
			strHTML += '<p class="num">';

			if(intCurPage != 0) {
				var pageIdx = Math.ceil(intCurPage / intShowPage);
	
				for(var i = 0, count = intShowPage ; i < count ; i++) {
					
					var intAddPage = (pageIdx-1) * intShowPage + 1 + i;				
					if(intAddPage > intTotalPage)
						break;
					
					if(intCurPage == intAddPage) {
						strHTML += '<a href="#" class="acted" onclick="return false;">'+intAddPage+'</a>';	
					} else {
						strHTML += '<a href="#" onclick="return false;">'+intAddPage+'</a>';
					}
				}
			}
			
			strHTML += '</p>';
			strHTML += '<p class="pageNext"><a href="#" onclick="return false;"><img src="'+imgPageNext+'" alt="'+PAGING_NEXT_PAGE+'" title="'+PAGING_NEXT_PAGE+'" /></a></p>';
			strHTML += '<p class="pageNext2"><a href="#" onclick="return false;"><img src="'+imgPageNext2+'" alt="'+PAGING_LAST_PAGE+'" title="'+PAGING_LAST_PAGE+'" /></a></p>';
			
			if(thisObj) {
				thisObj.html(strHTML);
			}

		},
		reDrawPaging : function() {

			var intShowPage		= $.pagingManager.intShowPage;
			var intCurPage		= $.pagingManager.intCurPage;
			var intTotalPage	= $.pagingManager.intTotalPage;				

			var currentPaging	= Math.ceil(intCurPage / intShowPage);
			var finalPaging		= Math.ceil(intTotalPage / intShowPage);
			
			var imgPagePrev2	= (currentPaging > 1			? $.pagingManager.img.imgPagePrevAtv2	: $.pagingManager.img.imgPagePrevDatv2);
			var imgPagePrev		= (currentPaging > 1			? $.pagingManager.img.imgPagePrevAtv	: $.pagingManager.img.imgPagePrevDatv);
			var imgPageNext		= (currentPaging < finalPaging	? $.pagingManager.img.imgPageNextAtv	: $.pagingManager.img.imgPageNextDatv);
			var imgPageNext2	= (currentPaging < finalPaging	? $.pagingManager.img.imgPageNextAtv2	: $.pagingManager.img.imgPageNextDatv2);
			
			$(".pagePrev2 > a > img").attr("src", imgPagePrev2);
			$(".pagePrev > a > img").attr("src", imgPagePrev);
			$(".pageNext > a > img").attr("src", imgPageNext);
			$(".pageNext2 > a > img").attr("src", imgPageNext2);
			
			var strHTML = "";

			if(intCurPage != 0) {
				var pageIdx = Math.ceil(intCurPage / intShowPage);
	
				for(var i = 0, count = intShowPage ; i < count ; i++) {
					
					var intAddPage = (pageIdx-1) * intShowPage + 1 + i;				
					if(intAddPage > intTotalPage)
						break;
					
					if(intCurPage == intAddPage) {
						strHTML += '<a href="#" class="acted" onclick="return false;">'+intAddPage+'</a>';	
					} else {
						strHTML += '<a href="#" onclick="return false;">'+intAddPage+'</a>';
					}
				}
			}

			$("p.num").html(strHTML);
		},
		addEvent : function(options) {

			var thisObj = options.thisObj;
			 
			var imageClick = options.onImageClick;
			if(imageClick && typeof(imageClick) == "function"){
				
				thisObj.find("img").die();
				thisObj.find("img").live("click", function(){
					var action = "";

					if($(this).parents("p.pagePrev2").length){
						if($(this).attr("src") == $.pagingManager.img.imgPagePrevDatv2) return false;
						action = "first";
					} else if($(this).parents("p.pagePrev").length){
						if($(this).attr("src") == $.pagingManager.img.imgPagePrevDatv) return false;
						action = "prev";
					} else if($(this).parents("p.pageNext").length){
						if($(this).attr("src") == $.pagingManager.img.imgPageNextDatv) return false;
						action = "next";
					} else if($(this).parents("p.pageNext2").length){
						if($(this).attr("src") == $.pagingManager.img.imgPageNextDatv2) return false;
						action = "last";
					}
					
					if(action == "first")
						$.pagingManager.intCurPage = 1;
					else if(action == "prev")
						$.pagingManager.intCurPage = (Math.ceil($.pagingManager.intCurPage / $.pagingManager.intShowPage) - 2) * $.pagingManager.intShowPage + 1;
					else if(action == "next")
						$.pagingManager.intCurPage = (Math.ceil($.pagingManager.intCurPage / $.pagingManager.intShowPage)) * $.pagingManager.intShowPage + 1;
					else if(action == "last")
						$.pagingManager.intCurPage = $.pagingManager.intTotalPage;
					
					$.paging.reDrawPaging();
					
					imageClick($.pagingManager.intCurPage, action);
				});
			}

			var pageClick = options.onPageClick;
			if(pageClick && typeof(pageClick) == "function"){

				thisObj.find(".num > a").die();
				thisObj.find(".num > a").live("click", function(){
					if($(this).hasClass("acted"))
						return false;					
					
					var page = $(this).text();
					$.pagingManager.intCurPage = parseInt(page, 10);

					thisObj.find(".num > a").removeClass("acted");
					$(this).addClass("acted");
					$.paging.reDrawPaging();
					
					pageClick($.pagingManager.intCurPage);
				});
			}
		}
	};

	$.fn.extend({
		createPaging : function (options) {
			var setting = $.extend({
				thisObj			: $(this),
				intShowPage 	: $.pagingManager.defaults.intShowPage,
				intCurPage		: 0,
				intTotalPage	: 0,
				onImageClick	: null,
				onPageClick		: null
			}, options||{});

			$.pagingManager.intShowPage = setting.intShowPage;
			$.pagingManager.intCurPage = setting.intCurPage;
			$.pagingManager.intTotalPage = setting.intTotalPage;			

			$.paging.drawPaging($(this));
			$.paging.addEvent(setting);
		},
		regPaging : function (options) {
			var setting = $.extend({
				thisObj			: $(this),
				intShowPage 	: $.pagingManager.defaults.intShowPage,
				intCurPage		: 0,
				intTotalPage	: 0,
				onImageClick	: null,
				onPageClick		: null
			}, options||{});

			$.pagingManager.intShowPage = setting.intShowPage;
			$.pagingManager.intCurPage = setting.intCurPage;
			$.pagingManager.intTotalPage = setting.intTotalPage;	
			
			$.paging.reDrawPaging();
			$.paging.addEvent(setting);
		}
	});
	
})(jQuery);

