var e107Helper={KEY_TAB:9,KEY_ENTER:13,KEY_ESC:27,KEY_PAGE_UP:33,KEY_PAGE_DOWN:34,KEY_END:35,KEY_HOME:36,KEY_UP:38,KEY_DOWN:40,bodyhtml:"",logcount:0,addTextToField:function(txt,fieldid){$(fieldid).value=txt;expandit(fieldid+"_box")},confirmDelete:function(msg,loc){if(confirm(msg)){document.location=loc;return true;}else{return false;}},dialog:function(id,html,width,focus,key){var dialog=document.createElement("DIV");dialog.style.visibility="hidden";dialog.id=id;dialog.style.position='absolute';dialog.style.top='25px';dialog.innerHTML=html;dialog.style.zIndex='9999';if(typeof key!=undefined&&key!=null){dialog.onkeydown=function(ev){eval(key+"(ev)");};}
var mask=document.createElement("DIV");mask.id=id+"_mask";mask.style.position='absolute';mask.style.top='0px';mask.style.left='0px';mask.style.height='100%';mask.style.width=(e107HelperBrowser.isIE)?'110%':'100%';mask.style.backgroundColor='black';mask.style.zIndex='9998';document.body.appendChild(mask);document.body.appendChild(dialog);if(e107HelperBrowser.isIE){mask.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity=66)';}else{mask.style.opacity='0.66';}
var vpsize=e107HelperSize.getViewportSize();if(typeof width!="undefined"&&width!=null){dialog.style.width=width+'px';}
var left=(vpsize.width-dialog.offsetWidth)/2;var top=(vpsize.height-dialog.offsetHeight)/3;if(e107HelperBrowser.isIE){dialog.style.pixelTop=top;dialog.style.pixelLeft=left;}else{dialog.style.top=top+"px";dialog.style.left=left+"px";}
dialog.style.visibility="";mask.style.visibility="";if($(focus)&&$(focus).focus()){$(focus).focus();}},dialogKeyHandler:function(event,cancel_event,ok_event){var ev=e107HelperEvents.getEvent(event);var key=e107HelperEvents.getKeyCode(ev);var tgt=ev.srcElement;switch(key){case e107Helper.KEY_ENTER:{if(typeof tgt!="undefined"&&typeof tgt.type!="undefined"&&tgt.type!="button"){eval(ok_event);ev.returnValue=false;}
break;}
case e107Helper.KEY_ESC:{eval(cancel_event);ev.returnValue=false;break;}
default:ev.returnValue=true;return;}},killDialog:function(id){var el=$(id);if(el){document.body.removeChild(el)
el=$(id+"_mask");document.body.removeChild(el)}},storeBodyHTML:function(){this.bodyhtml=document.body.innerHTML;},restoreBodyHTML:function(){document.body.innerHTML=this.bodyhtml;},message:function(id,text){var msgdiv1=document.createElement("DIV");var msgdiv2=document.createElement("DIV");var msgdiv3=document.createElement("DIV");var br=document.createElement("BR");var button=document.createElement("INPUT");var msgdiv=document.createElement("DIV");e107HelperStyle.addClass(msgdiv1,"forumheader");e107HelperStyle.addClass(msgdiv2,"forumheader2");e107HelperStyle.addClass(msgdiv3,"forumheader3");e107HelperStyle.addClass(button,"button");msgdiv1.style.visibility="hidden";msgdiv1.style.position="absolute";msgdiv1.id=id;msgdiv3.style.margin="10px";msgdiv3.style.padding="10px";button.type="button";button.value="OK";button.style.textAlign="right";msgdiv.innerHTML=text;msgdiv3.appendChild(msgdiv);msgdiv2.appendChild(msgdiv3);msgdiv1.appendChild(msgdiv2);document.body.appendChild(msgdiv1);var vpsize=e107HelperSize.getViewportSize();var left=(vpsize.width-msgdiv1.offsetWidth)/2;var top=(vpsize.height-msgdiv1.offsetHeight)/3;if(e107HelperBrowser.isIE){msgdiv1.style.pixelTop=top;msgdiv1.style.pixelLeft=left;}else{msgdiv1.style.top=top+"px";msgdiv1.style.left=left+"px";}
msgdiv1.style.visibility="";},timedMessage:function(msg,msecs){this.message("e107HelperTimedMessage",msg)
if(msecs==null){msecs=2500;}
var timer=setTimeout(function(){var el=$("e107HelperTimedMessage");el.parentNode.removeChild(el);},msecs);},killmessage:function(id){var elem=$(id)
if(elem){elem.parentNode.removeChild(elem);}},tooltipTimeoutId:0,tooltipDisplay:function(evt,parent,id,html,clazz,minwidth,maxwidth){var vpsize=e107HelperSize.getViewportSize();var mousep=e107HelperEvents.getPosition(evt);this.tooltipTimeoutId=setTimeout(function tt(){if($(id)){this.log("Leaving e107Helper.tooltipDisplay():already displaying tooltip");return;}
evt=e107HelperEvents.getEvent(evt);var tooltip=document.createElement("DIV");tooltip.style.visibility="hidden";tooltip.id=id;tooltip.style.position='absolute';tooltip.innerHTML=unescape(html);tooltip.style.zIndex='-1';e107HelperStyle.addClass(tooltip,clazz);document.body.appendChild(tooltip);if(e107HelperBrowser.isIE){tooltip.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity=85)';}else{tooltip.style.opacity='0.85';}
var ttsize=e107HelperSize.getElementSize(tooltip);if(typeof minwidth!="undefined"&&minwidth>0&&ttsize.width<minwidth){tooltip.style.width=minwidth+"px";}
if(typeof maxwidth!="undefined"&&maxwidth>0&&ttsize.width>maxwidth){tooltip.style.width=maxwidth+"px";}
var ttsize=e107HelperSize.getElementSize(tooltip);ttsize.left=mousep.x-ttsize.width/2;ttsize.top=mousep.y-ttsize.height-6;ttsize.left=ttsize.left<0?0:ttsize.left;ttsize.top=ttsize.top<0?0:ttsize.top;ttsize.left=ttsize.left+ttsize.width>vpsize.width?vpsize.width-ttsize.width:ttsize.left;ttsize.top=ttsize.top<mousep.scrollY?mousep.scrollY:ttsize.top;if(e107HelperBrowser.isIE){tooltip.style.pixelLeft=ttsize.left;tooltip.style.pixelTop=ttsize.top;}else{tooltip.style.left=ttsize.left+"px";tooltip.style.top=ttsize.top+"px";}
tooltip.style.visibility="";tooltip.style.zIndex='9999';},1000);},tooltipMove:function(evt,id){var posx=0;var posy=0;if(e==null){e=window.event;}
if(e.pageX||e.pageY){posx=e.pageX;posy=e.pageY;}
else if(e.clientX||e.clientY){if(document.documentElement.scrollTop){posx=e.clientX+document.documentElement.scrollLeft;posy=e.clientY+document.documentElement.scrollTop;}else{posx=e.clientX+document.body.scrollLeft;posy=e.clientY+document.body.scrollTop;}}
$("btc").style.top=(posy+10)+"px";$("btc").style.left=(posx-20)+"px";},tooltipDestroy:function(evt,id){var tooltip=$(id);if(this.tooltipTimeoutId!=0){clearTimeout(this.tooltipTimeoutId);this.tooltipTimeoutId=0;}
if(tooltip){var ttsize=e107HelperSize.getElementSize(tooltip);var mousep=e107HelperEvents.getPosition(evt);if((ttsize.left<mousep.x&&mousep.x<ttsize.right)&&(ttsize.top<mousep.y&&mousep.y<ttsize.bottom))
{tooltip.onmouseout=function(){e107Helper.tooltipDestroy2(evt,id);};tooltip.onclick=function(){e107Helper.tooltipDestroy2(evt,id);};return;}
tooltip.parentNode.removeChild(tooltip);}
return;},tooltipDestroy2:function(evt,id){var tooltip=$(id);tooltip.parentNode.removeChild(tooltip);return;},setvalue:function(id,txt,append){if(typeof append=="string"&&append.length>0){if($(id).value.length>0){$(id).value=$(id).value+append+txt;}else{$(id).value=txt;}}else{$(id).value=txt;}},rateStars:function(path,prefix,id,what){var src=path+'/star_rating.gif';if(what){src=path+'/star_rating_selected.gif';}
for(var i=1;i<=id;i++){var obj=$(prefix+i);if(obj){obj.src=src;}}},editInline:function(fieldType,itemId,fieldName,jsfunc,prefix,postfix){this.logDebug("editInline(fieldType="+fieldType+", itemId="+itemId+", fieldName="+fieldName+", jsfunc="+jsfunc+")");var thespan="e107helper_"+fieldName;var thetextspan="e107helper_"+fieldName+"_text";var thehiddentextspan="e107helper_"+fieldName+"_hiddentext";var el=$(thehiddentextspan);if(!el){el=$(thetextspan);}
var oldText=el.firstChild.nodeValue;var newId=fieldName+"_input";var commonattribs="class='tbox' style='width:100%' id='"+newId+"'";var inlineField="";if(prefix.length>0){inlineField+=prefix;}
switch(fieldType){case"textarea":{inlineField+="<textarea "+commonattribs+" rows='3' onkeyup='resizeTextArea(this);'>
