framework.widget.module={init:function(g,c,f,d){if(!framework.util.isType(g,framework.DataType.STRING)||!framework.util.isType(f,framework.DataType.STRING)||!framework.util.isType(d,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}var a=document.getElementById(g);if(framework.util.isUndefinedOrNull(a)){return framework.Status.ELEMENT_DOES_NOT_EXIST;
}a._isExpandedMode=true;a._beforeToggleHandler=f;a._afterToggleHandler=d;a._hasHelp=(a.getAttribute("hasHelp")=="true");if(a._hasHelp){if(!framework.util.isType(c,framework.DataType.FUNCTION)){return framework.Status.UNDEFINED_ARGUMENT;}var b=g+"._headerHelp";framework.eventmodel.addElementEvent(b,framework.EventType.CLICK,c);
}var e=g+"._header";if(a.getAttribute("collapsable")=="true"){framework.eventmodel.addElementEvent(e,framework.EventType.CLICK,framework.widget.module._toggleEventHandler);}if(a.getAttribute("defaultMode")=="collapsed"){framework.widget.module.collapse(g);a._isExpandedMode=false;}return framework.Status.SUCCESS;
},collapse:function(b){if(!framework.util.isType(b,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}var a=document.getElementById(b);if(framework.util.isUndefinedOrNull(a)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}if(a._isExpandedMode){framework.widget.module._setModuleMode(b,false);
}return framework.Status.SUCCESS;},expand:function(b){if(!framework.util.isType(b,framework.DataType.STRING)){return framework.Status.UNDEFINED_ARGUMENT;}var a=document.getElementById(b);if(framework.util.isUndefinedOrNull(a)){return framework.Status.ELEMENT_DOES_NOT_EXIST;}if(!a._isExpandedMode){framework.widget.module._setModuleMode(b,true);
}return framework.Status.SUCCESS;},isCollapsable:function(b){if(!framework.util.isType(b,framework.DataType.STRING)){return null;}var a=document.getElementById(b);if(framework.util.isUndefinedOrNull(a)){return null;}if(a.getAttribute("collapsable")=="true"){return true;}else{return false;}},isExpanded:function(b){if(!framework.util.isType(b,framework.DataType.STRING)){return null;
}var a=document.getElementById(b);if(framework.util.isUndefinedOrNull(a)){return null;}return a._isExpandedMode;},isCollapsed:function(b){if(!framework.util.isType(b,framework.DataType.STRING)){return null;}var a=document.getElementById(b);if(framework.util.isUndefinedOrNull(a)){return null;}return !a._isExpandedMode;
},_toggleEventHandler:function(event){var targetEvent=framework.eventmodel.getEventTarget(event);if(targetEvent.id.indexOf("._headerHelp")>-1){event.stopPropagation();return;}var moduleElementId=this.id.split("._header")[0];var moduleElement=document.getElementById(moduleElementId);var beforeToggleHandlerReturnValue=true;
if(!framework.util.isEmpty(moduleElement._beforeToggleHandler)){var beforeToggleHandler=moduleElement._beforeToggleHandler+"('"+moduleElementId+"')";beforeToggleHandlerReturnValue=eval(beforeToggleHandler);if(framework.util.isUndefinedOrNull(beforeToggleHandlerReturnValue)){beforeToggleHandlerReturnValue=false;
}}if(beforeToggleHandlerReturnValue){moduleElement._isExpandedMode=!moduleElement._isExpandedMode;framework.widget.module._setModuleMode(moduleElementId,moduleElement._isExpandedMode);if(!framework.util.isEmpty(moduleElement._afterToggleHandler)){var afterToggleHandler=moduleElement._afterToggleHandler+"('"+moduleElementId+"')";
eval(afterToggleHandler);}}event.stopPropagation();},_setModuleMode:function(g,d){var c=document.getElementById(g);var b=g+"._collapsed";var a=g+"._expanded";var e=g+"._headerEdit";var f=g+"._headerHide";if(d){framework.util.hideElement(b);framework.util.showElement(a);framework.util.hideElement(e);framework.util.showElement(f);
c._isExpandedMode=true;}else{framework.util.hideElement(a);framework.util.showElement(b);framework.util.hideElement(f);framework.util.showElement(e);c._isExpandedMode=false;}},loaded:true};
