var custom_handlers_init=false;var original_function_u=null;var original_function_c=null;var original_function_m=null;var original_function_o=null;var active_select_options=null;var cancel_options_hide=false;var custom_scrolls=new Array();var custom_selects=new Array();var custom_radios=new Array();var custom_radios_convert=new Array();var custom_buttons=new Array();function CustomScroll(element,file){if(typeof(element)!="object"){element=document.getElementById(element);} if(element.id==null||element.id==""){var length=0;for(var key in custom_scrolls){length++;} element.id="custom_scroll_"+length;} this.id=element.id;this.full_content=element;this.dimensions=[0,0,0];this.constructed=false;this.elem_counter=1;this.scroll_timer=null;this.ratio=0;this.button_height=0;this.scroll_cursor_pos=[0,0];this.act_scroll_pos=0;this.dragging=false;this.dragging_point=0;this.texture="/_img/customize/scroll.png";if(typeof(file)!="undefined"){this.texture=file;} this.construct=function(){setCustomizeHandlers();this.full_content.style.overflow="hidden";this.dimensions=this.getScrollDimensions();this.createElements();this.full_content.onmousewheel=function(e){var obj=custom_scrolls[this.id];if(!e){e=window.event;} obj.wheelScroll(e);return false;};if(window.addEventListener){this.full_content.addEventListener('DOMMouseScroll',function(e){if(!e){e=window.event;} var obj=custom_scrolls[this.id];obj.wheelScroll(e);if(e.preventDefault){e.preventDefault();} e.returnValue=false;return false;},false);} this.resize();custom_scrolls[this.id]=this;this.constructed=true;} this.createElements=function(){var scroll=this.createElement('DIV',true);var bar=this.createElement('DIV',false);var m_scroll=this.createElement('DIV',false);var t_btn=this.createElement('DIV',false);var m_btn=this.createElement('DIV',false);var b_btn=this.createElement('DIV',false);var t_part=this.createElement('DIV',false);var b_part=this.createElement('DIV',false);scroll.className="custom_scroll_content";bar.className="custom_scroll_v";m_scroll.className="m_layer";t_btn.className="t_btn";m_btn.className="m_btn";b_btn.className="b_btn";t_part.className="t_part";b_part.className="b_part";t_btn.style.background="url('"+this.texture+"') no-repeat";b_btn.style.background="url('"+this.texture+"') 0 -16px no-repeat";m_btn.style.background="url('"+this.texture+"') -16px 0 repeat-y";bar.style.background="url('"+this.texture+"') -32px 0 repeat-y";t_part.style.background="url('"+this.texture+"') 0 -32px no-repeat";b_part.style.background="url('"+this.texture+"') 0 -37px no-repeat";m_btn.onmousedown=function(e){var id=this.id.split("_");id.pop();var obj=custom_scrolls[id.join("_")];obj.dragScroll(e);return false;};b_btn.onmousedown=function(){var id=this.id.split("_");id.pop();var obj=custom_scrolls[id.join("_")];obj.scrollDown();return false;};t_btn.onmousedown=function(){var id=this.id.split("_");id.pop();var obj=custom_scrolls[id.join("_")];obj.scrollUp();return false;};if(typeof(t_part.innerHTML)!="undefined"){t_part.innerHTML=" ";} if(typeof(b_part.innerHTML)!="undefined"){b_part.innerHTML=" ";} if(typeof(t_btn.innerHTML)!="undefined"){t_btn.innerHTML=" ";} if(typeof(b_btn.innerHTML)!="undefined"){b_btn.innerHTML=" ";} while(this.full_content.hasChildNodes()){scroll.appendChild(this.full_content.firstChild.cloneNode(true));this.full_content.removeChild(this.full_content.firstChild);} m_btn.appendChild(t_part);m_btn.appendChild(b_part);m_scroll.appendChild(m_btn);bar.appendChild(t_btn);bar.appendChild(m_scroll);bar.appendChild(b_btn);this.full_content.appendChild(scroll);this.full_content.appendChild(bar);this.scroll_content=scroll;this.track=m_scroll;this.scroll_button=m_btn;this.scroll_bar=bar;this.scroll_content.style.width=(this.dimensions[0]-21)+"px";} this.reset=function(){if(this.constructed){this.scroll_content.scrollTop=0;this.scroll_button.style.margin="0 0 0 0";this.act_scroll_pos=0;this.resize();}} this.resize=function(){var height=this.dimensions[1];var width=this.dimensions[0];var maxScroll=(this.scroll_content.scrollHeight-height);var c_height="100%";if(height==67){c_height="67px";} if(maxScroll>1){this.button_height=(height-32)/(this.scroll_content.scrollHeight/height);if(this.button_height<10){this.button_height=10;} var maxMargin=(this.dimensions[1]-32)-this.button_height;this.ratio=maxScroll/maxMargin;this.scroll_content.style.width=(width-21)+"px";this.scroll_content.style.height=c_height;this.scroll_bar.style.height=height+"px";this.scroll_bar.style.margin="-"+height+"px 0 0 "+(width-16)+"px";this.scroll_bar.style.display="block";this.track.style.height=(height-32)+"px";this.scroll_button.style.height=(this.button_height)+"px" if(this.scroll_content.scrollTop>0){this.fixPosition(this.scroll_content.scrollTop);}}else{this.scroll_content.style.width=(width-21)+"px";this.scroll_content.style.height=c_height;this.scroll_bar.style.height="1px";this.scroll_bar.style.margin="0";this.scroll_bar.style.display="none";}} this.fixPosition=function(scroll){if(this.scroll_content.scrollTop>0){var pos=this.scroll_content.scrollTop/this.ratio;this.scrollTo(pos);}} this.createElement=function(nodename,select){var elem=document.createElement(nodename);elem.id=this.id+"_"+this.elem_counter;elem.style.display="block";if(!select){elem.onselectstart=function(){return false;} elem.onmousedown=function(){return false;}} this.elem_counter++;return elem;} this.scrollUp=function(){this.scroll(-1);this.scroll_timer=setInterval("custom_scrolls['"+this.id+"'].scroll(-1);",100);} this.scrollDown=function(){this.scroll(1);this.scroll_timer=setInterval("custom_scrolls['"+this.id+"'].scroll(1);",100);} this.stopScroll=function(){if(this.scroll_timer!=null){clearInterval(this.scroll_timer);} this.scroll_timer=null;this.dragging=false;} this.scroll=function(dist){var maxMargin=(this.dimensions[1]-32)-this.button_height;var val=this.act_scroll_pos+dist;if(val<0){val=0;} if(val>maxMargin){val=maxMargin;} this.scrollTo(val);} this.scrollTo=function(val){var height=this.dimensions[1];var width=this.dimensions[0];var maxMargin=(height-32)-this.button_height;if(val<0){val=0;} if(val>maxMargin){val=maxMargin;} this.act_scroll_pos=val;this.scroll_content.scrollTop=this.act_scroll_pos*this.ratio;this.scroll_button.style.margin=val+"px 0 0 0";} this.scrollBy=function(val){val=this.act_scroll_pos+val;this.scrollTo(val);} this.dragScroll=function(e){if(e==null){e=window.event};this.scroll_cursor_pos=[e.clientX,e.clientY];this.dragging_point=this.act_scroll_pos;this.dragging=true;} this.scrollDragMove=function(e){if(this.dragging){if(e==null){e=window.event};var pos=[e.clientX,e.clientY];var dist=this.dragging_point+(pos[1]-this.scroll_cursor_pos[1]);this.scrollTo(dist);}} this.wheelScroll=function(e){var delta=0;if(e.wheelDelta){delta=e.wheelDelta/120;}else if(e.detail){delta=-e.detail/3;} this.scrollBy((-delta)*(this.ratio*5));} this.getScrollDimensions=function(){var width=0;var height=0;width=getRenderedWidth(this.full_content);height=getRenderedHeight(this.full_content);if(width<30){width=30;} if(height<67){height=67;} return[width,height];} this.construct();} function setCustomizeHandlers(){if(!custom_handlers_init){original_function_u=document.onmouseup;original_function_c=document.onclick;original_function_m=document.onmousemove;original_function_o=window.onload;document.onmouseup=cancelActionU;document.onclick=cancelActionC;document.onmousemove=scrollDragMove;window.onload=onloadReset;} custom_handlers_init=true;} function onloadReset(e){for(var key in custom_scrolls){if(typeof(custom_scrolls[key].fixPosition)!="undefined"){custom_scrolls[key].fixPosition();}} if(typeof(original_function_o)=="function"){return original_function_o(e);}else{}} function scrollDragMove(e){for(var key in custom_scrolls){if(typeof(custom_scrolls[key].scrollDragMove)!="undefined"){custom_scrolls[key].scrollDragMove(e);}} if(typeof(original_function_m)=="function"){return original_function_m(e);}else{}} function cancelActionU(e){for(var key in custom_scrolls){if(typeof(custom_scrolls[key].stopScroll)!="undefined"){custom_scrolls[key].stopScroll();}} if(typeof(original_function_u)=="function"){return original_function_u(e);}else{}} function cancelActionC(e){for(var key in custom_scrolls){if(typeof(custom_scrolls[key].stopScroll)!="undefined"){custom_scrolls[key].stopScroll();}} if(active_select_options!=null&&!cancel_options_hide){active_select_options.style.display="none";active_select_options=null;} cancel_options_hide=false;if(typeof(original_function_c)=="function"){return original_function_c(e);}else{}} function CustomSelect(elem,f_width){if(typeof(elem)!="object"){this.element=document.getElementById(elem);}else{this.element=elem;} this.id=null;if(this.element.id==null){return null;}else{this.id=this.element.id;} this.construct=function(f_width){this.height=getRenderedHeight(this.element);var w_const=5;var w_const2=5;if(navigator.appName=='Microsoft Internet Explorer'){var ua=navigator.userAgent;var re=new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");var rv=6;if(re.exec(ua)!=null){rv=parseFloat(RegExp.$1);} if(rv<=7){w_const=24;w_const2=10;}} if(f_width!=null){this.width=f_width;}else{this.width=this.element.clientWidth;} if(this.width==0||this.height==0){var clone=this.element.cloneNode(true);clone.style.position="absolute";clone.style.top="-500px";clone.style.left="-500px";clone.style.display="block";var body=document.getElementsByTagName('BODY')[0];body.appendChild(clone);if(this.width==0){this.width=clone.clientWidth+w_const2;} if(this.height==0){this.height=getRenderedHeight(clone);} body.removeChild(clone);} if(f_width==null){this.width+=w_const;} setCustomizeHandlers();this.container=document.createElement("DIV");this.options=document.createElement("DIV");this.label=document.createElement("A");var value="";for(var i=0;ithis.width){this.width=this.options.scrollWidth;} this.container.style.width=(this.width-2)+"px";this.container.style.minHeight=(this.height-2)+"px";this.label.style.width=(this.width-2)+"px";this.label.style.minHeight=(this.height-2)+"px";if(this.element.options.length>10){this.options.style.height=(10*(this.height-2))+"px";this.options.className+=" options_scroll";}else{this.options.className+=" options_noscroll";} this.options.style.width=(this.width-2)+"px";this.options.style.display="none";this.label.className="select_label";this.element.style.display="none";custom_selects[this.id]=this;} this.selectOption=function(i){this.element.selectedIndex=i;this.closeOptions();this.label.firstChild.firstChild.data=this.element.options[i].text;if(this.element.onchange!=null){this.element.onchange();}} this.openOptions=function(){for(var key in custom_selects){if(custom_selects[key]!=null&&typeof(custom_selects[key].closeOptions)!="undefined"){custom_selects[key].closeOptions();}} this.options.style.display="";active_select_options=this.options;if(this.element.onclick!=null){this.element.onclick();}} this.closeOptions=function(){this.options.style.display="none";this.options.scrollTop=0;active_select_options=null;} if(typeof(f_width)!="undefined"){this.construct(f_width);}else{this.construct(null);}} function CustomButton(elem){this.form=null;this.onclick=null;this.hidden=null;this.name="";this.value="";this.parentNode=null;this.submit=false;this.buildButton=function(orig,label){if(typeof(orig)=="string"){this.original=document.getElementById(orig);}else{this.original=orig;} if(typeof(label)=="undefined"){label=true;} var uid=this.original.id;if(uid==null||uid==""){var length=0;for(var key in custom_buttons){length++;} uid="custom_button_"+length;} var cls=this.original.className;if(cls!=""&&cls!=null){cls+=" ";}else{cls="";} cls+="customized";if(typeof(this.original.form)!="undefined"){this.form=this.original.form;} if(typeof(this.original.onclick)!="undefined"){this.onclick=this.original.onclick;} if(this.original.type=="submit"){this.submit=true;} this.original.id="original_"+this.original.id;this.name=this.original.name;this.value=this.original.value;this.parentNode=this.original.parentNode;this.element=document.createElement('LABEL');if(label){this.element.appendChild(document.createTextNode(this.original.value));}else{this.element.innerHTML=" ";} if(this.original.title!=""){this.element.title=this.original.title;} this.element.id=uid;this.element.className=cls;this.element.style.cursor="pointer";this.element.onclick=function(){customButtonClick(this.id);};custom_buttons[uid]=this;this.parentNode.insertBefore(this.element,this.original);this.original.style.display="none";} this.addHidden=function(){if(this.form!=null&&this.name!=null&&this.value!=null&&this.name!=""&&this.value!=""){this.parentNode.removeChild(this.original);this.hidden=document.createElement('INPUT');this.hidden.type="hidden";this.hidden.name=this.name;this.hidden.value=this.value;this.form.appendChild(this.hidden);}} this.removeHidden=function(){if(this.hidden!=null&&this.form!=null){this.form.removeChild(this.hidden);this.hidden=null;this.parentNode.appendChild(this.original);}} this.click=function(){var ret=true;if(this.onclick){ret=this.onclick();} if(ret!==false&&this.submit){this.addHidden();if(this.form!=null){if(this.form.onsubmit!=null){ret=this.form.onsubmit();} if(ret!==false){this.form.submit();}else{this.removeHidden();}}}} this.buildButton(elem);} function customButtonClick(id){custom_buttons[id].click();} function CustomRadio(radio){this.uid=null;this.elements=new Array();this.new_elements=new Array();if(typeof(radio)!="object"){radio=document.getElementById(radio);} this.form=radio.form;var counter=0;for(var i=0;i=0){if(elem.parentNode){var i=parseInt(width.replace("%",""))/100;width=i*getRenderedWidth(elem.parentNode)-padding;}else{width=elem.scrollWidth;}}else{width=parseInt(width.replace("px",""))-padding;}}else if(elem.parentNode){width=getRenderedWidth(elem.parentNode)-padding;}else{width=elem.scrollWidth;} return width;} function getRenderedHeight(elem){var height=getStyle(elem,"height");var padding=parseInt(getStyle(elem,"padding-top").replace("px",""))+parseInt(getStyle(elem,"padding-bottom").replace("px",""));if(height!=null&&height!="auto"){if(height.indexOf("%")>=0){if(elem.parentNode){var i=parseInt(height.replace("%",""))/100;height=i*getRenderedHeight(elem.parentNode)-padding;}else{height=elem.scrollHeight;}}else{height=parseInt(height.replace("px",""))-padding;}}else{height=elem.scrollHeight;} return height;} function getStyle(oElm,strCssRule){var strValue=null;if(typeof(document.defaultView)!="undefined"&&typeof(document.defaultView.getComputedStyle)!="undefined"){var style=document.defaultView.getComputedStyle(oElm,null);if(!window.opera&&typeof(style.getPropertyCSSValue)!="undefined"){strValue=style.getPropertyCSSValue(strCssRule).cssText;}else{strValue=style.getPropertyValue(strCssRule);}}else if(oElm.currentStyle){strCssRule=strCssRule.replace(/\-(\w)/g,function(strMatch,p1){return p1.toUpperCase();});strValue=oElm.currentStyle[strCssRule];} return strValue;}}