function Class(){}
Class.prototype.construct=function(){};Class.__asMethod__=function(func,superClass){return function(){var currentSuperClass=this.$;this.$=superClass;var ret=func.apply(this,arguments);this.$=currentSuperClass;return ret;};};Class.extend=function(def){var classDef=function(){if(arguments[0]!==Class){this.construct.apply(this,arguments);}};var proto=new this(Class);var superClass=this.prototype;for(var n in def){var item=def[n];if(item instanceof Function){item=Class.__asMethod__(item,superClass);}
proto[n]=item;}
proto.$=superClass;classDef.prototype=proto;classDef.extend=this.extend;return classDef;};var PageList=Class.extend({construct:function(pageIndex,totalPage,totalSize,callbackFunction,isScroll){this.pageIndex=pageIndex;this.totalPage=totalPage;this.total=totalSize;this.callbackFunction=callbackFunction;this.isScroll=isScroll;this.tailNumber=8;this.headNumber=8;this.width=3;this.twoend=2;if(this.pageIndex-1>0){this.prev=this.pageIndex-1;}else{this.prev=0;}
if(this.pageIndex<this.totalPage){this.next=this.pageIndex+1;}else{this.next=0;}
this.class_prefix="p";},displayList:function(){var result="";if(this.total==0){}else{if(this.totalPage<=1){result+="<div align='center' class='p_total'><div class='p_bar'>"+page_total+" ("+this.total+")</div></div></div>";}else{result="<div class='"+this.class_prefix+"_bar' align='center'><nobr>";result+=this.getPrevPageNum()+"&nbsp;&nbsp;";if(this.totalPage>(this.twoend*2+this.width*2+1)){result+=this.getHead();result+=this.getCurPageNum(this.pageIndex);result+=this.getTail();}else{for(var i=1;i<=this.totalPage;i++){if(i!=this.pageIndex){result+=this.getPageNum(i);}else{result+=this.getCurPageNum(i);}}}
result+="&nbsp;&nbsp;"+this.getNextPageNum();result+="</nobr>";result+="<div align='center' class='p_total'>"+page_total+" ("+this.total+")</div></div>";}}
return result;},getHead:function(){var result="";if(this.pageIndex-this.headNumber>1){var start=(this.pageIndex-this.width<this.totalPage-this.headNumber?this.pageIndex-this.width:this.totalPage-this.headNumber);for(var i=1;i<=this.twoend;i++){result+=this.getPageNum(i);}
if(start>this.twoend+1){result+="<span class='nolink'>&nbsp;...&nbsp;</span>";}
for(var i=start;i<this.pageIndex;i++){result+=this.getPageNum(i);}}else{for(var i=1;i<this.pageIndex;i++){result+=this.getPageNum(i);}}
return result;},getTail:function(){var result="";if(this.pageIndex+this.tailNumber<this.totalPage){var end=(this.pageIndex+this.width<this.headNumber?this.headNumber:this.pageIndex+this.width);for(var i=this.pageIndex+1;i<=end;i++){result+=this.getPageNum(i);}
if(end<this.totalPage-this.twoend){result+="<span class='nolink'>&nbsp;...&nbsp;</span>";}
for(var i=this.totalPage-this.twoend+1;i<=this.totalPage;i++){result+=this.getPageNum(i);}}else{for(var i=this.pageIndex+1;i<=this.totalPage;i++){result+=this.getPageNum(i);}}
return result;},getPageNum:function(index){var f=this.callbackFunction+"("+index+");";if(this.isScroll){f+="scroll(0,0);";}
return"<a href=\"#\" onclick=\""+f+";addHistory("+index+");return false\" class='"+this.class_prefix+"_num'>"+index+"</a>";},getCurPageNum:function(index){return"<span class='pageon'>"+index+"</span>";},getPrevPageNum:function(){if(this.prev>0){var f=this.callbackFunction+"("+this.prev+");";if(this.isScroll){f+="scroll(0,0);";}
var prev_ten;if(this.pageIndex>10){var prev_ten_num=this.pageIndex-10;var t=this.callbackFunction+"("+prev_ten_num+");";prev_ten="<a href=\"#\" onclick=\""+t+";addHistory("+prev_ten_num+");return false\" class='"+this.class_prefix+"_num'>"+prev_ten_page+"</a>"}else{prev_ten="";}
return"<a href=\"#\" onclick=\""+f+";addHistory("+this.prev+");return false\" class='"+this.class_prefix+"_num'>"+prev_page+"</a>"+prev_ten;}else{return prev_page;}},getNextPageNum:function(){if(this.next>0){var f=this.callbackFunction+"("+this.next+");";if(this.isScroll){f+="scroll(0,0);";}
var next_ten;if(this.totalPage-this.pageIndex>=10){var next_ten_num=this.pageIndex+10;var t=this.callbackFunction+"("+next_ten_num+");";next_ten="<a href=\"#\" onclick=\""+t+";addHistory("+next_ten_num+");return false\" class='"+this.class_prefix+"_num'>"+next_ten_page+"</a>"}else{next_ten="";}
return next_ten+"<a href=\"#\" onclick=\""+f+";addHistory("+this.next+");return false\" class='"+this.class_prefix+"_num'>"+next_page+"</a>";}else{return next_page;}}});var SmallPageList=PageList.extend({construct:function(pageIndex,totalPage,totalSize,callbackFunction){this.pageIndex=pageIndex;this.totalPage=totalPage;this.total=totalSize;this.callbackFunction=callbackFunction;this.tailNumber=1;this.headNumber=1;this.width=1;this.twoend=1;if(this.pageIndex-1>0){this.prev=this.pageIndex-1;}else{this.prev=0;}
if(this.pageIndex<this.totalPage){this.next=this.pageIndex+1;}else{this.next=0;}
this.class_prefix="sp";}});var dw_event={add:function(obj,etype,fp,cap){cap=cap||false;if(obj.addEventListener)obj.addEventListener(etype,fp,cap);else if(obj.attachEvent)obj.attachEvent("on"+etype,fp);},remove:function(obj,etype,fp,cap){cap=cap||false;if(obj.removeEventListener)obj.removeEventListener(etype,fp,cap);else if(obj.detachEvent)obj.detachEvent("on"+etype,fp);},DOMit:function(e){e=e?e:window.event;e.tgt=e.srcElement?e.srcElement:e.target;if(!e.preventDefault)e.preventDefault=function(){return false;}
if(!e.stopPropagation)e.stopPropagation=function(){if(window.event)window.event.cancelBubble=true;}
return e;}}
var Tooltip={followMouse:true,offX:8,offY:12,tipID:"tipDiv",showDelay:200,hideDelay:1,ready:false,timer:null,tip:null,init:function(){if(document.createElement&&document.body&&typeof document.body.appendChild!="undefined"){if(!get(this.tipID)){var el=document.createElement("DIV");el.id=this.tipID;document.body.appendChild(el);}
this.ready=true;}},show:function(e,msg){if(this.timer){clearTimeout(this.timer);this.timer=0;}
this.tip=get(this.tipID);if(this.followMouse)
dw_event.add(document,"mousemove",this.trackMouse,true);this.writeTip("");this.writeTip(msg);viewport.getAll();this.positionTip(e);this.timer=setTimeout("Tooltip.toggleVis('"+this.tipID+"', 'visible'); Tooltip.toggleVisWithClasses('rating', 'visible');",this.showDelay);},dzshow:function(x,y,msg){if(this.timer){clearTimeout(this.timer);this.timer=0;}
this.tip=get(this.tipID);if(this.followMouse)
dw_event.add(document,"mousemove",this.trackMouse,true);this.writeTip("");this.writeTip(msg);viewport.getAll();this.dzpositionTip(x,y);this.timer=setTimeout("Tooltip.toggleVis('"+this.tipID+"', 'visible');",this.showDelay);},dzshow2:function(x,y,msg){if(this.timer){clearTimeout(this.timer);this.timer=0;}
this.tip=get(this.tipID);if(this.followMouse)
dw_event.add(document,"mousemove",this.trackMouse,true);this.writeTip("");this.writeTip(msg);viewport.getAll();this.positionTip2(x,y);this.timer=setTimeout("Tooltip.toggleVis('"+this.tipID+"', 'visible'); Tooltip.toggleVisWithClasses('rating', 'visible');",this.showDelay);},writeTip:function(msg){if(this.tip&&typeof this.tip.innerHTML!="undefined")this.tip.innerHTML=msg;},positionTip:function(e){if(this.tip&&this.tip.style){var x=e.pageX?e.pageX:e.clientX+viewport.scrollX;var y=e.pageY?e.pageY:e.clientY+viewport.scrollY;if(x+this.tip.offsetWidth+this.offX>viewport.width+viewport.scrollX){x=x-this.tip.offsetWidth-this.offX;if(x<0)x=0;}else x=x+this.offX;if(y+this.tip.offsetHeight+this.offY>viewport.height+viewport.scrollY){y=y-this.tip.offsetHeight-this.offY;if(y<viewport.scrollY)y=viewport.height+viewport.scrollY-this.tip.offsetHeight;}else y=y+this.offY;this.tip.style.left=x+"px";this.tip.style.top=y+"px";}},positionTip2:function(x,y){if(this.tip&&this.tip.style){if(x+this.tip.offsetWidth+this.offX>viewport.width+viewport.scrollX){x=x-this.tip.offsetWidth-this.offX;if(x<0)x=0;}else x=x+this.offX;var newy;newy=y-this.tip.offsetHeight-this.offY;if(newy<viewport.scrollY){newy=y+this.offY+10;}
this.tip.style.left=x+"px";this.tip.style.top=newy+"px";}},dzpositionTip:function(x,y){if(this.tip&&this.tip.style){if(x+this.tip.offsetWidth+this.offX>viewport.width+viewport.scrollX){x=x-this.tip.offsetWidth-this.offX;if(x<0)x=0;}else x=x+this.offX;if(y+this.tip.offsetHeight+this.offY>viewport.height+viewport.scrollY){y=y-this.tip.offsetHeight-this.offY;if(y<viewport.scrollY)y=viewport.height+viewport.scrollY-this.tip.offsetHeight;}else{y=y+this.offY;}
this.tip.style.left=x+"px";this.tip.style.top=y+"px";}},hide:function(){if(this.timer){clearTimeout(this.timer);this.timer=0;}
this.timer=setTimeout("Tooltip.toggleVis('"+this.tipID+"', 'hidden');Tooltip.toggleVisWithClasses('rating', 'hidden');",this.hideDelay);if(this.followMouse)
dw_event.remove(document,"mousemove",this.trackMouse,true);this.tip=null;},toggleVis:function(id,vis){var el=get(id);if(el)el.style.visibility=vis;},toggleVisWithClasses:function(theClass,vis){var tags=document.getElementsByTagName("div");for(i=0;i<tags.length;i++){if(tags[i].className==theClass){tags[i].style.visibility=vis;}}},trackMouse:function(e){e=dw_event.DOMit(e);Tooltip.positionTip(e);}}
var viewport={getWinWidth:function(){this.width=0;if(window.innerWidth)this.width=window.innerWidth-18;else if(document.documentElement&&document.documentElement.clientWidth)
this.width=document.documentElement.clientWidth;else if(document.body&&document.body.clientWidth)
this.width=document.body.clientWidth;},getWinHeight:function(){this.height=0;if(window.innerHeight)this.height=window.innerHeight-18;else if(document.documentElement&&document.documentElement.clientHeight)
this.height=document.documentElement.clientHeight;else if(document.body&&document.body.clientHeight)
this.height=document.body.clientHeight;},getScrollX:function(){this.scrollX=0;if(typeof window.pageXOffset=="number")this.scrollX=window.pageXOffset;else if(document.documentElement&&document.documentElement.scrollLeft)
this.scrollX=document.documentElement.scrollLeft;else if(document.body&&document.body.scrollLeft)
this.scrollX=document.body.scrollLeft;else if(window.scrollX)this.scrollX=window.scrollX;},getScrollY:function(){this.scrollY=0;if(typeof window.pageYOffset=="number")this.scrollY=window.pageYOffset;else if(document.documentElement&&document.documentElement.scrollTop)
this.scrollY=document.documentElement.scrollTop;else if(document.body&&document.body.scrollTop)
this.scrollY=document.body.scrollTop;else if(window.scrollY)this.scrollY=window.scrollY;},getAll:function(){this.getWinWidth();this.getWinHeight();this.getScrollX();this.getScrollY();}}