/* Distributed under MIT License */
/* plugin */
var imageMenu=new Class({Implements:[Options,Events],options:{onOpen:$empty,onClose:$empty,openWidth:200,transition:Fx.Transitions.Quad.easeOut,duration:400,open:null,border:2},initialize:function(d,f){this.setOptions(f);d=$(d);this.elements=d.getChildren();this.widths={};this.widths.closed=d.getWidth()/2/this.elements.length-this.options.border;this.widths.openSelected=this.options.openWidth;this.widths.openOthers=Math.round(((this.widths.closed*this.elements.length)-(this.widths.openSelected+this.options.border))/(this.elements.length-1));this.fx=new Fx.Elements(this.elements,{wait:false,duration:this.options.duration,transition:this.options.transition});this.elements.each(function(a,i){a.addEvent('mouseenter',function(e){new Event(e).stop();this.reset(i)}.bind(this));a.addEvent('mouseleave',function(e){new Event(e).stop();this.reset(this.options.open)}.bind(this));var b=this;var c=f.onOpen!=undefined;a.addEvent('click',function(e){e=new Event(e);if(c)e.stop();if(b.options.open==i){b.options.open=null;b.fireEvent('close',e.target,i)}else{b.options.open=i;b.fireEvent('open',e.target,i)}})}.bind(this));if($chk(this.options.open)){if($type(this.options.open)=='number'){this.reset(this.options.open)}else{this.elements.each(function(a,i){if(a.id==this.options.open){this.reset(i)}},this)}}},reset:function(b){if($type(b)=='number'){var c=this.widths.openOthers;if(b+1==this.elements.length){c+=this.options.border}}else{var c=this.widths.closed}var d={};this.elements.each(function(a,i){var w=c;if(i==this.elements.length-1){w=c+5}d[i]={'width':w}}.bind(this));if($type(b)=='number'){d[b]={'width':this.widths.openSelected}}this.fx.start(d)}});
var lightBox=new Class({Implements:Options,options:{resizeDuration:600,resizeTransition:Fx.Transitions.Circ.easeOut,initialWidth:250,initialHeight:250,padding:10,animateCaption:true,counter:'{NUM} / {TOTAL}',group:'a[rel=lightbox]'},initialize:function(a){this.setOptions(a);if(!this.options.container)this.options.container=document.body;this.anchors=[];this.prepare(this.options.group);this.overlay=new Element('DIV',{'class':'lbOverlay',events:{click:this.close.bindWithEvent(this)}}).inject(this.options.container);this.pane=new Element('DIV',{'class':'lbBox',styles:{width:this.options.initialWidth,height:this.options.initialHeight,marginLeft:-(this.options.initialWidth/2)}}).inject(this.options.container);this.stage=new Element('DIV',{'class':'lbStage'}).inject(this.pane);this.bottom=new Element('DIV',{'class':'lbBottom'}).inject(this.pane);var b=new Element('DIV',{'class':'lbNavi'}).inject(this.bottom);this.closeButton=new Element('A',{'class':'lbClose',title:'Close: X, Q, Esc',href:'#',events:{click:this.close.bindWithEvent(this)}}).inject(b);this.nextLink=new Element('A',{'class':'lbNext',title:'Next: B, P, Left',href:'#',events:{click:this.changeImage.bindWithEvent(this,1)}}).inject(b);this.prevLink=new Element('A',{'class':'lbPrev',title:'Prev: F, N, Right',href:'#',events:{click:this.changeImage.bindWithEvent(this,-1)}}).inject(b);this.counter=new Element('DIV',{'class':'lbCounter'}).inject(b);this.caption=new Element('DIV',{'class':'lbCaption'}).inject(this.bottom);new Element('DIV',{'style':'clear: both'}).inject(this.bottom);var c=this.nextEffect.bind(this);this.fx={overlay:new Fx.Tween(this.overlay,{property:"opacity"}),resize:new Fx.Morph(this.pane,{duration:this.options.resizeDuration,transition:this.options.resizeTransition,onComplete:c}),show:new Fx.Tween(this.stage,{property:"opacity",onComplete:c}),bottom:new Fx.Tween(this.bottom,{property:"top",duration:400,onComplete:c})};this.active=false;this.keydownEvent=this.keyboardListener.bindWithEvent(this);this.positionEvent=this.positionListener.bindWithEvent(this)},prepare:function(a){$$(a||this.options.group).each(this.add,this)},add:function(a){this.anchors.push(a);a.store("caption",a.get("title")||a.get("caption")||a.getElement("img").get("alt"));a.addEvent("click",this.open.bindWithEvent(this,a))},remove:function(a){this.anchors.erase(a)},empty:function(){this.anchors=[]},setup:function(a){var b=a?'addEvent':'removeEvent';window[b]('scroll',this.positionEvent)[b]('resize',this.positionEvent);document[b]('keydown',this.keydownEvent);this.step=0;if(!a)this.overlay.setStyles({height:0,width:0})},open:function(a,b){this.setup(true);this.active=true;var c=window.getSize();var d=window.getScroll();var e=window.getScrollSize();var f=Math.round((c.y<768)?c.y/36:c.y/10);var g=d.y+f;this.overlay.setStyles({opacity:0,display:"block",width:e.x,height:e.y});this.pane.setStyles({display:"block",top:g});this.fx.overlay.start(0.8);this.startLoad(b);return false},startLoad:function(a,b){if(!a)return;var c=new Asset.image(a.get("href"),{onload:function(){if(!b&&this.currentLink==a)this.nextEffect()}.bind(this)});if(!b){this.stage.addClass("loading");this.stage.setStyle("display","block");this.stage.empty();this.bottom.setStyle("opacity",0);this.prevLink.setStyle("display","none");this.nextLink.setStyle("display","none");this.currentLink=a;this.currentCaption=a.retrieve("caption");this.currentImage=c;this.currentIndex=this.anchors.indexOf(a);this.step=1}},keyboardListener:function(a){if(!this.active)return;switch(a.key){case"esc":case"x":case"q":this.close();break;case"b":case"p":case"left":this.changeImage(a,-1);break;case"f":case"n":case"right":this.changeImage(a,1)}},mouseWheelListener:function(a){if(!this.active)return;if(a.wheel>0)this.changeImage(a,-1);if(a.wheel<0)this.changeImage(a,1)},positionListener:function(){if(!this.active)return;if(this.options.container==document.body){var h=window.getScrollHeight()+'px';var w=window.getScrollWidth()+'px';this.overlay.setStyles({top:'0px',height:h,width:w})}else{var a=this.options.container.getCoordinates();this.overlay.setStyles({top:a.top+'px',height:a.height+'px',left:a.left+'px',width:a.width+'px'})}},changeImage:function(a,b){a.preventDefault();var c=this.anchors[this.currentIndex+b];if(!c)return false;for(var f in this.fx)this.fx[f].cancel();this.startLoad(c)},nextEffect:function(){switch(this.step++){case 1:var w=this.currentImage.width+this.options.padding*2;var h=this.currentImage.height+this.options.padding*2;this.fx.resize.start({width:w,height:h,marginLeft:-(this.currentImage.width/2)});break;case 2:this.stage.removeClass("loading");this.stage.setStyle("opacity",0);this.currentImage.setStyle("margin",this.options.padding);this.currentImage.inject(this.stage);this.fx.show.start(1);break;case 3:this.prevLink.setStyle("display",this.currentIndex==0?'none':'block');this.nextLink.setStyle("display",this.currentIndex==this.anchors.length-1?'none':'block');if(this.options.animateCaption){if(this.options.counter){var a=this.anchors.length;var b=this.currentIndex+1;var c=this.options.counter;c=c.replace(/\{NUM\}/,b);c=c.replace(/\{TOTAL\}/,a);this.counter.set("text",c)}this.caption.set("html",this.currentCaption);var d=this.bottom.getStyle("height").toInt();this.bottom.setStyles({opacity:1,top:-d});this.fx.bottom.start(0)}break;case 4:this.startLoad(this.anchors[this.currentIndex-1],true);this.startLoad(this.anchors[this.currentIndex+1],true);break}},close:function(a){if(a)a.preventDefault();this.pane.setStyle("display","none");this.overlay.fade("out");this.active=false;this.setup(false)}});
var morphList=new Class({Implements:[Events,Options],options:{morph:{duration:700,transition:'back:out',link:'cancel'}},initialize:function(b,c){var d=this;this.setOptions(c);this.menu=$(b);this.menuitems=this.menu.getChildren();this.menuitems.addEvents({mouseenter:function(){d.morphTo(this)},mouseleave:function(){d.morphTo(d.current)},click:function(a){d.click(a,this)}});this.bg=new Element('li',{'class':'guide'}).adopt(new Element('div',{'class':'bourn'}));this.bg.set('styles',{left:0,top:0,opacity:0}).inject(this.menu,'top').set('morph',this.options.morph);this.setCurrent(this.menu.getElement('.current'),true)},click:function(a,b){this.setCurrent(b,true);this.fireEvent('onClick',[a,b])},setCurrent:function(a,b){if(a&&!this.current){this.bg.set('styles',{left:a.offsetLeft,width:a.offsetWidth,height:a.offsetHeight,top:a.offsetTop});(b)?this.bg.fade('in'):this.bg.set('opacity',1)}if(this.current)this.current.removeClass('current');if(a)this.current=a.addClass('current')},morphTo:function(a){if(!this.current)return;this.bg.morph({left:a.offsetLeft,top:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight});this.fireEvent('onMorph',a)}});
var noobSlide=new Class({initialize:function(a){this.items=a.items;this.mode=a.mode||'horizontal';this.modes={horizontal:['left','width'],vertical:['top','height']};this.size=a.size||240;this.box=a.box.setStyle(this.modes[this.mode][1],(this.size*this.items.length)+'px');this.button_event=a.button_event||'click';this.handle_event=a.handle_event||'click';this.onWalk=a.onWalk||null;this.currentIndex=null;this.previousIndex=null;this.nextIndex=null;this.interval=a.interval||5000;this.autoPlay=a.autoPlay||false;this._play=null;this.handles=a.handles||null;if(this.handles){this.addHandleButtons(this.handles)}this.buttons={previous:[],next:[],play:[],playback:[],stop:[]};if(a.addButtons){for(var b in a.addButtons){this.addActionButtons(b,$type(a.addButtons[b])=='array'?a.addButtons[b]:[a.addButtons[b]])}}this.fx=new Fx.Tween(this.box,$extend((a.fxOptions||{duration:500,wait:false}),{property:this.modes[this.mode][0]}));this.walk((a.startItem||0),true,true)},addHandleButtons:function(a){for(var i=0;i<a.length;i++){a[i].addEvent(this.handle_event,this.walk.bind(this,[i,true]))}},addActionButtons:function(a,b){for(var i=0;i<b.length;i++){switch(a){case'previous':b[i].addEvent(this.button_event,this.previous.bind(this,[true]));break;case'next':b[i].addEvent(this.button_event,this.next.bind(this,[true]));break;case'play':b[i].addEvent(this.button_event,this.play.bind(this,[this.interval,'next',false]));break;case'playback':b[i].addEvent(this.button_event,this.play.bind(this,[this.interval,'previous',false]));break;case'stop':b[i].addEvent(this.button_event,this.stop.bind(this));break}this.buttons[a].push(b[i])}},previous:function(a){this.walk((this.currentIndex>0?this.currentIndex-1:this.items.length-1),a)},next:function(a){this.walk((this.currentIndex<this.items.length-1?this.currentIndex+1:0),a)},play:function(a,b,c){this.stop();if(!c){this[b](false)}this._play=this[b].periodical(a,this,[false])},stop:function(){$clear(this._play)},walk:function(a,b,c){if(a!=this.currentIndex){this.currentIndex=a;this.previousIndex=this.currentIndex+(this.currentIndex>0?-1:this.items.length-1);this.nextIndex=this.currentIndex+(this.currentIndex<this.items.length-1?1:1-this.items.length);if(b){this.stop()}if(c){this.fx.cancel().set((this.size*-this.currentIndex)+'px')}else{this.fx.start(this.size*-this.currentIndex)}if(b&&this.autoPlay){this.play(this.interval,'next',true)}if(this.onWalk){this.onWalk((this.items[this.currentIndex]||null),(this.handles&&this.handles[this.currentIndex]?this.handles[this.currentIndex]:null))}}}});
var viewSlide=new Class({mode:'rand',modes:['top','right','bottom','left','alpha'],sizes:{w:480,h:240},fxOptions:{duration:500},interval:5000,initialize:function(a,b){if(b)for(var o in b)this[o]=b[o];if(this.buttons){this.buttons.previous.addEvent('click',this.previous.bind(this,[true]));this.buttons.next.addEvent('click',this.next.bind(this,[true]))}this._current=0;this._previous=null;this.items=a.setStyle('display','none');this.items[this._current].setStyle('display','block');this.disabled=false;this.attrs={left:['left',-this.sizes.w,0,'px'],top:['top',-this.sizes.h,0,'px'],right:['left',this.sizes.w,0,'px'],bottom:['top',this.sizes.h,0,'px'],alpha:['opacity',0,1,'']};this.rand=this.mode=='rand';this.sequence=typeof(this.mode)=='object'?this.mode:false;this.curseq=0;this.timer=null},walk:function(n,b){if(this._current!==n&&!this.disabled){this.disabled=true;if(b){this.stop()}if(this.rand){this.mode=this.modes.getRandom()}else if(this.sequence){this.mode=this.sequence[this.curseq];this.curseq+=this.curseq+1<this.sequence.length?1:-this.curseq}this._previous=this._current;this._current=n;var a=this.attrs[this.mode].associate(['p','f','t','u']);for(var i=0;i<this.items.length;i++){if(this._current===i){this.items[i].setStyles($extend({'display':'block','z-index':'2'},JSON.decode('{"'+a.p+'":"'+a.f+a.u+'"}')))}else if(this._previous===i){this.items[i].setStyles({'z-index':'1'})}else{this.items[i].setStyles({'display':'none','z-index':'0'})}}this.items[n].set('tween',{onComplete:this.onComplete.bind(this)}).tween(a.p,a.f,a.t)}},play:function(a){this.stop();if(!a){this.next()}this.timer=this.next.periodical(this.interval,this,[false])},stop:function(){$clear(this.timer)},next:function(a){this.walk(this._current+1<this.items.length?this._current+1:0,a)},previous:function(a){this.walk(this._current>0?this._current-1:this.items.length-1,a)},onComplete:function(){this.disabled=false;this.items[this._previous].setStyle('display','none');if(this.onWalk)this.onWalk(this._current)}});
var notimoo=new Class({elements:[],Implements:[Options,Events],scrollTimeOut:null,options:{parent:"",height:50,width:300,visibleTime:5000,locationVType:"top",locationHType:"right",locationVBase:10,locationHBase:10,notificationsMargin:5,opacityTransitionTime:750,closeRelocationTransitionTime:750,scrollRelocationTransitionTime:500,notificationOpacity:0.95},initialize:function(a){this.options.parent=$(document.body);if(a){if(a.parent){a.parent=$(a.parent)}this.setOptions(a)}var b=this;this.options.parent.addEvent("scroll",function(){$clear(this.scrollTimeOut);this.scrollTimeOut=(function(){b._relocateActiveNotifications(b.TYPE_RELOCATE_SCROLL)}).delay(200)},this);window.addEvent("scroll",function(){$clear(b.scrollTimeOut);b.scrollTimeOut=(function(){b._relocateActiveNotifications(b.TYPE_RELOCATE_SCROLL)}).delay(200)});this.elements.push(this.createNotificationElement(this.options))},createNotificationElement:function(){var c=new Element("div",{"class":"notimoo"});c.setStyle(this.options.locationVType,this.options.locationVBase);c.setStyle(this.options.locationHType,this.options.locationHBase);c.adopt(new Element("span",{"class":"title"}));c.adopt(new Element("div",{"class":"message"}));c.setStyle("width",this.options.width);c.setStyle("height",this.options.height);c.store("working",false);c.set("tween",{link:"chain",duration:this.options.opacityTransitionTime});c.set("opacity",0);var b=new Fx.Tween(c,{property:this.options.locationVType,link:"chain",duration:this.options.closeRelocationTransitionTime});c.store("baseTween",b);var a=new Fx.Tween(c,{property:this.options.locationVType,link:"chain",duration:this.options.scrollRelocationTransitionTime});c.store("scrollTween",a);c.addEvent("click",function(d){d.stop();this.close(c)}.bind(this));return c},show:function(b){var c=this;var a=this._applyScrollPosition(this.options.locationVBase);var d=this.elements.filter(function(f){var e=f.retrieve("working");if(e){a=f.getStyle(this.options.locationVType).toInt()+f.getSize().y+this.options.notificationsMargin}return !e},this).getLast();if(!d){d=this.createNotificationElement();this.elements.push(d)}d.setStyle(this.options.locationVType,a);d.store("working",true);if(b.width){d.setStyle("width",b.width)}if(b.title){d.getElement("span.title").set("html",b.title)}d.getElement("div.message").set("html",b.message);d.getElements("a").addEvent("click",function(e){e.stopPropagation()});this.options.parent.adopt(d);this._checkSize(d);d.get("tween").start("opacity",this.options.notificationOpacity).chain(function(){if((b.sticky)?!b.sticky:true){(function(){c.close(d)}).delay((b.visibleTime)?b.visibleTime:c.options.visibleTime,c)}c.fireEvent("show",d)})},close:function(c){var b=this;var a=b.elements;c.get("tween").start("opacity",0).chain(function(){if(a.length>1){a.elements=a.erase(c);c.destroy()}b._resetNotificationElement(c);b._relocateActiveNotifications(b.TYPE_RELOCATE_CLOSE);b.fireEvent("close",c)})},_relocateActiveNotifications:function(b){var d=this._applyScrollPosition(this.options.locationVBase);for(var a=0;a<this.elements.length;a++){var c=this.elements[a];if(c.retrieve("working")){if(this.TYPE_RELOCATE_CLOSE==b){c.retrieve("baseTween").start(d)}else{c.retrieve("scrollTween").start(d)}d+=c.getSize().y+this.options.notificationsMargin}}},_checkSize:function(b){var d=b.getStyle("height").toInt();var c=b.getElement("span.title").getSize().y;var a=b.getElement("div.message").getSize().y;if(a>(d-c)){b.setStyle("height",d+(a-(d-c)))}},_resetNotificationElement:function(a){a.store("working",false);a.setStyle(this.options.locationVType,this.options.locationVBase);a.setStyle("height",this.options.height);a.setStyle("width",this.options.width)},_applyScrollPosition:function(a){if(this.options.locationVType=="top"){a+=this.options.parent.getScroll().y}else{a-=this.options.parent.getScroll().y}return a},TYPE_RELOCATE_CLOSE:1,TYPE_RELOCATE_SCROLL:2});
/* dbs */
String.implement({query:function(a,b){var c=new RegExp(a+'=(.*?)(#|&|$)');var d=this.match(c);if(b){b=a+'='+b;return(d==null)?this+(this.indexOf('?')<0?'?':'&')+b:this.replace(c,b+'$2')}else return(d!=null)?d[1]:''},padLeft:function(a,b){if(!b)b='0';var c='';if(this.length<a){for(var i=0;i<a-this.length;i++)c=c+b}return c+this},utc:function(a){if(this.indexOf('T')<0)return this;var d=this.replace('T',' ');switch(a){case'mdhn':return d.substr(5,11);case'ymdhn':return d.substr(0,16);case'ymd':return d.substr(0,10);case'md':return d.substr(5,5);default:var b=new Date();var c=this.utcDate(),dt2=new Date(b.getFullYear(),b.getMonth(),b.getDate()+1);var e=Math.floor((dt2-c)/(1000*60*60*24));switch(e){case 0:return'\u4eca\u5929 '+d.substr(11,5);case 1:return'\u6628\u5929 '+d.substr(11,5);case 2:return'\u524d\u5929 '+d.substr(11,5);default:return(dt2.getFullYear()-c.getFullYear())>0?d.substr(0,16):d.substr(5,11)}}},utcDate:function(){return new Date(this.substr(0,4),this.substr(5,2)-1,this.substr(8,2),this.substr(11,2),this.substr(14,2),this.substr(17,2))},utcDaysBeforeNow:function(){var a=new Date();return Math.floor((new Date(a.getFullYear(),a.getMonth(),a.getDate()+1)-this.utcDate())/(1000*60*60*24))},stripCtrlChar:function(){var a=/[\x01-\x08\x0B-\x0C\x0E-\x1F]/ig;return this.replace(a,'')},stripWordTag:function(){var a=this;a=a.replace(/<\/?FONT[^>]*>/gi,'');a=a.replace(/<\/?SPAN[^>]*>/gi,'');a=a.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,'<$1$3');a=a.replace(/<(\w[^>]*) style="([^"]*)"([^>]*)/gi,'<$1$3');a=a.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,'<$1$3');a=a.replace(/<\\?\?xml[^>]*>/gi,'');a=a.replace(/<\/?\w+:[^>]*>/gi,'');a=a.replace(/&nbsp;/,' ');return a},stripHtml:function(){return this.replace(/(<([^>]+)>)/ig,'').replace(/&nbsp;/,' ').replace(/&lt;/,'<').replace(/&gt;/,'>').replace(/&amp;/,'&')},toHtml:function(){return/(<([^>]+)>)/ig.test(this)?this:this.replace(/\n/g,'<br>')},html:function(){return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/\x20\x20/g,'&nbsp; ').replace(/\t/g,'&nbsp; ').replace(/\n/g,'<br>')},thousands:function(){return this.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,'$1,')}});
Array.implement({find:function(a,b){for(var i=0,l=this.length;i<l;i++){if(a.call(b,this[i],i,this))return this[i]}return null}});
Element.implement({triggerClick:function(){if(this.click)this.click();else{var a=document.createEvent("MouseEvents");a.initEvent("click",true,true);this.dispatchEvent(a)};return this},visible:function(){return this.style.display!='none'},show:function(a){this.style.display=(a==false?'none':'');return this},hide:function(){this.style.display='none';return this},toggle:function(){return this[this.visible()?'hide':'show']()},addHover:function(){if(Browser.Engine.trident4){var b=function(a){this[a.type=='mouseover'?'addClass':'removeClass']('hover')}.bind(this);this.addEvents({'mouseover':b,'mouseout':b})}return this},loading:function(a){if(!a)this.adopt(new Element('DIV',{'class':'waiting',html:'\u6b63\u5728\u8bfb\u53d6\u6570\u636e...'}));else{var b=this.getElement('.waiting');if(b)b.dispose()}return this},makeOptions:function(a,b){for(var p in a){var c=document.createElement('OPTION');c.value=p;c.innerHTML=a[p];if(b==p)c.setAttribute('selected','selected');this.appendChild(c)};return this}});
(function(){if(window.DOMParser&&window.XMLSerializer&&window.Node&&Node.prototype&&Node.prototype.__defineGetter__){if(!Document.prototype.loadXML){Document.prototype.loadXML=function(s){var a=new DOMParser().parseFromString(s,'text/xml');while(this.hasChildNodes())this.removeChild(this.lastChild);for(var i=0;i<a.childNodes.length;i++)this.appendChild(this.importNode(a.childNodes[i],true))}};Document.prototype.__defineGetter__('xml',function(){return(new XMLSerializer()).serializeToString(this)});XMLDocument.prototype.selectNodes=Element.prototype.selectNodes=function(a){var b=new XPathEvaluator();var c=b.createNSResolver(this.ownerDocument==null?this.documentElement:this.ownerDocument.documentElement);var d=b.evaluate(a,this,c,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);var e,nodes=[];while(e=d.iterateNext())nodes.push(e);return nodes};XMLDocument.prototype.selectSingleNode=Element.prototype.selectSingleNode=function(a){var r=this.selectNodes(a);return(r&&r.length>0)?r[0]:null}}})();
var Xml={create:function(){if(document.implementation&&document.implementation.createDocument)return document.implementation.createDocument('','',null);if(window.ActiveXObject)return new ActiveXObject('MSXML2.DomDocument');return null},getState:function(a,b){var c=a.selectSingleNode(b||'//Result/@State');return c?c.value:0},getNode:function(a,b){return Xml.nodeToJson(a.selectSingleNode(b))},getNodes:function(a,b){return Xml.nodesToJsons(a.selectNodes(b))},nodeToJson:function(a){var b={};if(a)for(var i=0;i<a.attributes.length;i++)b[a.attributes[i].nodeName]=a.attributes[i].nodeValue;return b},nodesToJsons:function(a,b,c){var d=new Array;for(var i=0,l=a.length;i<l;i++)d[i]=this.nodeToJson(a[i]);return b?Xml.sortBy(d,b,c):d},sortBy:function(d,e,f){d.sort(function(l,r){var a=l[e],b=r[e];if(f=='1'||f=='-1'){a=parseInt(a);b=parseInt(b)}else if(f=='1.0'||f=='-1.0'){a=parseFloat(a);b=parseFloat(b)}var c=a<b?-1:a>b?1:0;return(f=='-1'||f=='-1.0'||f=='D')?-c:c});return d},groupBy:function(b,c){var d={};b.each(function(a){var p=a[c];if(!d[p])d[p]=new Array;d[p].push(a)});return d},serial:function(a){var s='';for(var p in a)s+=p+': '+a[p]+'\n';return s},observe:function(a){alert(this.serial(a))}};
var ajaxForm=new Class({Implements:[Options],options:{mode:'ajax',stateNode:'//Result/@State',msg:{invalid:'\u8bf7\u68c0\u67e5\u8f93\u5165\u5185\u5bb9',failed:'\u5931\u8d25',process:'\u63d0\u4ea4'}},template:{required:/[^.*]/,alpha:/^[a-z ._-]+$/i,alphanum:/^[a-z0-9 ._-]+$/i,integer:/^[-+]?\d+$/,real:/^[-+]?\d*\.?\d+$/,date:/^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$/,email:/^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i,phone:/^[\d\s ().-]+$/,url:/^(http|https|ftp)\:\/\/[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&amp;%\$#\=~])*$/i},initialize:function(b){this.setOptions(b);this.form=$(b.id);this.hint=b.hint||this.form.getElement('.hint');this.rules=[];if(b.rules)b.rules.each(function(a){this.register(a)}.bind(this));$extend(this.form,{validate:this.validate.bind(this),notify:this.notify.bind(this),warn:this.warn.bind(this)});this.form.addEvents({'submit':this._onSubmit.bind(this),'reset':this._onReset.bind(this)})},register:function(a){if($type(a.re)=='string'){if(a.re.charAt(0)=='=')a.equal=this._getField(a.re.substr(1));else a.re=this.template[a.re]}a.field=this._getField(a.id);a.field.addEvent("blur",function(){this._validate(a)}.bind(this));this.rules.push(a)},normalize:function(){this.rules.each(function(a){this._hilight(a,true)}.bind(this))},validate:function(){var b=true;this.rules.each(function(a){if(!this[this._isGroup(a.field)?'_validateGroup':'_validate'](a))b=false}.bind(this));return b},_getField:function(a){return $type(a)=='element'?a:$(this.form[a])},_isGroup:function(a){var b=a.type.toLowerCase();return(b=="radio")||(b=="checkbox")},_validate:function(a){var b=(a.equal)?(a.field.get('value')==a.equal.get('value')):a.re.test(a.field.get('value'));this._hilight(a,b);return b},_validateGroup:function(a){var b=this.form[a.field.get("name")];var c=0;var d=true;for(var i=0;i<b.length;i++){var e=$(b[i]);if(e.checked){c++;if(!a.re.test(e.get('value'))){d=false;break}}}if(c==0)d=false;this._hilight(a,d);return d},_hilight:function(a,b){a.field[b?'removeClass':'addClass']('err');var c=b?'':a.msg;a.field.title=c},lock:function(a){for(var i=0;i<this.form.elements.length;i++){var b=this.form.elements[i];if(b.type.toLowerCase()=='submit'){b.disabled=a;break}}},notify:function(a,b){if(!this.hint)return;this.hint.className='hint';if(b)this.hint.addClass(b);this.hint.set('html',a)},warn:function(a,b){this.notify(a,b||'warning');return false},_onSuccess:function(a,b){this.notify('');var c=0;if(b){var d=b.selectSingleNode(this.options.stateNode);if(d)c=d.value}if(this.options.success)this.options.success(b,c,a)},_onSubmit:function(a){a=new Event(a);var b=this.validate();if(!b)this.warn(this.options.msg.invalid);if(b&&this.options.checkout)b=this.options.checkout(this.form);if(!b){a.stop();return b}this.notify(this.options.msg.process+'...','loading');this.lock(true);if(this.options.mode!='ajax')return b;a.stop();this.form.set('send',{url:this.options.url||this.form.get('action'),onComplete:function(){this.lock(false)}.bind(this),onFailure:this.options.failure||function(){this.warn(this.options.msg.process+this.options.msg.failed)}.bind(this),onSuccess:this._onSuccess.bind(this)});this.form.send()},_onReset:function(a){this.normalize();this.notify('')}});
var winForm=new Class({initialize:function(a){this.pane=new Element('DIV',{'class':'dlg','style':'display: none;'+a.style}).inject(document.body);this.pane.set('morph',{duration:'short'});this.paneSize={width:this.pane.getStyle('width').toInt(),height:this.pane.getStyle('height').toInt()};if(a.shadow!='0')new Element('DIV',{'class':'d-outer'}).inject(this.pane).setOpacity(a.shadow||0.2);var b=this.pad=new Element('DIV',{'class':'d-inner'}).inject(this.pane);var c=new Element('DIV',{'class':'d-caps',html:a.caption}).inject(b);if(a.closable!=false)new Element('SPAN',{'class':'d-close'}).inject(c,'top').addEvent('click',this.hide.bind(this));if(a.draggable!=false)this.pane.makeDraggable({handle:c});new Element('DIV',{'class':'d-layer',html:a.content}).inject(b).getElements('.done').addEvent('click',this.hide.bind(this));if(a.sizable){var d=new Element('DIV',{'class':'d-sizer'}).inject(b);this.pane.makeResizable({handle:d})}},show:function(a){var b=this.paneSize;var c=document.documentElement;b.left=(c.clientWidth-b.width)/2;b.top=(c.clientHeight-b.height)/2+c.scrollTop;this.stick=$(a);var p=this.stick?this.stick.getCoordinates():{left:b.left+b.width/2,top:b.top+b.height/2,width:0,height:0};this.pad.setStyle('display','none');this.pane.setStyle('display','').get('morph').set({left:p.left,top:p.top,width:p.right-p.left,height:p.bottom-p.top}).start(b).chain(function(){this.pad.setStyle('display','');if(Browser.Engine.trident4)this.pane.adopt(this.pad)}.bind(this))},hide:function(a){var p;if(this.stick)p=this.stick.getCoordinates();else{p=this.pane.getCoordinates();p.right=p.left=(p.left+p.right)/2;p.bottom=p.top=(p.top+p.bottom)/2}this.pad.setStyle('display','none');this.pane.get('morph').start({left:p.left,top:p.top,width:p.right-p.left,height:p.bottom-p.top}).chain(function(){this.pane.setStyle('display','none')}.bind(this))},dispose:function(){this.pane.dispose();this.stick=null}});
var tabControl=new Class({Implements:[Options,Events],initialize:function(a){this.setOptions(a);delete this.options.tab;this.activedIndex=-1;this.activedTab=null;this.count=0;this.pane=$(a.id)||new Element('UL',{'class':'tab'});if($(a.parent))$(a.parent).adopt(this.pane);if($type(a.tab)=='array')a.tab.each(this.add.bind(this));this.active(a.activedIndex||0)},add:function(b){var c=new Element('LI').adopt(new Element('SPAN',{html:b}));c.addEvent('click',this._changed.bind(this,c));if(Browser.Engine.trident4){var d=function(a){this[a.type=='mouseover'?'addClass':'removeClass']('hover')}.bind(c);c.addEvents({'mouseover':d,'mouseout':d})}this.count++;this.pane.adopt(c);return c},tab:function(a){return this.pane.childNodes[a]},remove:function(a){this.tab(a).dispose();this.count--;if(this.activedIndex==a)this.activedIndex=-1},set:function(a,b,c){if(a>=this.count)this.add(b);else this.tab(a).firstChild.set('html',b);if(c)this.active(a)},change:function(a){if(a==this.activedIndex)return;if(this.activedTab)this.activedTab.removeClass('active');this.activedIndex=a;this.activedTab=this.tab(a);if(this.activedTab)this.activedTab.addClass('active')},active:function(a,b){this.change(a);this.fireEvent('changed',this.activedIndex,b)},_changed:function(a,b){this.active(this.pane.getChildren().indexOf(a),a)}});
var pageControl=new Class({Implements:[Options,Events],initialize:function(a){this.setOptions(a);this.lastActived=-1;this.activedIndex=-1;this.activedSheet=null;this.pane=$(a.id)||new Element('DIV',a.pane||{'class':'page'});if($(a.parent))$(a.parent).adopt(this.pane);if(a.count>0)for(var i=0;i<a.count;i++)this.append();this.active(a.activedIndex||0);if(a.tab)a.tab.addEvent('changed',this.active.bind(this))},append:function(a){var b=new Element('DIV',{'id':a,'class':'sheet','style':'display: none'});this.pane.adopt(b);return b},sheet:function(a){return this.pane.childNodes[a]},remove:function(a){this.sheet(a).dispose();if(this.activedIndex==a)this.activedIndex=-1},visible:function(a){return this.sheet(a).getStyle('display')!='none'},active:function(a){if(a==this.activedIndex)return;if(this.activedSheet)this.activedSheet.setStyle('display','none');this.lastActived=this.activedIndex;this.activedIndex=a;this.activedSheet=this.sheet(a);if(this.activedSheet)this.activedSheet.setStyle('display','');this.fireEvent('actived',[a,this.activedSheet])}});
var treeView=new Class({Implements:[Options,Events],initialize:function(a){this.setOptions(a);this.root=$(a.id)||new Element('DIV',{'class':'tv'});if($(a.parent))$(a.parent).adopt(this.root);this.root.addEvent('click',this._click.bind(this));this.selected=this.root},addNode:function(a,b){var n=new Element('DIV',{'class':'node'}).inject(this.getPad(a));new Element('SPAN',{'class':'hit'}).inject(n);var c=new Element('SPAN',{'class':'bar',html:b}).inject(n);this.adjustState(n);this.adjustState(a);return n},getPad:function(a){if(this.isRoot(a))return this.root;return this.hasChild(a)?a.lastChild:new Element('DIV',{'class':'pad'}).inject(a)},getBar:function(a){return a.getElement('.bar')},remove:function(a){if(this.isRoot(a))this.root.empty();a.dispose()},clear:function(a){this.selected=this.root;if(this.isRoot(a))return this.root.empty();if(this.hasChild(a)){this.getPad(a).dispose();this.adjustState(a)}},expand:function(a){if(this.hasChild(a)){var b=this.getPad(a);b.style.display=b.style.display=='none'?'':'none';this.adjustState(a)}},adjustState:function(a){if(this.isRoot(a))return;var b=!this.hasChild(a)?'end':(!this.isExpanded(a)?'col':'exp');a.getElement('.hit').set('class','hit '+b)},hasChild:function(a){return a.childNodes.length>2},isRoot:function(a){return!a||a==this.root},isExpanded:function(a){return(this.hasChild(a)&&this.getPad(a).style.display!='none')},_select:function(a){if(!this.isRoot(this.selected))this.getBar(this.selected).removeClass('active');this.selected=a;if(!this.isRoot(a))this.getBar(a).addClass('active');this.fireEvent('changed',[this,this.selected])},_click:function(a){var b=$(new Event(a).target);var c=b.hasClass('hit');b=c?b:b.getParent('.bar');if(!b)return;var d=b.getParent();if(c||!this.isExpanded(d))this.expand(d);if(!c)this._select(d)}});
var listView=new Class({Implements:[Options,Events],initialize:function(a){this.setOptions(a);this.root=$(a.id)||new Element('DIV',{'class':'lv'});if($(a.parent))$(a.parent).adopt(this.root);this.root.addEvent('click',this._click.bind(this));this.selected=null},addItem:function(a){return new Element('DIV',{'class':'item',html:a}).inject(this.root).addHover()},clear:function(){this.root.empty();this.selected=null},select:function(a){this._select(a>=0&&a<this.root.childNodes.length?this.root.childNodes[a]:null)},_select:function(a){if(this.selected)this.selected.removeClass('active');this.selected=a;if(a)a.addClass('active');this.fireEvent('changed',[this,this.selected])},_click:function(a){var b=$(new Event(a).target);var c=b.hasClass('item')?b:b.getParent('.item');if(c)this._select(c)}});
var sheetGroup=new Class({Implements:[Options],options:{changeSheet:$empty},initialize:function(a){this.setOptions(a);this.lastActived=null;this.lastActivedId=null;this.activedSheet=null;this.activedId=null;this.pane=$(a.id)||new Element('DIV',a.pane||{'class':'page'});if($(a.parent))$(a.parent).adopt(this.pane);if(a.activedId)this.active(a.activedId)},append:function(a){var b=new Element('DIV',{'id':a,'class':'sheet','style':'display: none'});this.pane.adopt(b);return b},remove:function(a){$(a).dispose();if(this.activedId==a)this.activedId=null},active:function(a,b){if(a==-1)a=this.lastActivedId;if(!a)return;if(!b&&a==this.activedId)return;var c=$(a);if(!c){c=this.append(a);this.options.changeSheet('init',a,c)}if(this.activedSheet)this.activedSheet.setStyle('display','none');this.lastActivedId=this.activedId;this.lastActived=this.activedSheet;this.activedId=a;this.activedSheet=c;if(this.activedSheet)this.activedSheet.setStyle('display','');this.options.changeSheet('update',a,c)}});
var uploadForm=new Class({Implements:[Events,Options],options:{exts:['jpg','gif','png','rar','zip','pdf','doc','ppt','xls'],limit:4},initialize:function(a){this.setOptions(a);if(a.parent)this.render();$(a.form).addEvent('submit',this._submit.bind(this));$(a.form).addEvent('reset',this._reset.bind(this));$(a.iframe).addEvent('load',this._complete.bind(this));$(a.form).getElement('.cancel').addEvent('click',this._cancel.bind(this))},render:function(){var a='<iframe id="{iframe}" name="{iframe}" style="display:none" src="about:blank"></iframe>'+'<form id="{form}" action="{action}" target="{iframe}" method="post" enctype="multipart/form-data">'+'<div>\u53ef\u4ee5\u4e0a\u4f20\u7684\u6587\u4ef6\u7c7b\u578b\u6709\u201c'+this.options.exts.join(' ')+'\u201d\u7b49\uff0c\u5927\u5c0f\u4e0d\u80fd\u8d85\u8fc7\u0020'+this.options.limit+'\u004d\u3002</div>'+'<div class="step1">'+'\u6587\u4ef6\u540d:&nbsp; <input name="f0" size="40" class="pickfile" type="file" /> '+'<input type="submit" class="ok" value="\u5f00\u59cb\u4e0a\u4f20" />'+'</div>'+'<p class="step2 loading" style="display: none">'+'\u6b63\u5728\u4e0a\u4f20\u6587\u4ef6\uff0c\u53ef\u80fd\u4f1a\u9700\u8981\u4e00\u70b9\u65f6\u95f4... '+'<input type="reset" class="cancel" value="\u53d6\u6d88\u4e0a\u4f20" />'+'</p>'+'</form>';var b=this.options.html;if(!b)b=a.substitute(this.options);$(this.options.parent).innerHTML=b},_submit:function(a){a=new Event(a);var b=$(this.options.form);var c=b.getElement('input[type=file]').value.toLowerCase();var d=c.substr(c.lastIndexOf('.')+1);if(c.length==0||this.options.exts.indexOf(d)<0){alert('\u8bf7\u9009\u62e9\u5141\u8bb8\u4e0a\u4f20\u7684\u6587\u4ef6\u3002 ');a.stop();return false};this.localFileName=c.substring(c.lastIndexOf('\\')+1,c.lastIndexOf('.'));this._changeState(false)},_reset:function(){this._changeState(true)},_cancel:function(){$(this.options.iframe).contentWindow.location.href='about:blank'},_changeState:function(a){var b=$(this.options.form);b.getElement('.step1').show(a);b.getElement('.step2').show(!a)},_complete:function(){$(this.options.form).reset();var a=$(this.options.iframe);var b=$try(function(){return a.contentWindow.document.body.innerHTML})||'';if(b.length<10||b.length>255)return;this.success(b,this.localFileName)},success:function(a,b){this.fireEvent('complete',[a,b])}});var uploadPane=new Class({Extends:uploadForm,initialize:function(a){this.parent(a);this.renderExt()},renderExt:function(){var a=$(this.options.parent);this.thumbPane=new Element('DIV',{'class':'thumbs'}).inject(a,'top').addEvent('click',this.clickThumb.bind(this))},success:function(a,b){this.addThumb(a,b)},addThumb:function(a,b){var c=a.substr(a.lastIndexOf('.')).toLowerCase();var d=['.gif','.jpg','.png'].indexOf(c);var e=d<0?this.options.icon:a;this.thumbPane.adopt(new Element('IMG',{src:e,title:b,_url:a,_tag:d}));this.thumbPane.scrollLeft=this.thumbPane.scrollWidth},clickThumb:function(a){new Event(a).stop();var b=a.target;if(b.tagName=='IMG'){var c={url:b.get('_url'),title:b.title,ico:b.src,tag:b.get('_tag')};var d=c.tag<0?'<img src="{ico}"/><a href="{url}">\u4e0b\u8f7d: {title}</a>':'<img src="{ico}" title="{title}" />';this.fireEvent('select',[d.substitute(c),c])}}});
var pageSpin=new Class({Implements:[Options,Events],options:{label:'\u9875\u6b21: {Page}/{PageCount}, \u5171 {RecCount} \u6761',len:10},initialize:function(a){this.setOptions(a);delete this.options.range;this.pane=($(a.id)||new Element('DIV',{'class':'paging'})).addEvent('click',this._clickAction.bind(this));if($(a.parent))$(a.parent).adopt(this.pane);var b='<span></span>';for(var i=0;i<this.options.len+2;i++)b+='<a href="#" hidefocus="true" class="spot" style="display: none"></a>';b+='<a href="#" class="sim" style="display: none"></a><a href="#" hidefocus="true" class="gop">\u25ba</a><span class="jmp" style="display: none">\u7b2c<input size="5" title="\u8bf7\u8f93\u5165\u8981\u8f6c\u5230\u7684\u9875\u7801\u5e76\u6309\u56de\u8f66\u952e"/>\u9875</span>';this.pane.set('html',b);this.label=this.pane.firstChild;this.spot=this.pane.getElements('a[class=spot]');this.jumpspot=this.pane.getElement('.gop');this.jump=this.pane.getElement('.jmp');this.jumpbox=this.pane.getElement('input').addEvent('keydown',this._jump.bind(this));this.sim=this.pane.getElement('.sim');if(a.range)this.update(a.range)},setcmd:function(a){this.options.cmd=a},update:function(a){this.range=$extend({},a);if(!a.PageCount)this.range.PageCount=Math.ceil(a.RecCount/a.PageSize);this.label.innerHTML=this.options.label.substitute(this.range);this.adjust(a.Page);this.jumpbox.set('value',a.Page)},adjust:function(p){var c=Math.floor((p-1)/this.options.len);var d=this.options.len;this.spot.each(function(a,b){var p=c*d+b;if(this.options.cmd)a.set('cmd',this.options.cmd);a.set('_spin',p);a.set('html',b==0||b==d+1?'...':p);a.setStyle('display',p<1||p>this.range.PageCount?'none':(this.options.len>0?'':'none'));a[p==this.range.Page?'addClass':'removeClass']('active')}.bind(this));if(this.options.cmd)this.sim.set('cmd',this.options.cmd).set('_spin',-1)},_jump:function(a){a=new Event(a);if(a.key=='enter'){a.stop();var p=this.jumpbox.value.toInt();if(isNaN(p)||p==this.range.Page||p<1||p>this.range.PageCount){this.jumpbox.value=this.range.Page;return};if(this.options.cmd){this.sim.set('_spin',p).triggerClick()}else{this.adjust(p);this._change(p)}}},_clickAction:function(a){a=new Event(a);var b=$(a.target);if(b.hasClass('gop')){a.stop();this.jump.toggle();return};var c=this.spot.indexOf(b);if(c<0)return;var p=b.get('_spin');if(this.options.cmd&&(c>0&&c<this.spot.length-1))return;a.stop();if(c==0||c==this.spot.length-1)return this.adjust(p);this._change(p)},_change:function(p){this.range.Page=p;this.update(this.range);this.fireEvent('changed',p)}});
var rankVote=new Class({Implements:[Options,Events],options:{span:5,pad:true,actived:true},initialize:function(b){this.setOptions(b);this.span=[];for(var i=1;i<=this.options.span;i++){var c=new Element('span',{'class':'heart','style':'display:none','value':i}).inject(b.parent);this.span.push(c);if(this.options.actived){c.addEvents({'mouseenter':function(a){this.adjust($(new Event(a).target).get('value'))}.bind(this),'mouseleave':function(a){this.adjust(this.lastValue)}.bind(this),'click':function(a){var p=$(new Event(a).target).get('value');this.adjust(p);this.fireEvent('click',[this,p])}.bind(this)})}};this.update(b.value||0)},update:function(a){this.value=a;this.lastValue=a;this.adjust(a)},adjust:function(c){this.span.each(function(a,b){if(b+1<=c)a.show().removeClass('off');else a.show(this.options.pad).addClass('off')},this)}});
var commentView=new Class({Implements:[Options,Events],initialize:function(a){this.setOptions(a);this.pane=$(a.parent);this.pane.addEvent('click',this.handleClick.bind(this));this.grid=new Element('DIV',{'class':'grid'}).inject(this.pane);this.spin=new pageSpin({parent:this.pane,cmd:a.cmd,onChanged:a.onChanged});this.board=new Element('DIV',{'class':'board'}).inject(this.pane);this.options.initBoard(this.board)},addRow:function(a,b){var c=new Element('DIV',{'class':'row','_id':a[this.options.id_name],html:this.options.getRowHtml(a)});if(b){var d=b=='top'?this.grid.firstChild:b.nextSibling;this.grid.insertBefore(c,d);c.highlight()}else this.grid.adopt(c)},appendRow:function(a){if(!this.row)this.grid.scrollIntoView(true);this.addRow(a,this.row||'top');this.moveBoard()},findRow:function(a){return this.grid.getElement('.row[_id='+a+']')},removeRow:function(a){this.moveBoard();var b=this.findRow(a);if(b)b.dispose()},moveBoard:function(a){this.row=a;this.board.getElement('.cancel').setStyle('display',a?'':'none');if(a){a.highlight().getElement('.inner').adopt(this.board);this.board.scrollIntoView(false)}else this.pane.adopt(this.board);var b=this.board.getElement('input[name='+this.options.pid_name+']');if(b)b.value=a?a.get('_id'):'0';this.fireEvent('moveBoard',a)},handleClick:function(a){var b=new Event(a).target;var c=b.getAttribute('cmd');if(c=='Reply'){this.moveBoard($(b).hasClass('cancel')?null:b.getParent('.row'));a.stop()};if(c=='Reload'){this.spin.fireEvent('changed',1);a.stop()}},update:function(b,c){this.empty();this.show(true);b.each(function(a){this.addRow(a)},this);this.spin.update(c)},show:function(a){this.pane.show(a)},empty:function(){this.moveBoard();this.grid.empty();return this.grid},getIndent:function(){if(this.row){var a=this.row.getElement('[_indent]');if(a)return a.get('_indent').toInt()+1}return 0}});
var topicView=new Class({Implements:[Options],initialize:function(a){this.setOptions(a);this.pane=$(a.parent);this.grid=new Element('DIV',{'class':'grid'}).inject(this.pane);this.spin=new pageSpin({parent:this.pane,cmd:a.cmd,onChanged:a.onChanged})},addRow:function(a,b){var c=new Element('DIV',{'class':'row','_id':a[this.options.id_name]});c.set('html',this.options.getRowHtml(a,c));if(b){var d=b=='top'?this.grid.firstChild:b.nextSibling;this.grid.insertBefore(c,d)}else this.grid.adopt(c);return c},findRow:function(a){return this.grid.getElement('div[_id='+a+']')},findSibling:function(a,b){var c=this.findRow(a);if(!c)return-1;var d=c[b+'Sibling'];return d?d.get('_id'):0},removeRow:function(a){var b=this.findRow(a);if(b)b.dispose()},update:function(b,c){b.each(function(a){this.addRow(a)},this);if(c)this.spin.update(c)}});
