/*! jQuery Migrate v1.4.1 | (c) jQuery Foundation and other contributors | jquery.org/license */
"undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(a,b,c){function d(c){var d=b.console;f[c]||(f[c]=!0,a.migrateWarnings.push(c),d&&d.warn&&!a.migrateMute&&(d.warn("JQMIGRATE: "+c),a.migrateTrace&&d.trace&&d.trace()))}function e(b,c,e,f){if(Object.defineProperty)try{return void Object.defineProperty(b,c,{configurable:!0,enumerable:!0,get:function(){return d(f),e},set:function(a){d(f),e=a}})}catch(g){}a._definePropertyBroken=!0,b[c]=e}a.migrateVersion="1.4.1";var f={};a.migrateWarnings=[],a.migrateTrace===c&&(a.migrateTrace=!0),a.migrateReset=function(){f={},a.migrateWarnings.length=0},"BackCompat"===document.compatMode&&d("jQuery is not compatible with Quirks Mode");var g=a("",{size:1}).attr("size")&&a.attrFn,h=a.attr,i=a.attrHooks.value&&a.attrHooks.value.get||function(){return null},j=a.attrHooks.value&&a.attrHooks.value.set||function(){return c},k=/^(?:input|button)$/i,l=/^[238]$/,m=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,n=/^(?:checked|selected)$/i;e(a,"attrFn",g||{},"jQuery.attrFn is deprecated"),a.attr=function(b,e,f,i){var j=e.toLowerCase(),o=b&&b.nodeType;return i&&(h.length<4&&d("jQuery.fn.attr( props, pass ) is deprecated"),b&&!l.test(o)&&(g?e in g:a.isFunction(a.fn[e])))?a(b)[e](f):("type"===e&&f!==c&&k.test(b.nodeName)&&b.parentNode&&d("Can't change the 'type' of an input or button in IE 6/7/8"),!a.attrHooks[j]&&m.test(j)&&(a.attrHooks[j]={get:function(b,d){var e,f=a.prop(b,d);return f===!0||"boolean"!=typeof f&&(e=b.getAttributeNode(d))&&e.nodeValue!==!1?d.toLowerCase():c},set:function(b,c,d){var e;return c===!1?a.removeAttr(b,d):(e=a.propFix[d]||d,e in b&&(b[e]=!0),b.setAttribute(d,d.toLowerCase())),d}},n.test(j)&&d("jQuery.fn.attr('"+j+"') might use property instead of attribute")),h.call(a,b,e,f))},a.attrHooks.value={get:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?i.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value') no longer gets properties"),b in a?a.value:null)},set:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?j.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value', val) no longer sets properties"),void(a.value=b))}};var o,p,q=a.fn.init,r=a.find,s=a.parseJSON,t=/^\s*,u=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,v=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g,w=/^([^<]*)(<[\w\W]+>)([^>]*)$/;a.fn.init=function(b,e,f){var g,h;return b&&"string"==typeof b&&!a.isPlainObject(e)&&(g=w.exec(a.trim(b)))&&g[0]&&(t.test(b)||d("$(html) HTML strings must start with '<' character"),g[3]&&d("$(html) HTML text after last tag is ignored"),"#"===g[0].charAt(0)&&(d("HTML string cannot start with a '#' character"),a.error("JQMIGRATE: Invalid selector string (XSS)")),e&&e.context&&e.context.nodeType&&(e=e.context),a.parseHTML)?q.call(this,a.parseHTML(g[2],e&&e.ownerDocument||e||document,!0),e,f):(h=q.apply(this,arguments),b&&b.selector!==c?(h.selector=b.selector,h.context=b.context):(h.selector="string"==typeof b?b:"",b&&(h.context=b.nodeType?b:e||document)),h)},a.fn.init.prototype=a.fn,a.find=function(a){var b=Array.prototype.slice.call(arguments);if("string"==typeof a&&u.test(a))try{document.querySelector(a)}catch(c){a=a.replace(v,function(a,b,c,d){return"["+b+c+'"'+d+'"]'});try{document.querySelector(a),d("Attribute selector with '#' must be quoted: "+b[0]),b[0]=a}catch(e){d("Attribute selector with '#' was not fixed: "+b[0])}}return r.apply(this,b)};var x;for(x in r)Object.prototype.hasOwnProperty.call(r,x)&&(a.find[x]=r[x]);a.parseJSON=function(a){return a?s.apply(this,arguments):(d("jQuery.parseJSON requires a valid JSON string"),null)},a.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a.browser||(o=a.uaMatch(navigator.userAgent),p={},o.browser&&(p[o.browser]=!0,p.version=o.version),p.chrome?p.webkit=!0:p.webkit&&(p.safari=!0),a.browser=p),e(a,"browser",a.browser,"jQuery.browser is deprecated"),a.boxModel=a.support.boxModel="CSS1Compat"===document.compatMode,e(a,"boxModel",a.boxModel,"jQuery.boxModel is deprecated"),e(a.support,"boxModel",a.support.boxModel,"jQuery.support.boxModel is deprecated"),a.sub=function(){function b(a,c){return new b.fn.init(a,c)}a.extend(!0,b,this),b.superclass=this,b.fn=b.prototype=this(),b.fn.constructor=b,b.sub=this.sub,b.fn.init=function(d,e){var f=a.fn.init.call(this,d,e,c);return f instanceof b?f:b(f)},b.fn.init.prototype=b.fn;var c=b(document);return d("jQuery.sub() is deprecated"),b},a.fn.size=function(){return d("jQuery.fn.size() is deprecated; use the .length property"),this.length};var y=!1;a.swap&&a.each(["height","width","reliableMarginRight"],function(b,c){var d=a.cssHooks[c]&&a.cssHooks[c].get;d&&(a.cssHooks[c].get=function(){var a;return y=!0,a=d.apply(this,arguments),y=!1,a})}),a.swap=function(a,b,c,e){var f,g,h={};y||d("jQuery.swap() is undocumented and deprecated");for(g in b)h[g]=a.style[g],a.style[g]=b[g];f=c.apply(a,e||[]);for(g in b)a.style[g]=h[g];return f},a.ajaxSetup({converters:{"text json":a.parseJSON}});var z=a.fn.data;a.fn.data=function(b){var e,f,g=this[0];return!g||"events"!==b||1!==arguments.length||(e=a.data(g,b),f=a._data(g,b),e!==c&&e!==f||f===c)?z.apply(this,arguments):(d("Use of jQuery.fn.data('events') is deprecated"),f)};var A=/\/(java|ecma)script/i;a.clean||(a.clean=function(b,c,e,f){c=c||document,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,d("jQuery.clean() is deprecated");var g,h,i,j,k=[];if(a.merge(k,a.buildFragment(b,c).childNodes),e)for(i=function(a){return!a.type||A.test(a.type)?f?f.push(a.parentNode?a.parentNode.removeChild(a):a):e.appendChild(a):void 0},g=0;null!=(h=k[g]);g++)a.nodeName(h,"script")&&i(h)||(e.appendChild(h),"undefined"!=typeof h.getElementsByTagName&&(j=a.grep(a.merge([],h.getElementsByTagName("script")),i),k.splice.apply(k,[g+1,0].concat(j)),g+=j.length));return k});var B=a.event.add,C=a.event.remove,D=a.event.trigger,E=a.fn.toggle,F=a.fn.live,G=a.fn.die,H=a.fn.load,I="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",J=new RegExp("\\b(?:"+I+")\\b"),K=/(?:^|\s)hover(\.\S+|)\b/,L=function(b){return"string"!=typeof b||a.event.special.hover?b:(K.test(b)&&d("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),b&&b.replace(K,"mouseenter$1 mouseleave$1"))};a.event.props&&"attrChange"!==a.event.props[0]&&a.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),a.event.dispatch&&e(a.event,"handle",a.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),a.event.add=function(a,b,c,e,f){a!==document&&J.test(b)&&d("AJAX events should be attached to document: "+b),B.call(this,a,L(b||""),c,e,f)},a.event.remove=function(a,b,c,d,e){C.call(this,a,L(b)||"",c,d,e)},a.each(["load","unload","error"],function(b,c){a.fn[c]=function(){var a=Array.prototype.slice.call(arguments,0);return"load"===c&&"string"==typeof a[0]?H.apply(this,a):(d("jQuery.fn."+c+"() is deprecated"),a.splice(0,0,c),arguments.length?this.bind.apply(this,a):(this.triggerHandler.apply(this,a),this))}}),a.fn.toggle=function(b,c){if(!a.isFunction(b)||!a.isFunction(c))return E.apply(this,arguments);d("jQuery.fn.toggle(handler, handler...) is deprecated");var e=arguments,f=b.guid||a.guid++,g=0,h=function(c){var d=(a._data(this,"lastToggle"+b.guid)||0)%g;return a._data(this,"lastToggle"+b.guid,d+1),c.preventDefault(),e[d].apply(this,arguments)||!1};for(h.guid=f;g1){if("number"==typeof(i=e({path:"/"},t.defaults,i)).expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}i.expires=i.expires?i.expires.toUTCString():"";try{/^[\{\[]/.test(c=JSON.stringify(r))&&(r=c)}catch(e){}r=o.write?o.write(r,n):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=(n=(n=encodeURIComponent(String(n))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var s="";for(var f in i)i[f]&&(s+="; "+f,!0!==i[f]&&(s+="="+i[f]));return document.cookie=n+"="+r+s}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],d=/(%[0-9A-Z]{2})+/g,u=0;u
* @license MIT
*/
!function(e){"use strict";function n(e){if("undefined"==typeof e.length)o(e,"click",t);else if("string"!=typeof e&&!(e instanceof String))for(var n=0;nf;f++)if("0"===k[0]&&1f&&(k=g,f=m)):"0"===h[q]&&(p=!0,g=q,m=1);m>f&&(k=g,f=m);1=f&&g>>10&1023|55296),b=56320|b&1023);return e+=t(b)}).join("")}function z(b,e){return b+22+75*(26>b)-((0!=e)<<5)}function u(b,g,h){var f=0;b=h?e(b/700):b>>1;for(b+=e(b/g);455n&&(n=0);for(c=0;c=h&&m("invalid-input");var x=b.charCodeAt(n++);x=10>x-48?x-22:26>x-65?x-65:26>x-97?x-97:36;(36<=x||x>e((2147483647-f)/l))&&m("overflow");f+=x*l;var p=d<=a?1:d>=a+26?26:d-a;if(x
').css({width:'100%'}).appendTo($outer).outerWidth();$outer.remove();scbw=100-widthWithScroll;offset=$pc.css({overflow:'scroll'}).offset();w=$pc.width(10).height(10000).get(0).scrollWidth+offset.left*2;if(w<800)w=800+offset.left*2;w=Math.min(w,window.screen.availWidth);h=$pc.width(w-offset.left*2).height(10).get(0).scrollHeight+offset.top*2;dw=$win.width();dh=$win.height();h=Math.min(h,window.screen.availHeight-100);window.resizeBy(w-dw,h-dh);$pc.width('100%').css({overflow:'',height:'','box-sizing':'border-box'})}
function doCallModuleAction(module,action,target_srl){var params={target_srl:target_srl,cur_mid:current_mid,mid:current_mid};exec_xml(module,action,params,completeCallModuleAction)}
function completeCallModuleAction(ret_obj,response_tags){if(ret_obj.message!='success')alert(ret_obj.message);location.reload()}
function completeMessage(ret_obj){alert(ret_obj.message);location.reload()}
function doChangeLangType(obj){if(typeof(obj)=="string"){setLangType(obj)}else{var val=obj.options[obj.selectedIndex].value;setLangType(val)}
if(location.href.match(/[?&]l=[a-z]+/)){location.href=location.href.setQuery('l','')}else{location.reload()}}
function setLangType(lang_type){var baseurl=XE.URI(default_url).pathname();if(baseurl!=='/'){XE.cookie.remove('lang_type',{path:'/'})}
XE.cookie.set('lang_type',lang_type,{path:baseurl,expires:365})}
function getColorScheme(){if($('body').hasClass('color_scheme_dark')){return'dark'}else{return'light'}}
function setColorScheme(color_scheme){if(color_scheme==='dark'||color_scheme==='light'){$('body').addClass('color_scheme_'+color_scheme).removeClass('color_scheme_'+(color_scheme==='dark'?'light':'dark'));XE.cookie.set('rx_color_scheme',color_scheme,{path:window.XE.URI(default_url).pathname(),expires:365})}else{XE.cookie.remove('rx_color_scheme',{path:window.XE.URI(default_url).pathname()});color_scheme=(window.matchMedia&&window.matchMedia('(prefers-color-scheme:dark)').matches)?'dark':'light';$('body').addClass('color_scheme_'+color_scheme).removeClass('color_scheme_'+(color_scheme==='dark'?'light':'dark'))}}
function detectColorScheme(){var body_element=$('body');if(body_element.hasClass('color_scheme_light')||body_element.hasClass('color_scheme_dark')){return}
var color_scheme=XE.cookie.get('rx_color_scheme');var match_media=window.matchMedia?window.matchMedia('(prefers-color-scheme:dark)'):null;if(color_scheme!=='light'&&color_scheme!=='dark'){color_scheme=(match_media&&match_media.matches)?'dark':'light'}
body_element.addClass('color_scheme_'+color_scheme);match_media&&match_media.addListener&&match_media.addListener(function(e){if(e.matches){body_element.removeClass('color_scheme_light').addClass('color_scheme_dark')}else{body_element.removeClass('color_scheme_dark').addClass('color_scheme_light')}})}
function doDocumentPreview(obj){var fo_obj=obj;while(fo_obj.nodeName!="FORM"){fo_obj=fo_obj.parentNode}
if(fo_obj.nodeName!="FORM")return;var editor_sequence=fo_obj.getAttribute('editor_sequence');var content=editorGetContent(editor_sequence);var win=window.open("","previewDocument","toolbars=no,width=700px;height=800px,scrollbars=yes,resizable=yes");var dummy_obj=jQuery("#previewDocument");if(!dummy_obj.length){jQuery('').appendTo(document.body);dummy_obj=jQuery("#previewDocument")[0]}else{dummy_obj=dummy_obj[0]}
if(dummy_obj){dummy_obj.content.value=content;dummy_obj.submit()}}
function doDocumentSave(obj){var editor_sequence=obj.form.getAttribute('editor_sequence');var prev_content=editorRelKeys[editor_sequence].content.value;if(typeof(editor_sequence)!='undefined'&&editor_sequence&&typeof(editorRelKeys)!='undefined'&&typeof(editorGetContent)=='function'){var content=editorGetContent(editor_sequence);editorRelKeys[editor_sequence].content.value=content}
var params={},responses=['error','message','document_srl'],elms=obj.form.elements,data=jQuery(obj.form).serializeArray();jQuery.each(data,function(i,field){var val=jQuery.trim(field.value);if(!val)return!0;if(/\[\]$/.test(field.name))field.name=field.name.replace(/\[\]$/,'');if(params[field.name])params[field.name]+='|@|'+val;else params[field.name]=field.value});exec_xml('document','procDocumentTempSave',params,completeDocumentSave,responses,params,obj.form);editorRelKeys[editor_sequence].content.value=prev_content;return!1}
function completeDocumentSave(ret_obj){jQuery('input[name=document_srl]').eq(0).val(ret_obj.document_srl);alert(ret_obj.message)}
var objForSavedDoc=null;function doDocumentLoad(obj){objForSavedDoc=obj.form;popopen(request_uri.setQuery('module','document').setQuery('act','dispTempSavedList'))}
function doDocumentSelect(document_srl,module){if(!opener||!opener.objForSavedDoc){window.close();return}
if(module===undefined){module='document'}
switch(module){case 'page':var url=opener.current_url;url=url.setQuery('document_srl',document_srl);if(url.getQuery('act')==='dispPageAdminMobileContentModify'){url=url.setQuery('act','dispPageAdminMobileContentModify')}else{url=url.setQuery('act','dispPageAdminContentModify')}
opener.location.href=url;break;default:opener.location.href=opener.current_url.setQuery('document_srl',document_srl).setQuery('act','dispBoardWrite');break}
window.close()}
function viewSkinInfo(module,skin){popopen("./?module=module&act=dispModuleSkinInfo&selected_module="+module+"&skin="+skin,'SkinInfo')}
var addedDocument=[];function doAddDocumentCart(obj){var srl=obj.value;addedDocument[addedDocument.length]=srl;setTimeout(function(){callAddDocumentCart(addedDocument.length)},100)}
function callAddDocumentCart(document_length){if(addedDocument.length<1||document_length!=addedDocument.length)return;var params=[];params.srls=addedDocument.join(",");exec_xml("document","procDocumentAddCart",params,null);addedDocument=[]}
function transRGB2Hex(value){if(!value)return value;if(value.indexOf('#')>-1)return value.replace(/^#/,'');if(value.toLowerCase().indexOf('rgb')<0)return value;value=value.replace(/^rgb\(/i,'').replace(/\)$/,'');value_list=value.split(',');var hex='';for(var i=0;i>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64}else if(isNaN(chr3)){enc4=64}
output=output+this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4)}
return output},decode:function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2)}
if(enc4!=64){output=output+String.fromCharCode(chr3)}}
output=Base64._utf8_decode(output);return output},_utf8_encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128)}else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128)}}
return utftext},_utf8_decode:function(utftext){var string="";var i=0;var c=0,c1=0,c2=0,c3=0;while(i191)&&(c<224)){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2}else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3}}
return string}};window.ssl_actions=[];if(typeof(resizeImageContents)=='undefined'){window.resizeImageContents=function(){}}
if(typeof(activateOptionDisabled)=='undefined'){window.activateOptionDisabled=function(){}}
objectExtend=jQuery.extend;function toggleDisplay(objId){jQuery('#'+objId).toggle()}
function svc_folder_open(id){jQuery("#_folder_open_"+id).hide();jQuery("#_folder_close_"+id).show();jQuery("#_folder_"+id).show()}
function svc_folder_close(id){jQuery("#_folder_open_"+id).show();jQuery("#_folder_close_"+id).hide();jQuery("#_folder_"+id).hide()}
function open_calendar(fo_id,day_str,callback_func){if(typeof(day_str)=="undefined")day_str="";var url="./common/tpl/calendar.php?";if(fo_id)url+="fo_id="+fo_id;if(day_str)url+="&day_str="+day_str;if(callback_func)url+="&callback_func="+callback_func;popopen(url,'Calendar')}
var loaded_popup_menus=XE.loaded_popup_menus;function createPopupMenu(){}
function chkPopupMenu(){}
function displayPopupMenu(ret_obj,response_tags,params){XE.displayPopupMenu(ret_obj,response_tags,params)}
function GetObjLeft(obj){return jQuery(obj).offset().left}
function GetObjTop(obj){return jQuery(obj).offset().top}
function replaceOuterHTML(obj,html){jQuery(obj).replaceWith(html)}
function getOuterHTML(obj){return jQuery(obj).html().trim()}
function setCookie(name,value,expires,path){var options={path:path?path:"/",secure:cookies_ssl?!0:!1};if(expires){options.expires=expires}
XE.cookie.set(name,value,options)}
function getCookie(name){return XE.cookie.get(name)}
function is_def(v){return typeof(v)!='undefined'&&v!==null}
function ucfirst(str){return str.charAt(0).toUpperCase()+str.slice(1)}
function get_by_id(id){return document.getElementById(id)}
jQuery(function($){$(document).on('click',function(evt){var $area=$('#popup_menu_area');if(!$area.length)$area=$('').appendTo(document.body);$area.hide();var $target=$(evt.target).filter('a,div,span');if(!$target.length)$target=$(evt.target).closest('a,div,span');if(!$target.length)return;var cls=$target.attr('class'),match;if(cls)match=cls.match(new RegExp('(?:^| )((document|comment|member)_([1-9]\\d*))(?: |$)',''));if(!match)return;if(evt.pageX===undefined||evt.pageY===undefined){var touch=evt.originalEvent.touches[0];if(touch!==undefined||!touch){touch=evt.originalEvent.changedTouches[0]}
evt.pageX=touch.pageX;evt.pageY=touch.pageY}
var action='get'+ucfirst(match[2])+'Menu';var params={mid:current_mid,cur_mid:current_mid,menu_id:match[1],target_srl:match[3],cur_act:current_url.getQuery('act'),page_x:evt.pageX,page_y:evt.pageY};var response_tags='error message menus'.split(' ');evt.preventDefault();evt.stopPropagation();if(is_def(XE.loaded_popup_menus[params.menu_id]))return XE.displayPopupMenu(params,response_tags,params);show_waiting_message=!1;exec_xml('member',action,params,XE.displayPopupMenu,response_tags,params);show_waiting_message=!0});$('body').on('click','a._xe_popup',function(event){var $this=$(this);var name=$this.attr('name');var href=$this.attr('href');if(!name)name='_xe_popup_'+Math.floor(Math.random()*1000);event.preventDefault();winopen(href,name,'left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no')});if($.datepicker){$.datepicker.setDefaults({dateFormat:'yy-mm-dd'})}});(function($){var _xe_base,_app_base,_plugin_base;var _apps=[];_xe_base={getName:function(){return'Core'},createApp:function(sName,oDef){var _base=getTypeBase();$.extend(_base.prototype,_app_base,oDef);_base.prototype.getName=function(){return sName};return _base},createPlugin:function(sName,oDef){var _base=getTypeBase();$.extend(_base.prototype,_plugin_base,oDef);_base.prototype.getName=function(){return sName};return _base},getApps:function(){return $.makeArray(_apps)},getApp:function(indexOrName){indexOrName=(indexOrName||'').toLowerCase();if(typeof _apps[indexOrName]!='undefined'){return _apps[indexOrName]}else{return null}},registerApp:function(oApp){var sName=oApp.getName().toLowerCase();_apps.push(oApp);if(!$.isArray(_apps[sName])){_apps[sName]=[]}
_apps[sName].push(oApp);oApp.parent=this;if($.isFunction(oApp.activate))oApp.activate()},unregisterApp:function(oApp){var sName=oApp.getName().toLowerCase();var nIndex=$.inArray(oApp,_apps);if(nIndex>=0)_apps=_apps.splice(nIndex,1);if($.isArray(_apps[sName])){nIndex=$.inArray(oApp,_apps[sName]);if(nIndex>=0)_apps[sName]=_apps[sName].splice(nIndex,1)}
if($.isFunction(oApp.deactivate))oApp.deactivate()},broadcast:function(msg,params){this._broadcast(this,msg,params)},_broadcast:function(sender,msg,params){for(var i=0;i<_apps.length;i++){_apps[i]._cast(sender,msg,params)}
this._cast(sender,msg,params)}};_app_base={_plugins:[],_messages:{},getPlugin:function(sPluginName){sPluginName=sPluginName.toLowerCase();if($.isArray(this._plugins[sPluginName])){return this._plugins[sPluginName]}else{return[]}},registerPlugin:function(oPlugin){var self=this;var sName=oPlugin.getName().toLowerCase();if($.inArray(oPlugin,this._plugins)>=0)return!1;this._plugins.push(oPlugin);if(!$.isArray(this._plugins[sName]))this._plugins[sName]=[];this._plugins[sName].push(oPlugin);$.each(oPlugin._binded_fn,function(api,fn){self.registerHandler(api,fn)});oPlugin.oApp=this;if($.isFunction(oPlugin.activate))oPlugin.activate();return!0},registerHandler:function(api,func){var msgs=this._messages;api=api.toUpperCase();if(!$.isArray(msgs[api]))msgs[api]=[];msgs[api].push(func)},cast:function(msg,params){return this._cast(this,msg,params||[])},broadcast:function(sender,msg,params){if(this.parent&&this.parent._broadcast){this.parent._broadcast(sender,msg,params)}},_cast:function(sender,msg,params){var i,len;var aMsg=this._messages;msg=msg.toUpperCase();if(aMsg['BEFORE_'+msg]||this['API_BEFORE_'+msg]){var bContinue=this._cast(sender,'BEFORE_'+msg,params);if(!bContinue)return}
var vRet=[],sFn='API_'+msg;if($.isArray(aMsg[msg])){for(i=0;i=0||$.inArray(key,return_fields)>=0){result[key]=val}});if(data._rx_debug){data._rx_debug.page_title="AJAX : "+params.module+"."+params.act;if(window.rhymix_debug_add_data){window.rhymix_debug_add_data(data._rx_debug)}else{window.rhymix_debug_pending_data.push(data._rx_debug)}}
if(data.error!="0"){if($.isFunction($.exec_xml.onerror)){if(typeof console=="object"&&typeof console.log=="function"){console.log("DEPRECATED : $.exec_xml.onerror() is deprecated in Rhymix.")}
return $.exec_xml.onerror(module,act,data,callback_success,return_fields,callback_success_arg,fo_obj)}
if(data.message){alert(data.message.replace(/\\n/g,"\n"))}else{alert("AJAX communication error while requesting "+params.module+"."+params.act)}
return null}
if(data.redirect_url){data.redirect_url=data.redirect_url.replace(/&/g,"&")}
if(data.redirect_url&&!$.isFunction(callback_success)){return redirect(data.redirect_url)}
if($.isFunction(callback_success)){callback_success(result,return_fields,callback_success_arg,fo_obj)}};errorHandler=function(xhr,textStatus,doNotHandleXml){if(textStatus==='parsererror'&&doNotHandleXml!==!0&&xhr.responseText&&xhr.responseText.match(/
"+xhr.responseText+"
";alert("AJAX communication error while requesting "+params.module+"."+params.act+"
"+error_info)}else{error_info=xhr.status+" "+xhr.statusText+" ("+textStatus+")"+"\n\n"+xhr.responseText;alert("AJAX communication error while requesting "+params.module+"."+params.act+"\n\n"+error_info)}};xmlHandler=function(xhr,textStatus){var parseXmlAndReturn=function(){var x2js=new X2JS();var data=x2js.xml_str2json($.trim(xhr.responseText));if(data&&data.response){return successHandler(data.response,textStatus,xhr)}else{return errorHandler(xhr,textStatus,!0)}};if(window.X2JS){parseXmlAndReturn()}else{$.ajax({url:request_uri+"common/js/xml2json.js",dataType:"script",cache:!0,success:parseXmlAndReturn,error:function(){return errorHandler(xhr,textStatus,!0)}})}};try{$.ajax({url:url,type:"POST",dataType:"json",data:params,success:successHandler,error:errorHandler})}catch(e){alert(e);return}};window.exec_json=$.exec_json=function(action,params,callback_success,callback_error){var request_info;if(action==='raw'){request_info='RAW FORM SUBMISSION'}else{params=params?($.isArray(params)?arr2obj(params):params):{};action=action.split(".");params.module=action[0];params.act=action[1];params._rx_ajax_compat='JSON';params._rx_csrf_token=getCSRFToken();request_info=params.module+"."+params.act}
waiting_obj.css("opacity",0.0);var wfsr_timeout=setTimeout(function(){if(show_waiting_message){waiting_obj.css("opacity","").show()}},1000);var successHandler=function(data,textStatus,xhr){clearTimeout(wfsr_timeout);waiting_obj.hide().trigger("cancel_confirm");if(data._rx_debug){data._rx_debug.page_title="AJAX : "+request_info;if(window.rhymix_debug_add_data){window.rhymix_debug_add_data(data._rx_debug)}else{window.rhymix_debug_pending_data.push(data._rx_debug)}}
if(data.error!="0"&&data.error>-1000){if($.isFunction(callback_error)&&callback_error(data)===!1){return}
if(data.error==-1&&data.message=="admin.msg_is_not_administrator"){alert("You are not logged in as an administrator.");return}else{if(data.message){alert(data.message.replace(/\\n/g,"\n"))}else{alert("AJAX communication error while requesting "+request_info)}
return}}
if(data.redirect_url){data.redirect_url=data.redirect_url.replace(/&/g,"&")}
if(data.redirect_url&&!$.isFunction(callback_success)){return redirect(data.redirect_url)}
if($.isFunction(callback_success)){callback_success(data)}};var errorHandler=function(xhr,textStatus){if(xhr.status==0&&page_unloading){return}
clearTimeout(wfsr_timeout);waiting_obj.hide().trigger("cancel_confirm");var error_info;if($(".x_modal-body").size()){error_info=xhr.status+" "+xhr.statusText+" ("+textStatus+")"+"
"+xhr.responseText+"
";alert("AJAX communication error while requesting "+params.module+"."+params.act+"