(function($){ $.addadvFrame = function(t,p){ p = $.extend({ data : '', type : 'getadvList', tmplDom : '', appendto : '', useIndex : 'POS1', defaultDataStandard : true, autoresizeImg : true, pageNumber : true, ajaxSuccess : false, ajaxfinished : false, tmplfinished : false, modifyData : false, afterEachData : false }, p); /*DOM ids/classes*/ var v={ defaultDataStandard:function (d){ data=[]; $.each(d,function(idx,item){ $.each(item,function(i,e){ switch(i) { default: if (item[i]==''||item[i]=='0'||item[i]==null) item[i]="---"; break; } }); data.push(item); }); d=data; return d; } }; /*event*/ var e = { initAllEvent : function(){ if ((typeof p.tmplDom)=='string'){ p.tmplDom=$(t).find(p.tmplDom); } switch (p.type){ case 'getadvList': f.getadvList(); break; } if (p.tmplfinished)p.tmplfinished(); } } /*frame funciton*/ var f = { getadvList : function (){ $.ajax({ url : "ajax/getAdv.php", data : "", dataType : "json", type : "post", async : false, success : function(result){ if(result[p.useIndex]!=null&&result[p.useIndex]!=""){ f.applytamplate(result[p.useIndex]); } } }) }, generatePageBtn : function (tRecord,pagePos){ var wrap = $(".pageWrap"); var recordPerPage= 5; var displayPage = 9; // odd number preferred var totalPage = Math.ceil(tRecord/recordPerPage); var sepNum = parseInt((displayPage-1)/2); var curPage = parseInt(pagePos); var pageBtn = ''+i+''; } }else{ firstGenNum = parseInt(curPage - sepNum); lastGenNum = parseInt(curPage + sepNum); if (firstGenNum <1){ remainGenNum = Math.abs(firstGenNum); firstGenNum = 1; lastGenNum += remainGenNum+1; } if (lastGenNum>totalPage){ remainGenNum = Math.abs(totalPage-lastGenNum); lastGenNum = totalPage; firstGenNum -= remainGenNum; } /*************************************/ for (var i=firstGenNum; i<=lastGenNum;i++){ pageBtnsDOM += pageBtn+i+'">'+i+''; } if (lastGenNum!=totalPage){ pageBtnsDOM+=" ... " } if (firstGenNum!=1){ pageBtnsDOM=" ... "+pageBtnsDOM; } } wrap.find(".numBtns").html(pageBtnsDOM); wrap.find(".noResult").remove(); wrap.find("#lastPage").attr("rel",totalPage); /*highlight current page*/ $(".numBtns").find("a").removeClass("currentPage"); $(".numBtns").find("a[rel="+pagePos+"]").addClass("currentPage"); }, applytamplate : function (data) { $.each(data,function(idx,item){ var result = $.extend({}, item); var tmpl=p.tmplDom.tmpl(result).appendTo(p.appendto); if (p.autoresizeImg) {tmpl.find('img').imageResize();} if (p.afterEachData)p.afterEachData(idx,p.tmplDom); }); }, reloadMaster : function (data){ p = $.extend({}, p,data); e.initAllEvent(); } }; e.initAllEvent(); t.p = p; t.frames = f; t.event = e; return t; } var docloaded = false; $(document).ready(function () {docloaded = true} ); $.fn.advFrame = function(p) { return this.each( function() { if (!docloaded){ $(this).hide(); var t = this; $(document).ready( function (){ $.addadvFrame(t,p); } ); } else { $.addadvFrame(this,p); } }); }; $.fn.advFrameReload = function(p) { // function to reload grid return this.each( function() { if (this.frames) this.frames.reloadMaster(p); }); }; })(jQuery)