
function OpenPopupWindow(theURL,winName,features){window.open(theURL,winName,features);}
function OpenSecurityWindow(url){smtools.permsWindow.setContentUrl(url);smtools.permsWindow.showCenter();}
function OpenFileEditorWindow(url){smtools.fileEditorWindow.setContentUrl(url);smtools.fileEditorWindow.showCenter();}
function OpenWindow(id,url)
{var win=Windows.getWindow(id);if(win!=null)
{if(url!=null)
{win.setContentUrl(url);}
win.showCenter();}
else
{alert('Window '+id+' not found!');}}
function GetUrlParameter(name)
{var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var tmpURL=window.location.href;var results=regex.exec(tmpURL);if(results==null)
return"";else
return results[1];}
function conf_go(string,actionStr){string3="Are you sure you want to "+actionStr+" this item?";if(confirm(string3)){window.location.href=string;}}
function confirmAjaxCall(string,call,args){if(confirm(string)){if(!call)
{alert('Function not found: '+call);return false;}
if(args)
{call(args,'');}
else
{call();}}}
function getForm(input)
{for(var i=0;i<document.forms.length;i++)
{f=document.forms[i];for(var x=0;x<f.elements.length;x++)
{if(f.elements[x].id==input)
{return f;}}}
return null;}
function checkTPSelections(input,options)
{form=getForm(input.id);if(form==null)
{alert('input element is not in a form.');return false;}
var good=false;len=form.elements.length;var vals='';for(var i=0;i<len;i++)
{var el=form.elements[i];if(el.checked&&(!options['checkboxName']||options['checkboxName']==el.name))
{vals+=','+el.value;good=true;}}
vals=vals.substr(1);if(!good)
{alert('No selection has been made');return false;}
if(options['confirm']!='')
{if(!confirm(options['confirm']))
{return false;}}
form.btnPressed.value=input.id;if(options['onclick']==null)
{form.submit();return true;}
var cmd=options['onclick']+'( input, \''+options['onreturn']+'\', vals );';eval(cmd);return true;}
function ToggleAll(formid,checked){form=document.getElementById(formid);if(form==null)
{alert('no form found: '+formid);return false;}
len=form.elements.length;for(var i=0;i<len;i++)
{form.elements[i].checked=checked;}}
function GetCheckBoxesValues(formid,checkboxname)
{var vals='';form=document.getElementById(formid);if(!form)
{alert('form not found: '+formid);return vals;}
len=form.elements.length;for(var i=0;i<len;i++)
{el=form.elements[i];if(el.name==checkboxname&&el.checked)
{vals+=','+form.elements[i].value;}}
vals=vals.substr(1);alert(vals);}
function ToggleCheckBoxes(formid,cb)
{ToggleAll(formid,cb.checked);}
function ToggleAllLinks()
{elements=document.getElementsByTagName("div");for(i=1;i<elements.length;i++)
{el=elements[i];if(el!=null&&el.className=="linkok")
{if(el.style.display=="block")
el.style.display="none";else
el.style.display="block";}}}
function EnableWindow(windowId)
{var el=document.getElementById(windowId);if(el)
{el.style.display='inline';}
return true;}
function HideWindow(windowId)
{var el=document.getElementById(windowId);if(el)
{el.style.display='none';}
return false;}
function MM_reloadPage(init){if(init==true)with(navigator){if((appName=="Netscape")&&(parseInt(appVersion)==4)){document.MM_pgW=innerWidth;document.MM_pgH=innerHeight;onresize=MM_reloadPage;}}
else if(innerWidth!=document.MM_pgW||innerHeight!=document.MM_pgH)location.reload();}
MM_reloadPage(true);function MM_findObj(n,d){var p,i,x;if(!d)d=document;if((p=n.indexOf("?"))>0&&parent.frames.length){d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p);}
if(!(x=d[n])&&d.all)x=d.all[n];for(i=0;!x&&i<d.forms.length;i++)x=d.forms[i][n];for(i=0;!x&&d.layers&&i<d.layers.length;i++)x=MM_findObj(n,d.layers[i].document);if(!x&&d.getElementById)x=d.getElementById(n);return x;}
function MM_showHideLayers(){var i,p,v,obj,args=MM_showHideLayers.arguments;for(i=0;i<(args.length-2);i+=3)if((obj=MM_findObj(args[i]))!=null){v=args[i+2];if(obj.style){obj=obj.style;v=(v=='show')?'visible':(v=='hide')?'hidden':v;}
obj.visibility=v;}}
var hide=true;function showhide(obj,lyr)
{var x=new getObj(lyr);hide=!hide;x.style.visibility=(hide)?'hidden':'visible';setLyr(obj,lyr);}
function setLyr(obj,lyr)
{var newX=findPosX(obj);var newY=findPosY(obj)+20;if(lyr=='testP')newY-=50;var x=new getObj(lyr);x.style.top=newY+'px';x.style.left=newX+'px';}
function findPosX(obj)
{var curleft=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curleft+=obj.offsetLeft
obj=obj.offsetParent;}}
else if(obj.x)
curleft+=obj.x;return curleft;}
function findPosY(obj)
{var curtop=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curtop+=obj.offsetTop
obj=obj.offsetParent;}}
else if(obj.y)
curtop+=obj.y;return curtop;}
function getObj(name)
{if(document.getElementById)
{this.obj=document.getElementById(name);this.style=document.getElementById(name).style;}
else if(document.all)
{this.obj=document.all[name];this.style=document.all[name].style;}
else if(document.layers)
{if(document.layers[name])
{this.obj=document.layers[name];this.style=document.layers[name];}
else
{this.obj=document.layers.testP.layers[name];this.style=document.layers.testP.layers[name];}}}
function editModule(id,url,version)
{if(url==''||url==null)
{url='htmleditor.php?a=edit&id='+id;if(version!=null)
url+='&version='+version;}
smtools.editorWindow.setContentUrl(url);smtools.editorWindow.showCenter();}
function RenameFile(oldFile,newFile)
{document.fmMenuForm.a.value='renameFile';document.fmMenuForm.renameFile.value=oldFile;document.fmMenuForm.renameFileNewName.value=newFile;document.fmMenuForm.submit();return true;}
function updateDD(sectionId,moduleId,prevId)
{if(smtools.ajaxMoveModule!=null)
{var cmd=smtools.ajaxMoveModule+'( sectionId, moduleId, prevId, "" );';eval(cmd);}
return true;}
function ToggleModuleButtons(id)
{var btns=document.getElementById('modulemenubtn'+id);if(btns.style.display!='none')
{btns.style.display='none';}
else
{btns.style.display='block';}}
function RefreshModule(id)
{smtools.moduleIdToReload=id;title=document.getElementById('moduleTitle'+id);if(title)
{title.innerHTML='Reloading...';}
smtools.ajaxRefreshModule(id);}
function AutoRefreshModule(jscron)
{jscron.stop();RefreshModule(jscron.args)}
function UpdateModuleContent(id,skipRefresh)
{if(smtools.editorWindow)
{smtools.editorWindow.hide();}
if(skipRefresh==null)
{smtools.refreshTimer=new JSCron(AutoRefreshModule,id,0);smtools.refreshTimer.start();}}
function ResetModuleDD(args)
{if(smtools.moduleIdToReload==null)
{alert('No module found.');return;}
var div=document.getElementById('module'+smtools.moduleIdToReload);if(div==null)
{alert('No module found.');return;}
div.innerHTML=args;dndMgr.registerDraggable(new Rico.Draggable('test-rico-dnd','module'+smtools.moduleIdToReload,'moduleMenu'+smtools.moduleIdToReload));smtools.moduleIdToReload=null;}
function ResetModuleContent(id,content)
{if(id==null)
{alert('No module found.');return;}
var div=document.getElementById('module'+id);if(div==null)
{alert('No module found.');return;}
div.innerHTML=content;dndMgr.registerDraggable(new Rico.Draggable('test-rico-dnd','module'+id,'moduleMenu'+id));}
var SM={Version:0.1,prototypeVersion:parseFloat(Prototype.Version.split(".")[0]+"."+Prototype.Version.split(".")[1])}
if((typeof Prototype=='undefined')||SM.prototypeVersion<1.3)
{throw("SiteManager requires the Prototype JavaScript framework >= 1.3");}
SM.Tools=Class.create();SM.Tools.prototype={initialize:function()
{this.ajaxMoveModule=null;this.ajaxRemoveModule=null;this.moduleToRemove=null;this.ajaxToolbarUpdate=null;this.sectionToAdd=null;this.ajaxAddModule=null;this.ajaxRefreshModule=null;this.moduleIdToReload=null;this.editorwindow=null;this.refreshTimer=null;this.permsWindow=null;this.fileEditorWindow=null;this.ajaxFileEditorSave=null;this.configWindow=null;this.editMenuWindow=null;},delModule:function(moduleId)
{if(!confirm('Are you sure you want to remove this module?'))
{return false;}
this.moduleToRemove=moduleId;if(this.ajaxRemoveModule!=null)
{var cmd=this.ajaxRemoveModule+'( moduleId );';eval(cmd);}
return true;},removeModuleDeleted:function(args)
{if(smtools.moduleToRemove==null)
{return;}
var moduleDiv=document.getElementById('module'+smtools.moduleToRemove);if(moduleDiv==null)
{alert('Module not found.');return;}
var section=moduleDiv.parentNode;if(section==null)
{alert('Invalid section');return;}
section.removeChild(moduleDiv);this.moduleToRemove=null;},addModuleToSection:function(args)
{if(smtools.sectionToAdd!=null)
{if(args.js!='')
{eval(args.js);}
smtools.sectionToAdd.innerHTML+=args.content;}
dndMgr.registerDraggable(new Rico.Draggable('test-rico-dnd',args.id,args.handle));},addModule:function(selBox,pageId,sectionName)
{this.sectionToAdd=document.getElementById('smsection_'+sectionName);if(this.ajaxAddModule!=null)
{var cmd=this.ajaxAddModule+'( selBox.value, pageId, sectionName );';eval(cmd);}
selBox.value=null;},EditMenuLink:function(menuId,linkId)
{this.editMenuWindow.showCenter();}}
var JSCron=Class.create();JSCron.prototype={initialize:function(callback,args,frequency){this.on=false;this.callback=callback;this.args=args;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},stop:function()
{this.on=false;},start:function()
{this.on=true;},onTimerEvent:function(){if(this.on&&!this.currentlyExecuting){try{this.currentlyExecuting=true;this.callback(this);}catch(e){this.on=false;throw e;}finally{this.currentlyExecuting=false;}}}}
function ToggleToolbar()
{var btn=document.getElementById('togglebtn');var toolbar=document.getElementById('adminToolbar');if(btn.className=='bon')
{btn.className='boff';toolbar.style.display='none';}
else
{btn.className='bon';toolbar.style.display='block';}
if(smtools.ajaxToolbarUpdate!=null)
{var cmd=smtools.ajaxToolbarUpdate+'( btn.className, "" );';eval(cmd);}}
function pausecomp(millis)
{date=new Date();var curDate=null;do{var curDate=new Date();}
while(curDate-date<millis);}
function handleEnterSubmission(field,evt){var keyCode=evt.which?evt.which:evt.keyCode;if(keyCode==13){field.form.submit();return false;}
else
return true;}
function renameBtnOnKeyDownHandler(evt,filename,field,nameDiv,fieldDiv){var keyCode=evt.which?evt.which:evt.keyCode;if(keyCode==13){RenameFile(filename,field.value);return false;}
else if(keyCode==27)
{CancelRenameFile(filename,field,nameDiv,fieldDiv);}
else
return true;}
function CancelRenameFile(filename,field,nameDiv,fieldDiv)
{field.value=filename;HideWindow(fieldDiv);EnableWindow(nameDiv);}
function SaveFileEditorContent(filename,field)
{if(smtools.ajaxFileEditorSave!=null)
{sajax_request_type="POST";var target_id='editorMsg';document.getElementById(target_id).innerHTML='Saving...';var cmd=smtools.ajaxFileEditorSave+'( filename, field.value, target_id );';eval(cmd);}}
function FileEditorContentChanged(status)
{if(status)
{document.getElementById('editorMsg').innerHTML='';document.getElementById('btnSaveFileEditor').disabled=false;}
else
{document.getElementById('btnSaveFileEditor').disabled=true;}}
function SubmitForm(form,action)
{if(action!=null)
{form.a.value=action;}
form.submit();}
function SubmitAjaxForm(form,ajaxCall)
{sajax_request_type='POST';for(i=0;i<form.elements.length;i++)
{var field=form.elements[i];switch(field.type)
{case'radio':if(field.checked)
{sajax_send_post_vars.push(form.elements[i].name+'='+escape(form.elements[i].value));}
break;case'checkbox':if(field.checked)
{sajax_send_post_vars.push(form.elements[i].name+'='+escape(form.elements[i].value));}
break;default:sajax_send_post_vars.push(form.elements[i].name+'='+escape(form.elements[i].value));break;}}
if(ajaxCall)
{ajaxCall();}
return false;}
var smtools=new SM.Tools();SM.Html=Class.create();SM.Html.Tab=Class.create();SM.Html.Tab.prototype={initialize:function(title,contentId,cssClass)
{this.parent=null;this.id=null;this.title=title;this.contentId=contentId;this.selected=false;this.cssClass=cssClass;this.show=false;this.element=null;this.eventMouseUp=null;this.eventBtnClose=null;},InitTab:function(reset)
{if(!reset&&!this.element)
{this.element=this.createTab();}
this.setEvents(this.element);},setElement:function(element)
{this.element=$(element);this.id=this.element.id;this.setEvents(this.element);},setEvents:function(element)
{this.eventMouseUp=this.handleClick.bindAsEventListener(this);Event.observe(element,"mouseup",this.eventMouseUp);var btnClose=$('btnClose'+element.id);if(btnClose)
{this.eventBtnClose=this.handleBtnCloseClick.bindAsEventListener(this);Event.observe(btnClose,"mouseup",this.eventBtnClose);}},getId:function()
{return this.id;},getContentHolder:function()
{if(!this.contentId)
{return;}
el=$(this.contentId);return el;},setContent:function(content)
{el=this.getContentHolder();if(el)
{el.innerHTML=content;}},createTab:function()
{var tab=document.createElement("li");if(this.cssClass)
{this.element.className=this.cssClass;}
tab.innerHTML=this.title;return tab;},handleClick:function(event)
{if(!this.parent)
{return;}
this.parent.select(this);Event.stop(event);},handleBtnCloseClick:function(event)
{this.parent.close(this);Event.stop(event);},select:function()
{if(this.parent&&this.element)
{this.element.className=this.parent.selectedClass;el=this.getContentHolder();if(el)
{el.style.display='block';}}},unselect:function()
{if(this.element)
{if(this.cssClass)
{this.element.className=this.cssClass;}
else
{this.element.className=null;}
el=this.getContentHolder();if(el)
{el.style.display='none';}}}}
SM.Html.TabManager=Class.create();SM.Html.TabManager.prototype={initialize:function(tabHolder,selectedClass,onTabClose)
{this.selectedClass=selectedClass;this.tabs=[];this.holder=$(tabHolder);this.id=this.holder.id;this.prevTab=null;this.onTabClose=onTabClose;this.eventOnLoad=null;},initEvents:function()
{this.eventOnLoad=this.handleOnLoad.bindAsEventListener(this);Event.observe(window,"load",this.eventOnLoad);},handleOnLoad:function(event)
{if(window.location.hash)
{tabId=window.location.hash.substring(4);var tab=tm.get(tabId);if(tab)
tm.select(tab);}},add:function(tab,show)
{if(!tab.id)
{tab.id=this.id+this.getNextId();}
tab.parent=this;this.tabs.push(tab);tab.InitTab();if(show)
{this.show(tab);}},get:function(id)
{return this.tabs.detect(function(t){return t.getId()==id});},remove:function(id)
{this.tabs=this.tabs.reject(function(t){return t.id==id});},getNextId:function()
{var max=this.tabs.length;if(!max)
{max=0;}
return(max+1);},getHolder:function()
{if(!this.holder)
{return null;}
var uls=this.holder.getElementsByTagName("ul");if(!uls.length)
{ul=document.createElement("ul");this.holder.appendChild(ul);}
else
{ul=uls[0];}
return ul;},select:function(tab)
{if(this.prevTab==tab)
{return;}
if(this.prevTab&&this.prevTab.element)
{this.prevTab.unselect();}
tab.select();this.prevTab=tab;},show:function(tab)
{ul=this.getHolder();if(!ul||!tab||!tab.element)
{return;}
if(!tab.element.id)
tab.element.setAttribute('id',this.getId());ul.appendChild(tab.element);},show:function(tab)
{ul=this.getHolder();if(!ul||!tab||!tab.element)
{return;}
if(!tab.element.id)
tab.element.setAttribute('id',this.getId());ul.appendChild(tab.element);},showAll:function()
{if(!this.holder||!this.tabs.length)
{return;}
ul=this.getHolder();ul.innerHTML='';for(var i=0;i<this.tabs.length;i++)
{tab=this.tabs[i];if(!tab.element.id)
tab.element.setAttribute('id',this.getId());ul.appendChild(tab.element);}
this.select(this.tabs[0]);},close:function(tab)
{if(!this.get(tab.id))
{return;}
if(tab==this.prevTab)
{this.select(this.tabs.first());}
var content=tab.getContentHolder();if(tab.element.parentNode)
Element.remove(tab.element);if(content&&content.parentNode)
Element.remove(content);if(this.onTabClose)
this.onTabClose(tab.id);this.remove(tab.id);}}
SM.Html.TabManager.Factory={instances:[],get:function(id){return this.instances.detect(function(d){return d.id==id});},create:function(tabHolder,selectedClass,onTabClose)
{var tm=new SM.Html.TabManager(tabHolder,selectedClass,onTabClose);SM.Html.TabManager.Factory.register(tm);return tm;},register:function(tm)
{this.instances.push(tm);},unRegister:function(tm)
{this.instances=this.instances.reject(function(d){return d==tm});}}
SM.Manager=Class.create();SM.Manager.prototype={initialize:function()
{this.type_section='section';this.type_module='module';this.sections=[];},createSection:function(id,name)
{var sec=new SM.Module(this.type_section,id,name)
this.registerSection(sec);return sec;},createModule:function(id,name)
{var mod=new SM.Module(this.type_module,id,name);return mod;},registerSection:function(section)
{this.sections.push(section);},registerModule:function(module)
{this.modules.push(module);},getSection:function(sectionId)
{return this.sections.detect(function(s){return s.id==sectionId});},getModule:function(moduleId)
{var module;for(var i=0;i<this.sections.length;i++)
{for(var x=0;i<this.sections[i].modules.length;x++)
{if(this.sections[i].modules[x].id==moduleId)
{return this.sections[i].modules[x];}
if(module=this.sections[i].modules[x].getModule(moduleId))
{return module;}}}
return null;},removeModule:function(moduleId)
{if(module=this.getModule(moduleId)&&module.parent)
{module.parent.removeModule(module);}}}
var sm=new SM.Manager();SM.Module=Class.create();SM.Module.prototype={initialize:function(type,id,name)
{this.id=id;this.type=type;this.name=name;this.modules=[];this.parent=null;this.element=null;this.header=null;this.content=null;this.btnClose=null;},setElements:function(element,header,content,btnClose)
{this.setElement(element);this.setHeader(header);this.setContent(content);this.setBtnClose(btnClose);},setElement:function(element)
{this.element=$(element);},setHeader:function(header)
{this.header=$(header);},setContent:function(content)
{this.content=$(content);},setBtnClose:function(btn)
{this.btn=$(btn);},addModule:function(module)
{module.parent=this;this.modules.push(module);},getModule:function(moduleId)
{var module=this.modules.detect(function(m){return m.id==moduleId});if(!module)
{for(var i=0;i<this.modules.length;i++)
{if(module=this.modules[i].getModule(moduleId))
{break;}}}
return module;},removeModule:function(module)
{this.modules=this.modules.reject(function(m){return m==module});}}