var isMsIE=/msie/.test(navigator.userAgent.toLowerCase())&&!/opera/.test(navigator.userAgent.toLowerCase());var xClass=function(){var obj=function(){if(this.__const)this.__const.apply(this,arguments);}
if(arguments[0])xClass.extend(obj.prototype,arguments[0]);return obj;}
xClass.extend=function(superClass){var obj=superClass;for(var i=1;i<arguments.length;i++){if(arguments[i]){for(var x in arguments[i]){obj[x]=arguments[i][x];}}}
return obj;}
var xEvent={register:function(oEl,sEvent,pFunc){oEl=_$(oEl);if(oEl.addEventListener){oEl.addEventListener(sEvent,pFunc,false);}else if(oEl.attachEvent){oEl.attachEvent('on'+sEvent,pFunc);}},unregister:function(oEl,sEvent,pFunc){oEl=_$(oEl);if(oEl.removeEventListener){oEl.removeEventListener(sEvent,pFunc,false);}else if(oEl.detachEvent){oEl.detachEvent('on'+sEvent,pFunc);}},ready:function(evt){var e=evt||window.event;var b=document.body;xClass.extend(e,{element:e.target||e.srcElement,page_x:e.pageX||e.clientX+b.scrollLeft-b.clientLeft,page_y:e.pageY||e.clientY+b.scrollTop-b.clientTop,key:{alt:e.altKey,ctrl:e.ctrlKey,shift:e.shiftKey,up:[38,104].has(e.keyCode),down:[40,98].has(e.keyCode),left:[37,100].has(e.keyCode),right:[39,102].has(e.keyCode),enter:(e.keyCode==13)},mouse:{left:(e.which&&e.button==0)||!!(e.button&1),middle:(e.which&&e.button==1)||!!(e.button&4),right:(e.which&&e.button==2)||!!(e.button&2)},stop:function(){if(this.preventDefault){this.preventDefault();this.stopPropagation();}else{this.returnValue=false;this.cancelBubble=true;}}});return e;}}
var xElement={show:function(){[].load(arguments).each(function(v){_$(v).style.display='';});},hide:function(){[].load(arguments).each(function(v){_$(v).style.display='none';});},toggle:function(){[].load(arguments).each(function(v){xElement[xElement.visible(v)?'hide':'show'](v)});},visible:function(oEl){return(_$(oEl).style.display!='none');},realPos:function(oEl){if(oEl.offsetParent){var p=this.realPos(oEl.offsetParent);return{top:oEl.offsetTop+p.top,left:oEl.offsetLeft+p.left};}else{return{top:oEl.offsetTop,left:oEl.offsetLeft};}},getCSS:function(oEl,name){return oEl.style[name];},setCSS:function(oEl,css){xClass.extend(oEl.style,css);},hasClass:function(oEl,className){return _$(oEl).className.split(/\s+/).has(className);},addClass:function(oEl,className){if(!this.hasClass(oEl,className))(_$(oEl).className+=' '+className).replace(/^\s+/,'');},removeClass:function(oEl,className){_$(oEl).className=_$(oEl).className.replace(new RegExp('(^|\s+)'+className+'($|\s+)','g'),'');}}
xClass.extend(Array.prototype,{has:function(value){for(var i=0;i<this.length;i++){if(this[i]==value)return true;}
return false;},load:function(obj){for(var i=0;i<obj.length;i++){this.push(obj[i]);}
return this;},each:function(iter){for(var i=0;i<this.length;i++){iter(this[i],i);}},filter:function(iter){var ret=[];for(var i=0;i<this.length;i++){if(iter(this[i],i))ret.push(this[i]);}
return ret;},map:function(iter){for(var i=0;i<this.length;i++){this[i]=iter(this[i],i);}},refuse:function(value){return this.filter(function(v){return v!=value});}});xClass.extend(Function.prototype,{bind:function(obj){var f=this,a=[].load(arguments);a.shift();return function(){return f.apply(obj,a);}},bindForEvent:function(obj){var f=this;return function(e){return f.call(obj,xEvent.ready(e));}}});function _$(){var ret=[];for(var i=0;i<arguments.length;i++){if(typeof arguments[i]=='string'){ret.push(document.getElementById(arguments[i]));}else{ret.push(arguments[i]);}}
return ret[1]?ret:ret[0];}
function _$c(tag){return document.createElement(tag);}
document.getElementsByClassName=function(className,oParent){var a=[].load((_$(oParent)||document.body).getElementsByTagName('*'));var r=new RegExp('(^|\\s)'+className+'($|\\s)');return a.filter(function(v){return r.match(v.className);});}
var Selectbox=xClass({__const:function(id){var s=this._source=_$(id);this.options=xClass.extend({fontSize:s.style.fontSize?s.style.fontSize:12,fontWeight:s.style.fontWeight?s.style.fontWeight:'',listSize:10,className:'xselect',borderActive:true,borderColor:'#CACACA',optTxtColor:'#333333',optBgColor:'#FFFFFF',optTxtHover:'#333333',optBgHover:'#F3F3F3',offsetWidth:s.offsetWidth},arguments[1]);var o=this.options;var e=this._element=_$c('input');var c=e;c.type='button';c.value=s.options[s.selectedIndex].text;this._arrowParent=c;var p=xElement.realPos(this._source);this._source.parentNode.insertBefore(e,s);this._source.style.display='none';if(o.borderActive){e.style.border='1px solid '+o.borderColor;}
xElement.setCSS(c,{fontSize:o.fontSize,overflow:'hidden',cursor:'default',padding:isMsIE?'3px 21px 1px 1px':'3px 23px 3px 3px',outline:'none',textAlign:'left',margin:0,fontWeight:o.fontWeight,width:o.offsetWidth>0?o.offsetWidth+20+'px':'auto',background:o.optBgColor+' url(http://static.billwang.net/public/xselect.gif) no-repeat 100% 50%'});c.className=o.className;c.onmousedown=this.onmousedown.bindForEvent(this);c.onmouseup=this.onmouseup.bind(this);this._list_element=document.body.appendChild(_$c('div'));xElement.setCSS(this._list_element,{position:'absolute',border:'1px solid '+o.borderColor,display:'none',overflow:'auto',overflowX:'hidden',fontFamily:"'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti !important",fontSize:o.fontSize,fontWeight:o.fontWeight});this._list_element.onmousedown=this.onscrollbar.bindForEvent(this);this.paint();this._event_onmousedown=this.onmousedown.bindForEvent(this);},onmousedown:function(e){if(!xElement.visible(this._list_element)){var p=xElement.realPos(this._element);this.paint();xElement.show(this._list_element);if(this._list_element.offsetWidth<this._element.offsetWidth){this._list_element.style.width=this._element.offsetWidth-2+'px';};if(!isMsIE&&this._list_element.offsetHeight>180)
{this._list_element.style.height=180+'px';}
xElement.setCSS(this._list_element,{top:p.top+this._element.offsetHeight-1+'px',left:p.left+'px',zIndex:1000});}else{xElement.hide(this._list_element);xEvent.unregister(document.body,'mousedown',this._event_onmousedown);}},onmouseup:function(){if(xElement.visible(this._list_element)){xEvent.register(document.body,'mousedown',this._event_onmousedown);}},onselect:function(e){var el=e.element,o=this.options,s=this._source;s.selectedIndex=el._index;this._arrowParent.value=s.options[s.selectedIndex].text;this.onmousedown();if(this._source.onchange){this._source.onchange();}},onover:function(e){var el=e.element,c=[].load(el.parentNode.childNodes),i=el._index,o=this.options;c.map(function(v){if(!v.className){v.style.color=o.optTxtColor;v.style.background=o.optBgColor;}
return v;});if(!el.className){el.style.color=o.optTxtHover;el.style.background=o.optBgHover;}},onscrollbar:function(e){e.stop();},paint:function(){var o=this.options,s=this._source,op;this._list_element.innerHTML='';this._list_element.style.width='';this._list_element.style.height='';for(var i=0;i<s.options.length;i++){op=this._makeOption(s.options[i].value,s.options[i].text);op._index=i;if(s.options[i].className)
{xElement.addClass(op,s.options[i].className);xElement.setCSS(op,{padding:'2px 5px',cursor:'default'});}
else
{xElement.setCSS(op,{padding:'2px 5px',cursor:'default',color:(i==this._source.selectedIndex)?o.optTxtHover:o.optTxtColor,background:(i==this._source.selectedIndex)?o.optBgHover:o.optBgColor});}
if(!op.style.background)
{op.style.background=(i==this._source.selectedIndex)?o.optBgHover:o.optBgColor}
this._list_element.appendChild(op);}
var old_display=this._list_element.style.display;xElement.show(this._list_element);if((this._list_element.offsetHeight-2)>op.offsetHeight*o.listSize){this._list_element.style.height=op.offsetHeight*o.listSize;}
this._list_element.style.display=old_display;},reWidth:function(newWidth){this._arrowParent.style.width=newWidth;this._element.style.width=newWidth;},_makeOption:function(value,text){var o=_$c('div'),t=this;o._value=value;o.appendChild(document.createTextNode(text));xEvent.register(o,'mouseover',this.onover.bindForEvent(this));xEvent.register(o,'mousedown',this.onselect.bindForEvent(this));return o;}});var xCSSSelect=[];function setCSSSelcet(obj){var obj_selDiv=obj;if(obj_selDiv){var obj_selEA=obj_selDiv.getElementsByTagName("select")
for(i=0;i<obj_selEA.length;i++){if(!obj_selEA[i].multiple){xCSSSelect.push(new Selectbox(obj_selEA[i]));}}}}