//General
//for example: instead of each module writing out script found in moduleMaxMin_OnClick have the functionality cached
//
 DNN_COL_DELIMITER=String.fromCharCode(16);DNN_ROW_DELIMITER=String.fromCharCode(15);__dnn_m_bPageLoaded=false;window.onload=__dnn_Page_OnLoad;function __dnn_ClientAPIEnabled(){return typeof(dnn)!='undefined'}function __dnn_Page_OnLoad(){if(__dnn_ClientAPIEnabled()){var sLoadHandlers=dnn.getVar('__dnn_pageload');if(sLoadHandlers!=null)eval(sLoadHandlers);dnn.dom.attachEvent(window,'onscroll',__dnn_bodyscroll);}__dnn_m_bPageLoaded=true}function __dnn_KeyDown(iKeyCode,sFunc,e){if(e==null)e=window.event;if(e.keyCode==iKeyCode){eval(unescape(sFunc));return false}}function __dnn_bodyscroll(){var oF=document.forms[0];if(__dnn_ClientAPIEnabled()&&__dnn_m_bPageLoaded)oF.ScrollTop.value=document.documentElement.scrollTop?document.documentElement.scrollTop:dnn.dom.getByTagName("body")[0].scrollTop}function __dnn_setScrollTop(iTop){if(__dnn_ClientAPIEnabled()){if(iTop==null)iTop=document.forms[0].ScrollTop.value;var sID=dnn.getVar('ScrollToControl');if(sID!=null&&sID.length>0){var oCtl=dnn.dom.getById(sID);if(oCtl!=null){iTop=dnn.dom.positioning.elementTop(oCtl);dnn.setVar('ScrollToControl','');}}window.scrollTo(0,iTop);}}//Focus logic
function __dnn_SetInitialFocus(sID){var oCtl=dnn.dom.getById(sID);if(oCtl!=null&&__dnn_CanReceiveFocus(oCtl))oCtl.focus();}function __dnn_CanReceiveFocus(e){//probably should call getComputedStyle for classes that cause item to be hidden
 if(e.style.display!='none'&&e.tabIndex>-1&&e.disabled==false&&e.style.visible!='hidden'){var eParent=e.parentElement;while(eParent!=null&&eParent.tagName!='BODY'){if(eParent.style.display=='none'||eParent.disabled||eParent.style.visible=='hidden')return false;eParent=eParent.parentElement}return true}else return false}//Max/Min Script
function __dnn_ContainerMaxMin_OnClick(oLnk,sContentID){var oContent=dnn.dom.getById(sContentID);if(oContent!=null){var oBtn=oLnk.childNodes[0];var sContainerID=oLnk.getAttribute('containerid');var sCookieID=oLnk.getAttribute('cookieid');var sCurrentFile=oBtn.src.toLowerCase().substr(oBtn.src.lastIndexOf('/'));var sMaxFile;var sMaxIcon;var sMinIcon;if(dnn.getVar('min_icon_'+sContainerID))sMinIcon=dnn.getVar('min_icon_'+sContainerID);else sMinIcon=dnn.getVar('min_icon');if(dnn.getVar('max_icon_'+sContainerID))sMaxIcon=dnn.getVar('max_icon_'+sContainerID);else sMaxIcon=dnn.getVar('max_icon');sMaxFile=sMaxIcon.toLowerCase().substr(sMaxIcon.lastIndexOf('/'));var iNum=5;if(oLnk.getAttribute('animf')!=null)iNum=new Number(oLnk.getAttribute('animf'));if(sCurrentFile==sMaxFile){oBtn.src=sMinIcon;//oContent.style.display = '';
 dnn.dom.expandElement(oContent,iNum);oBtn.title=dnn.getVar('min_text');if(sCookieID!=null){if(dnn.getVar('__dnn_'+sContainerID+':defminimized')=='true')dnn.dom.setCookie(sCookieID,'true',365);else dnn.dom.deleteCookie(sCookieID);}else dnn.setVar('__dnn_'+sContainerID+'_Visible','true');}else{oBtn.src=sMaxIcon;//oContent.style.display = 'none';
 dnn.dom.collapseElement(oContent,iNum);oBtn.title=dnn.getVar('max_text');if(sCookieID!=null){if(dnn.getVar('__dnn_'+sContainerID+':defminimized')=='true')dnn.dom.deleteCookie(sCookieID);else dnn.dom.setCookie(sCookieID,'false',365);}else dnn.setVar('__dnn_'+sContainerID+'_Visible','false');}return true;//cancel postback
}return false;//failed so do postback
}function __dnn_Help_OnClick(sHelpID){var oHelp=dnn.dom.getById(sHelpID);if(oHelp!=null){if(oHelp.style.display=='none')oHelp.style.display='';else oHelp.style.display='none';return true;//cancel postback
}return false;//failed so do postback
}function __dnn_SectionMaxMin(oBtn,sContentID){var oContent=dnn.dom.getById(sContentID);if(oContent!=null){var sMaxIcon=oBtn.getAttribute('max_icon');var sMinIcon=oBtn.getAttribute('min_icon');var bCallback=oBtn.getAttribute('userctr')!=null;var sVal;if(oContent.style.display=='none'){oBtn.src=sMinIcon;oContent.style.display='';if(bCallback)sVal='True';else dnn.setVar(oBtn.id+':exp',1);}else{oBtn.src=sMaxIcon;oContent.style.display='none';if(bCallback)sVal='False';else dnn.setVar(oBtn.id+':exp',0);}if(bCallback)dnncore.setUserProp(oBtn.getAttribute('userctr'),oBtn.getAttribute('userkey'),sVal,null);return true;//cancel postback
}return false;//failed so do postback
}//Drag N Drop
function __dnn_enableDragDrop(){var aryConts=dnn.getVar('__dnn_dragDrop').split(";");var aryTitles;for(var i=0;i<aryConts.length;i++){aryTitles=aryConts[i].split(" ");if(aryTitles[0].length>0){var oCtr=dnn.dom.getById(aryTitles[0]);var oTitle=dnn.dom.getById(aryTitles[1]);if(oCtr!=null&&oTitle!=null){oCtr.setAttribute('moduleid',aryTitles[2]);dnn.dom.positioning.enableDragAndDrop(oCtr,oTitle,'__dnn_dragComplete()','__dnn_dragOver()');}}}}var __dnn_oPrevSelPane;var __dnn_oPrevSelModule;__dnn_dragEventCount=0;function __dnn_dragOver(){__dnn_dragEventCount++;if(__dnn_dragEventCount%75!=0)//only calculate position every 75 events
 return;var oCont=dnn.dom.getById(dnn.dom.positioning.dragCtr.contID);var oPane=__dnn_getMostSelectedPane(dnn.dom.positioning.dragCtr);if(__dnn_oPrevSelPane!=null)//reset previous pane's border
 __dnn_oPrevSelPane.pane.style.border=__dnn_oPrevSelPane.origBorder;if(oPane!=null){__dnn_oPrevSelPane=oPane;oPane.pane.style.border='4px double '+DNN_HIGHLIGHT_COLOR;var iIndex=__dnn_getPaneControlIndex(oCont,oPane);var oPrevCtl;var oNextCtl;for(var i=0;i<oPane.controls.length;i++){if(iIndex>i&&oPane.controls[i].id!=oCont.id)oPrevCtl=oPane.controls[i];if(iIndex<=i&&oPane.controls[i].id!=oCont.id){oNextCtl=oPane.controls[i];break}}if(__dnn_oPrevSelModule!=null)dnn.dom.getNonTextNode(__dnn_oPrevSelModule.control).style.border=__dnn_oPrevSelModule.origBorder;if(oNextCtl!=null){__dnn_oPrevSelModule=oNextCtl;dnn.dom.getNonTextNode(oNextCtl.control).style.borderTop='5px groove '+DNN_HIGHLIGHT_COLOR}else if(oPrevCtl!=null){__dnn_oPrevSelModule=oPrevCtl;dnn.dom.getNonTextNode(oPrevCtl.control).style.borderBottom='5px groove '+DNN_HIGHLIGHT_COLOR}}}function __dnn_dragComplete(){var oCtl=dnn.dom.getById(dnn.dom.positioning.dragCtr.contID);var sModuleID=oCtl.getAttribute('moduleid');if(__dnn_oPrevSelPane!=null)__dnn_oPrevSelPane.pane.style.border=__dnn_oPrevSelPane.origBorder;if(__dnn_oPrevSelModule!=null)dnn.dom.getNonTextNode(__dnn_oPrevSelModule.control).style.border=__dnn_oPrevSelModule.origBorder;var oPane=__dnn_getMostSelectedPane(dnn.dom.positioning.dragCtr);var iIndex;if(oPane==null){var oPanes=__dnn_Panes();for(var i=0;i<oPanes.length;i++){if(oPanes[i].id==oCtl.parentNode.id)oPane=oPanes[i]}}if(oPane!=null){iIndex=__dnn_getPaneControlIndex(oCtl,oPane);__dnn_MoveToPane(oPane,oCtl,iIndex);dnn.callPostBack('MoveToPane','moduleid='+sModuleID,'pane='+oPane.paneName,'order='+iIndex*2);}}function __dnn_MoveToPane(oPane,oCtl,iIndex){if(oPane!=null){var aryCtls=new Array();for(var i=iIndex;i<oPane.controls.length;i++){if(oPane.controls[i].control.id!=oCtl.id)aryCtls[aryCtls.length]=oPane.controls[i].control;dnn.dom.removeChild(oPane.controls[i].control);}dnn.dom.appendChild(oPane.pane,oCtl);oCtl.style.top=0;oCtl.style.left=0;oCtl.style.position='relative';for(var i=0;i<aryCtls.length;i++){dnn.dom.appendChild(oPane.pane,aryCtls[i]);}__dnn_RefreshPanes();}else{oCtl.style.top=0;oCtl.style.left=0;oCtl.style.position='relative'}}function __dnn_RefreshPanes(){var aryPanes=dnn.getVar('__dnn_Panes').split(';');var aryPaneNames=dnn.getVar('__dnn_PaneNames').split(';');__dnn_m_aryPanes=new Array();for(var i=0;i<aryPanes.length;i++){if(aryPanes[i].length>0)__dnn_m_aryPanes[__dnn_m_aryPanes.length]=new __dnn_Pane(dnn.dom.getById(aryPanes[i]),aryPaneNames[i]);}}var __dnn_m_aryPanes;var __dnn_m_aryModules;function __dnn_Panes(){if(__dnn_m_aryPanes==null){__dnn_m_aryPanes=new Array();__dnn_RefreshPanes();}return __dnn_m_aryPanes}function __dnn_Modules(sModuleID){if(__dnn_m_aryModules==null)__dnn_RefreshPanes();return __dnn_m_aryModules[sModuleID]}function __dnn_getMostSelectedPane(oContent){var oCDims=new dnn.dom.positioning.dims(oContent);var iTopScore=0;var iScore;var oTopPane;for(var i=0;i<__dnn_Panes().length;i++){var oPane=__dnn_Panes()[i];var oPDims=new dnn.dom.positioning.dims(oPane.pane);iScore=dnn.dom.positioning.elementOverlapScore(oPDims,oCDims);if(iScore>iTopScore){iTopScore=iScore;oTopPane=oPane}}return oTopPane}function __dnn_getPaneControlIndex(oContent,oPane){if(oPane==null)return;var oCDims=new dnn.dom.positioning.dims(oContent);var oCtl;if(oPane.controls.length==0)return 0;for(var i=0;i<oPane.controls.length;i++){oCtl=oPane.controls[i];var oIDims=new dnn.dom.positioning.dims(oCtl.control);if(oCDims.t<oIDims.t)return oCtl.index}if(oCtl!=null)return oCtl.index+1;else return 0}//Objects
function __dnn_Pane(ctl,sPaneName){this.pane=ctl;this.id=ctl.id;this.controls=new Array();this.origBorder=ctl.style.border;this.paneName=sPaneName;var iIndex=0;var strModuleOrder='';for(var i=0;i<ctl.childNodes.length;i++){var oNode=ctl.childNodes[i];if(dnn.dom.isNonTextNode(oNode)){if(__dnn_m_aryModules==null)__dnn_m_aryModules=new Array();//if (oNode.tagName == 'A' && oNode.childNodes.length > 0)
//	oNode = oNode.childNodes[0];	//DNN now embeds anchor tag 
var sModuleID=oNode.getAttribute('moduleid');if(sModuleID!=null&&sModuleID.length>0){strModuleOrder+=sModuleID+'~';this.controls[this.controls.length]=new __dnn_PaneControl(oNode,iIndex);__dnn_m_aryModules[sModuleID]=oNode.id;iIndex++}}}this.moduleOrder=strModuleOrder}function __dnn_PaneControl(ctl,iIndex){this.control=ctl;this.id=ctl.id;this.index=iIndex;this.origBorder=ctl.style.border}//move towards dnncore ns.  right now only for personalization
function __dnncore(){this.GetUserVal=0;this.SetUserVal=1}__dnncore.prototype={getUserProp:function(sNameCtr,sKey,pFunc){this._doUserCallBack(dnncore.GetUserVal,sNameCtr,sKey,null,new dnncore.UserPropArgs(sNameCtr,sKey,pFunc));},setUserProp:function(sNameCtr,sKey,sVal,pFunc){this._doUserCallBack(dnncore.SetUserVal,sNameCtr,sKey,sVal,new dnncore.UserPropArgs(sNameCtr,sKey,pFunc));},_doUserCallBack:function(iType,sNameCtr,sKey,sVal,pFunc){if(dnn&&dnn.xmlhttp){var sPack=iType+COL_DELIMITER+sNameCtr+COL_DELIMITER+sKey+COL_DELIMITER+sVal;dnn.xmlhttp.doCallBack('__Page',sPack,dnncore._callBackSuccess,pFunc,dnncore._callBackFail,null,true,null,0);}else alert('Client Personalization not enabled');},_callBackSuccess:function(result,ctx,req){if(ctx.pFunc)ctx.pFunc(ctx.namingCtr,ctx.key,result);},_callBackFail:function(result,ctx){window.status=result}};__dnncore.prototype.UserPropArgs=function(sNameCtr,sKey,pFunc){this.namingCtr=sNameCtr;this.key=sKey;this.pFunc=pFunc};dnncore=new __dnncore();