vendor: 93,689 bytes, lines 1-399
1(function(global,factory){if(typeof module==="object"&&typeof module.exports==="object"){module.exports=global.document?factory(global,true):function(w){if(!w.document){throw new Error("jQuery requires a window with a document");} 2return factory(w);};}else{factory(global);}}(typeof window!=="undefined"?window:this,function(window,noGlobal){var arr=[];var slice=arr.slice;var concat=arr.concat;var push=arr.push;var indexOf=arr.indexOf;var class2type={};var toString=class2type.toString;var hasOwn=class2type.hasOwnProperty;var support={};var 3document=window.document,version="2.1.4",jQuery=function(selector,context){return new jQuery.fn.init(selector,context);},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([\da-z])/gi,fcamelCase=function(all,letter){return letter.toUpperCase();};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,selector:"",length:0,toArray:function(){return slice.call(this);},get:function(num){return num!=null?(num<0?this[num+this.length]:this[num]):slice.call(this);},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);ret.prevObject=this;ret.context=this.context;return ret;},each:function(callback,args){return jQuery.each(this,callback,args);},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},slice:function(){return this.pushStack(slice.apply(this,arguments));},first:function(){return this.eq(0);},last:function(){return this.eq(-1);},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[]);},end:function(){return this.prevObject||this.constructor(null);},push:push,sort:arr.sort,splice:arr.splice};jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[i]||{};i++;} 4if(typeof target!=="object"&&!jQuery.isFunction(target)){target={};} 5if(i===length){target=this;i--;} 6for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue;} 7if(deep&©&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[];}else{clone=src&&jQuery.isPlainObject(src)?src:{};} 8target[name]=jQuery.extend(deep,clone,copy);}else if(copy!==undefined){target[name]=copy;}}}} 9return target;};jQuery.extend({expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),isReady:true,error:function(msg){throw new Error(msg);},noop:function(){},isFunction:function(obj){return jQuery.type(obj)==="function";},isArray:Array.isArray,isWindow:function(obj){return obj!=null&&obj===obj.window;},isNumeric:function(obj){return!jQuery.isArray(obj)&&(obj-parseFloat(obj)+1)>=0;},isPlainObject:function(obj){if(jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj)){return false;} 10if(obj.constructor&&!hasOwn.call(obj.constructor.prototype,"isPrototypeOf")){return false;} 11return true;},isEmptyObject:function(obj){var name;for(name in obj){return false;} 12return true;},type:function(obj){if(obj==null){return obj+"";} 13return typeof obj==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj;},globalEval:function(code){var script,indirect=eval;code=jQuery.trim(code);if(code){if(code.indexOf("use strict")===1){script=document.createElement("script");script.text=code;document.head.appendChild(script).parentNode.removeChild(script);}else{indirect(code);}}},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase);},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase();},each:function(obj,callback,args){var value,i=0,length=obj.length,isArray=isArraylike(obj);if(args){if(isArray){for(;i<length;i++){value=callback.apply(obj[i],args);if(value===false){break;}}}else{for(i in obj){value=callback.apply(obj[i],args);if(value===false){break;}}}}else{if(isArray){for(;i<length;i++){value=callback.call(obj[i],i,obj[i]);if(value===false){break;}}}else{for(i in obj){value=callback.call(obj[i],i,obj[i]);if(value===false){break;}}}} 14return obj;},trim:function(text){return text==null?"":(text+"").replace(rtrim,"");},makeArray:function(arr,results){var ret=results||[];if(arr!=null){if(isArraylike(Object(arr))){jQuery.merge(ret,typeof arr==="string"?[arr]:arr);}else{push.call(ret,arr);}} 15return ret;},inArray:function(elem,arr,i){return arr==null?-1:indexOf.call(arr,elem,i);},merge:function(first,second){var len=+second.length,j=0,i=first.length;for(;j<len;j++){first[i++]=second[j];} 16first.length=i;return first;},grep:function(elems,callback,invert){var callbackInverse,matches=[],i=0,length=elems.length,callbackExpect=!invert;for(;i<length;i++){callbackInverse=!callback(elems[i],i);if(callbackInverse!==callbackExpect){matches.push(elems[i]);}} 17return matches;},map:function(elems,callback,arg){var value,i=0,length=elems.length,isArray=isArraylike(elems),ret=[];if(isArray){for(;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret.push(value);}}}else{for(i in elems){value=callback(elems[i],i,arg);if(value!=null){ret.push(value);}}} 18return concat.apply([],ret);},guid:1,proxy:function(fn,context){var tmp,args,proxy;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp;} 19if(!jQuery.isFunction(fn)){return undefined;} 20args=slice.call(arguments,2);proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)));};proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy;},now:Date.now,support:support});jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase();});function isArraylike(obj){var length="length"in obj&&obj.length,type=jQuery.type(obj);if(type==="function"||jQuery.isWindow(obj)){return false;} 21if(obj.nodeType===1&&length){return true;} 22return type==="array"||length===0||typeof length==="number"&&length>0&&(length-1)in obj;} 23var Sizzle=(function(window){var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando="sizzle"+1*new Date(),preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){if(a===b){hasDuplicate=true;} 24return 0;},MAX_NEGATIVE=1<<31,hasOwn=({}).hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){var i=0,len=list.length;for(;i<len;i++){if(list[i]===elem){return i;}} 25return-1;},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",whitespace="[\\x20\\t\\r\\n\\f]",characterEncoding="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",identifier=characterEncoding.replace("w","w#"),attributes="\\["+whitespace+"*("+characterEncoding+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+characterEncoding+")(?:\\(("+"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+".*"+")\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={"ID":new RegExp("^#("+characterEncoding+")"),"CLASS":new RegExp("^\\.("+characterEncoding+")"),"TAG":new RegExp("^("+characterEncoding.replace("w","w*")+")"),"ATTR":new RegExp("^"+attributes),"PSEUDO":new RegExp("^"+pseudos),"CHILD":new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),"bool":new RegExp("^(?:"+booleans+")$","i"),"needsContext":new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ 26whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,rescape=/'|\\/g,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-0x10000;return high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+0x10000):String.fromCharCode(high>>10|0xD800,high&0x3FF|0xDC00);},unloadHandler=function(){setDocument();};try{push.apply((arr=slice.call(preferredDoc.childNodes)),preferredDoc.childNodes);arr[preferredDoc.childNodes.length].nodeType;}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els));}:function(target,els){var j=target.length,i=0;while((target[j++]=els[i++])){} 27target.length=j-1;}};} 28function Sizzle(selector,context,results,seed){var match,elem,m,nodeType,i,groups,old,nid,newContext,newSelector;if((context?context.ownerDocument||context:preferredDoc)!==document){setDocument(context);} 29context=context||document;results=results||[];nodeType=context.nodeType;if(typeof selector!=="string"||!selector||nodeType!==1&&nodeType!==9&&nodeType!==11){return results;} 30if(!seed&&documentIsHTML){if(nodeType!==11&&(match=rquickExpr.exec(selector))){if((m=match[1])){if(nodeType===9){elem=context.getElementById(m);if(elem&&elem.parentNode){if(elem.id===m){results.push(elem);return results;}}else{return results;}}else{if(context.ownerDocument&&(elem=context.ownerDocument.getElementById(m))&&contains(context,elem)&&elem.id===m){results.push(elem);return results;}}}else if(match[2]){push.apply(results,context.getElementsByTagName(selector));return results;}else if((m=match[3])&&support.getElementsByClassName){push.apply(results,context.getElementsByClassName(m));return results;}} 31if(support.qsa&&(!rbuggyQSA||!rbuggyQSA.test(selector))){nid=old=expando;newContext=context;newSelector=nodeType!==1&&selector;if(nodeType===1&&context.nodeName.toLowerCase()!=="object"){groups=tokenize(selector);if((old=context.getAttribute("id"))){nid=old.replace(rescape,"\\$&");}else{context.setAttribute("id",nid);} 32nid="[id='"+nid+"'] ";i=groups.length;while(i--){groups[i]=nid+toSelector(groups[i]);} 33newContext=rsibling.test(selector)&&testContext(context.parentNode)||context;newSelector=groups.join(",");} 34if(newSelector){try{push.apply(results,newContext.querySelectorAll(newSelector));return results;}catch(qsaError){}finally{if(!old){context.removeAttribute("id");}}}}} 35return select(selector.replace(rtrim,"$1"),context,results,seed);} 36function createCache(){var keys=[];function cache(key,value){if(keys.push(key+" ")>Expr.cacheLength){delete cache[keys.shift()];} 37return(cache[key+" "]=value);} 38return cache;} 39function markFunction(fn){fn[expando]=true;return fn;} 40function assert(fn){var div=document.createElement("div");try{return!!fn(div);}catch(e){return false;}finally{if(div.parentNode){div.parentNode.removeChild(div);} 41div=null;}} 42function addHandle(attrs,handler){var arr=attrs.split("|"),i=attrs.length;while(i--){Expr.attrHandle[arr[i]]=handler;}} 43function siblingCheck(a,b){var cur=b&&a,diff=cur&&a.nodeType===1&&b.nodeType===1&&(~b.sourceIndex||MAX_NEGATIVE)- 44(~a.sourceIndex||MAX_NEGATIVE);if(diff){return diff;} 45if(cur){while((cur=cur.nextSibling)){if(cur===b){return-1;}}} 46return a?1:-1;} 47function createInputPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type===type;};} 48function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&elem.type===type;};} 49function createPositionalPseudo(fn){return markFunction(function(argument){argument=+argument;return markFunction(function(seed,matches){var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;while(i--){if(seed[(j=matchIndexes[i])]){seed[j]=!(matches[j]=seed[j]);}}});});} 50function testContext(context){return context&&typeof context.getElementsByTagName!=="undefined"&&context;} 51support=Sizzle.support={};isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return documentElement?documentElement.nodeName!=="HTML":false;};setDocument=Sizzle.setDocument=function(node){var hasCompare,parent,doc=node?node.ownerDocument||node:preferredDoc;if(doc===document||doc.nodeType!==9||!doc.documentElement){return document;} 52document=doc;docElem=doc.documentElement;parent=doc.defaultView;if(parent&&parent!==parent.top){if(parent.addEventListener){parent.addEventListener("unload",unloadHandler,false);}else if(parent.attachEvent){parent.attachEvent("onunload",unloadHandler);}} 53documentIsHTML=!isXML(doc);support.attributes=assert(function(div){div.className="i";return!div.getAttribute("className");});support.getElementsByTagName=assert(function(div){div.appendChild(doc.createComment(""));return!div.getElementsByTagName("*").length;});support.getElementsByClassName=rnative.test(doc.getElementsByClassName);support.getById=assert(function(div){docElem.appendChild(div).id=expando;return!doc.getElementsByName||!doc.getElementsByName(expando).length;});if(support.getById){Expr.find["ID"]=function(id,context){if(typeof context.getElementById!=="undefined"&&documentIsHTML){var m=context.getElementById(id);return m&&m.parentNode?[m]:[];}};Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId;};};}else{delete Expr.find["ID"];Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return node&&node.value===attrId;};};} 54Expr.find["TAG"]=support.getElementsByTagName?function(tag,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(tag);}else if(support.qsa){return context.querySelectorAll(tag);}}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if(tag==="*"){while((elem=results[i++])){if(elem.nodeType===1){tmp.push(elem);}} 55return tmp;} 56return results;};Expr.find["CLASS"]=support.getElementsByClassName&&function(className,context){if(documentIsHTML){return context.getElementsByClassName(className);}};rbuggyMatches=[];rbuggyQSA=[];if((support.qsa=rnative.test(doc.querySelectorAll))){assert(function(div){docElem.appendChild(div).innerHTML="<a id='"+expando+"'></a>"+"<select id='"+expando+"-\f]' msallowcapture=''>"+"<option selected=''></option></select>";if(div.querySelectorAll("[msallowcapture^='']").length){rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")");} 57if(!div.querySelectorAll("[selected]").length){rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")");} 58if(!div.querySelectorAll("[id~="+expando+"-]").length){rbuggyQSA.push("~=");} 59if(!div.querySelectorAll(":checked").length){rbuggyQSA.push(":checked");} 60if(!div.querySelectorAll("a#"+expando+"+*").length){rbuggyQSA.push(".#.+[+~]");}});assert(function(div){var input=doc.createElement("input");input.setAttribute("type","hidden");div.appendChild(input).setAttribute("name","D");if(div.querySelectorAll("[name=d]").length){rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?=");} 61if(!div.querySelectorAll(":enabled").length){rbuggyQSA.push(":enabled",":disabled");} 62div.querySelectorAll("*,:x");rbuggyQSA.push(",.*:");});} 63if((support.matchesSelector=rnative.test((matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector)))){assert(function(div){support.disconnectedMatch=matches.call(div,"div");matches.call(div,"[s!='']:x");rbuggyMatches.push("!=",pseudos);});} 64rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|"));hasCompare=rnative.test(docElem.compareDocumentPosition);contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=a.nodeType===9?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!!(bup&&bup.nodeType===1&&(adown.contains?adown.contains(bup):a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16));}:function(a,b){if(b){while((b=b.parentNode)){if(b===a){return true;}}} 65return false;};sortOrder=hasCompare?function(a,b){if(a===b){hasDuplicate=true;return 0;} 66var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;if(compare){return compare;} 67compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1;if(compare&1||(!support.sortDetached&&b.compareDocumentPosition(a)===compare)){if(a===doc||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)){return-1;} 68if(b===doc||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)){return 1;} 69return sortInput?(indexOf(sortInput,a)-indexOf(sortInput,b)):0;} 70return compare&4?-1:1;}:function(a,b){if(a===b){hasDuplicate=true;return 0;} 71var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup){return a===doc?-1:b===doc?1:aup?-1:bup?1:sortInput?(indexOf(sortInput,a)-indexOf(sortInput,b)):0;}else if(aup===bup){return siblingCheck(a,b);} 72cur=a;while((cur=cur.parentNode)){ap.unshift(cur);} 73cur=b;while((cur=cur.parentNode)){bp.unshift(cur);} 74while(ap[i]===bp[i]){i++;} 75return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0;};return doc;};Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements);};Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document){setDocument(elem);} 76expr=expr.replace(rattributeQuotes,"='$1']");if(support.matchesSelector&&documentIsHTML&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr))){try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&elem.document.nodeType!==11){return ret;}}catch(e){}} 77return Sizzle(expr,document,null,[elem]).length>0;};Sizzle.contains=function(context,elem){if((context.ownerDocument||context)!==document){setDocument(context);} 78return contains(context,elem);};Sizzle.attr=function(elem,name){if((elem.ownerDocument||elem)!==document){setDocument(elem);} 79var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):undefined;return val!==undefined?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null;};Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg);};Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;hasDuplicate=!support.detectDuplicates;sortInput=!support.sortStable&&results.slice(0);results.sort(sortOrder);if(hasDuplicate){while((elem=results[i++])){if(elem===results[i]){j=duplicates.push(i);}} 80while(j--){results.splice(duplicates[j],1);}} 81sortInput=null;return results;};getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(!nodeType){while((node=elem[i++])){ret+=getText(node);}}else if(nodeType===1||nodeType===9||nodeType===11){if(typeof elem.textContent==="string"){return elem.textContent;}else{for(elem=elem.firstChild;elem;elem=elem.nextSibling){ret+=getText(elem);}}}else if(nodeType===3||nodeType===4){return elem.nodeValue;} 82return ret;};Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{"ATTR":function(match){match[1]=match[1].replace(runescape,funescape);match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape);if(match[2]==="~="){match[3]=" "+match[3]+" ";} 83return match.slice(0,4);},"CHILD":function(match){match[1]=match[1].toLowerCase();if(match[1].slice(0,3)==="nth"){if(!match[3]){Sizzle.error(match[0]);} 84match[4]=+(match[4]?match[5]+(match[6]||1):2*(match[3]==="even"||match[3]==="odd"));match[5]=+((match[7]+match[8])||match[3]==="odd");}else if(match[3]){Sizzle.error(match[0]);} 85return match;},"PSEUDO":function(match){var excess,unquoted=!match[6]&&match[2];if(matchExpr["CHILD"].test(match[0])){return null;} 86if(match[3]){match[2]=match[4]||match[5]||"";}else if(unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,true))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){match[0]=match[0].slice(0,excess);match[2]=unquoted.slice(0,excess);} 87return match.slice(0,3);}},filter:{"TAG":function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return nodeNameSelector==="*"?function(){return true;}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName;};},"CLASS":function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test(typeof elem.className==="string"&&elem.className||typeof elem.getAttribute!=="undefined"&&elem.getAttribute("class")||"");});},"ATTR":function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);if(result==null){return operator==="!=";} 88if(!operator){return true;} 89result+="";return operator==="="?result===check:operator==="!="?result!==check:operator==="^="?check&&result.indexOf(check)===0:operator==="*="?check&&result.indexOf(check)>-1:operator==="$="?check&&result.slice(-check.length)===check:operator==="~="?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:operator==="|="?result===check||result.slice(0,check.length+1)===check+"-":false;};},"CHILD":function(type,what,argument,first,last){var simple=type.slice(0,3)!=="nth",forward=type.slice(-4)!=="last",ofType=what==="of-type";return first===1&&last===0?function(elem){return!!elem.parentNode;}:function(elem,context,xml){var cache,outerCache,node,diff,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType;if(parent){if(simple){while(dir){node=elem;while((node=node[dir])){if(ofType?node.nodeName.toLowerCase()===name:node.nodeType===1){return false;}} 90start=dir=type==="only"&&!start&&"nextSibling";} 91return true;} 92start=[forward?parent.firstChild:parent.lastChild];if(forward&&useCache){outerCache=parent[expando]||(parent[expando]={});cache=outerCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=cache[0]===dirruns&&cache[2];node=nodeIndex&&parent.childNodes[nodeIndex];while((node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())){if(node.nodeType===1&&++diff&&node===elem){outerCache[type]=[dirruns,nodeIndex,diff];break;}}}else if(useCache&&(cache=(elem[expando]||(elem[expando]={}))[type])&&cache[0]===dirruns){diff=cache[1];}else{while((node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())){if((ofType?node.nodeName.toLowerCase()===name:node.nodeType===1)&&++diff){if(useCache){(node[expando]||(node[expando]={}))[type]=[dirruns,diff];} 93if(node===elem){break;}}}} 94diff-=last;return diff===first||(diff%first===0&&diff / first>=0);}};},"PSEUDO":function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);if(fn[expando]){return fn(argument);} 95if(fn.length>1){args=[pseudo,pseudo,"",argument];return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){var idx,matched=fn(seed,argument),i=matched.length;while(i--){idx=indexOf(seed,matched[i]);seed[idx]=!(matches[idx]=matched[i]);}}):function(elem){return fn(elem,0,args);};} 96return fn;}},pseudos:{"not":markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;while(i--){if((elem=unmatched[i])){seed[i]=!(matches[i]=elem);}}}):function(elem,context,xml){input[0]=elem;matcher(input,null,xml,results);input[0]=null;return!results.pop();};}),"has":markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0;};}),"contains":markFunction(function(text){text=text.replace(runescape,funescape);return function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1;};}),"lang":markFunction(function(lang){if(!ridentifier.test(lang||"")){Sizzle.error("unsupported lang: "+lang);} 97lang=lang.replace(runescape,funescape).toLowerCase();return function(elem){var elemLang;do{if((elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang"))){elemLang=elemLang.toLowerCase();return elemLang===lang||elemLang.indexOf(lang+"-")===0;}}while((elem=elem.parentNode)&&elem.nodeType===1);return false;};}),"target":function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id;},"root":function(elem){return elem===docElem;},"focus":function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex);},"enabled":function(elem){return elem.disabled===false;},"disabled":function(elem){return elem.disabled===true;},"checked":function(elem){var nodeName=elem.nodeName.toLowerCase();return(nodeName==="input"&&!!elem.checked)||(nodeName==="option"&&!!elem.selected);},"selected":function(elem){if(elem.parentNode){elem.parentNode.selectedIndex;} 98return elem.selected===true;},"empty":function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling){if(elem.nodeType<6){return false;}} 99return true;},"parent":function(elem){return!Expr.pseudos["empty"](elem);},"header":function(elem){return rheader.test(elem.nodeName);},"input":function(elem){return rinputs.test(elem.nodeName);},"button":function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type==="button"||name==="button";},"text":function(elem){var attr;return elem.nodeName.toLowerCase()==="input"&&elem.type==="text"&&((attr=elem.getAttribute("type"))==null||attr.toLowerCase()==="text");},"first":createPositionalPseudo(function(){return[0];}),"last":createPositionalPseudo(function(matchIndexes,length){return[length-1];}),"eq":createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument];}),"even":createPositionalPseudo(function(matchIndexes,length){var i=0;for(;i<length;i+=2){matchIndexes.push(i);} 100return matchIndexes;}),"odd":createPositionalPseudo(function(matchIndexes,length){var i=1;for(;i<length;i+=2){matchIndexes.push(i);} 101return matchIndexes;}),"lt":createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;--i>=0;){matchIndexes.push(i);} 102return matchIndexes;}),"gt":createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;++i<length;){matchIndexes.push(i);} 103return matchIndexes;})}};Expr.pseudos["nth"]=Expr.pseudos["eq"];for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){Expr.pseudos[i]=createInputPseudo(i);} 104for(i in{submit:true,reset:true}){Expr.pseudos[i]=createButtonPseudo(i);} 105function setFilters(){} 106setFilters.prototype=Expr.filters=Expr.pseudos;Expr.setFilters=new setFilters();tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached){return parseOnly?0:cached.slice(0);} 107soFar=selector;groups=[];preFilters=Expr.preFilter;while(soFar){if(!matched||(match=rcomma.exec(soFar))){if(match){soFar=soFar.slice(match[0].length)||soFar;} 108groups.push((tokens=[]));} 109matched=false;if((match=rcombinators.exec(soFar))){matched=match.shift();tokens.push({value:matched,type:match[0].replace(rtrim," ")});soFar=soFar.slice(matched.length);} 110for(type in Expr.filter){if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||(match=preFilters[type](match)))){matched=match.shift();tokens.push({value:matched,type:type,matches:match});soFar=soFar.slice(matched.length);}} 111if(!matched){break;}} 112return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0);};function toSelector(tokens){var i=0,len=tokens.length,selector="";for(;i<len;i++){selector+=tokens[i].value;} 113return selector;} 114function addCombinator(matcher,combinator,base){var dir=combinator.dir,checkNonElements=base&&dir==="parentNode",doneName=done++;return combinator.first?function(elem,context,xml){while((elem=elem[dir])){if(elem.nodeType===1||checkNonElements){return matcher(elem,context,xml);}}}:function(elem,context,xml){var oldCache,outerCache,newCache=[dirruns,doneName];if(xml){while((elem=elem[dir])){if(elem.nodeType===1||checkNonElements){if(matcher(elem,context,xml)){return true;}}}}else{while((elem=elem[dir])){if(elem.nodeType===1||checkNonElements){outerCache=elem[expando]||(elem[expando]={});if((oldCache=outerCache[dir])&&oldCache[0]===dirruns&&oldCache[1]===doneName){return(newCache[2]=oldCache[2]);}else{outerCache[dir]=newCache;if((newCache[2]=matcher(elem,context,xml))){return true;}}}}}};} 115function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){var i=matchers.length;while(i--){if(!matchers[i](elem,context,xml)){return false;}} 116return true;}:matchers[0];} 117function multipleContexts(selector,contexts,results){var i=0,len=contexts.length;for(;i<len;i++){Sizzle(selector,contexts[i],results);} 118return results;} 119function condense(unmatched,map,filter,context,xml){var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=map!=null;for(;i<len;i++){if((elem=unmatched[i])){if(!filter||filter(elem,context,xml)){newUnmatched.push(elem);if(mapped){map.push(i);}}}} 120return newUnmatched;} 121function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){if(postFilter&&!postFilter[expando]){postFilter=setMatcher(postFilter);} 122if(postFinder&&!postFinder[expando]){postFinder=setMatcher(postFinder,postSelector);} 123return markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=preFilter&&(seed||!selector)?condense(elems,preMap,preFilter,context,xml):elems,matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher){matcher(matcherIn,matcherOut,context,xml);} 124if(postFilter){temp=condense(matcherOut,postMap);postFilter(temp,[],context,xml);i=temp.length;while(i--){if((elem=temp[i])){matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem);}}} 125if(seed){if(postFinder||preFilter){if(postFinder){temp=[];i=matcherOut.length;while(i--){if((elem=matcherOut[i])){temp.push((matcherIn[i]=elem));}} 126postFinder(null,(matcherOut=[]),temp,xml);} 127i=matcherOut.length;while(i--){if((elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1){seed[temp]=!(results[temp]=elem);}}}}else{matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut);if(postFinder){postFinder(null,results,matcherOut,xml);}else{push.apply(results,matcherOut);}}});} 128function matcherFromTokens(tokens){var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext;},implicitRelative,true),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1;},implicitRelative,true),matchers=[function(elem,context,xml){var ret=(!leadingRelative&&(xml||context!==outermostContext))||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));checkContext=null;return ret;}];for(;i<len;i++){if((matcher=Expr.relative[tokens[i].type])){matchers=[addCombinator(elementMatcher(matchers),matcher)];}else{matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);if(matcher[expando]){j=++i;for(;j<len;j++){if(Expr.relative[tokens[j].type]){break;}} 129return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:tokens[i-2].type===" "?"*":""})).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens((tokens=tokens.slice(j))),j<len&&toSelector(tokens));} 130matchers.push(matcher);}} 131return elementMatcher(matchers);} 132function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find["TAG"]("*",outermost),dirrunsUnique=(dirruns+=contextBackup==null?1:Math.random()||0.1),len=elems.length;if(outermost){outermostContext=context!==document&&context;} 133for(;i!==len&&(elem=elems[i])!=null;i++){if(byElement&&elem){j=0;while((matcher=elementMatchers[j++])){if(matcher(elem,context,xml)){results.push(elem);break;}} 134if(outermost){dirruns=dirrunsUnique;}} 135if(bySet){if((elem=!matcher&&elem)){matchedCount--;} 136if(seed){unmatched.push(elem);}}} 137matchedCount+=i;if(bySet&&i!==matchedCount){j=0;while((matcher=setMatchers[j++])){matcher(unmatched,setMatched,context,xml);} 138if(seed){if(matchedCount>0){while(i--){if(!(unmatched[i]||setMatched[i])){setMatched[i]=pop.call(results);}}} 139setMatched=condense(setMatched);} 140push.apply(results,setMatched);if(outermost&&!seed&&setMatched.length>0&&(matchedCount+setMatchers.length)>1){Sizzle.uniqueSort(results);}} 141if(outermost){dirruns=dirrunsUnique;outermostContext=contextBackup;} 142return unmatched;};return bySet?markFunction(superMatcher):superMatcher;} 143compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){if(!match){match=tokenize(selector);} 144i=match.length;while(i--){cached=matcherFromTokens(match[i]);if(cached[expando]){setMatchers.push(cached);}else{elementMatchers.push(cached);}} 145cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers));cached.selector=selector;} 146return cached;};select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled=typeof selector==="function"&&selector,match=!seed&&tokenize((selector=compiled.selector||selector));results=results||[];if(match.length===1){tokens=match[0]=match[0].slice(0);if(tokens.length>2&&(token=tokens[0]).type==="ID"&&support.getById&&context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){context=(Expr.find["ID"](token.matches[0].replace(runescape,funescape),context)||[])[0];if(!context){return results;}else if(compiled){context=context.parentNode;} 147selector=selector.slice(tokens.shift().value.length);} 148i=matchExpr["needsContext"].test(selector)?0:tokens.length;while(i--){token=tokens[i];if(Expr.relative[(type=token.type)]){break;} 149if((find=Expr.find[type])){if((seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context))){tokens.splice(i,1);selector=seed.length&&toSelector(tokens);if(!selector){push.apply(results,seed);return results;} 150break;}}}} 151(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,rsibling.test(selector)&&testContext(context.parentNode)||context);return results;};support.sortStable=expando.split("").sort(sortOrder).join("")===expando;support.detectDuplicates=!!hasDuplicate;setDocument();support.sortDetached=assert(function(div1){return div1.compareDocumentPosition(document.createElement("div"))&1;});if(!assert(function(div){div.innerHTML="<a href='#'></a>";return div.firstChild.getAttribute("href")==="#";})){addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML){return elem.getAttribute(name,name.toLowerCase()==="type"?1:2);}});} 152if(!support.attributes||!assert(function(div){div.innerHTML="<input/>";div.firstChild.setAttribute("value","");return div.firstChild.getAttribute("value")==="";})){addHandle("value",function(elem,name,isXML){if(!isXML&&elem.nodeName.toLowerCase()==="input"){return elem.defaultValue;}});} 153if(!assert(function(div){return div.getAttribute("disabled")==null;})){addHandle(booleans,function(elem,name,isXML){var val;if(!isXML){return elem[name]===true?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null;}});} 154return Sizzle;})(window);jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.pseudos;jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains;var rneedsContext=jQuery.expr.match.needsContext;var rsingleTag=(/^<(\w+)\s*\/?>(?:<\/\1>|)$/);var risSimple=/^.[^:#\[\.,]*$/;function winnow(elements,qualifier,not){if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not;});} 155if(qualifier.nodeType){return jQuery.grep(elements,function(elem){return(elem===qualifier)!==not;});} 156if(typeof qualifier==="string"){if(risSimple.test(qualifier)){return jQuery.filter(qualifier,elements,not);} 157qualifier=jQuery.filter(qualifier,elements);} 158return jQuery.grep(elements,function(elem){return(indexOf.call(qualifier,elem)>=0)!==not;});} 159jQuery.filter=function(expr,elems,not){var elem=elems[0];if(not){expr=":not("+expr+")";} 160return elems.length===1&&elem.nodeType===1?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return elem.nodeType===1;}));};jQuery.fn.extend({find:function(selector){var i,len=this.length,ret=[],self=this;if(typeof selector!=="string"){return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++){if(jQuery.contains(self[i],this)){return true;}}}));} 161for(i=0;i<len;i++){jQuery.find(selector,self[i],ret);} 162ret=this.pushStack(len>1?jQuery.unique(ret):ret);ret.selector=this.selector?this.selector+" "+selector:selector;return ret;},filter:function(selector){return this.pushStack(winnow(this,selector||[],false));},not:function(selector){return this.pushStack(winnow(this,selector||[],true));},is:function(selector){return!!winnow(this,typeof selector==="string"&&rneedsContext.test(selector)?jQuery(selector):selector||[],false).length;}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,init=jQuery.fn.init=function(selector,context){var match,elem;if(!selector){return this;} 163if(typeof selector==="string"){if(selector[0]==="<"&&selector[selector.length-1]===">"&&selector.length>=3){match=[null,selector,null];}else{match=rquickExpr.exec(selector);} 164if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,true));if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){for(match in context){if(jQuery.isFunction(this[match])){this[match](context[match]);}else{this.attr(match,context[match]);}}} 165return this;}else{elem=document.getElementById(match[2]);if(elem&&elem.parentNode){this.length=1;this[0]=elem;} 166this.context=document;this.selector=selector;return this;}}else if(!context||context.jquery){return(context||rootjQuery).find(selector);}else{return this.constructor(context).find(selector);}}else if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this;}else if(jQuery.isFunction(selector)){return typeof rootjQuery.ready!=="undefined"?rootjQuery.ready(selector):selector(jQuery);} 167if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context;} 168return jQuery.makeArray(selector,this);};init.prototype=jQuery.fn;rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.extend({dir:function(elem,dir,until){var matched=[],truncate=until!==undefined;while((elem=elem[dir])&&elem.nodeType!==9){if(elem.nodeType===1){if(truncate&&jQuery(elem).is(until)){break;} 169matched.push(elem);}} 170return matched;},sibling:function(n,elem){var matched=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){matched.push(n);}} 171return matched;}});jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){var i=0;for(;i<l;i++){if(jQuery.contains(this,targets[i])){return true;}}});},closest:function(selectors,context){var cur,i=0,l=this.length,matched=[],pos=rneedsContext.test(selectors)||typeof selectors!=="string"?jQuery(selectors,context||this.context):0;for(;i<l;i++){for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){if(cur.nodeType<11&&(pos?pos.index(cur)>-1:cur.nodeType===1&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break;}}} 172return this.pushStack(matched.length>1?jQuery.unique(matched):matched);},index:function(elem){if(!elem){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1;} 173if(typeof elem==="string"){return indexOf.call(jQuery(elem),this[0]);} 174return indexOf.call(this,elem.jquery?elem[0]:elem);},add:function(selector,context){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),jQuery(selector,context))));},addBack:function(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector));}});function sibling(cur,dir){while((cur=cur[dir])&&cur.nodeType!==1){} 175return cur;} 176jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null;},parents:function(elem){return jQuery.dir(elem,"parentNode");},parentsUntil:function(elem,i,until){return jQuery.dir(elem,"parentNode",until);},next:function(elem){return sibling(elem,"nextSibling");},prev:function(elem){return sibling(elem,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},nextUntil:function(elem,i,until){return jQuery.dir(elem,"nextSibling",until);},prevUntil:function(elem,i,until){return jQuery.dir(elem,"previousSibling",until);},siblings:function(elem){return jQuery.sibling((elem.parentNode||{}).firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return elem.contentDocument||jQuery.merge([],elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);if(name.slice(-5)!=="Until"){selector=until;} 177if(selector&&typeof selector==="string"){matched=jQuery.filter(selector,matched);} 178if(this.length>1){if(!guaranteedUnique[name]){jQuery.unique(matched);} 179if(rparentsprev.test(name)){matched.reverse();}} 180return this.pushStack(matched);};});var rnotwhite=(/\S+/g);var optionsCache={};function createOptions(options){var object=optionsCache[options]={};jQuery.each(options.match(rnotwhite)||[],function(_,flag){object[flag]=true;});return object;} 181jQuery.Callbacks=function(options){options=typeof options==="string"?(optionsCache[options]||createOptions(options)):jQuery.extend({},options);var 182memory,fired,firing,firingStart,firingLength,firingIndex,list=[],stack=!options.once&&[],fire=function(data){memory=options.memory&&data;fired=true;firingIndex=firingStart||0;firingStart=0;firingLength=list.length;firing=true;for(;list&&firingIndex<firingLength;firingIndex++){if(list[firingIndex].apply(data[0],data[1])===false&&options.stopOnFalse){memory=false;break;}} 183firing=false;if(list){if(stack){if(stack.length){fire(stack.shift());}}else if(memory){list=[];}else{self.disable();}}},self={add:function(){if(list){var start=list.length;(function add(args){jQuery.each(args,function(_,arg){var type=jQuery.type(arg);if(type==="function"){if(!options.unique||!self.has(arg)){list.push(arg);}}else if(arg&&arg.length&&type!=="string"){add(arg);}});})(arguments);if(firing){firingLength=list.length;}else if(memory){firingStart=start;fire(memory);}} 184return this;},remove:function(){if(list){jQuery.each(arguments,function(_,arg){var index;while((index=jQuery.inArray(arg,list,index))>-1){list.splice(index,1);if(firing){if(index<=firingLength){firingLength--;} 185if(index<=firingIndex){firingIndex--;}}}});} 186return this;},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:!!(list&&list.length);},empty:function(){list=[];firingLength=0;return this;},disable:function(){list=stack=memory=undefined;return this;},disabled:function(){return!list;},lock:function(){stack=undefined;if(!memory){self.disable();} 187return this;},locked:function(){return!stack;},fireWith:function(context,args){if(list&&(!fired||stack)){args=args||[];args=[context,args.slice?args.slice():args];if(firing){stack.push(args);}else{fire(args);}} 188return this;},fire:function(){self.fireWith(this,arguments);return this;},fired:function(){return!!fired;}};return self;};jQuery.extend({Deferred:function(func){var tuples=[["resolve","done",jQuery.Callbacks("once memory"),"resolved"],["reject","fail",jQuery.Callbacks("once memory"),"rejected"],["notify","progress",jQuery.Callbacks("memory")]],state="pending",promise={state:function(){return state;},always:function(){deferred.done(arguments).fail(arguments);return this;},then:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=jQuery.isFunction(fns[i])&&fns[i];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);if(returned&&jQuery.isFunction(returned.promise)){returned.promise().done(newDefer.resolve).fail(newDefer.reject).progress(newDefer.notify);}else{newDefer[tuple[0]+"With"](this===promise?newDefer.promise():this,fn?[returned]:arguments);}});});fns=null;}).promise();},promise:function(obj){return obj!=null?jQuery.extend(obj,promise):promise;}},deferred={};promise.pipe=promise.then;jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[3];promise[tuple[1]]=list.add;if(stateString){list.add(function(){state=stateString;},tuples[i^1][2].disable,tuples[2][2].lock);} 189deferred[tuple[0]]=function(){deferred[tuple[0]+"With"](this===deferred?promise:this,arguments);return this;};deferred[tuple[0]+"With"]=list.fireWith;});promise.promise(deferred);if(func){func.call(deferred,deferred);} 190return deferred;},when:function(subordinate){var i=0,resolveValues=slice.call(arguments),length=resolveValues.length,remaining=length!==1||(subordinate&&jQuery.isFunction(subordinate.promise))?length:0,deferred=remaining===1?subordinate:jQuery.Deferred(),updateFunc=function(i,contexts,values){return function(value){contexts[i]=this;values[i]=arguments.length>1?slice.call(arguments):value;if(values===progressValues){deferred.notifyWith(contexts,values);}else if(!(--remaining)){deferred.resolveWith(contexts,values);}};},progressValues,progressContexts,resolveContexts;if(length>1){progressValues=new Array(length);progressContexts=new Array(length);resolveContexts=new Array(length);for(;i<length;i++){if(resolveValues[i]&&jQuery.isFunction(resolveValues[i].promise)){resolveValues[i].promise().done(updateFunc(i,resolveContexts,resolveValues)).fail(deferred.reject).progress(updateFunc(i,progressContexts,progressValues));}else{--remaining;}}} 191if(!remaining){deferred.resolveWith(resolveContexts,resolveValues);} 192return deferred.promise();}});var readyList;jQuery.fn.ready=function(fn){jQuery.ready.promise().done(fn);return this;};jQuery.extend({isReady:false,readyWait:1,holdReady:function(hold){if(hold){jQuery.readyWait++;}else{jQuery.ready(true);}},ready:function(wait){if(wait===true?--jQuery.readyWait:jQuery.isReady){return;} 193jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return;} 194readyList.resolveWith(document,[jQuery]);if(jQuery.fn.triggerHandler){jQuery(document).triggerHandler("ready");jQuery(document).off("ready");}}});function completed(){document.removeEventListener("DOMContentLoaded",completed,false);window.removeEventListener("load",completed,false);jQuery.ready();} 195jQuery.ready.promise=function(obj){if(!readyList){readyList=jQuery.Deferred();if(document.readyState==="complete"){setTimeout(jQuery.ready);}else{document.addEventListener("DOMContentLoaded",completed,false);window.addEventListener("load",completed,false);}} 196return readyList.promise(obj);};jQuery.ready.promise();var access=jQuery.access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=key==null;if(jQuery.type(key)==="object"){chainable=true;for(i in key){jQuery.access(elems,fn,i,key[i],true,emptyGet,raw);}}else if(value!==undefined){chainable=true;if(!jQuery.isFunction(value)){raw=true;} 197if(bulk){if(raw){fn.call(elems,value);fn=null;}else{bulk=fn;fn=function(elem,key,value){return bulk.call(jQuery(elem),value);};}} 198if(fn){for(;i<len;i++){fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)));}}} 199return chainable?elems:bulk?fn.call(elems):len?fn(elems[0],key):emptyGet;};jQuery.acceptData=function(owner){return owner.nodeType===1||owner.nodeType===9||!(+owner.nodeType);};function Data(){Object.defineProperty(this.cache={},0,{get:function(){return{};}});this.expando=jQuery.expando+Data.uid++;} 200Data.uid=1;Data.accepts=jQuery.acceptData;Data.prototype={key:function(owner){if(!Data.accepts(owner)){return 0;} 201var descriptor={},unlock=owner[this.expando];if(!unlock){unlock=Data.uid++;try{descriptor[this.expando]={value:unlock};Object.defineProperties(owner,descriptor);}catch(e){descriptor[this.expando]=unlock;jQuery.extend(owner,descriptor);}} 202if(!this.cache[unlock]){this.cache[unlock]={};} 203return unlock;},set:function(owner,data,value){var prop,unlock=this.key(owner),cache=this.cache[unlock];if(typeof data==="string"){cache[data]=value;}else{if(jQuery.isEmptyObject(cache)){jQuery.extend(this.cache[unlock],data);}else{for(prop in data){cache[prop]=data[prop];}}} 204return cache;},get:function(owner,key){var cache=this.cache[this.key(owner)];return key===undefined?cache:cache[key];},access:function(owner,key,value){var stored;if(key===undefined||((key&&typeof key==="string")&&value===undefined)){stored=this.get(owner,key);return stored!==undefined?stored:this.get(owner,jQuery.camelCase(key));} 205this.set(owner,key,value);return value!==undefined?value:key;},remove:function(owner,key){var i,name,camel,unlock=this.key(owner),cache=this.cache[unlock];if(key===undefined){this.cache[unlock]={};}else{if(jQuery.isArray(key)){name=key.concat(key.map(jQuery.camelCase));}else{camel=jQuery.camelCase(key);if(key in cache){name=[key,camel];}else{name=camel;name=name in cache?[name]:(name.match(rnotwhite)||[]);}} 206i=name.length;while(i--){delete cache[name[i]];}}},hasData:function(owner){return!jQuery.isEmptyObject(this.cache[owner[this.expando]]||{});},discard:function(owner){if(owner[this.expando]){delete this.cache[owner[this.expando]];}}};var data_priv=new Data();var data_user=new Data();var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/([A-Z])/g;function dataAttr(elem,key,data){var name;if(data===undefined&&elem.nodeType===1){name="data-"+key.replace(rmultiDash,"-$1").toLowerCase();data=elem.getAttribute(name);if(typeof data==="string"){try{data=data==="true"?true:data==="false"?false:data==="null"?null:+data+""===data?+data:rbrace.test(data)?jQuery.parseJSON(data):data;}catch(e){} 207data_user.set(elem,key,data);}else{data=undefined;}} 208return data;} 209jQuery.extend({hasData:function(elem){return data_user.hasData(elem)||data_priv.hasData(elem);},data:function(elem,name,data){return data_user.access(elem,name,data);},removeData:function(elem,name){data_user.remove(elem,name);},_data:function(elem,name,data){return data_priv.access(elem,name,data);},_removeData:function(elem,name){data_priv.remove(elem,name);}});jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(key===undefined){if(this.length){data=data_user.get(elem);if(elem.nodeType===1&&!data_priv.get(elem,"hasDataAttrs")){i=attrs.length;while(i--){if(attrs[i]){name=attrs[i].name;if(name.indexOf("data-")===0){name=jQuery.camelCase(name.slice(5));dataAttr(elem,name,data[name]);}}} 210data_priv.set(elem,"hasDataAttrs",true);}} 211return data;} 212if(typeof key==="object"){return this.each(function(){data_user.set(this,key);});} 213return access(this,function(value){var data,camelKey=jQuery.camelCase(key);if(elem&&value===undefined){data=data_user.get(elem,key);if(data!==undefined){return data;} 214data=data_user.get(elem,camelKey);if(data!==undefined){return data;} 215data=dataAttr(elem,camelKey,undefined);if(data!==undefined){return data;} 216return;} 217this.each(function(){var data=data_user.get(this,camelKey);data_user.set(this,camelKey,value);if(key.indexOf("-")!==-1&&data!==undefined){data_user.set(this,key,value);}});},null,value,arguments.length>1,null,true);},removeData:function(key){return this.each(function(){data_user.remove(this,key);});}});jQuery.extend({queue:function(elem,type,data){var queue;if(elem){type=(type||"fx")+"queue";queue=data_priv.get(elem,type);if(data){if(!queue||jQuery.isArray(data)){queue=data_priv.access(elem,type,jQuery.makeArray(data));}else{queue.push(data);}} 218return queue||[];}},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type);};if(fn==="inprogress"){fn=queue.shift();startLength--;} 219if(fn){if(type==="fx"){queue.unshift("inprogress");} 220delete hooks.stop;fn.call(elem,next,hooks);} 221if(!startLength&&hooks){hooks.empty.fire();}},_queueHooks:function(elem,type){var key=type+"queueHooks";return data_priv.get(elem,key)||data_priv.access(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){data_priv.remove(elem,[type+"queue",key]);})});}});jQuery.fn.extend({queue:function(type,data){var setter=2;if(typeof type!=="string"){data=type;type="fx";setter--;} 222if(arguments.length<setter){return jQuery.queue(this[0],type);} 223return data===undefined?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type);}});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});},clearQueue:function(type){return this.queue(type||"fx",[]);},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){if(!(--count)){defer.resolveWith(elements,[elements]);}};if(typeof type!=="string"){obj=type;type=undefined;} 224type=type||"fx";while(i--){tmp=data_priv.get(elements[i],type+"queueHooks");if(tmp&&tmp.empty){count++;tmp.empty.add(resolve);}} 225resolve();return defer.promise(obj);}});var pnum=(/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;var cssExpand=["Top","Right","Bottom","Left"];var isHidden=function(elem,el){elem=el||elem;return jQuery.css(elem,"display")==="none"||!jQuery.contains(elem.ownerDocument,elem);};var rcheckableType=(/^(?:checkbox|radio)$/i);(function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement("div")),input=document.createElement("input");input.setAttribute("type","radio");input.setAttribute("checked","checked");input.setAttribute("name","t");div.appendChild(input);support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;div.innerHTML="<textarea>x</textarea>";support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue;})();var strundefined=typeof undefined;support.focusinBubbles="onfocusin"in window;var 226rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu)|click/,rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,rtypenamespace=/^([^.]*)(?:\.(.+)|)$/;function returnTrue(){return true;} 227function returnFalse(){return false;} 228function safeActiveElement(){try{return document.activeElement;}catch(err){}} 229jQuery.event={global:{},add:function(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=data_priv.get(elem);if(!elemData){return;} 230if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;selector=handleObjIn.selector;} 231if(!handler.guid){handler.guid=jQuery.guid++;} 232if(!(events=elemData.events)){events=elemData.events={};} 233if(!(eventHandle=elemData.handle)){eventHandle=elemData.handle=function(e){return typeof jQuery!==strundefined&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):undefined;};} 234types=(types||"").match(rnotwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){continue;} 235special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;special=jQuery.event.special[type]||{};handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn);if(!(handlers=events[type])){handlers=events[type]=[];handlers.delegateCount=0;if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle,false);}}} 236if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid;}} 237if(selector){handlers.splice(handlers.delegateCount++,0,handleObj);}else{handlers.push(handleObj);} 238jQuery.event.global[type]=true;}},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=data_priv.hasData(elem)&&data_priv.get(elem);if(!elemData||!(events=elemData.events)){return;} 239types=(types||"").match(rnotwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){for(type in events){jQuery.event.remove(elem,type+types[t],handler,selector,true);} 240continue;} 241special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;handlers=events[type]||[];tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");origCount=j=handlers.length;while(j--){handleObj=handlers[j];if((mappedTypes||origType===handleObj.origType)&&(!handler||handler.guid===handleObj.guid)&&(!tmp||tmp.test(handleObj.namespace))&&(!selector||selector===handleObj.selector||selector==="**"&&handleObj.selector)){handlers.splice(j,1);if(handleObj.selector){handlers.delegateCount--;} 242if(special.remove){special.remove.call(elem,handleObj);}}} 243if(origCount&&!handlers.length){if(!special.teardown||special.teardown.call(elem,namespaces,elemData.handle)===false){jQuery.removeEvent(elem,type,elemData.handle);} 244delete events[type];}} 245if(jQuery.isEmptyObject(events)){delete elemData.handle;data_priv.remove(elem,"events");}},trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=tmp=elem=elem||document;if(elem.nodeType===3||elem.nodeType===8){return;} 246if(rfocusMorph.test(type+jQuery.event.triggered)){return;} 247if(type.indexOf(".")>=0){namespaces=type.split(".");type=namespaces.shift();namespaces.sort();} 248ontype=type.indexOf(":")<0&&"on"+type;event=event[jQuery.expando]?event:new jQuery.Event(type,typeof event==="object"&&event);event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.namespace_re=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;event.result=undefined;if(!event.target){event.target=elem;} 249data=data==null?[event]:jQuery.makeArray(data,[event]);special=jQuery.event.special[type]||{};if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){return;} 250if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type)){cur=cur.parentNode;} 251for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur;} 252if(tmp===(elem.ownerDocument||document)){eventPath.push(tmp.defaultView||tmp.parentWindow||window);}} 253i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){event.type=i>1?bubbleType:special.bindType||type;handle=(data_priv.get(cur,"events")||{})[event.type]&&data_priv.get(cur,"handle");if(handle){handle.apply(cur,data);} 254handle=ontype&&cur[ontype];if(handle&&handle.apply&&jQuery.acceptData(cur)){event.result=handle.apply(cur,data);if(event.result===false){event.preventDefault();}}} 255event.type=type;if(!onlyHandlers&&!event.isDefaultPrevented()){if((!special._default||special._default.apply(eventPath.pop(),data)===false)&&jQuery.acceptData(elem)){if(ontype&&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)){tmp=elem[ontype];if(tmp){elem[ontype]=null;} 256jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(tmp){elem[ontype]=tmp;}}}} 257return event.result;},dispatch:function(event){event=jQuery.event.fix(event);var i,j,ret,matched,handleObj,handlerQueue=[],args=slice.call(arguments),handlers=(data_priv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};args[0]=event;event.delegateTarget=this;if(special.preDispatch&&special.preDispatch.call(this,event)===false){return;} 258handlerQueue=jQuery.event.handlers.call(this,event,handlers);i=0;while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){event.currentTarget=matched.elem;j=0;while((handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped()){if(!event.namespace_re||event.namespace_re.test(handleObj.namespace)){event.handleObj=handleObj;event.data=handleObj.data;ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args);if(ret!==undefined){if((event.result=ret)===false){event.preventDefault();event.stopPropagation();}}}}} 259if(special.postDispatch){special.postDispatch.call(this,event);} 260return event.result;},handlers:function(event,handlers){var i,matches,sel,handleObj,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&(!event.button||event.type!=="click")){for(;cur!==this;cur=cur.parentNode||this){if(cur.disabled!==true||event.type!=="click"){matches=[];for(i=0;i<delegateCount;i++){handleObj=handlers[i];sel=handleObj.selector+" ";if(matches[sel]===undefined){matches[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>=0:jQuery.find(sel,this,null,[cur]).length;} 261if(matches[sel]){matches.push(handleObj);}} 262if(matches.length){handlerQueue.push({elem:cur,handlers:matches});}}}} 263if(delegateCount<handlers.length){handlerQueue.push({elem:this,handlers:handlers.slice(delegateCount)});} 264return handlerQueue;},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(event,original){if(event.which==null){event.which=original.charCode!=null?original.charCode:original.keyCode;} 265return event;}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(event,original){var eventDoc,doc,body,button=original.button;if(event.pageX==null&&original.clientX!=null){eventDoc=event.target.ownerDocument||document;doc=eventDoc.documentElement;body=eventDoc.body;event.pageX=original.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=original.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0);} 266if(!event.which&&button!==undefined){event.which=(button&1?1:(button&2?3:(button&4?2:0)));} 267return event;}},fix:function(event){if(event[jQuery.expando]){return event;} 268var i,prop,copy,type=event.type,originalEvent=event,fixHook=this.fixHooks[type];if(!fixHook){this.fixHooks[type]=fixHook=rmouseEvent.test(type)?this.mouseHooks:rkeyEvent.test(type)?this.keyHooks:{};} 269copy=fixHook.props?this.props.concat(fixHook.props):this.props;event=new jQuery.Event(originalEvent);i=copy.length;while(i--){prop=copy[i];event[prop]=originalEvent[prop];} 270if(!event.target){event.target=document;} 271if(event.target.nodeType===3){event.target=event.target.parentNode;} 272return fixHook.filter?fixHook.filter(event,originalEvent):event;},special:{load:{noBubble:true},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus){this.focus();return false;}},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur){this.blur();return false;}},delegateType:"focusout"},click:{trigger:function(){if(this.type==="checkbox"&&this.click&&jQuery.nodeName(this,"input")){this.click();return false;}},_default:function(event){return jQuery.nodeName(event.target,"a");}},beforeunload:{postDispatch:function(event){if(event.result!==undefined&&event.originalEvent){event.originalEvent.returnValue=event.result;}}}},simulate:function(type,elem,event,bubble){var e=jQuery.extend(new jQuery.Event(),event,{type:type,isSimulated:true,originalEvent:{}});if(bubble){jQuery.event.trigger(e,null,elem);}else{jQuery.event.dispatch.call(elem,e);} 273if(e.isDefaultPrevented()){event.preventDefault();}}};jQuery.removeEvent=function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle,false);}};jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event)){return new jQuery.Event(src,props);} 274if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=src.defaultPrevented||src.defaultPrevented===undefined&&src.returnValue===false?returnTrue:returnFalse;}else{this.type=src;} 275if(props){jQuery.extend(this,props);} 276this.timeStamp=src&&src.timeStamp||jQuery.now();this[jQuery.expando]=true;};jQuery.Event.prototype={isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue;if(e&&e.preventDefault){e.preventDefault();}},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue;if(e&&e.stopPropagation){e.stopPropagation();}},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue;if(e&&e.stopImmediatePropagation){e.stopImmediatePropagation();} 277this.stopPropagation();}};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;if(!related||(related!==target&&!jQuery.contains(target,related))){event.type=handleObj.origType;ret=handleObj.handler.apply(this,arguments);event.type=fix;} 278return ret;}};});if(!support.focusinBubbles){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event),true);};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=data_priv.access(doc,fix);if(!attaches){doc.addEventListener(orig,handler,true);} 279data_priv.access(doc,fix,(attaches||0)+1);},teardown:function(){var doc=this.ownerDocument||this,attaches=data_priv.access(doc,fix)-1;if(!attaches){doc.removeEventListener(orig,handler,true);data_priv.remove(doc,fix);}else{data_priv.access(doc,fix,attaches);}}};});} 280jQuery.fn.extend({on:function(types,selector,data,fn,one){var origFn,type;if(typeof types==="object"){if(typeof selector!=="string"){data=data||selector;selector=undefined;} 281for(type in types){this.on(type,selector,data,types[type],one);} 282return this;} 283if(data==null&&fn==null){fn=selector;data=selector=undefined;}else if(fn==null){if(typeof selector==="string"){fn=data;data=undefined;}else{fn=data;data=selector;selector=undefined;}} 284if(fn===false){fn=returnFalse;}else if(!fn){return this;} 285if(one===1){origFn=fn;fn=function(event){jQuery().off(event);return origFn.apply(this,arguments);};fn.guid=origFn.guid||(origFn.guid=jQuery.guid++);} 286return this.each(function(){jQuery.event.add(this,types,fn,data,selector);});},one:function(types,selector,data,fn){return this.on(types,selector,data,fn,1);},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj){handleObj=types.handleObj;jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler);return this;} 287if(typeof types==="object"){for(type in types){this.off(type,selector,types[type]);} 288return this;} 289if(selector===false||typeof selector==="function"){fn=selector;selector=undefined;} 290if(fn===false){fn=returnFalse;} 291return this.each(function(){jQuery.event.remove(this,types,fn,selector);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){var elem=this[0];if(elem){return jQuery.event.trigger(type,data,elem,true);}}});var 292rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,rtagName=/<([\w:]+)/,rhtml=/<|&#?\w+;/,rnoInnerhtml=/<(?:script|style|link)/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptType=/^$|\/(?:java|ecma)script/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;function manipulationTarget(elem,content){return jQuery.nodeName(elem,"table")&&jQuery.nodeName(content.nodeType!==11?content:content.firstChild,"tr")?elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody")):elem;} 293function disableScript(elem){elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;return elem;} 294function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);if(match){elem.type=match[1];}else{elem.removeAttribute("type");} 295return elem;} 296function setGlobalEval(elems,refElements){var i=0,l=elems.length;for(;i<l;i++){data_priv.set(elems[i],"globalEval",!refElements||data_priv.get(refElements[i],"globalEval"));}} 297function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(dest.nodeType!==1){return;} 298if(data_priv.hasData(src)){pdataOld=data_priv.access(src);pdataCur=data_priv.set(dest,pdataOld);events=pdataOld.events;if(events){delete pdataCur.handle;pdataCur.events={};for(type in events){for(i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type,events[type][i]);}}}} 299if(data_user.hasData(src)){udataOld=data_user.access(src);udataCur=jQuery.extend({},udataOld);data_user.set(dest,udataCur);}} 300function getAll(context,tag){var ret=context.getElementsByTagName?context.getElementsByTagName(tag||"*"):context.querySelectorAll?context.querySelectorAll(tag||"*"):[];return tag===undefined||tag&&jQuery.nodeName(context,tag)?jQuery.merge([context],ret):ret;} 301function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();if(nodeName==="input"&&rcheckableType.test(src.type)){dest.checked=src.checked;}else if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue;}} 302jQuery.extend({clone:function(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(true),inPage=jQuery.contains(elem.ownerDocument,elem);if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){destElements=getAll(clone);srcElements=getAll(elem);for(i=0,l=srcElements.length;i<l;i++){fixInput(srcElements[i],destElements[i]);}} 303if(dataAndEvents){if(deepDataAndEvents){srcElements=srcElements||getAll(elem);destElements=destElements||getAll(clone);for(i=0,l=srcElements.length;i<l;i++){cloneCopyEvent(srcElements[i],destElements[i]);}}else{cloneCopyEvent(elem,clone);}} 304destElements=getAll(clone,"script");if(destElements.length>0){setGlobalEval(destElements,!inPage&&getAll(elem,"script"));} 305return clone;},buildFragment:function(elems,context,scripts,selection){var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;for(;i<l;i++){elem=elems[i];if(elem||elem===0){if(jQuery.type(elem)==="object"){jQuery.merge(nodes,elem.nodeType?[elem]:elem);}else if(!rhtml.test(elem)){nodes.push(context.createTextNode(elem));}else{tmp=tmp||fragment.appendChild(context.createElement("div"));tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();wrap=wrapMap[tag]||wrapMap._default;tmp.innerHTML=wrap[1]+elem.replace(rxhtmlTag,"<$1></$2>")+wrap[2];j=wrap[0];while(j--){tmp=tmp.lastChild;} 306jQuery.merge(nodes,tmp.childNodes);tmp=fragment.firstChild;tmp.textContent="";}}} 307fragment.textContent="";i=0;while((elem=nodes[i++])){if(selection&&jQuery.inArray(elem,selection)!==-1){continue;} 308contains=jQuery.contains(elem.ownerDocument,elem);tmp=getAll(fragment.appendChild(elem),"script");if(contains){setGlobalEval(tmp);} 309if(scripts){j=0;while((elem=tmp[j++])){if(rscriptType.test(elem.type||"")){scripts.push(elem);}}}} 310return fragment;},cleanData:function(elems){var data,elem,type,key,special=jQuery.event.special,i=0;for(;(elem=elems[i])!==undefined;i++){if(jQuery.acceptData(elem)){key=elem[data_priv.expando];if(key&&(data=data_priv.cache[key])){if(data.events){for(type in data.events){if(special[type]){jQuery.event.remove(elem,type);}else{jQuery.removeEvent(elem,type,data.handle);}}} 311if(data_priv.cache[key]){delete data_priv.cache[key];}}} 312delete data_user.cache[elem[data_user.expando]];}}});jQuery.fn.extend({text:function(value){return access(this,function(value){return value===undefined?jQuery.text(this):this.empty().each(function(){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.textContent=value;}});},null,value,arguments.length);},append:function(){return this.domManip(arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.appendChild(elem);}});},prepend:function(){return this.domManip(arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild);}});},before:function(){return this.domManip(arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this);}});},after:function(){return this.domManip(arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this.nextSibling);}});},remove:function(selector,keepData){var elem,elems=selector?jQuery.filter(selector,this):this,i=0;for(;(elem=elems[i])!=null;i++){if(!keepData&&elem.nodeType===1){jQuery.cleanData(getAll(elem));} 313if(elem.parentNode){if(keepData&&jQuery.contains(elem.ownerDocument,elem)){setGlobalEval(getAll(elem,"script"));} 314elem.parentNode.removeChild(elem);}} 315return this;},empty:function(){var elem,i=0;for(;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.textContent="";}} 316return this;},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents);});},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined&&elem.nodeType===1){return elem.innerHTML;} 317if(typeof value==="string"&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=value.replace(rxhtmlTag,"<$1></$2>");try{for(;i<l;i++){elem=this[i]||{};if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.innerHTML=value;}} 318elem=0;}catch(e){}} 319if(elem){this.empty().append(value);}},null,value,arguments.length);},replaceWith:function(){var arg=arguments[0];this.domManip(arguments,function(elem){arg=this.parentNode;jQuery.cleanData(getAll(this));if(arg){arg.replaceChild(elem,this);}});return arg&&(arg.length||arg.nodeType)?this:this.remove();},detach:function(selector){return this.remove(selector,true);},domManip:function(args,callback){args=concat.apply([],args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=this.length,set=this,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||(l>1&&typeof value==="string"&&!support.checkClone&&rchecked.test(value))){return this.each(function(index){var self=set.eq(index);if(isFunction){args[0]=value.call(this,index,self.html());} 320self.domManip(args,callback);});} 321if(l){fragment=jQuery.buildFragment(args,this[0].ownerDocument,false,this);first=fragment.firstChild;if(fragment.childNodes.length===1){fragment=first;} 322if(first){scripts=jQuery.map(getAll(fragment,"script"),disableScript);hasScripts=scripts.length;for(;i<l;i++){node=fragment;if(i!==iNoClone){node=jQuery.clone(node,true,true);if(hasScripts){jQuery.merge(scripts,getAll(node,"script"));}} 323callback.call(this[i],node,i);} 324if(hasScripts){doc=scripts[scripts.length-1].ownerDocument;jQuery.map(scripts,restoreScript);for(i=0;i<hasScripts;i++){node=scripts[i];if(rscriptType.test(node.type||"")&&!data_priv.access(node,"globalEval")&&jQuery.contains(doc,node)){if(node.src){if(jQuery._evalUrl){jQuery._evalUrl(node.src);}}else{jQuery.globalEval(node.textContent.replace(rcleanScript,""));}}}}}} 325return this;}});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;for(;i<=last;i++){elems=i===last?this:this.clone(true);jQuery(insert[i])[original](elems);push.apply(ret,elems.get());} 326return this.pushStack(ret);};});var iframe,elemdisplay={};function actualDisplay(name,doc){var style,elem=jQuery(doc.createElement(name)).appendTo(doc.body),display=window.getDefaultComputedStyle&&(style=window.getDefaultComputedStyle(elem[0]))?style.display:jQuery.css(elem[0],"display");elem.detach();return display;} 327function defaultDisplay(nodeName){var doc=document,display=elemdisplay[nodeName];if(!display){display=actualDisplay(nodeName,doc);if(display==="none"||!display){iframe=(iframe||jQuery("<iframe frameborder='0' width='0' height='0'/>")).appendTo(doc.documentElement);doc=iframe[0].contentDocument;doc.write();doc.close();display=actualDisplay(nodeName,doc);iframe.detach();} 328elemdisplay[nodeName]=display;} 329return display;} 330var rmargin=(/^margin/);var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");var getStyles=function(elem){if(elem.ownerDocument.defaultView.opener){return elem.ownerDocument.defaultView.getComputedStyle(elem,null);} 331return window.getComputedStyle(elem,null);};function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;computed=computed||getStyles(elem);if(computed){ret=computed.getPropertyValue(name)||computed[name];} 332if(computed){if(ret===""&&!jQuery.contains(elem.ownerDocument,elem)){ret=jQuery.style(elem,name);} 333if(rnumnonpx.test(ret)&&rmargin.test(name)){width=style.width;minWidth=style.minWidth;maxWidth=style.maxWidth;style.minWidth=style.maxWidth=style.width=ret;ret=computed.width;style.width=width;style.minWidth=minWidth;style.maxWidth=maxWidth;}} 334return ret!==undefined?ret+"":ret;} 335function addGetHookIf(conditionFn,hookFn){return{get:function(){if(conditionFn()){delete this.get;return;} 336return(this.get=hookFn).apply(this,arguments);}};} 337(function(){var pixelPositionVal,boxSizingReliableVal,docElem=document.documentElement,container=document.createElement("div"),div=document.createElement("div");if(!div.style){return;} 338div.style.backgroundClip="content-box";div.cloneNode(true).style.backgroundClip="";support.clearCloneStyle=div.style.backgroundClip==="content-box";container.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;"+"position:absolute";container.appendChild(div);function computePixelPositionAndBoxSizingReliable(){div.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;"+"box-sizing:border-box;display:block;margin-top:1%;top:1%;"+"border:1px;padding:1px;width:4px;position:absolute";div.innerHTML="";docElem.appendChild(container);var divStyle=window.getComputedStyle(div,null);pixelPositionVal=divStyle.top!=="1%";boxSizingReliableVal=divStyle.width==="4px";docElem.removeChild(container);} 339if(window.getComputedStyle){jQuery.extend(support,{pixelPosition:function(){computePixelPositionAndBoxSizingReliable();return pixelPositionVal;},boxSizingReliable:function(){if(boxSizingReliableVal==null){computePixelPositionAndBoxSizingReliable();} 340return boxSizingReliableVal;},reliableMarginRight:function(){var ret,marginDiv=div.appendChild(document.createElement("div"));marginDiv.style.cssText=div.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;"+"box-sizing:content-box;display:block;margin:0;border:0;padding:0";marginDiv.style.marginRight=marginDiv.style.width="0";div.style.width="1px";docElem.appendChild(container);ret=!parseFloat(window.getComputedStyle(marginDiv,null).marginRight);docElem.removeChild(container);div.removeChild(marginDiv);return ret;}});}})();jQuery.swap=function(elem,options,callback,args){var ret,name,old={};for(name in options){old[name]=elem.style[name];elem.style[name]=options[name];} 341ret=callback.apply(elem,args||[]);for(name in options){elem.style[name]=old[name];} 342return ret;};var 343rdisplayswap=/^(none|table(?!-c[ea]).+)/,rnumsplit=new RegExp("^("+pnum+")(.*)$","i"),rrelNum=new RegExp("^([+-])=("+pnum+")","i"),cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","O","Moz","ms"];function vendorPropName(style,name){if(name in style){return name;} 344var capName=name[0].toUpperCase()+name.slice(1),origName=name,i=cssPrefixes.length;while(i--){name=cssPrefixes[i]+capName;if(name in style){return name;}} 345return origName;} 346function setPositiveNumber(elem,value,subtract){var matches=rnumsplit.exec(value);return matches?Math.max(0,matches[1]-(subtract||0))+(matches[2]||"px"):value;} 347function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){var i=extra===(isBorderBox?"border":"content")?4:name==="width"?1:0,val=0;for(;i<4;i+=2){if(extra==="margin"){val+=jQuery.css(elem,extra+cssExpand[i],true,styles);} 348if(isBorderBox){if(extra==="content"){val-=jQuery.css(elem,"padding"+cssExpand[i],true,styles);} 349if(extra!=="margin"){val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);}}else{val+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);if(extra!=="padding"){val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);}}} 350return val;} 351function getWidthOrHeight(elem,name,extra){var valueIsBorderBox=true,val=name==="width"?elem.offsetWidth:elem.offsetHeight,styles=getStyles(elem),isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";if(val<=0||val==null){val=curCSS(elem,name,styles);if(val<0||val==null){val=elem.style[name];} 352if(rnumnonpx.test(val)){return val;} 353valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]);val=parseFloat(val)||0;} 354return(val+ 355augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles))+"px";} 356function showHide(elements,show){var display,elem,hidden,values=[],index=0,length=elements.length;for(;index<length;index++){elem=elements[index];if(!elem.style){continue;} 357values[index]=data_priv.get(elem,"olddisplay");display=elem.style.display;if(show){if(!values[index]&&display==="none"){elem.style.display="";} 358if(elem.style.display===""&&isHidden(elem)){values[index]=data_priv.access(elem,"olddisplay",defaultDisplay(elem.nodeName));}}else{hidden=isHidden(elem);if(display!=="none"||!hidden){data_priv.set(elem,"olddisplay",hidden?display:jQuery.css(elem,"display"));}}} 359for(index=0;index<length;index++){elem=elements[index];if(!elem.style){continue;} 360if(!show||elem.style.display==="none"||elem.style.display===""){elem.style.display=show?values[index]||"":"none";}} 361return elements;} 362jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return ret===""?"1":ret;}}}},cssNumber:{"columnCount":true,"fillOpacity":true,"flexGrow":true,"flexShrink":true,"fontWeight":true,"lineHeight":true,"opacity":true,"order":true,"orphans":true,"widows":true,"zIndex":true,"zoom":true},cssProps:{"float":"cssFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return;} 363var ret,type,hooks,origName=jQuery.camelCase(name),style=elem.style;name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(style,origName));hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(value!==undefined){type=typeof value;if(type==="string"&&(ret=rrelNum.exec(value))){value=(ret[1]+1)*ret[2]+parseFloat(jQuery.css(elem,name));type="number";} 364if(value==null||value!==value){return;} 365if(type==="number"&&!jQuery.cssNumber[origName]){value+="px";} 366if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){style[name]="inherit";} 367if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value,extra))!==undefined){style[name]=value;}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret;} 368return style[name];}},css:function(elem,name,extra,styles){var val,num,hooks,origName=jQuery.camelCase(name);name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(elem.style,origName));hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(hooks&&"get"in hooks){val=hooks.get(elem,true,extra);} 369if(val===undefined){val=curCSS(elem,name,styles);} 370if(val==="normal"&&name in cssNormalTransform){val=cssNormalTransform[name];} 371if(extra===""||extra){num=parseFloat(val);return extra===true||jQuery.isNumeric(num)?num||0:val;} 372return val;}});jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed){return rdisplayswap.test(jQuery.css(elem,"display"))&&elem.offsetWidth===0?jQuery.swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra);}):getWidthOrHeight(elem,name,extra);}},set:function(elem,value,extra){var styles=extra&&getStyles(elem);return setPositiveNumber(elem,value,extra?augmentWidthOrHeight(elem,name,extra,jQuery.css(elem,"boxSizing",false,styles)==="border-box",styles):0);}};});jQuery.cssHooks.marginRight=addGetHookIf(support.reliableMarginRight,function(elem,computed){if(computed){return jQuery.swap(elem,{"display":"inline-block"},curCSS,[elem,"marginRight"]);}});jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){var i=0,expanded={},parts=typeof value==="string"?value.split(" "):[value];for(;i<4;i++){expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];} 373return expanded;}};if(!rmargin.test(prefix)){jQuery.cssHooks[prefix+suffix].set=setPositiveNumber;}});jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(jQuery.isArray(name)){styles=getStyles(elem);len=name.length;for(;i<len;i++){map[name[i]]=jQuery.css(elem,name[i],false,styles);} 374return map;} 375return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name);},name,value,arguments.length>1);},show:function(){return showHide(this,true);},hide:function(){return showHide(this);},toggle:function(state){if(typeof state==="boolean"){return state?this.show():this.hide();} 376return this.each(function(){if(isHidden(this)){jQuery(this).show();}else{jQuery(this).hide();}});}});function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing);} 377jQuery.Tween=Tween;Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem;this.prop=prop;this.easing=easing||"swing";this.options=options;this.start=this.now=this.cur();this.end=end;this.unit=unit||(jQuery.cssNumber[prop]?"":"px");},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this);},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];if(this.options.duration){this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration);}else{this.pos=eased=percent;} 378this.now=(this.end-this.start)*eased+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this);} 379if(hooks&&hooks.set){hooks.set(this);}else{Tween.propHooks._default.set(this);} 380return this;}};Tween.prototype.init.prototype=Tween.prototype;Tween.propHooks={_default:{get:function(tween){var result;if(tween.elem[tween.prop]!=null&&(!tween.elem.style||tween.elem.style[tween.prop]==null)){return tween.elem[tween.prop];} 381result=jQuery.css(tween.elem,tween.prop,"");return!result||result==="auto"?0:result;},set:function(tween){if(jQuery.fx.step[tween.prop]){jQuery.fx.step[tween.prop](tween);}else if(tween.elem.style&&(tween.elem.style[jQuery.cssProps[tween.prop]]!=null||jQuery.cssHooks[tween.prop])){jQuery.style(tween.elem,tween.prop,tween.now+tween.unit);}else{tween.elem[tween.prop]=tween.now;}}}};Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){if(tween.elem.nodeType&&tween.elem.parentNode){tween.elem[tween.prop]=tween.now;}}};jQuery.easing={linear:function(p){return p;},swing:function(p){return 0.5-Math.cos(p*Math.PI)/ 2;}};jQuery.fx=Tween.prototype.init;jQuery.fx.step={};var 382fxNow,timerId,rfxtypes=/^(?:toggle|show|hide)$/,rfxnum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"),rrun=/queueHooks$/,animationPrefilters=[defaultPrefilter],tweeners={"*":[function(prop,value){var tween=this.createTween(prop,value),target=tween.cur(),parts=rfxnum.exec(value),unit=parts&&parts[3]||(jQuery.cssNumber[prop]?"":"px"),start=(jQuery.cssNumber[prop]||unit!=="px"&&+target)&&rfxnum.exec(jQuery.css(tween.elem,prop)),scale=1,maxIterations=20;if(start&&start[3]!==unit){unit=unit||start[3];parts=parts||[];start=+target||1;do{scale=scale||".5";start=start / scale;jQuery.style(tween.elem,prop,start+unit);}while(scale!==(scale=tween.cur()/ target)&&scale!==1&&--maxIterations);} 383if(parts){start=tween.start=+start||+target||0;tween.unit=unit;tween.end=parts[1]?start+(parts[1]+1)*parts[2]:+parts[2];} 384return tween;}]};function createFxNow(){setTimeout(function(){fxNow=undefined;});return(fxNow=jQuery.now());} 385function genFx(type,includeWidth){var which,i=0,attrs={height:type};includeWidth=includeWidth?1:0;for(;i<4;i+=2-includeWidth){which=cssExpand[i];attrs["margin"+which]=attrs["padding"+which]=type;} 386if(includeWidth){attrs.opacity=attrs.width=type;} 387return attrs;} 388function createTween(value,prop,animation){var tween,collection=(tweeners[prop]||[]).concat(tweeners["*"]),index=0,length=collection.length;for(;index<length;index++){if((tween=collection[index].call(animation,prop,value))){return tween;}}} 389function defaultPrefilter(elem,props,opts){var prop,value,toggle,tween,hooks,oldfire,display,checkDisplay,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHidden(elem),dataShow=data_priv.get(elem,"fxshow");if(!opts.queue){hooks=jQuery._queueHooks(elem,"fx");if(hooks.unqueued==null){hooks.unqueued=0;oldfire=hooks.empty.fire;hooks.empty.fire=function(){if(!hooks.unqueued){oldfire();}};} 390hooks.unqueued++;anim.always(function(){anim.always(function(){hooks.unqueued--;if(!jQuery.queue(elem,"fx").length){hooks.empty.fire();}});});} 391if(elem.nodeType===1&&("height"in props||"width"in props)){opts.overflow=[style.overflow,style.overflowX,style.overflowY];display=jQuery.css(elem,"display");checkDisplay=display==="none"?data_priv.get(elem,"olddisplay")||defaultDisplay(elem.nodeName):display;if(checkDisplay==="inline"&&jQuery.css(elem,"float")==="none"){style.display="inline-block";}} 392if(opts.overflow){style.overflow="hidden";anim.always(function(){style.overflow=opts.overflow[0];style.overflowX=opts.overflow[1];style.overflowY=opts.overflow[2];});} 393for(prop in props){value=props[prop];if(rfxtypes.exec(value)){delete props[prop];toggle=toggle||value==="toggle";if(value===(hidden?"hide":"show")){if(value==="show"&&dataShow&&dataShow[prop]!==undefined){hidden=true;}else{continue;}} 394orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop);}else{display=undefined;}} 395if(!jQuery.isEmptyObject(orig)){if(dataShow){if("hidden"in dataShow){hidden=dataShow.hidden;}}else{dataShow=data_priv.access(elem,"fxshow",{});} 396if(toggle){dataShow.hidden=!hidden;} 397if(hidden){jQuery(elem).show();}else{anim.done(function(){jQuery(elem).hide();});} 398anim.done(function(){var prop;data_priv.remove(elem,"fxshow");for(prop in orig){jQuery.style(elem,prop,orig[prop]);}});for(prop in orig){tween=createTween(hidden?dataShow[prop]:0,prop,anim);if(!(prop in dataShow)){dataShow[prop]=tween.start;if(hidden){tween.end=tween.start;tween.start=prop==="width"||prop==="height"?1:0;}}}}else if((display==="none"?defaultDisplay(elem.nodeName):display)==="inline"){style.display=display;}} 399function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props){name=jQuery.camelCase(index);
vendor: 4,165 bytes, lines 399-413
399easing=specialEasing[name];value=props[index];if(jQuery.isArray(value)){easing=value[1];value=props[index]=value[0];} 400if(index!==name){props[name]=value;delete props[index];} 401hooks=jQuery.cssHooks[name];if(hooks&&"expand"in hooks){value=hooks.expand(value);delete props[name];for(index in value){if(!(index in props)){props[index]=value[index];specialEasing[index]=easing;}}}else{specialEasing[name]=easing;}}} 402function Animation(elem,properties,options){var result,stopped,index=0,length=animationPrefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem;}),tick=function(){if(stopped){return false;} 403var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining / animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;for(;index<length;index++){animation.tweens[index].run(percent);} 404deferred.notifyWith(elem,[animation,percent,remaining]);if(percent<1&&length){return remaining;}else{deferred.resolveWith(elem,[animation]);return false;}},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(true,{specialEasing:{}},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);animation.tweens.push(tween);return tween;},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped){return this;} 405stopped=true;for(;index<length;index++){animation.tweens[index].run(1);} 406if(gotoEnd){deferred.resolveWith(elem,[animation,gotoEnd]);}else{deferred.rejectWith(elem,[animation,gotoEnd]);} 407return this;}}),props=animation.props;propFilter(props,animation.opts.specialEasing);for(;index<length;index++){result=animationPrefilters[index].call(animation,elem,props,animation.opts);if(result){return result;}} 408jQuery.map(props,createTween,animation);if(jQuery.isFunction(animation.opts.start)){animation.opts.start.call(elem,animation);} 409jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue}));return animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always);} 410jQuery.Animation=jQuery.extend(Animation,{tweener:function(props,callback){if(jQuery.isFunction(props)){callback=props;props=["*"];}else{props=props.split(" ");} 411var prop,index=0,length=props.length;for(;index<length;index++){prop=props[index];tweeners[prop]=tweeners[prop]||[];tweeners[prop].unshift(callback);}},prefilter:function(callback,prepend){if(prepend){animationPrefilters.unshift(callback);}else{animationPrefilters.push(callback);}}});jQuery.speed=function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;if(opt.queue==null||opt.queue===true){opt.queue="fx";} 412opt.old=opt.complete;opt.complete=function(){if(jQuery.isFunction(opt.old)){opt.old.call(this);} 413if(opt.queue){jQuery.dequeue(this,opt.queue);}};return opt;};jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHidden).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback);},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);if(empty||data_priv.get(this,"finish")){anim.stop(true);}};doAnimation.finish=doAnimation;return empty||optall.queue===false?this.each(doAnimation):this.queue(optall.queue,doAnimation);},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop;stop(gotoEnd);};if(typeof type!=="string"){gotoEnd=clearQueue;clearQueue=type;
vendor: 10,773 bytes, lines 413-454
413type=undefined;} 414if(clearQueue&&type!==false){this.queue(type||"fx",[]);} 415return this.each(function(){var dequeue=true,index=type!=null&&type+"queueHooks",timers=jQuery.timers,data=data_priv.get(this);if(index){if(data[index]&&data[index].stop){stopQueue(data[index]);}}else{for(index in data){if(data[index]&&data[index].stop&&rrun.test(index)){stopQueue(data[index]);}}} 416for(index=timers.length;index--;){if(timers[index].elem===this&&(type==null||timers[index].queue===type)){timers[index].anim.stop(gotoEnd);dequeue=false;timers.splice(index,1);}} 417if(dequeue||!gotoEnd){jQuery.dequeue(this,type);}});},finish:function(type){if(type!==false){type=type||"fx";} 418return this.each(function(){var index,data=data_priv.get(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;data.finish=true;jQuery.queue(this,type,[]);if(hooks&&hooks.stop){hooks.stop.call(this,true);} 419for(index=timers.length;index--;){if(timers[index].elem===this&&timers[index].queue===type){timers[index].anim.stop(true);timers.splice(index,1);}} 420for(index=0;index<length;index++){if(queue[index]&&queue[index].finish){queue[index].finish.call(this);}} 421delete data.finish;});}});jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return speed==null||typeof speed==="boolean"?cssFn.apply(this,arguments):this.animate(genFx(name,true),speed,easing,callback);};});jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback);};});jQuery.timers=[];jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;fxNow=jQuery.now();for(;i<timers.length;i++){timer=timers[i];if(!timer()&&timers[i]===timer){timers.splice(i--,1);}} 422if(!timers.length){jQuery.fx.stop();} 423fxNow=undefined;};jQuery.fx.timer=function(timer){jQuery.timers.push(timer);if(timer()){jQuery.fx.start();}else{jQuery.timers.pop();}};jQuery.fx.interval=13;jQuery.fx.start=function(){if(!timerId){timerId=setInterval(jQuery.fx.tick,jQuery.fx.interval);}};jQuery.fx.stop=function(){clearInterval(timerId);timerId=null;};jQuery.fx.speeds={slow:600,fast:200,_default:400};jQuery.fn.delay=function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(next,hooks){var timeout=setTimeout(next,time);hooks.stop=function(){clearTimeout(timeout);};});};(function(){var input=document.createElement("input"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));input.type="checkbox";support.checkOn=input.value!=="";support.optSelected=opt.selected;select.disabled=true;support.optDisabled=!opt.disabled;input=document.createElement("input");input.value="t";input.type="radio";support.radioValue=input.value==="t";})();var nodeHook,boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1);},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name);});}});jQuery.extend({attr:function(elem,name,value){var hooks,ret,nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return;} 424if(typeof elem.getAttribute===strundefined){return jQuery.prop(elem,name,value);} 425if(nType!==1||!jQuery.isXMLDoc(elem)){name=name.toLowerCase();hooks=jQuery.attrHooks[name]||(jQuery.expr.match.bool.test(name)?boolHook:nodeHook);} 426if(value!==undefined){if(value===null){jQuery.removeAttr(elem,name);}else if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret;}else{elem.setAttribute(name,value+"");return value;}}else if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){return ret;}else{ret=jQuery.find.attr(elem,name);return ret==null?undefined:ret;}},removeAttr:function(elem,value){var name,propName,i=0,attrNames=value&&value.match(rnotwhite);if(attrNames&&elem.nodeType===1){while((name=attrNames[i++])){propName=jQuery.propFix[name]||name;if(jQuery.expr.match.bool.test(name)){elem[propName]=false;} 427elem.removeAttribute(name);}}},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&value==="radio"&&jQuery.nodeName(elem,"input")){var val=elem.value;elem.setAttribute("type",value);if(val){elem.value=val;} 428return value;}}}}});boolHook={set:function(elem,value,name){if(value===false){jQuery.removeAttr(elem,name);}else{elem.setAttribute(name,name);} 429return name;}};jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle;if(!isXML){handle=attrHandle[name];attrHandle[name]=ret;ret=getter(elem,name,isXML)!=null?name.toLowerCase():null;attrHandle[name]=handle;} 430return ret;};});var rfocusable=/^(?:input|select|textarea|button)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1);},removeProp:function(name){return this.each(function(){delete this[jQuery.propFix[name]||name];});}});jQuery.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(elem,name,value){var ret,hooks,notxml,nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return;} 431notxml=nType!==1||!jQuery.isXMLDoc(elem);if(notxml){name=jQuery.propFix[name]||name;hooks=jQuery.propHooks[name];} 432if(value!==undefined){return hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined?ret:(elem[name]=value);}else{return hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null?ret:elem[name];}},propHooks:{tabIndex:{get:function(elem){return elem.hasAttribute("tabindex")||rfocusable.test(elem.nodeName)||elem.href?elem.tabIndex:-1;}}}});if(!support.optSelected){jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;if(parent&&parent.parentNode){parent.parentNode.selectedIndex;} 433return null;}};} 434jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this;});var rclass=/[\t\r\n\f]/g;jQuery.fn.extend({addClass:function(value){var classes,elem,cur,clazz,j,finalValue,proceed=typeof value==="string"&&value,i=0,len=this.length;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).addClass(value.call(this,j,this.className));});} 435if(proceed){classes=(value||"").match(rnotwhite)||[];for(;i<len;i++){elem=this[i];cur=elem.nodeType===1&&(elem.className?(" "+elem.className+" ").replace(rclass," "):" ");if(cur){j=0;while((clazz=classes[j++])){if(cur.indexOf(" "+clazz+" ")<0){cur+=clazz+" ";}} 436finalValue=jQuery.trim(cur);if(elem.className!==finalValue){elem.className=finalValue;}}}} 437return this;},removeClass:function(value){var classes,elem,cur,clazz,j,finalValue,proceed=arguments.length===0||typeof value==="string"&&value,i=0,len=this.length;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).removeClass(value.call(this,j,this.className));});} 438if(proceed){classes=(value||"").match(rnotwhite)||[];for(;i<len;i++){elem=this[i];cur=elem.nodeType===1&&(elem.className?(" "+elem.className+" ").replace(rclass," "):"");if(cur){j=0;while((clazz=classes[j++])){while(cur.indexOf(" "+clazz+" ")>=0){cur=cur.replace(" "+clazz+" "," ");}} 439finalValue=value?jQuery.trim(cur):"";if(elem.className!==finalValue){elem.className=finalValue;}}}} 440return this;},toggleClass:function(value,stateVal){var type=typeof value;if(typeof stateVal==="boolean"&&type==="string"){return stateVal?this.addClass(value):this.removeClass(value);} 441if(jQuery.isFunction(value)){return this.each(function(i){jQuery(this).toggleClass(value.call(this,i,this.className,stateVal),stateVal);});} 442return this.each(function(){if(type==="string"){var className,i=0,self=jQuery(this),classNames=value.match(rnotwhite)||[];while((className=classNames[i++])){if(self.hasClass(className)){self.removeClass(className);}else{self.addClass(className);}}}else if(type===strundefined||type==="boolean"){if(this.className){data_priv.set(this,"__className__",this.className);} 443this.className=this.className||value===false?"":data_priv.get(this,"__className__")||"";}});},hasClass:function(selector){var className=" "+selector+" ",i=0,l=this.length;for(;i<l;i++){if(this[i].nodeType===1&&(" "+this[i].className+" ").replace(rclass," ").indexOf(className)>=0){return true;}} 444return false;}});var rreturn=/\r/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];if(!arguments.length){if(elem){hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()];if(hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined){return ret;} 445ret=elem.value;return typeof ret==="string"?ret.replace(rreturn,""):ret==null?"":ret;} 446return;} 447isFunction=jQuery.isFunction(value);return this.each(function(i){var val;if(this.nodeType!==1){return;} 448if(isFunction){val=value.call(this,i,jQuery(this).val());}else{val=value;} 449if(val==null){val="";}else if(typeof val==="number"){val+="";}else if(jQuery.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+"";});} 450hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){this.value=val;}});}});jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return val!=null?val:jQuery.trim(jQuery.text(elem));}},select:{get:function(elem){var value,option,options=elem.options,index=elem.selectedIndex,one=elem.type==="select-one"||index<0,values=one?null:[],max=one?index+1:options.length,i=index<0?max:one?index:0;for(;i<max;i++){option=options[i];if((option.selected||i===index)&&(support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value;} 451values.push(value);}} 452return values;},set:function(elem,value){var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;while(i--){option=options[i];if((option.selected=jQuery.inArray(option.value,values)>=0)){optionSet=true;}} 453if(!optionSet){elem.selectedIndex=-1;} 454return values;}}}});jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(jQuery.isArray(value)){return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>=0);}}};if(!support.checkOn){jQuery.valHooks[this].get=function(elem){return elem.getAttribute("value")===null?"on":elem.value;};}});jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick "+"mou
454sedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup error contextmenu").split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name);};});jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver);},bind:function(types,data,fn){return this.on(types,null,data,fn);},unbind:function(types,fn){return this.off(types,null,fn);},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn);},undelegate:function(selector,types,fn){return arguments.length===1?this.off(selector,"**"):this.off(types,selector||"**",fn);}});var nonce=jQuery.now();var rquery=(/\?/);jQuery.parseJSON=function(data){return JSON.parse(data+"");};jQuery.parseXML=function(data){var xml,tmp;if(!data||typeof data!=="string"){return null;} 455try{tmp=new DOMParser();xml=tmp.parseFromString(data,"text/xml");}catch(e){xml=undefined;} 456if(!xml||xml.getElementsByTagName("parsererror").length){jQuery.error("Invalid XML: "+data);} 457return xml;};var 458rhash=/#.*$/,rts=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,rurl=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,prefilters={},transports={},allTypes="*/".concat("*"),ajaxLocation=window.location.href,ajaxLocParts=rurl.exec(ajaxLocation.toLowerCase())||[];function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="str
vendor: 21,697 bytes, lines 458-552
458ing"){func=dataTypeExpression;dataTypeExpression="*";} 459var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnotwhite)||[];if(jQuery.isFunction(func)){while((dataType=dataTypes[i++])){if(dataType[0]==="+"){dataType=dataType.slice(1)||"*";(structure[dataType]=structure[dataType]||[]).unshift(func);}else{(structure[dataType]=structure[dataType]||[]).push(func);}}}};} 460function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){var inspected={},seekingTransport=(structure===transports);function inspect(dataType){var selected;inspected[dataType]=true;jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);if(typeof dataTypeOrTransport==="string"&&!seekingTransport&&!inspected[dataTypeOrTransport]){options.dataTypes.unshift(dataTypeOrTransport);inspect(dataTypeOrTransport);return false;}else if(seekingTransport){return!(selected=dataTypeOrTransport);}});return selected;} 461return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*");} 462function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src){if(src[key]!==undefined){(flatOptions[key]?target:(deep||(deep={})))[key]=src[key];}} 463if(deep){jQuery.extend(true,target,deep);} 464return target;} 465function ajaxHandleResponses(s,jqXHR,responses){var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=s.mimeType||jqXHR.getResponseHeader("Content-Type");}} 466if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break;}}} 467if(dataTypes[0]in responses){finalDataType=dataTypes[0];}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break;} 468if(!firstDataType){firstDataType=type;}} 469finalDataType=finalDataType||firstDataType;} 470if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType);} 471return responses[finalDataType];}} 472function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1]){for(conv in s.converters){converters[conv.toLowerCase()]=s.converters[conv];}} 473current=dataTypes.shift();while(current){if(s.responseFields[current]){jqXHR[s.responseFields[current]]=response;} 474if(!prev&&isSuccess&&s.dataFilter){response=s.dataFilter(response,s.dataType);} 475prev=current;current=dataTypes.shift();if(current){if(current==="*"){current=prev;}else if(prev!=="*"&&prev!==current){conv=converters[prev+" "+current]||converters["* "+current];if(!conv){for(conv2 in converters){tmp=conv2.split(" ");if(tmp[1]===current){conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]];if(conv){if(conv===true){conv=converters[conv2];}else if(converters[conv2]!==true){current=tmp[0];dataTypes.unshift(tmp[1]);} 476break;}}}} 477if(conv!==true){if(conv&&s["throws"]){response=conv(response);}else{try{response=conv(response);}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current};}}}}}} 478return{state:"success",data:response};} 479jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ajaxLocation,type:"GET",isLocal:rlocalProtocol.test(ajaxLocParts[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":true,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target);},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof url==="object"){options=url;url=undefined;} 480options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,parts,fireGlobals,i,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},state=0,strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(state===2){if(!responseHeaders){responseHeaders={};while((match=rheaders.exec(responseHeadersString))){responseHeaders[match[1].toLowerCase()]=match[2];}} 481match=responseHeaders[key.toLowerCase()];} 482return match==null?null:match;},getAllResponseHeaders:function(){return state===2?responseHeadersString:null;},setRequestHeader:function(name,value){var lname=name.toLowerCase();if(!state){name=requestHeadersNames[lname]=requestHeadersNames[lname]||name;requestHeaders[name]=value;} 483return this;},overrideMimeType:function(type){if(!state){s.mimeType=type;} 484return this;},statusCode:function(map){var code;if(map){if(state<2){for(code in map){statusCode[code]=[statusCode[code],map[code]];}}else{jqXHR.always(map[jqXHR.status]);}} 485return this;},abort:function(statusText){var finalText=statusText||strAbort;if(transport){transport.abort(finalText);} 486done(0,finalText);return this;}};deferred.promise(jqXHR).complete=completeDeferred.add;jqXHR.success=jqXHR.done;jqXHR.error=jqXHR.fail;s.url=((url||s.url||ajaxLocation)+"").replace(rhash,"").replace(rprotocol,ajaxLocParts[1]+"//");s.type=options.method||options.type||s.method||s.type;s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().match(rnotwhite)||[""];if(s.crossDomain==null){parts=rurl.exec(s.url.toLowerCase());s.crossDomain=!!(parts&&(parts[1]!==ajaxLocParts[1]||parts[2]!==ajaxLocParts[2]||(parts[3]||(parts[1]==="http:"?"80":"443"))!==(ajaxLocParts[3]||(ajaxLocParts[1]==="http:"?"80":"443"))));} 487if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional);} 488inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);if(state===2){return jqXHR;} 489fireGlobals=jQuery.event&&s.global;if(fireGlobals&&jQuery.active++===0){jQuery.event.trigger("ajaxStart");} 490s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);cacheURL=s.url;if(!s.hasContent){if(s.data){cacheURL=(s.url+=(rquery.test(cacheURL)?"&":"?")+s.data);delete s.data;} 491if(s.cache===false){s.url=rts.test(cacheURL)?cacheURL.replace(rts,"$1_="+nonce++):cacheURL+(rquery.test(cacheURL)?"&":"?")+"_="+nonce++;}} 492if(s.ifModified){if(jQuery.lastModified[cacheURL]){jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]);} 493if(jQuery.etag[cacheURL]){jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL]);}} 494if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){jqXHR.setRequestHeader("Content-Type",s.contentType);} 495jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers){jqXHR.setRequestHeader(i,s.headers[i]);} 496if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||state===2)){return jqXHR.abort();} 497strAbort="abort";for(i in{success:1,error:1,complete:1}){jqXHR[i](s[i]);} 498transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);if(!transport){done(-1,"No Transport");}else{jqXHR.readyState=1;if(fireGlobals){globalEventContext.trigger("ajaxSend",[jqXHR,s]);} 499if(s.async&&s.timeout>0){timeoutTimer=setTimeout(function(){jqXHR.abort("timeout");},s.timeout);} 500try{state=1;transport.send(requestHeaders,done);}catch(e){if(state<2){done(-1,e);}else{throw e;}}} 501function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;if(state===2){return;} 502state=2;if(timeoutTimer){clearTimeout(timeoutTimer);} 503transport=undefined;responseHeadersString=headers||"";jqXHR.readyState=status>0?4:0;isSuccess=status>=200&&status<300||status===304;if(responses){response=ajaxHandleResponses(s,jqXHR,responses);} 504response=ajaxConvert(s,response,jqXHR,isSuccess);if(isSuccess){if(s.ifModified){modified=jqXHR.getResponseHeader("Last-Modified");if(modified){jQuery.lastModified[cacheURL]=modified;} 505modified=jqXHR.getResponseHeader("etag");if(modified){jQuery.etag[cacheURL]=modified;}} 506if(status===204||s.type==="HEAD"){statusText="nocontent";}else if(status===304){statusText="notmodified";}else{statusText=response.state;success=response.data;error=response.error;isSuccess=!error;}}else{error=statusText;if(status||!statusText){statusText="error";if(status<0){status=0;}}} 507jqXHR.status=status;jqXHR.statusText=(nativeStatusText||statusText)+"";if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR]);}else{deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);} 508jqXHR.statusCode(statusCode);statusCode=undefined;if(fireGlobals){globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]);} 509completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);if(!(--jQuery.active)){jQuery.event.trigger("ajaxStop");}}} 510return jqXHR;},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script");}});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=undefined;} 511return jQuery.ajax({url:url,type:method,dataType:type,data:data,success:callback});};});jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:"GET",dataType:"script",async:false,global:false,"throws":true});};jQuery.fn.extend({wrapAll:function(html){var wrap;if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapAll(html.call(this,i));});} 512if(this[0]){wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0]);} 513wrap.map(function(){var elem=this;while(elem.firstElementChild){elem=elem.firstElementChild;} 514return elem;}).append(this);} 515return this;},wrapInner:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i));});} 516return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html);}else{self.append(html);}});},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html);});},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body")){jQuery(this).replaceWith(this.childNodes);}}).end();}});jQuery.expr.filters.hidden=function(elem){return elem.offsetWidth<=0&&elem.offsetHeight<=0;};jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem);};var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;function buildParams(prefix,obj,traditional,add){var name;if(jQuery.isArray(obj)){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v);}else{buildParams(prefix+"["+(typeof v==="object"?i:"")+"]",v,traditional,add);}});}else if(!traditional&&jQuery.type(obj)==="object"){for(name in obj){buildParams(prefix+"["+name+"]",obj[name],traditional,add);}}else{add(prefix,obj);}} 517jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,value){value=jQuery.isFunction(value)?value():(value==null?"":value);s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value);};if(traditional===undefined){traditional=jQuery.ajaxSettings&&jQuery.ajaxSettings.traditional;} 518if(jQuery.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){jQuery.each(a,function(){add(this.name,this.value);});}else{for(prefix in a){buildParams(prefix,a[prefix],traditional,add);}} 519return s.join("&").replace(r20,"+");};jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this;}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")};}):{name:elem.name,value:val.replace(rCRLF,"\r\n")};}).get();}});jQuery.ajaxSettings.xhr=function(){try{return new XMLHttpRequest();}catch(e){}};var xhrId=0,xhrCallbacks={},xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();if(window.attachEvent){window.attachEvent("onunload",function(){for(var key in xhrCallbacks){xhrCallbacks[key]();}});} 520support.cors=!!xhrSupported&&("withCredentials"in xhrSupported);support.ajax=xhrSupported=!!xhrSupported;jQuery.ajaxTransport(function(options){var callback;if(support.cors||xhrSupported&&!options.crossDomain){return{send:function(headers,complete){var i,xhr=options.xhr(),id=++xhrId;xhr.open(options.type,options.url,options.async,options.username,options.password);if(options.xhrFields){for(i in options.xhrFields){xhr[i]=options.xhrFields[i];}} 521if(options.mimeType&&xhr.overrideMimeType){xhr.overrideMimeType(options.mimeType);} 522if(!options.crossDomain&&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest";} 523for(i in headers){xhr.setRequestHeader(i,headers[i]);} 524callback=function(type){return function(){if(callback){delete xhrCallbacks[id];callback=xhr.onload=xhr.onerror=null;if(type==="abort"){xhr.abort();}else if(type==="error"){complete(xhr.status,xhr.statusText);}else{complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,typeof xhr.responseText==="string"?{text:xhr.responseText}:undefined,xhr.getAllResponseHeaders());}}};};xhr.onload=callback();xhr.onerror=callback("error");callback=xhrCallbacks[id]=callback("abort");try{xhr.send(options.hasContent&&options.data||null);}catch(e){if(callback){throw e;}}},abort:function(){if(callback){callback();}}};}});jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(text){jQuery.globalEval(text);return text;}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false;} 525if(s.crossDomain){s.type="GET";}});jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,callback;return{send:function(_,complete){script=jQuery("<script>").prop({async:true,charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove();callback=null;if(evt){complete(evt.type==="error"?404:200,evt.type);}});document.head.appendChild(script[0]);},abort:function(){if(callback){callback();}}};}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||(jQuery.expando+"_"+(nonce++));this[callback]=true;return callback;}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?"url":typeof s.data==="string"&&!(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||s.dataTypes[0]==="jsonp"){callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback;if(jsonProp){s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName);}else if(s.jsonp!==false){s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName;} 526s.converters["script json"]=function(){if(!responseContainer){jQuery.error(callbackName+" was not called");} 527return responseContainer[0];};s.dataTypes[0]="json";overwritten=window[callbackName];window[callbackName]=function(){responseContainer=arguments;};jqXHR.always(function(){window[callbackName]=overwritten;if(s[callbackName]){s.jsonpCallback=originalSettings.jsonpCallback;oldCallbacks.push(callbackName);} 528if(responseContainer&&jQuery.isFunction(overwritten)){overwritten(responseContainer[0]);} 529responseContainer=overwritten=undefined;});return"script";}});jQuery.parseHTML=function(data,context,keepScripts){if(!data||typeof data!=="string"){return null;} 530if(typeof context==="boolean"){keepScripts=context;context=false;} 531context=context||document;var parsed=rsingleTag.exec(data),scripts=!keepScripts&&[];if(parsed){return[context.createElement(parsed[1])];} 532parsed=jQuery.buildFragment([data],context,scripts);if(scripts&&scripts.length){jQuery(scripts).remove();} 533return jQuery.merge([],parsed.childNodes);};var _load=jQuery.fn.load;jQuery.fn.load=function(url,params,callback){if(typeof url!=="string"&&_load){return _load.apply(this,arguments);} 534var selector,type,response,self=this,off=url.indexOf(" ");if(off>=0){selector=jQuery.trim(url.slice(off));url=url.slice(0,off);} 535if(jQuery.isFunction(params)){callback=params;params=undefined;}else if(params&&typeof params==="object"){type="POST";} 536if(self.length>0){jQuery.ajax({url:url,type:type,dataType:"html",data:params}).done(function(responseText){response=arguments;self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText);}).complete(callback&&function(jqXHR,status){self.each(callback,response||[jqXHR.responseText,status,jqXHR]);});} 537return this;};jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn);};});jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};var docElem=window.document.documentElement;function getWindow(elem){return jQuery.isWindow(elem)?elem:elem.nodeType===9&&elem.defaultView;} 538jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};if(position==="static"){elem.style.position="relative";} 539curOffset=curElem.offset();curCSSTop=jQuery.css(elem,"top");curCSSLeft=jQuery.css(elem,"left");calculatePosition=(position==="absolute"||position==="fixed")&&(curCSSTop+curCSSLeft).indexOf("auto")>-1;if(calculatePosition){curPosition=curElem.position();curTop=curPosition.top;curLeft=curPosition.left;}else{curTop=parseFloat(curCSSTop)||0;curLeft=parseFloat(curCSSLeft)||0;} 540if(jQuery.isFunction(options)){options=options.call(elem,i,curOffset);} 541if(options.top!=null){props.top=(options.top-curOffset.top)+curTop;} 542if(options.left!=null){props.left=(options.left-curOffset.left)+curLeft;} 543if("using"in options){options.using.call(elem,props);}else{curElem.css(props);}}};jQuery.fn.extend({offset:function(options){if(arguments.length){return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i);});} 544var docElem,win,elem=this[0],box={top:0,left:0},doc=elem&&elem.ownerDocument;if(!doc){return;} 545docElem=doc.documentElement;if(!jQuery.contains(docElem,elem)){return box;} 546if(typeof elem.getBoundingClientRect!==strundefined){box=elem.getBoundingClientRect();} 547win=getWindow(doc);return{top:box.top+win.pageYOffset-docElem.clientTop,left:box.left+win.pageXOffset-docElem.clientLeft};},position:function(){if(!this[0]){return;} 548var offsetParent,offset,elem=this[0],parentOffset={top:0,left:0};if(jQuery.css(elem,"position")==="fixed"){offset=elem.getBoundingClientRect();}else{offsetParent=this.offsetParent();offset=this.offset();if(!jQuery.nodeName(offsetParent[0],"html")){parentOffset=offsetParent.offset();} 549parentOffset.top+=jQuery.css(offsetParent[0],"borderTopWidth",true);parentOffset.left+=jQuery.css(offsetParent[0],"borderLeftWidth",true);} 550return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)};},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent||docElem;while(offsetParent&&(!jQuery.nodeName(offsetParent,"html")&&jQuery.css(offsetParent,"position")==="static")){offsetParent=offsetParent.offsetParent;} 551return offsetParent||docElem;});}});jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win=getWindow(elem);if(val===undefined){return win?win[prop]:elem[method];} 552if(win){win.scrollTo(!top?val:window.pageXOffset,top?val:window.pageYOffset);}else{elem[method]=val;}},method,val,arguments.length,null);};});jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed){computed=curCSS(elem,prop);return rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed;}});});jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),extra=defaultExtra||(margin===true||value===true?"margin":"border");return access(this,function(elem,type,value){var doc;
552if(jQuery.isWindow(elem)){return elem.document.documentElement["client"+name];} 553if(elem.nodeType===9){doc=elem.documentElement;return Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name]);} 554return value===undefined?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra);},type,chainable?margin:undefined,chainable,null);};});});jQuery.fn.size=function(){return this.length;};jQuery.fn.andSelf=jQuery.fn.addBack;if(typeof define==="function"&&define.amd){define("jquery",[],function(){return jQuery;});} 555var 556_jQuery=window.jQuery,_$=window.$;jQuery.noConflict=function(deep){if(window.$===jQuery){window.$=_$;} 557if(deep&&window.jQuery===jQuery){window.jQuery=_jQuery;} 558return jQuery;};if(typeof noGlobal===strundefined){window.jQuery=window.$=jQuery;} 559return jQuery;})); 560(function($){var jQversion=jQuery.fn.jquery.split(".");jQuery.browser={};jQuery.browser.mozilla=false;jQuery.browser.webkit=false;jQuery.browser.opera=false;jQuery.browser.msie=false;var nAgt=navigator.userAgent;jQuery.browser.name=navigator.appName;jQuery.browser.fullVersion=''+parseFloat(navigator.appVersion);jQuery.browser.majorVersion=parseInt(navigator.appVersion,10);var nameOffset,verOffset,ix;if((verOffset=nAgt.indexOf("Opera"))!=-1){jQuery.browser.opera=true;jQuery.browser.name="Opera";jQuery.browser.fullVersion=nAgt.substring(verOffset+6);if((verOffset=nAgt.indexOf("Version"))!=-1) 561jQuery.browser.fullVersion=nAgt.substring(verOffset+8);} 562else if((verOffset=nAgt.indexOf("MSIE"))!=-1){jQuery.browser.msie=true;jQuery.browser.name="Microsoft Internet Explorer";jQuery.browser.fullVersion=nAgt.substring(verOffset+5);} 563else if((verOffset=nAgt.indexOf("Chrome"))!=-1){jQuery.browser.webkit=true;jQuery.browser.name="Chrome";jQuery.browser.fullVersion=nAgt.substring(verOffset+7);} 564else if((verOffset=nAgt.indexOf("Safari"))!=-1){jQuery.browser.webkit=true;jQuery.browser.name="Safari";jQuery.browser.fullVersion=nAgt.substring(verOffset+7);if((verOffset=nAgt.indexOf("Version"))!=-1) 565jQuery.browser.fullVersion=nAgt.substring(verOffset+8);} 566else if((verOffset=nAgt.indexOf("Firefox"))!=-1){jQuery.browser.mozilla=true;jQuery.browser.name="Firefox";jQuery.browser.fullVersion=nAgt.substring(verOffset+8);}
567else if((nameOffset=nAgt.lastIndexOf(' ')+1)<(verOffset=nAgt.lastIndexOf('/'))){jQuery.browser.name=nAgt.substring(nameOffset,verOffset);jQuery.browser.fullVersion=nAgt.substring(verOffset+1);if(jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase()){jQuery.browser.name=navigator.appName;}} 568if((ix=jQuery.browser.fullVersion.indexOf(";"))!=-1) 569jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix);if((ix=jQuery.browser.fullVersion.indexOf(" "))!=-1) 570jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix);jQuery.browser.majorVersion=parseInt(''+jQuery.browser.fullVersion,10);if(isNaN(jQuery.browser.majorVersion)){jQuery.browser.fullVersion=''+parseFloat(navigator.appVersion);jQuery.browser.majorVersion=parseInt(navigator.appVersion,10);} 571jQuery.browser.version=jQuery.browser.majorVersion;})(jQuery); 572(function($){var pluginName='ecoData';$.fn[pluginName]=function(){var args=Array.prototype.slice.call(arguments);var jqel=jQuery(this);var data;var parents;var returnJqel=false;if(args.length===2&&args[0]===true){returnJqel=true;} 573data=jQuery.extend({},jqel.data());if(returnJqel&&data.hasOwnProperty(args[1])){return jqel;} 574parents=jqel.parents();var jqel_ancestor=null;parents.each(function(index,ancestorDomElement){jqel_ancestor=jQuery(ancestorDomElement);var ancestorData=jQuery.extend({},jqel_ancestor.data());if(returnJqel){if(ancestorData.hasOwnProperty(args[1])){return false;}}else{data=jQuery.extend(ancestorData,data);}});if(returnJqel){return jQuery(jqel_ancestor);} 575switch(args.length){case 0:return data;break;case 1:return data[args[0]];break;case 2:var targetData=jqel.data();var locatedKey=false;if(targetData!=null&&targetData.hasOwnProperty(args[0])){jqel.data(args[0],args[1]);locatedKey=true;}else{parents.each(function(index,ancestorDomElement){var jqel_ancestor=jQuery(ancestorDomElement);var ancestorData=jqel_ancestor.data();if(ancestorData.hasOwnProperty(args[0])){jqel_ancestor.data(args[0],args[1]);locatedKey=true;return false;}});} 576if(!locatedKey){jqel.data(args[0],args[1]);} 577break;} 578return jqel;};})(jQuery); 579if(typeof(Eco)=='undefined'||!jQuery.isPlainObject(Eco)){Eco={};} 580(function(){Eco.BaseClass=function(){};Eco.BaseClass.__constructing=false;var _callToParentTest=/abc_eco/.test(function(){var abc_eco;})?/\b_parent\b/:/.*/;Eco.BaseClass.extend=function extender(){var _parentInstance=this.prototype;Eco.BaseClass.__constructing=true;var prototype=new this();Eco.BaseClass.__constructing=false;var parentProxyClosure=function(name,originalMethod){return function(){var tmpFn=this._parent;this._parent=_parentInstance[name];var result=originalMethod.apply(this,arguments);this._parent=tmpFn;return result;};};for(var i=0;i<arguments.length;i++){var classObject=arguments[i];for(var propertyName in classObject){if(classObject.hasOwnProperty(propertyName)){var isValidMethod=(typeof(classObject[propertyName])=='function');var parentHasSameMethod=(typeof(_parentInstance[propertyName])=='function');var hasCallToParentMethod=isValidMethod&&parentHasSameMethod&&_callToParentTest.test(classObject[propertyName]);prototype[propertyName]=hasCallToParentMethod?parentProxyClosure(propertyName,classObject[propertyName]):classObject[propertyName];}}} 581var BaseClass=function(){if(!Eco.BaseClass.__constructing&&this.__construct){this.__construct.apply(this,arguments);}};BaseClass.prototype=prototype;BaseClass.constructor=BaseClass;BaseClass.extend=extender;return BaseClass;};})(); 582if(typeof(Eco)=='undefined'||!jQuery.isPlainObject(Eco)){Eco={};} 583Eco.Util={_scrollTimer:null,_jqel_scrollTarget:null,initializeNamespace:function(){var context=window;for(var argIndex=0;argIndex<arguments.length;argIndex++){var arg=arguments[argIndex];if(typeof(arg)=='object'&&arg!==null){context=arg;continue;} 584if(typeof(arg)!='string'){continue;} 585var namespaceComponents=arg.split('.');var sourceObject=context[namespaceComponents[0]]=context[namespaceComponents[0]]||{};var childNamespaceComponents=namespaceComponents.slice(1);for(var childNamespaceName in childNamespaceComponents){if(childNamespaceComponents.hasOwnProperty(childNamespaceName)){var childNamespace=childNamespaceComponents[childNamespaceName];sourceObject=sourceObject[childNamespace]=sourceObject[childNamespace]||{};}}}},getNamespace:function(){var scope=window;var loopRestrictor=1;for(var argIndex=0;argIndex<loopRestrictor;argIndex++){var arg=arguments[argIndex];if(argIndex<1&&typeof(arg)=='object'&&arg!==null){scope=arg;loopRestrictor=2;continue;} 586if(typeof(arg)!='string'){return{};} 587var namespaceComponents=arg.split('.');var sourceObject=scope[namespaceComponents[0]]=scope[namespaceComponents[0]]||{};var childNamespaceComponents=namespaceComponents.slice(1);
587for(var childNamespaceName in childNamespaceComponents){if(childNamespaceComponents.hasOwnProperty(childNamespaceName)){var nextChildNamespaceName=childNamespaceComponents[childNamespaceName];sourceObject=sourceObject[nextChildNamespaceName]=sourceObject[nextChildNamespaceName]||{};}}} 588return sourceObject;},setNestedKey:function(context,propertyName,value){var namespaceParts=(''+propertyName).split('.');propertyName=namespaceParts.pop();var namespaceName=namespaceParts.join('.');var deepContext=context;if(namespaceName!==''){deepContext=this.getNamespace(context,namespaceName);} 589deepContext[propertyName]=value;},getNestedKey:function(context,propertyName,defaultValue){var namespaceParts=(''+propertyName).split('.');propertyName=namespaceParts.pop();var namespaceName=namespaceParts.join('.');var deepContext=context;if(namespaceName!==''){deepContext=this.getNamespace(context,namespaceName);} 590if(!deepContext.hasOwnProperty(propertyName)){deepContext[propertyName]=defaultValue;} 591return deepContext[propertyName];},removeNestedKey:function(context,propertyName){var namespaceParts=(''+propertyName).split('.');propertyName=namespaceParts.pop();var namespaceName=namespaceParts.join('.');var deepContext=context;if(namespaceName!==''){deepContext=this.getNamespace(context,namespaceName);} 592delete deepContext[propertyName];},convertNestedObjectToFlatObject:function(o,newObj,baseKey){if(typeof(newObj)!=='object'){newObj={};} 593if(typeof(baseKey)!=='string'){baseKey='';}else{baseKey+='.';} 594for(var key in o){if(!o.hasOwnProperty(key)){continue;} 595var combinedKey=baseKey+key;if(typeof(o[key])==='object'){if(o[key]instanceof Array){newObj[combinedKey]=Basix.extend(Basix.EXTEND_RECURSIVE,{tmp:[]},{tmp:o[key]}).tmp;}else{this.convertNestedObjectToFlatObject(o[key],newObj,combinedKey);}}else{newObj[combinedKey]=o[key];}} 596return newObj;},namespaceExists:function(){var scope=window;var loopRestrictor=1;for(var argIndex=0;argIndex<loopRestrictor;argIndex++){var arg=arguments[argIndex];if(argIndex<1&&typeof(arg)=='object'&&arg!==null){scope=arg;loopRestrictor=2;continue;} 597if(typeof(arg)!='string'){return false;} 598var namespaceComponents=arg.split('.');var sourceObject=scope[namespaceComponents[0]]=scope[namespaceComponents[0]]||{};var childNamespaceComponents=namespaceComponents.slice(1);for(var childNamespaceName in childNamespaceComponents){if(childNamespaceComponents.hasOwnProperty(childNamespaceName)){var nextChildNamespaceName=childNamespaceComponents[childNamespaceName];if(!sourceObject.hasOwnProperty(nextChildNamespaceName)){return false;} 599sourceObject=sourceObject[nextChildNamespaceName];}}} 600return true;},getRandomString:function(length){var chars="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";var stringLength=(typeof(length)!='undefined')?length:8;var randomString='';for(var i=0;i<stringLength;i++){var rNum=Math.floor(Math.random()*chars.length);randomString+=chars.substring(rNum,rNum+1);} 601return randomString;},capitalizeWords:function(string,o){var self=this;string=self.toWords(string,o);var parts=string.split(' ');parts.forEach(function(part,index){parts[index]=self.capitalizeFirstWord(part,o);});return parts.join(' ');},capitalizeFirstWord:function(string,o){string=this.toWords(string,o);return string.substr(0,1).toUpperCase()+string.substr(1);},toCamelCase:function(string,o){string=this.toWords(string,o);return string.replace(/(\s[a-z])/g,function(match){return match.toUpperCase().replace('_','').replace(' ','');});},toPascalCase:function(string,o){string=this.toCamelCase(string,o);return string.substr(0,1).toUpperCase()+string.substr(1);},toUnderscore:function(string,o){return this.toSnakeCase(string,o);},toSnakeCase:function(string,o){string=this.toWords(string,o);return string.replace(/\s+/g,'_');},toHyphenCase:function(string,o){string=this.toWords(string,o);return string.replace(/\s+/g,'-');},toHyphen:function(string,o){return this.toHyphenCase(string,o);},toDotCase:function(string,o){string=this.capitalizeWords(string,o);return string.replace(/\s+/g,'.');},toDotted:function(string,o){return this.toDotCase(string,o);},toHumanReadableFileSize:function(bytes,si){var thresh=si?1000:1024;var units=si?['KB','MB','GB','TB','PB','EB','ZB','YB']:['KiB','MiB','GiB','TiB','PiB','EiB','ZiB','YiB'];if(Math.abs(bytes)<thresh){return(bytes / thresh).toFixed(2)+' '+units[0];} 602var u=-1;do{bytes /=thresh;++u;}while(Math.abs(bytes)>=thresh&&u<units.length-1);return bytes.toFixed(1)+' '+units[u];},toWords:function(string,o){var defaults={splitOnUpperCase:true};o=jQuery.extend(defaults,o);if(o.splitOnUpperCase){string=string.replace(/([A-Z]{1,})/g,function(match){return' '+match.toLowerCase();});} 603return jQuery.trim(string.replace(/[_-]/g,' ').replace(/\s{2,}/g,' '));},_getClogs:function(args){var clogs=[];var argsLength=args.length;if(argsLength&&['function','object'].indexOf(typeof(console.log))>=0){var scalarTypes=['string','boolean','number','undefined'];var previousClogItemType='';for(var i=argsLength;i>=1;i--){var clogItem=args[argsLength-i];var clogItemType=typeof(clogItem);if(scalarTypes.indexOf(clogItemType)>=0&&scalarTypes.indexOf(previousClogItemType)>=0){if(clogItemType=='boolean'){clogItem='('+(clogItem?'true':'false')+')';}else if(clogItemType=='undefined'){clogItem='(undefined)';} 604clogs[clogs.length-1]+=': '+clogItem;}else{clogs.push(clogItem);} 605previousClogItemType=clogItemType;}} 606return clogs;},clog:function(){var args=Array.prototype.slice.call(arguments);var clogs=Eco.Util._getClogs(args);for(var i in clogs){if(clogs.hasOwnProperty(i)){var clogItem=clogs[i];console.log(clogItem);}}},cwarn:function(){var args=Array.prototype.slice.call(arguments);var clogs=Eco.Util._getClogs(args);jQuery.each(clogs,function(index,clogItem){console.warn(clogItem);});},getUniversalDate:function(dateOrTimestamp){var date;if(dateOrTimestamp instanceof Date){date=dateOrTimestamp;}else if(!isNaN(parseInt(dateOrTimestamp,10))){date=new Date(parseInt(dateOrTimestamp,10)*1000);}else{date=new Date();} 607var universalDate=new Date();universalDate.setSeconds(0);universalDate.setMilliseconds(0);universalDate.setUTCHours(23);universalDate.setUTCMinutes(59);universalDate.setUTCFullYear(date.getFullYear());universalDate.setUTCDate(1);universalDate.setUTCMonth(date.getMonth());universalDate.setUTCDate(date.getDate());return universalDate;},isAndroid:function(){return navigator.userAgent.match(/Android/i);},isBlackBerry:function(){return navigator.userAgent.match(/BlackBerry/i);},isIos:function(){return navigator.userAgent.match(/iPhone|iPad|iPod/i);},isOpera:function(){return navigator.userAgent.match(/Opera Mini/i);},isIeMobile:function(){return navigator.userAgent.match(/IEMobile/i);},isMobileDevice:function(){return(this.isAndroid()||this.isIos()||this.isIeMobile()||this.isBlackBerry()||this.isOpera());},getIeVersion:function(){var ua=window.navigator.userAgent;var msie=ua.indexOf('MSIE ');if(msie>0){return parseInt(ua.substring(msie+5,ua.indexOf('.',msie)),10);} 608var trident=ua.indexOf('Trident/');if(trident>0){var rv=ua.indexOf('rv:');return parseInt(ua.substring(rv+3,ua.indexOf('.',rv)),10);} 609var edge=ua.indexOf('Edge/');if(edge>0){return parseInt(ua.substring(edge+5,ua.indexOf('.',edge)),10);} 610return false;},scrollElementIntoView:function(jqel,options={}){var element=null;if(jqel instanceof jQuery){element=jqel.get(0);}else if(jqel instanceof Element){element=jqel;} 611if(!(element instanceof Element)){return false;} 612if(!(element.scrollIntoView instanceof Function)){return false;} 613element.scrollIntoView({behavior:'smooth',block:'center',inline:'nearest'});return true;},encodeHtmlAttribute:function(value){if(typeof(value)==='object'){value=JSON.stringify(value);} 614value=value.replace(/[\u00A0-\u9999<>&]/gim,function(i){return'&#'+i.charCodeAt(0)+';';});value=value.replaceAll('"','"');return value;},debounce:function debounce(func,wait,immediate){var timeout;return function(){var context=this,args=arguments;var later=function(){timeout=null;if(!immediate)func.apply(context,args);};var callNow=immediate&&!timeout;clearTimeout(timeout);timeout=setTimeout(later,wait);if(callNow)func.apply(context,args);};},Timer:function(callback,delay){var timerId,start,remaining=delay;this.pause=function(){window.clearTimeout(timerId);remaining-=Date.now()-start;};this.resume=function(){start=Date.now();window.clearTimeout(timerId);timerId=window.setTimeout(callback,remaining);};this.resume();},delay:async function(delayMs){let resolve;const p=new Promise(resolveFn=>{resolve=resolveFn;});setTimeout(()=>{resolve();},delayMs);return p;},stringToHtmlDoc:function(htmlString){const parser=new DOMParser();return parser.parseFromString(htmlString,'text/html');},stringToHtmlElement:function(htmlString){const doc=Eco.Util.stringToHtmlDoc(htmlString);if(doc?.body?.firstChild&&doc.body.firstChild instanceof HTMLElement){return doc.body.firstChild;} 615return null;}};if(!window.clog){window.clog=Eco.Util.clog;} 616if(!window.permaclog){window.permaclog=Eco.Util.clog;} 617if(!window.cwarn){window.cwarn=Eco.Util.cwarn;} 618Eco.Value=Eco.BaseClass.extend({_rawValue:null,_cleanValue:null,__c
618onstruct:function(rawValue,cleanValue){this._rawValue=rawValue;this._cleanValue=cleanValue;},getRawValue:function(){return this._rawValue;},getCleanValue:function(){return this._cleanValue;}}); 619Eco.Util.Cleaning={float:function(value){if(!value){return 0;} 620if(typeof(value)=='string'){value=value.replace(',','');} 621if(value===''){return'';} 622return parseFloat(value);},int:function(value){if(!value){return 0;} 623if(typeof(value)=='string'){value=value.replace(',','');} 624return parseInt(value,10);},mmDdYyyy:function(value,options){let numericValue=parseInt(value);if(String(numericValue)===value){return numericValue;} 625if(typeof(value)!=='string'){return value;} 626let cleanInput=value.replace(/[^\d/-]/g,'');let parts=[];let segmentRegex=/[\d]+/;while(cleanInput.length){let match=cleanInput.match(segmentRegex);if(!match){break;} 627parts.push(parseInt(match[0]));if(parts.length===3){break;} 628cleanInput=cleanInput.replace(segmentRegex,'').replace(/[^\d]/,'');} 629if(parts.length<3){for(let i=parts.length;i<3;i++){parts.push(null);}} 630if(parts[0]>12&&parts[1]<12){let day=parts[0];parts[0]=parts[1];parts[1]=day;} 631let cleanedRawInput=String(parts[0]).padStart(2,'0')+'/'+String(parts[1]).padStart(2,'0')+'/'+parts[2];Eco.Util.setNestedKey(options,'_ecoFormattingDetails.mmDdYyyy.cleanedRawInput',cleanedRawInput);let date=new Date(parts[2],parts[0]-1,parts[1]);return date.getTime()/ 1000;},money:function(value,options){if(typeof(value)!='string'){return value;} 632if(!jQuery.isPlainObject(options)){options={};} 633var allOptions=jQuery.extend({currencySign:'$',thousandsSeparator:',',decimal:'.'},options);jQuery.extend(options,allOptions);var regex=new RegExp('([^\\d'+options.decimal+'])','g');var money=value.replace(regex,'');if(typeof(money)!='string'){money='0';} 634return money;},numbers:function(value){if(typeof(value)==='number'){return value;} 635if(typeof(value)!=='string'){return'';} 636return value.replace(/[^\d]/g,'');},trim:function(value){if(typeof(value)!=='string'){return value;} 637return value.replace(/^\s*(.*?)\s*$/,'$1');},timecode:function(value){if(!value){return 0;} 638var minutes=0;var hours=0;var parts=(''+value).split(':');if(parts.length>1){var seconds=Math.abs(parts.pop());if(parts.length){minutes=Math.abs(parts.pop());} 639if(parts.length){hours=Math.abs(parts.pop());}}else{value=parseInt(value,10);seconds=Math.abs(value);} 640return seconds+(minutes*60)+(hours*3600);},cssSizeUnitValue:function(value){if(typeof(value)!=='string'){return'';} 641value=jQuery.trim(value);if(!value){return'';} 642let parts=value.match(/[\s]*(-)?[\s]*([\d]+)?[\s]*(px|em|%|cm|mm|in|pt|pc|ex|ch|rem|vw|vh|vmin|vmax)?[\s]*[;]?[\s]*/);if(!parts){return value;} 643if(!parts[1]){parts[1]='';} 644if(!parts[2]){parts[2]='';} 645if(!parts[3]){parts[3]='';} 646value=''+parts[1]+parts[2]+parts[3];return value;},textToArray:function(value){if(jQuery.isArray(value)){return value;} 647if(!value){value='';} 648var splitValue=value.split(/\n|\r/);var cleanedList=[];jQuery.each(splitValue,function(n,v){var cleanValue=v.trim();if(cleanValue){cleanedList.push(cleanValue);}});return cleanedList;},toUpperCase:function(value){if(typeof(value)==='string'){return value.toUpperCase();} 649return'';},toLowerCase:function(value){if(typeof(value)==='string'){return value.toLowerCase();} 650return'';},blacklist:function(value,data){if(data.blacklist&&data.blacklist.includes(value)){return'';} 651return value;}}; 652/** 653 * Methods in this class must contain 654 */ 655Eco.Util.Validation = { 656 /** 657 * A list of validation method names for methods that are determined to run too slowly to be used in real time validation (on keyup for example). 658 */ 659 SlowValidationMethods: ['emailMx', 'emailUnique', 'usernameUnique', 'foreignIdUnique'], 660 Messages: { 661 required: { 662 1: 'This field is required.' 663 }, 664 requiredNoBlank: { 665 1: 'This field is required.' 666 }, 667 stringLength: function (statusCode, options) { 668 clog(`status code: ${statusCode}`, options); 669 const INVALID_VALUE = 1; 670 const STRING_TOO_SHORT = 2; 671 const STRING_TOO_LONG = 3; 672 673 switch (statusCode) { 674 case STRING_TOO_SHORT: 675 return `Entry is too short. Enter at least ${options.minimum} characters.`; 676 case STRING_TOO_LONG: 677 return `Entry is too long. Maximum length is ${options.maximum} characters.`; 678 case INVALID_VALUE: 679 default: 680 return 'Please enter a valid value.'; 681 682 } 683 }, 684 cssSizeUnitValue: { 685 1: 'Please enter a valid CSS number and unit.', 686 2: 'Please enter a valid CSS number and unit.', 687 3: 'You must enter a valid positive integer.', 688 4: 'Please enter a number before the unit.', 689 5: 'Please enter a valid CSS unit after the number.', 690 }, 691 number: { 692 1: 'Please enter a number.' 693 }, 694 numberInRange: { 695 1: 'Please enter a number.', 696 2: 'Please enter a number.', 697 3: 'This number is too low.', 698 4: 'This number is too high.' 699 }, 700 email: { 701 1: 'Please enter a valid email address.', 702 2: 'Please enter a valid email address.' 703 }, 704 emailMx: { 705 1: 'Please enter a valid email address.' 706 }, 707 emailUnique: { 708 1: 'That email address is already in use.' 709 }, 710 usernameUnique: { 711 1: 'That username is already in use.' 712 }, 713 foreignIdUnique: { 714 1: 'That code is already in use.' 715 }, 716 url: { 717 1: 'Please enter a valid URL.', 718 2: 'Please enter a valid URL.' 719 }, 720 urlWithSiteRoot: { 721 1: 'Please enter a valid URL.', 722 2: 'Please enter a valid URL.' 723 }, 724 phone: { 725 1: 'Please enter a valid phone number.', 726 2: 'Please enter a valid phone number.' 727 }, 728 /** 729 * @deprecated Use mmDdYyyy instead. 730 * @param statusCode 731 * @param options 732 * @returns {number|number} 733 */ 734 isMmDdYyyy: function (statusCode, options) { 735 return Eco.Util.Validation.mmDdYyyy(statusCode, options); 736 }, 737 mmDdYyyy: function (statusCode, options) { 738 const YEAR_TOO_SHORT = 1; 739 const YEAR_TOO_LONG = 2; 740 const MONTH_TOO_LOW = 3; 741 const MONTH_TOO_HIGH = 4; 742 const DAY_TOO_LOW = 5; 743 const DAY_EXCEEDS_LEAP_MONTH_DAYS_IN_NON_LEAP_YEAR = 6; 744 const DAY_EXCEEDS_LEAP_MONTH_DAYS_IN_LEAP_YEAR = 7; 745 const DAY_EXCEEDS_MONTH_DAYS = 8; 746 const INVALID_DATE = 9; 747 748 let maxDays = Eco.Util.getNestedKey(options, '_ecoValidationErrorDetails.mmDdYyyy.maximumDays'); 749 let month = Eco.Util.getNestedKey(options, '_ecoValidationErrorDetails.mmDdYyyy.month'); 750 // 2021-08-24 - Not current needed : let day = Eco.Util.getNestedKey(options, '_ecoValidationErrorDetails.mmDdYyyy.day'); 751 let year = Eco.Util.getNestedKey(options, '_ecoValidationErrorDetails.mmDdYyyy.year'); 752 753 switch (statusCode) { 754 case YEAR_TOO_SHORT: 755 case YEAR_TOO_LONG: 756 return 'Please enter a 4-digit year.'; 757 case MONTH_TOO_LOW: 758 case MONTH_TOO_HIGH: 759 return 'Please enter a valid month.'; 760 case DAY_TOO_LOW: 761 return 'Please enter a valid day (from 1 - ' + maxDays + ').'; 762 case DAY_EXCEEDS_LEAP_MONTH_DAYS_IN_NON_LEAP_YEAR: 763 case DAY_EXCEEDS_LEAP_MONTH_DAYS_IN_LEAP_YEAR: 764 case DAY_EXCEEDS_MONTH_DAYS: 765 const formatter = new Intl.DateTimeFormat('en-us', {month: 'long'}); 766 const monthName = formatter.format(new Date(2000, month - 1, 1)); 767 return Eco.Util.capitalizeWords(monthName) + ' ' + year + ' has only ' + maxDays + ' days.'; 768 case INVALID_DATE: 769 default: 770 return 'Please enter a valid date in mm/dd/yyyy format.'; 771 772 } 773 774 }, 775 zipCode: { 776 1: 'Please enter a valid zip code. e.g. 12345 or 12345-1234' 777 }, 778 sameValue: { 779 1: 'This value does not match.' 780 }, 781 text: { 782 1: 'This value is not text' 783 }, 784 password: function (statusCode) { 785 var message = ''; 786 switch (statusCode) { 787 case 1: 788 case 2: 789 return 'Passwords cannot be blank.'; 790 break; 791 case 3: 792 return 'Minimum 8 characters with one letter and one number.'; 793 break; 794 } 795 return message; 796 }, 797 containsAlphabetic: function (statusCode, options) { 798 var message = ''; 799 switch (statusCode) { 800 case 1: 801 case 2: 802 message = 'This value must contain at least ' + options.minimum + ' alphabetic character' + ((options.minimum > 1) ? 's' : '') + '.'; 803 break; 804 case 3: 805 message = 'This value cannot contain more than ' + options.maximum + ' alphabetic character' + ((options.maximum > 1) ? 's' : '') + '.'; 806 break; 807 default: 808 throw Error('Unspecified validation error for `containsAlphabetic`.'); 809 } 810 return message; 811 } 812 }, 813 814 /** 815 * Validate the value is present BUT allow completely blank/empty values. 816 * 817 * Also allows all-whitespace values IF the clean value is not trimmed of whitespace. This can be done externally to 818 * prevent all-whitespace values. 819 * 820 * Designed for nearly any field type. 821 * 822 * @param {Eco.Value<*>} value 823 * @returns {Number} The success or error code. 0 = success. Error codes are positive integers. 824 */ 825 required: function (value) { 826 827 // Required just means a value is present - it does NOT mean that value is actually valid for that field type! 828 var result = true; 829 // This is a rare place where force-cleaning the raw value is necessary to ensure a value is not all whitespace. 830 // This still allows all-whitespace values IF the clean value is not also trimmed. This allows either behavior just by setting the trim cleaner on a field or not. 831 var rawValue = Eco.Util.Cleaning.trim(value.getRawValue()); 832 var cleanValue = value.getCleanValue(); 833 834 // Argument 2 is typically the data for the organism 835 var passedData = arguments[1]; 836 // if this is an option box then we need to allow 'false' as a value' but a blank string is not an option
837 let optionFieldTypes = ['option', 'radio-list', 'radio-button-list']; 838 if(passedData && optionFieldTypes.indexOf(passedData.ecoFieldType) > -1) { 839 if(rawValue === '' && cleanValue === '') { 840 // there is no recorded value/option for this drop down 841 return 1; 842 } else { 843 return 0; 844 } 845 } else if(passedData && passedData.ecoFieldType === 'option_dataset') { 846 if(typeof(cleanValue) === 'object' && JSON.stringify(cleanValue) === '{}') { 847 return 1; 848 } else { 849 return 0; 850 } 851 } else { 852 853 if (!rawValue) { 854 result = !(cleanValue === false || cleanValue === '' || cleanValue === null || isNaN(cleanValue) || (cleanValue instanceof Array && cleanValue.length == 0)); 855 } else if (rawValue instanceof Array) { 856 result = (rawValue.length >= 1); 857 } 858 } 859 return (result ? 0 : 1); 860 }, 861 862 /** 863 * Override for 'required' that does not allow white space values 864 * @param value 865 * @param options 866 * @returns {Number} 867 */ 868 requiredNoBlank(value, options){ 869 var rawValue = Eco.Util.Cleaning.trim(value.getRawValue()); 870 var cleanValue = Eco.Util.Cleaning.trim(value.getCleanValue()); 871 const v = new Eco.Value(rawValue, cleanValue); 872 // trim both 873 return Eco.Util.Validation.required(v); 874 }, 875 876 stringLength: function(value, options) { 877 var allOptions = jQuery.extend({minimum: null, maximum: null}, options); 878 jQuery.extend(options, allOptions); // MODIFY options BY REFERENCE 879 var cleanValue = value.getCleanValue(); 880 881 if (cleanValue === '') { 882 return 0; // Empty values are valid - use required validator to prevent blank values 883 } 884 885 if (typeof (cleanValue) !== 'string' && typeof (cleanValue) !== 'number') { 886 return 1; // Value is not a string or number, invalid 887 } 888 889 var minimum = options.minimum; 890 if (typeof (minimum) === 'undefined') { 891 minimum = null; 892 } 893 894 var maximum = options.maximum; 895 if (typeof (maximum) === 'undefined') { 896 maximum = null; 897 } 898 899 if (minimum !== null && cleanValue.length < minimum) { 900 return 2; // Value too short 901 } 902 903 if (maximum !== null && cleanValue.length > maximum) { 904 return 3; // Value too long 905 } 906 907 return 0; // The value is in the allowed length range (inclusive of min/max) 908 }, 909 910 /** 911 * Determine if the value is in the format of {int}{unit} where {unit} is a valid CSS unit. 912 * @param value 913 * @returns {number|*} 914 */ 915 cssSizeUnitValue: function(value) { 916 let cleanValue = value.getCleanValue(); 917 if(typeof(cleanValue) !== 'string') { 918 // Invalid value; not a string 919 return 1; 920 } 921 922 if(!cleanValue) { 923 // An empty value is valid 924 return 0; 925 } 926 927 // Parse the value to extract the parts independently so we can stitch them back together 928 let parts = cleanValue.match(/[\s]*(-)?[\s]*([\d]+)?[\s]*(px|em|%|cm|mm|in|pt|pc|ex|ch|rem|vw|vh|vmin|vmax)?[\s]*[;]?[\s]*/); 929 if(!parts) { 930 // Invalid value; the expression did not even match 931 return 2; 932 } 933 if(parts[1]) { 934 // Invalid value; the number entered must be positive 935 return 3; 936 } 937 if(!parts[2]) { 938 // Invalid value; missing the number 939 return 4; 940 } 941 if(!parts[3]) { 942 // Invalid value; missing the unit 943 return 5; 944 } 945 946 clog(parts); 947 948 return 0; 949 }, 950 951 /** 952 * Validate the clean value is a number. 953 * 954 * @param {Eco.Value<scalar>} value 955 * @returns {Number} The success or error code. 0 = success. Error codes are positive integers. 956 */ 957 number: function (value) { 958 return (isNaN(value.getCleanValue()) ? 1 : 0); // Anything isNaN() considers as a number is valid. Otherwise invalid. 959 }, 960 961 /** 962 * Validate the clean value is an email. 963 * 964 * @param {Eco.Value<String>} value 965 * @returns {Number} The success or error code. 0 = success. Error codes are positive integers. 966 */ 967 email: function (value) { 968 var email = value.getCleanValue(); 969 if (typeof (email) != 'string') { 970 return 1; // Invalid 971 } 972 if (email == '') { 973 return 0; // Valid 974 } 975 email = email.toLowerCase(); 976 var emailPattern = /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/; 977 return (emailPattern.test(email) ? 0 : 2); 978 }, 979 980 /** 981 * Check that the domain for the email address is using has valid MX records assigned. 982 * 983 * SERVER SIDE VALIDATION 984 * 985 * @param {Eco.Value} value 986 * @returns {Number} 987 */ 988 emailMx: function (value) { 989 var cleanValue = value.getCleanValue(); 990 if (!cleanValue) { 991 return 0; // This is not a required field validator - do not run a server side comparison. 992 } 993 994 var resultCode = 0; // Presume the domain is valid unless we can prove it is not val
994id. Innocent until proven guilty mindset. 995 jQuery.ajax({ 996 async: false, 997 timeout: 1.5 * 1000, // Longer than 1.5 seconds and we should bail 998 url: '/site/core/public/remote-helpers/dns-check/api.php', // Directly access a dns-check api that we created 999 type: 'POST', 1000 data: { 1001 command: 'verify-email-domain', 1002 email: cleanValue 1003 }, 1004 success: function (json, status, jqXhr) { 1005 if (json.result) { 1006 // Success! The email's domain was verified as having valid MX records. 1007 // Nothing to do here 1008 } else { 1009 // Uh-oh, the email's domain appears to target a server that lacks valid MX records. 1010 resultCode = 1; 1011 } 1012 }, 1013 error: function () { 1014 // Could not verify domain, but neither can we deny it 1015 cinfo('The `dns-check` verification service timed out or reported an error.'); 1016 } 1017 }); 1018 return resultCode; 1019 }, 1020 1021 /** 1022 * Check that the email address is not already used for by another user in the Genome database. 1023 * 1024 * SERVER SIDE VALIDATION 1025 * 1026 * @param {Eco.Value} value 1027 * @param {Object} options 1028 * @returns {Number} 1029 */ 1030 emailUnique: function (value, options) { 1031 var allOptions = jQuery.extend({profileId: 0}, options); 1032 jQuery.extend(options, allOptions); // MODIFY options BY REFERENCE 1033 1034 var cleanValue = value.getCleanValue(); 1035 if (!cleanValue) { 1036 return 0; // This is not a required field validator - do not run a server side comparison. 1037 } 1038 1039 var resultCode = 0; // Presume the email address is unique unless we can prove it is not in use. Innocent until proven guilty mindset. 1040 jQuery.ajax({ 1041 async: false, 1042 timeout: 1.5 * 1000, // Longer than 1.5 seconds and we should bail 1043 url: '/site/core/public/remote-helpers/profile-availability/api.php', 1044 type: 'POST', 1045 data: { 1046 command: 'is-email-registered', 1047 email: cleanValue, 1048 item_id: options.profileId 1049 }, 1050 success: function (json, status, jqXhr) { 1051 if (json.result === true) { 1052 // Uh-oh, the email appears to be registered to an existing user account. 1053 resultCode = 1; 1054 } else { 1055 // The email appears to be unique within the system. 1056 // Nothing to do here 1057 } 1058 }, 1059 error: function () { 1060 // Could not verify domain, but neither can we deny it 1061 cinfo('The `profile-availability` verification service timed out or reported an error.'); 1062 } 1063 }); 1064 return resultCode; 1065 }, 1066 1067 /** 1068 * Check that the username is not already used for by another user in the Genome database. 1069 * 1070 * SERVER SIDE VALIDATION 1071 * 1072 * @param {Eco.Value} value 1073 * @param {Object} options 1074 * @returns {Number} 1075 */ 1076 usernameUnique: function (value, options) { 1077 var allOptions = jQuery.extend({profileId: 0}, options); 1078 jQuery.extend(options, allOptions); // MODIFY options BY REFERENCE 1079 1080 var cleanValue = value.getCleanValue(); 1081 if (!cleanValue) { 1082 return 0; // This is not a required field validator - do not run a server side comparison. 1083 } 1084 1085 var resultCode = 0; // Presume the username is unique unless we can prove it is not in use. Innocent until proven guilty mindset. 1086 jQuery.ajax({ 1087 async: false, 1088 timeout: 1.5 * 1000, // Longer than 1.5 seconds and we should bail 1089 url: '/site/core/public/remote-helpers/profile-availability/api.php', 1090 type: 'POST', 1091 data: { 1092 command: 'is-username-registered', 1093 username: cleanValue, 1094 item_id: options.profileId 1095 }, 1096 success: function (json, status, jqXhr) { 1097 if (json.result === true) { 1098 // Uh-oh, the username appears to be registered to an existing user account. 1099 resultCode = 1; 1100 } else { 1101 // The username appears to be unique within the system. 1102 // Nothing to do here 1103 } 1104 }, 1105 error: function () { 1106 // Could not verify username is unique due to error with service. 1107 cinfo('The `profile-availability` verification service timed out or reported an error.'); 1108 } 1109 }); 1110 return resultCode; 1111 }, 1112 1113 /** 1114 * Check that the foreign id is not already used for by another item in the Genome database. 1115 * 1116 * SERVER SIDE VALIDATION 1117 * 1118 * @param {Eco.Value} value 1119 * @param {Object} options 1120 * @returns {Number} 1121 */ 1122 foreignIdUnique: function (value, options) { 1123 var allOptions = jQuery.extend({itemId: 0, itemTypes: []}, options); 1124 jQuery.extend(options, allOptions); // MODIFY options BY REFERENCE 1125 1126 var resultCode = 0; // Presume the foreign id is unique unless we can prove it is not in use. Innocent until proven guilty mindset. 1127 jQuery.ajax({ 1128 async: false, 1129 timeout: 1.5 * 1000, // Longer than 1.5 seconds and we should bail 1130 url: '/site/core/public/remote-helpers/item-generics/api.php', 1131 type: 'POST', 1132 data: { 1133 command: 'is-foreign-id-unique', 1134 foreignId: value.getCleanValue(), 1135 item_id: options.itemId, 1136 itemTypes: options.itemTypes 1137 }, 1138 success: function (json, status, jqXhr) { 1139 if (json.result === true) { 1140 // Uh-oh, the email appears to be registered to an existing user account. 1141 resultCode = 1; 1142 } else { 1143 // The email appears to be unique within the system. 1144 // Nothing to do here 1145 } 1146 }, 1147 error: function () { 1148 // Could not verify domain, but neither can we deny it 1149 cinfo('The `item-generics` verification service timed out or reported an error.'); 1150 } 1151 }); 1152 return resultCode; 1153 }, 1154 1155 /** 1156 * Validate the clean value is a URL. 1157 * 1158 * @param {Eco.Value<String>} value 1159 * @returns {Number} The success or error code. 0 = success. Error codes are positive integers. 1160 */ 1161 url: function (value) { 1162 var url = value.getCleanValue(); 1163 if (typeof (url) != 'string') { 1164 return 1; // Invalid 1165 } 1166 if (url == '' && value.getRawValue() == '') { 1167 return 0; // Empty string is valid 1168 } 1169 url = url.toLowerCase(); 1170 var urlPattern = /^(http|https):\/\/(([a-zA-Z0-9$\-_.+!*'(),;:&=]|%[0-9a-fA-F]{2})+@)?(((25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9]|[1-9][0-9]|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9]|[1-9][0-9]|[0-9])){3}
1170)|localhost|([a-zA-Z0-9\-\u00C0-\u017F]+\.)+([a-zA-Z]{2,}))(:[0-9]+)?(\/(([a-zA-Z0-9$\-_.+!*'(),;:@&=]|\#!|%[0-9a-fA-F]{2})*(\/([a-zA-Z0-9$\-_.+!*'(),;:@&=]|\#!|%[0-9a-fA-F]{2})*)*)?(\?([a-zA-Z0-9$\-_.+!*'(),;:@&=\/?]|\#!|%[0-9a-fA-F]{2})*)?(\#([a-zA-Z0-9$\-_.+!*'(),;:@&=\/?]|%[0-9a-fA-F]{2})*)?)?$/; 1171 return (urlPattern.test(url) ? 0 : 2); 1172 }, 1173 1174 /** 1175 * Validate the clean value is a URL but allow for site root relative, ie. /content/about-us 1176 * If it's not determined to be relative it falls back to normal url 1177 * 1178 * allows: /adfs #adfs and /?asdf 1179 * 1180 * @param value 1181 * @returns {number|*} 1182 */ 1183 urlWithSiteRoot: function (value) { 1184 var url = value.getCleanValue(); 1185 if (typeof (url) != 'string') { 1186 return 1; // Invalid 1187 } 1188 if (url == '' && value.getRawValue() == '') { 1189 return 0; // Empty string is valid 1190 } 1191 url = url.toLowerCase(); 1192 var siteRootPattern = /^[\/#]{1}\??\w/; 1193 return (siteRootPattern.test(url) ? 0 : Eco.Util.Validation.url(value)); 1194 }, 1195 1196 /** 1197 * Validate the clean value is a phone number. 1198 * 1199 * @param {Eco.Value<String>} value 1200 * @returns {Number} The success or error code. 0 = success. Error codes are positive integers. 1201 */ 1202 phone: function (value) { 1203 var phone = value.getCleanValue(); 1204 if (typeof (phone) != 'string') { 1205 return 1; // Invalid 1206 } 1207 if (phone == '' && value.getRawValue() == '') { 1208 return 0; // Empty string is valid 1209 } 1210 return (/[\d]{10,15}/.test(phone) ? 0 : 2); // Is the phone number between 10 and 15 digits long (phone number max length is officially 15 digits: https://en.wikipedia.org/wiki/Telephone_numbering_plan) 1211 }, 1212 1213 password: function (value) { 1214 var password = value.getCleanValue(); 1215 if (typeof (password) != 'string') { 1216 return 1; // Invalid 1217 } 1218 1219 if (password == '' && value.getRawValue() == '') { 1220 return 0; // Password is blank - considered valid - use required validation too if you need non-blank passwords 1221 } 1222 1223 var passwordPattern = /^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/; 1224 return passwordPattern.test(password) ? 0 : 3; 1225 }, 1226 1227 /* 1228 /!** 1229 * 1230 * @param {Eco.Value} value 1231 * @param {Object} options 1232 * 1233 * @return {Number} 1234 *!/ 1235 positiveInt: function(value, options) { 1236 var cleanValue = value.getCleanValue(); 1237 if(cleanValue == '') { 1238 return 0; // Blank is considered valid - use required validator if you need non-blank values 1239 } 1240 1241 var int = parseInt(cleanValue, 10); 1242 return (int > 0) ? 0 : 1; // Int > 0 are positive, anything else is non-positive (does not mean negative b/c 0 is neither!) 1243 },*/ 1244 1245 /** 1246 * 1247 * @param {Eco.Value} value 1248 * @param {Object} options 1249 * @returns {Number} 1250 */ 1251 containsAlphabetic: function (value, options) { 1252 var allOptions = jQuery.extend({minimum: 0, maximum: -1}, options); 1253 jQuery.extend(options, allOptions); // MODIFY options BY REFERENCE 1254 1255 var cleanValue = value.getCleanValue(); 1256 1257 if (typeof (cleanValue) != 'string') { 1258 return 1; // Value is not a string, invalid 1259 } 1260 1261 // Strip the value of all non-alphabetic characters 1262 cleanValue = cleanValue.replace(/[^a-zA-Z]/g, ''); 1263 1264 if (cleanValue.length < options.minimum) { 1265 return 2; // Not enough alphabetic characters 1266 } 1267 1268 if (options.maximum !== -1 && cleanValue.length > options.maximum) { 1269 return 3; // Too many alphabetic characters! 1270 } 1271 1272 return 0; // The number of alphabetic characters is within the allowed range 1273 }, 1274 1275 /** 1276 * Validate whether a value is a number and falls within the provided range of min/max values, inclusive. 1277 * 1278 * By default the range is infinite. 1279 * 1280 * @param {Eco.Value} value 1281 * @param {{ 1282 * minimum?: int|false, 1283 * maximum?: int|false, 1284 * }} options 1285 * @returns {Number} 1286 */ 1287 numberInRange: function (value, options) { 1288 var allOptions = jQuery.extend({minimum: 0, maximum: false}, options); 1289 jQuery.extend(options, allOptions); // MODIFY options BY REFERENCE 1290 var cleanValue = value.getCleanValue(); 1291 1292 if (cleanValue === '') { 1293 return 0; // Empty values are valid - use required validator to prevent blank values 1294 } 1295 1296 // Convert to number 1297 cleanValue = +cleanValue; 1298 1299 if (typeof (cleanValue) !== 'string' && typeof (cleanValue) !== 'number') { 1300 return 1; // Value is not a string or number, invalid 1301 } 1302 1303 if (isNaN(cleanValue)) { 1304 return 2; // Value is not numeric 1305 } 1306 1307 var minimum = options.minimum; 1308 if (typeof (minimum) === 'undefined') { 1309 minimum = options.min; 1310 } 1311 1312 var maximum = options.maximum; 1313 if (typeof (maximum) === 'undefined') { 1314 maximum = options.max; 1315 } 1316 1317 if (minimum !== false && cleanValue < minimum) { 1318 return 3; // Value too low 1319 } 1320 1321 if (maximum !== false && cleanValue > maximum) { 1322 return 4; // Value too high 1323 } 1324 1325 return 0; // The value is numeric and is in the allowed numeric range (inclusive of min/max) 1326 }, 1327 /** 1328 * @deprecated Use mmDdYyyy instead. 1329 * @param value 1330 * @param options 1331 * @returns {number} 1332 */ 1333 isMmDdYyyy: function (value, options) { 1334 return Eco.Util.Validation.mmDdYyyy(value, options); 1335 }, 1336 /** 1337 * Verifies if a string is in mm/dd/yyyy structure 1338 * Validates the digits and the allowed date/year 1339 * @param value 1340 * @param options 1341 */ 1342 mmDdYyyy: function (value, options) { 1343 const LEAP_MONTH = 2; 1344 1345 const YEAR_TOO_SHORT = 1; 1346 const YEAR_TOO_LONG = 2; 1347 const MONTH_TOO_LOW = 3; 1348 const MONTH_TOO_HIGH = 4; 1349 const DAY_TOO_LOW = 5; 1350 const DAY_EXCEEDS_LEAP_MONTH_DAYS_IN_NON_LEAP_YEAR = 6; 1351 const DAY_EXCEEDS_LEAP_MONTH_DAYS_IN_LEAP_YEAR = 7; 1352 const DAY_EXCEEDS_MONTH_DAYS = 8; 1353 const INVALID_DATE = 9; 1354 1355 //let cleanValue = String(value.getCleanValue()); 1356 // DO NOT USE THE ABOVE APPROACH TO GET THE VALUE - The clean value stored there is a numeric timestamp value 1357 // and hides some valuable information from our validation process that we can instead obtain from the raw 1358 // cleaned string input. To obtain that, we must manually run the desired mmDdYyyy cleaner here as the cleaned 1359 // input value a string is unobtainable otherwise. 1360 let rawValue = value.getRawValue(); 1361 let cleanerOptions = jQuery.extend({}, options); 1362 Eco.Util.Cleaning.mmDdYyyy(rawValue, cleanerOptions); 1363 let cleanedRawValue = Eco.Util.getNestedKey(cleanerOptions, '_ecoFormattingDetails.mmDdYyyy.cleanedRawInput'); 1364 1365 // Unable to validate 1366 if (!cleanedRawValue) { 1367 return INVALID_DATE; 1368 } 1369 1370 let parts = cleanedRawValue.match(/([\d]{2})\/([\d]{2})\/([\d]+)/); 1371 1372 if (parts === null) { 1373 return INVALID_DATE; 1374 } 1375 1376 let month = parseInt(parts[1], 10); 1377 let day = parseInt(parts[2], 10); 1378 let year = parseInt(parts[3], 10); 1379 1380 // This makes certain details available in the validation error message handler by modifying the options object 1381 // by reference as the same object is later passed through to the error message generator callback. 1382 Eco.Util.setNestedKey(options, '_ecoValidationErrorDetails.mmDdYyyy', { 1383 day: day, 1384 month: month, 1385 year: year, 1386 maximumDays: null 1387 }); 1388 1389 let yearStringLength = String(year).length; 1390 if (yearStringLength < 4) { 1391 return YEAR_TOO_SHORT; 1392 } else if (yearStringLength > 4) { 1393 return YEAR_TOO_LONG; 1394 } 1395 1396 // Are first and second parts swapped? 1397 if (month > 12 && day <= 12) { 1398 let tmpDay = month;
1399 month = day; 1400 day = tmpDay; 1401 Eco.Util.setNestedKey(options, '_ecoValidationErrorDetails.mmDdYyyy.day', day); 1402 Eco.Util.setNestedKey(options, '_ecoValidationErrorDetails.mmDdYyyy.month', month); 1403 } 1404 1405 if (month < 1) { 1406 return MONTH_TOO_LOW; 1407 } else if (month > 12) { 1408 return MONTH_TOO_HIGH; 1409 } 1410 1411 // Is it a leap year? Must be non-null, divisible by 4, and if it's divisible by 100, also be divisible by 400 1412 // REFERENCE: https://docs.microsoft.com/en-us/office/troubleshoot/excel/determine-a-leap-year 1413 let isLeapYear = year !== null && year % 4 === 0 && (year % 100 === 0 ? year % 400 === 0 : true); 1414 let days30 = [4, 6, 9, 11]; 1415 let maxDays; 1416 if (month === LEAP_MONTH) { 1417 // Set the number of days in the month of February 1418 maxDays = isLeapYear ? 29 : 28; 1419 } else { 1420 // Set the number of days in any other month 1421 maxDays = days30.indexOf(month) !== -1 ? 30 : 31; 1422 } 1423 1424 Eco.Util.setNestedKey(options, '_ecoValidationErrorDetails.mmDdYyyy.maximumDays', maxDays); 1425 1426 if (day < 1) { 1427 return DAY_TOO_LOW; 1428 } 1429 1430 if (day > maxDays) { 1431 // Are max days in February exceeded for the defined year? 1432 if (month === LEAP_MONTH) { 1433 return isLeapYear ? DAY_EXCEEDS_LEAP_MONTH_DAYS_IN_LEAP_YEAR : DAY_EXCEEDS_LEAP_MONTH_DAYS_IN_NON_LEAP_YEAR; 1434 } else { 1435 return DAY_EXCEEDS_MONTH_DAYS; 1436 } 1437 } 1438 1439 return 0; 1440 }, 1441 /** 1442 * Verify if a string is a valid zip code in either xxxxx or xxxxx-xxxx formats. 1443 * @param value 1444 * @param options 1445 * @param {bool} options.allowBlank - default = false - allows an empty field to pass validation, so it is not required if this is set 1446 */ 1447 zipCode: function (value, options) { 1448 var cleanValue = value.getCleanValue(); 1449 if(options.allowBlank){ 1450 if(cleanValue===''){ 1451 return 0; 1452 } 1453 } 1454 var zipCodePattern = /^\d{5}(?:[-\s]\d{4})?$/; 1455 if (!(zipCodePattern.test(cleanValue))) { 1456 return 1; 1457 } 1458 return 0; 1459 }, 1460 1461 /** 1462 * 1463 * @param {Eco.Value} value 1464 * @param {object} options 1465 */ 1466 sameValue: function (value, options) { 1467 var cleanValue = value.getCleanValue(); 1468 if (cleanValue === '') { 1469 return 0; // Perfectly valid to not be filled in yet 1470 } 1471 var organism = options.organism; 1472 if (!options.field) { 1473 permaclog(organism); 1474 throw Error('You must define a field property in the sameValue validator options for this ^^^ organism.'); 1475 } 1476 1477 var form = organism.getTopLevelDataStore(); 1478 if (!(form instanceof Eco.Organism.Form)) { 1479 permaclog(organism); 1480 throw Error('Unable to locate the form organism for running the sameValue validator for this ^^^ organism. The sameValue validator can only be used inside of a form at this time as that provides a known container within which to locate the target field to compare to.'); 1481 } 1482 1483 var field = form.getChildOrganismByName(options.field); 1484 1485 if (!field) { 1486 permaclog(organism, form); 1487 throw Error('Unable to locate the field ' + options.field + ' in this ^ form on this ^^ organism. The sameValue validator must have a target field to compare to in the same form at this time.'); 1488 } 1489 if (field.val() === cleanValue) { 1490 return 0; // matched 1491 } else { 1492 return 1; // not a match 1493 } 1494 }, 1495 /** 1496 * Mostly a utilitiy for converted fields that bring in a text validation with them 1497 * @param value 1498 * @param options 1499 * @returns {boolean} 1500 */ 1501 text: function (value, options) { 1502 if (typeof (value) === 'string') { 1503 return 0; 1504 } 1505 return 1; 1506 } 1507}; 1508Eco.Util.Formatting={cleaned:function(value){return value;},mmDdYyyy:function(value,options){if(!value){return'';} 1509if(typeof(value)!=='number'&&isNaN(parseInt(value,10))){cwarn('The value provided to the Eco.Util.Formatting.mmDdYyyy() was not cleaned properly first. Be sure the field is also using the mmDdYyyy cleaner. Provided Value',value);} 1510let date=new Date();date.setTime(value*1000);return String(date.getUTCMonth()+1).padStart(2,'0')+'/'+String(date.getUTCDate()).padStart(2,'0')+'/'+date.getUTCFullYear();},money:function(value,options){if(!jQuery.isPlainObject(options)){options={};} 1511var sanityCheck=value.toString().match(/[\d.]*/);if(sanityCheck[0].toString()!=value.toString()){cwarn('The value provided to the Eco.Util.Formatting.money() was not cleaned properly first. Be sure the field is also using the money cleaner. Provided Value',value);} 1512var allOptions=jQuery.extend({currencySign:'$',thousandsSeparator:',',decimal:'.'},options);jQuery.extend(options,allOptions);var regex=new RegExp('([\\d'+options.decimal+']+)');if(typeof(value)==='number'){value=value.toString();} 1513if(typeof(value)!=='string'){value='';} 1514var matches=value.match(regex);if(!(matches instanceof Array)){return'';}
1515var money=parseFloat(matches[0]);var decimalParts=(money+'').split(options.decimal);var numbers=decimalParts[0].split('').reverse();var invertedFormattedValue=[];if(decimalParts.length>1){invertedFormattedValue.unshift(options.decimal);var pennies=decimalParts[1];if(pennies.length==1){pennies+='0';} 1516pennies=pennies.substring(0,2);invertedFormattedValue.unshift(pennies+'');} 1517var k=0;for(var i=0;i<numbers.length;i++){k++;if(k==3&&i<numbers.length-1){k=0;invertedFormattedValue.push(numbers[i]);invertedFormattedValue.push(options.thousandsSeparator);}else{invertedFormattedValue.push(numbers[i]);}} 1518invertedFormattedValue.push(options.currencySign);return invertedFormattedValue.reverse().join('');},integer:function(value,options){if(value===''&&options.number_allow_blank){return'';} 1519value=(''+value).replace(/,/g,'');if(isNaN(Number(value))){return'0';} 1520var num=''+Math.round(Number(value));if(options.commaSeparateNumbers){num=num.replace(/\B(?=(\d{3})+(?!\d))/g,",");} 1521return num;},decimal:function(value,options){var commas=false;if((''+value).indexOf(',')>-1){commas=true;} 1522value=(''+value).replace(/,/g,'');var num=Number(value);if(value===''&&options.number_allow_blank){return'';} 1523if(isNaN(Number(value))){if(options.number_allow_blank){return'';} 1524return'0';} 1525var decimalLength=options.decimalLength;if(!decimalLength){decimalLength=10;} 1526if(window.math){var num;if(decimalLength||decimalLength===0){num=math.round(value,decimalLength);}else{num=math.number(value);} 1527if(options.commaSeparateNumbers||commas){var parts=num.toString().split('.');parts[0]=parts[0].replace(/\B(?=(\d{3})+(?!\d))/g,",");num=parts.join('.');} 1528return num;}else{var num=value;if(isNaN(num)){num='0';}else{num=''+parseFloat(value).toFixed(decimalLength);} 1529var parts=num.split('.');if(options.commaSeparateNumbers||commas){parts[0]=parts[0].replace(/\B(?=(\d{3})+(?!\d))/g,",");} 1530return parts.join('.');}},phone:function(value){if(!value){return'';} 1531var parts=value.match(/([\d]{0,5})([\d]{3})([\d]{3})([\d]{4})$/);if(!parts||!parts.length){return value;} 1532var phone=parts[1]?'+'+parts[1]+' ':'';phone+='('+parts[2]+') '+parts[3]+'-'+parts[4];return phone;},timecode:function(value){if(!value){return'00:00:00';} 1533var seconds=value%60;value=value-seconds;var minutes=Math.round((value%3600)/ 60);value=value-(minutes*60);var hours=value / 3600;seconds=''+seconds;if(seconds.length<2){seconds='0'+seconds;} 1534minutes=''+minutes;if(minutes.length<2){minutes='0'+minutes;} 1535hours=''+hours;if(hours.length<2){hours='0'+hours;} 1536return hours+':'+minutes+':'+seconds;},arrayToText:function(value){if(!jQuery(value)){return value;} 1537if(typeof(value)=='string'){return value;} 1538if(jQuery.isArray(value)&&value.length){return value.join('\n');} 1539return'';},arrayAsString:function(value){if(Array.isArray(value)){return value.join(', ');} 1540return value;},toUpperCase:function(value){if(typeof(value)==='string'){return value.toUpperCase();} 1541return'';},toLowerCase:function(value){if(typeof(value)==='string'){return value.toLowerCase();} 1542return'';},text:function(value){return''+value;}}; 1543Eco.Util.Formatting.getDisplayValue=function(value,options){var localValues=options.fieldDisplayValues;if(localValues){if(localValues['data']&&localValues['sort']){var newFormValues={};jQuery.each(localValues['data'],function(r,valueData){newFormValues[valueData['key']]=valueData['value'];});localValues=newFormValues;} 1544if(localValues[value]){return localValues[value];}} 1545var formValues=options.item_form_display_values;if(formValues){if(formValues['data']&&formValues['sort']){var newFormValues={};jQuery.each(formValues['data'],function(r,valueData){newFormValues[valueData['key']]=valueData['value'];});formValues=newFormValues;} 1546if(formValues[value]){return formValues[value];}} 1547return value;}; 1548if(!Eco.Traits){Eco.Traits={};} 1549Eco.Traits.EventSystem={_eventStack:{},bindEvent:function(eventName,callback){if(!eventName||!callback){console.warn("You must supply an eventName and a callback function");return false;} 1550if(typeof(callback)!='function'){console.warn("This callback is not a function",callback);return false;} 1551eventName=eventName.toLowerCase();if(!this._eventStack.hasOwnProperty(eventName)){this._eventStack[eventName]=[];} 1552if(this._eventStack[eventName].indexOf(callback)==-1){this._eventStack[eventName].push(callback);}},unbindEvent:function(eventName,callback){if(!eventName||!callback){console.warn("You must supply an eventName and a callback function");return false;} 1553if(typeof(callback)!='function'){console.warn("This callback is not a function",callback);return false;} 1554eventName=eventName.toLowerCase();if(!this._eventStack.hasOwnProperty(eventName)){var self=this;jQuery.each(this._eventStack[eventName],function(n,functionInstance){if(functionInstance==callback){delete self._eventStack[eventName][n];return false;}});}},triggerEvent:function(eventName,args){if(!eventName){return false;} 1555eventName=eventName.toLowerCase();var self=this;if(this._eventStack.hasOwnProperty(eventName)&&this._eventStack[eventName].length){jQuery.each(this._eventStack[eventName],function(n,functionInstance){if(typeof(functionInstance)=='function'){functionInstance.apply(self,args);}});} 1556return true;},getCallbacksForEvent:function(eventName){if(!eventName){return false;} 1557eventName=eventName.toLowerCase();if(this._eventStack.hasOwnProperty(eventName)){return this._eventStack[eventName]} 1558return false;},unbindAllEvents:function(eventName){if(!eventName){return false;} 1559eventName=eventName.toLowerCase();delete this._eventStack[eventName];}}; 1560Eco.OrganismController=(function(){var OrganismController=Eco.BaseClass.extend({_initTimeWarningThreshold:250,_isScanning:0,_scannerInstances:new Set(),_fullScanDone:false,_organisms:[],_scanCompleteQueue:[],_jqel_purgatory:null,_scanCompleteTimeout:null,__c
1560onstruct:function(){},getScanProgress(){if(!this.isScanning()){return 100;} 1561let total=0;let remaining=0;for(const scanner of this._scannerInstances){total+=scanner.getTotal();remaining+=scanner.getRemaining();} 1562console.log(`Total: ${total} :: Remaining: ${remaining}`);if(!remaining){if(!total){return 0;}else{return 100;}} 1563const diff=total-remaining;const progress=Math.round((diff / total)*100);return progress;},create:function(organismClassName,jqel,data){if(!(typeof(organismClassName)==='string')){console.log(organismClassName);throw'Unable to create organism from a non-string class name ^^^. We have to know the class name.';} 1564if(!(jqel instanceof jQuery)){if(jqel instanceof Object&&typeof(data)==='undefined'){data=jqel;} 1565if(typeof(jqel)==='string'&&jqel!==''){jqel=jQuery(jqel);}else{jqel=jQuery('<div></div>');} 1566if(!(this._jqel_purgatory instanceof jQuery)){this._jqel_purgatory=jQuery('<div id="EcoOrganismPurgatory" style="height: 0; overflow: hidden; position: fixed; top: -1px;"></div>');this._jqel_purgatory.appendTo('body');} 1567this._jqel_purgatory.append(jqel);} 1568var selector=this._convertClassNameToOrganismSelector(organismClassName);jqel.addClass(selector);if(data instanceof Object){jQuery.each(data,function(key,value){jqel.data(key,value);});} 1569return this.scanSync(jqel);},scanSync:function(context){this._isScanning++;context=jQuery(context);if(context.size()!==1){throw`Scan sync called with ${context.size()} elements. You must provide exactly one element to the Eco.OrganismController.scanSync() method. If you need to scan multiple elements, create a loop in your code and call this method with the elements individually.`;} 1570const contextElement=context.get(0);let organisms=[];try{const os=new EcoOrganismScanner(contextElement);organisms=os.runSync();}catch(e){this._isScanning--;throw e;} 1571this._isScanning--;this._processScanCompleteQueue();return organisms;},scan:async function(context){this._isScanning++;context=jQuery(context);if(context.size()!==1){throw`Scan called with ${context.size()} elements. You must provide exactly one element to the Eco.OrganismController.scan() method. If you need to scan multiple elements, create a loop in your code and call this method with the elements individually.`;} 1572const contextElement=context.get(0);let scanner;let scanPromise;try{scanner=new EcoOrganismScanner(contextElement);this._scannerInstances.add(scanner);scanPromise=scanner.run();}catch(e){this._isScanning--;throw e;} 1573return scanPromise.then(organisms=>{this._scannerInstances.delete(scanner);this._isScanning--;this._processScanCompleteQueue();return organisms;});},_processScanCompleteQueue:function(){if(this._isScanning>0){return;} 1574while(this._scanCompleteQueue.length){var item=this._scanCompleteQueue.shift();item.fn();} 1575Eco.OrganismDataStore.processUpdateDisplayValueQueue();Eco.OrganismDataStore.enableUpdateDisplayValueTimer();},isFullScanDone:function(){return this._fullScanDone;},setFullScanDone:function(done){this._fullScanDone=done;},isScanning:function(){return this._isScanning>0;},initialize:function(jqel_organism){const start=Date.now();if(!(jqel_organism instanceof jQuery)){console.log(jqel_organism);throw Error('Invalid jQuery object provided to Eco.Organism.initialize() ^^^');} 1576const name=this._getName(jqel_organism);if(!name){console.log(jqel_organism);throw Error('The element provided ^^^ to Eco.Organism.initialize() is not an identifiable organism container. Be sure to put an organism_* class on that element.');} 1577const className='Eco.'+this._convertNameToClassName(name);const organismClass=className.split('.').reduce(function(obj,value,index,sourceArray){const result=obj[value];if((result instanceof Object)||(index===sourceArray.length-1)){return result;} 1578return{};},window);if(typeof(organismClass)==='undefined'||!(organismClass instanceof Object)){console.log(jqel_organism);console.warn('Invalid Organism class: '+className+'. Derived from: '+name+' on this ^^^ element. Verify that the file containing the '+className+' class is loading.');return{organism:null,className,time:0};}else{if(jQuery.isEmptyObject(organismClass)){console.log(jqel_organism);throw Error('Could not initialize new organism '+className+' because it is an empty object. Make sure you are using the eco organism extending system properly. Also verify that all the dependencies for your organism are loaded.');} 1579const startDate=new Date();organismClass.prototype.__cssSelector=name;organismClass.prototype.__dataName=name;organismClass.prototype.__jsName=className;const organism=new organismClass(jqel_organism);if(organism instanceof Eco.OrganismDataStore){if(organism.initializeOwnEntityName()!==true){return{organism:false,className,time:0};}} 1580const endDate=new Date();const totalTime=endDate-startDate;if(totalTime>this._initTimeWarningThreshold){console.log(organism);console.warn('Organism initialization threshold exceeded for ^^^ ('+className+'). Time: '+(totalTime / 1000)+' seconds');} 1581this._organisms.push(organism);jqel_organism.trigger('eco_initialized_organism',organism);return{organism,className,time:Date.now()-start};}},getAllOrganisms:function(){return this._organisms;},_convertNameToClassName:function(name){return Eco.Util.toDotCase(name,{splitOnUpperCase:false});},_convertClassNameToOrganismSelector:function(className){return'organism_'+className.replace(/\.([A-Z])/g,function(match,p1){return'-'+p1.toLowerCase();}).replace('Eco-organism-','');},onScanComplete:function(name,callback,priority){if(!name){throw Error('You MUST provide a name when using the Eco.OrganismController.onScanComplete(name, callback, priority) method.');} 1582if(!callback){throw Error('You MUST provide a callback when using the Eco.OrganismController.onScanComplete(name, callback, priority) method.');} 1583if(priority===false){if(this._scanCompleteQueue.length){priority=this._scanCompleteQueue[this._scanCompleteQueue.length-1]+1;}else{priority=-1;}} 1584if(!priority){throw Error('You MUST provide a priority when using the Eco.OrganismController.onScanComplete(name, callback, priority) method. You can provide boolean false to just use the next lowest priority (which is actually a higher number than last used priority).');} 1585if(priority>0){priority=-priority;} 1586this._scanCompleteQueue.push({name:name,priority:priority,fn:callback});this._scanCompleteQueue.sort(function(a,b){return b.priority-a.priority;});if(this._isScanning===0){clearTimeout(this._scanCompleteTimeout);var self=this;this._scanCompleteTimeout=setTimeout(function(){self._processScanCompleteQueue();},50);}},_getName:function(jqel_organism){var classString=jqel_organism.attr('class');var matches=classString.match(/organism_[\d\w-_]*/);if(!matches.length){return'';} 1587return matches[0];},getOrganismByUniqueInternalId:function(id){for(var organismKey in this._organisms){if(!this._organisms.hasOwnProperty(organismKey)){continue;} 1588var organism=this._organisms[organismKey];if(id==organism.getUniqueInternalId()){return organism;}} 1589return false;}});return new OrganismController();})();class EcoOrganismScanner{static#batchThreshold=2500;#p;#resolve;#reject;#contextElement;#elements=new Set();#organisms=[];#dataStores=[];#total=0;#organismStatMap=new Map();constructor(contextElement){this.#p=new Promise((resolve,reject)=>{this.#resolve=resolve;this.#reject=reject;});this.#contextElement=contextElement;this.#elements=this.#selectForScan();this.#total=this.#elements.size;} 1590run(){this.#queueBatch();return this.#p;} 1591runSync(){return this.#runBatch(true);} 1592getTotal(){return this.#total;} 1593getRemaining(){return this.#elements.size;}#queueBatch(){setTimeout(()=>{this.#runBatch();},1);}#runBatch(runSync=false){const batchStart=Date.now();const max=batchStart+EcoOrganismScanner.#batchThreshold;let initCount=0;for(const el of this.#elements){if(!runSync&&Date.now()>=max){this.#queueBatch();return;} 1594const{organism,className,time}=Eco.OrganismController.initialize(jQuery(el));if(organism===false){el.remove();}else if(organism===null){el.classList.add('mod_organismInitialized');}else{if(!this.#organismStatMap.has(className)){this.#organismStatMap.set(className,{count:0,time:0});} 1595const organismStat=this.#organismStatMap.get(className);this.#organismStatMap.set(className,{count:organismStat.count+1,time:organismStat.time+time});this.#organisms.push(organism);if(organism instanceof Eco.OrganismDataStore&&organism.isTopLevelDataStore()){this.#dataStores.push(organism);}} 1596initCount++;this.#elements.delete(el);} 1597this.#elements=this.#selectForScan();this.#total+=this.#elements.size;if(this.#elements.size){if(runSync){return this.#runBatch(runSync);}else{this.#queueBatch();return;}} 1598this.#locateDataStores();this.#initDataStoreValuesAndDisplay();this.#flagDisabledOrganisms();this.#flagReadOnlyOrganisms();for(const value of this.#organismStatMap.values()){value.average=value.time / value.count;} 1599if(runSync){return this.#organisms;}else{this.#resolve(this.#organisms);}}#locateDataStores(){const jqel=jQuery(this.#contextElement);const organism=jqel.data('organism');if(!organism||!(organism instanceof Eco.OrganismDataStore)){return;} 1600var organismDataStore=jqel.ecoData('ecoOrganismDataStore');var hasDataStoreAlready=false;if(organismDataStore){for(var i=0;i<this.#dataStores.length;i++){if(organismDataStore===this.#dataStores[i]){hasDataStoreAlready=true;break;}} 1601if(!hasDataStoreAlready){this.#dataStores.unshift(organismDataStore);}}}#initDataStoreValuesAndDisplay(){for(const organismDataStore of this.#dataStores){var emptyObjectForValues={};organismDataStore.initializeValue(emptyObjectForValues,true);organismDataStore.initializeDisplay();}}#flagDisabledOrganisms(){var jqel_disabled=jQuery(this.#contextElement).find('.mod_disabled[class*=organism_]').addBack('.mod_disabled[class*=organism_]');jqel_disabled.each(function(){var jqel=jQuery(this);var organism=jqel.data('organism');if(organism&&organism.disable){organism.disable();}});}#flagReadOnlyOrganisms(){var jqel_readOnly=jQuery(this.#contextElement).find('.mod_readOnly[class*=organism_]').addBack('.mod_readOnly[class*=organism_]');jqel_readOnly.each(function(){var jqel=jQuery(this);var organism=jqel.data('organism');if(organism&&organism.setReadOnly){organism.setReadOnly(true);}});}#selectForScan(){const selector=`[class*='organism_']:not(.mod_organismInitialized)`;let elements=this.#contextElement?.querySelectorAll?this.#contextElement.querySelectorAll(selector):false;if(elements){elements=[...elements];}else{elements=[];} 1602if(this.#contextElement?.matches?this.#contextElement.matches(selector):false){elements.unshift(this.#contextElement);} 1603return new Set(elements);}} 1604Eco.Traits=Eco.Util.getNamespace('Eco.Traits');Eco.Traits.DataStore={_ownEntityName:null,_values:null,_initializeOwnEntityName:function(){console.log(this);throw Error('_initializeOwnEntityName() is not yet implemented in your class ^^^.');},_setOwnEntityName:function(name){this._ownEntityName=name;this._addChildEntityName(name);},_setValue:function(value,name){if(!name){name=this.getOwnEntityName();} 1605if(!this._values){this._values={};} 1606if(name){Eco.Util.setNestedKey(this._values,name,value);}},_removeValue:function(name){if(this.hasValueByName(name)){this._childEntityNames.splice(this._childEntityNames.indexOf(name),1);Eco.Util.removeNestedKey(this._values,name);console.warn('UNTESTED removed value '+name,this._childEntityNames,this._values);}},removeEntityByName:function(name){var dataStore=this.getParentDataStore();var locationIndex=dataStore._childEntityNames.indexOf(name);if(locationIndex>-1){dataStore._childEntityNames.splice(locationIndex,1);if(dataStore._values&&dataStore._values.hasOwnProperty(name)){delete dataStore._values[name];Eco.Util.removeNestedKey(dataStore._values,name);}}},_getValue:function(name){if(!name){name=this.getOwnEntityName();} 1607if(!this._values){this._values={};} 1608return Eco.Util.getNestedKey(this._values,name,undefined);},_getChildEntityNames:function(){return this._childEntityNames;},_getAllValues:function(){return Basix.extend(Basix.EXTEND_RECURSIVE,{},this._values);},_getAllValuesByReference:function(){return this._values;},_getAllChangedValues:function(){var values={};for(var i=0;i<this._changedEntityNames.length;i++){var fieldName=this._changedEntityNames[i];if(this._values.hasOwnProperty(fieldName)){var value=this._values[fieldName];values[fieldName]=value;}} 1609return Basix.extend(Basix.EXTEND_RECURSIVE,{},values);},_isSameValue:function(value,name){if(!name){name=this.getOwnEntityName();} 1610var a=JSON.stringify(value);var b=JSON.stringify(this.getValue(name));return(a==b);},getOwnEntityName:function(){return this._ownEntityName;},setValue:function(value,name){this._setValue(value,name);},getValue:function(name){return this._getValue(name);},hasValueByName:function(name){return(this._childEntityNames.indexOf(name)>=0);},initializeOwnEntityName:function(){var name=""+this._initializeOwnEntityName();var oName=name;
1610if(this.checkTopLevelEntityExistsByName(name)){name=this.onDuplicateEntityName(name);} 1611if(name===false){console.warn('ENTITY EXISTS FOR NAME: '+oName);return false;} 1612this._setOwnEntityName(name);return true;},onDuplicateEntityName:function(){return false;},getChildEntityNames:function(){return this._getChildEntityNames();},getAllValues:function(){return this._getAllValues();},checkTopLevelEntityExistsByName:function(name){var dataStore=this.getTopLevelParentDataStore();var childEntityNames=dataStore.getChildEntityNames();if(childEntityNames!==null&&typeof(name)==='string'){if(this.jqel.ecoData('removeIfDuplicate')){return childEntityNames.indexOf(name)>-1;}} 1613return false;}}; 1614Eco.Organism=Eco.BaseClass.extend({__cssSelector:null,__dataName:null,__jsName:null,__renderDelay:0,jqel:null,_uniqueInternalId:false,__construct:function(jqel_organism){if(!(jqel_organism instanceof jQuery)||!jqel_organism.length){console.log(this,jqel_organism);throw Error('Invalid jQuery collection provided to Eco.Organism.__construct() ^^^');} 1615this.jqel=jqel_organism;this.jqel.each((i,el)=>{el.classList.add('mod_organismInitialized');});this.jqel.data('organism',this);this._uniqueInternalId=Eco.Util.getRandomString(12);this.jqel.attr('data-unique_internal_id',this._uniqueInternalId);this.jqel.data(this.__dataName,this);},__destroy:function(){this.__destroyChildren();this.jqel.removeClass('mod_organismInitialized '+this.__cssSelector);this.jqel.data('organism',undefined);this.jqel.data(this.__dataName,undefined);},__destroyChildren:function(){var children=this.getChildOrganisms();for(var i=children.length-1;i>=0;i--){if(children.length>i&&children[i]&&children[i].destroy){children[i].destroy();}}},getUniqueInternalId:function(){return this._uniqueInternalId;},getChildOrganisms:function(jqel_parent){if(!jqel_parent){jqel_parent=this.jqel;} 1616var jqel_organisms=jqel_parent.find('[class*=organism_]');var organisms=[];jqel_organisms.each(function(index,element){const organism=jQuery(element).data('organism');if(!(organism instanceof Eco.Organism)){console.warn('Uninitialized child organism detected. Unable to obtain an organism instance from this element.',element);return;} 1617organisms.push(organism);});return organisms;},getImmediateChildOrganisms:function(jqel_parent){if(!jqel_parent){jqel_parent=this.jqel;} 1618var jqel_exclusionList=jqel_parent.find('[class*=organism_] [class*=organism_]');var jqel_organisms=jqel_parent.find('[class*=organism_]').not(jqel_exclusionList);var organisms=[];jqel_organisms.each(function(index,element){const organism=jQuery(element).data('organism');if(!(organism instanceof Eco.Organism)){console.warn('Uninitialized immediate child organism detected. Unable to obtain an organism instance from this element.',element);return;} 1619organisms.push(organism);});return organisms;},getImmediateChildOrganismDataStores:function(jqel_parent){if(!jqel_parent){jqel_parent=this.jqel;} 1620var jqel_exclusionList=jqel_parent.find('.molecule_dataStore .molecule_dataStore');var jqel_allImmediateChildOrganisms=jqel_parent.find('.molecule_dataStore').not(jqel_exclusionList);var filteredImmediateChildOrganisms=[];var self=this;jQuery.each(jqel_allImmediateChildOrganisms,function(){var jqel=jQuery(this);var organism=jqel.data('organism');if(typeof(organism)==='undefined'){console.log(self,jqel);console.warn('Eco.Organism.Form.getImmediateChildOrganismDataStores() There is no organism instance available on this ^^^ element which has the molecule_dataStore class on it. molecule_dataStore is VERY special and should NEVER EVER EVER be used except by the organism data store system.');} 1621if(organism instanceof Eco.OrganismDataStore){filteredImmediateChildOrganisms.push(organism);}});return filteredImmediateChildOrganisms;},getChildOrganismByName:function(name){if(!name){console.log(this,this.jqel);throw Error('Eco.Organism.Form.getChildOrganismByName() received an invalid name.');} 1622var jqel_target=this.jqel.find('[name="'+name+'"]');if(!jqel_target.size()){jqel_target=this.jqel.find('[data-name="'+name+'"]');} 1623if(!jqel_target.size()){return false;} 1624var childOrganism=jqel_target.ecoData('organism');if(!childOrganism||childOrganism.getOwnEntityName()!==name){return false;} 1625return childOrganism;},destroy:function(){var result=this.jqel.trigger('eco_destroy_organism',[this]);if(result!==false){this.__destroy();}},_missingElementError:function(className,elementPurpose,hintMessage){console.log(this,this.jqel);throw Error('Missing '+elementPurpose+' element in the organism ^^^ for '+className+'. '+hintMessage);},_canShowWarnings:function(){if(this.jqel instanceof jQuery&&this.jqel.data('ecoSuppressWarnings')===true){return false;} 1626return true;},_warn:function(message,data){if(this._canShowWarnings()){console.log(this,this.jqel);console.warn(message);if(typeof data!=='undefined'){console.warn(data);} 1627console.log('- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -');}},_error:function(message,data){console.log(this,this.jqel);if(typeof data!=='undefined'){console.warn(data);} 1628throw Error(message);},_organismMetaData:null,_parentDataStore:null,_initializeMetaData:function(){if(this._organismMetaData===null){this._organismMetaData={};}},getOwnMetaData:function(propertyName){if(this._organismMetaData instanceof Object&&this._organismMetaData.hasOwnProperty(propertyName)){return this._organismMetaData[propertyName];} 1629return null;},_topLevel_parentGetMetaData:function(propertyName){return this.getOwnMetaData(propertyName);},parentGetMetaData:function(propertyName){var dataStore=this._parentDataStore;if(!dataStore){dataStore=this.jqel.ecoData('ecoOrganismDataStore');} 1630if(!dataStore){return null;} 1631return dataStore.getMetaData(propertyName);},_topLevel_getMetaData:function(propertyName){return this.getOwnMetaData(propertyName);},getMetaData:function(propertyName){var value=this.getOwnMetaData(propertyName);if(value===null){value=this.parentGetMetaData(propertyName);} 1632return value;},removeOwnMetaData:function(propertyName){if(this._organismMetaData instanceof Object&&this._organismMetaData.hasOwnProperty(propertyName)){delete this._organismMetaData[propertyName];}},setOwnMetaData:function(propertyName,value){this._initializeMetaData();this._organismMetaData[propertyName]=value;},enable:function(){this.jqel.data('disabled',false);this.jqel.removeClass('mod_disabled');this.jqel.find('select,input,textarea,button').not(this.jqel.find('.mod_disabled select, .mod_disabled input, .mod_disabled textarea')).prop('disabled',false);},disable:function(){this.jqel.data('disabled',true);this.jqel.addClass('mod_disabled');this.jqel.find('select,input,textarea,button').prop('disabled',true);},isDisabled:function(){var disabled=this.jqel.ecoData('disabled');
1632if(disabled===true){return true;}else{return false;}},setReadOnly:function(onOff){if(!onOff){onOff=false;} 1633this.jqel.data('readOnly',onOff);if(onOff){this.jqel.addClass('mod_readOnly');this.jqel.find('select,input,textarea').attr('readonly',true);}else{this.jqel.removeClass('mod_readOnly');this.jqel.find('select,input,textarea').not(this.jqel.find('.mod_readOnly select, .mod_readOnly input, .mod_readOnly textarea')).attr('readonly',false);}},isReadOnly:function(){var readOnly=this.jqel.ecoData('readOnly');if(readOnly===true){return true;}else{return false;}},addModifier:function(mod){this.jqel.addClass(mod);return this;},removeModifier:function(mod){this.jqel.removeClass(mod);return this;},toggleModifier:function(mod){this.jqel.toggleClass(mod);return this;},hasModifier:function(mod){return this.jqel.hasClass(mod);},hasFocus:function(){return this.jqel[0].contains(document.activeElement);}});Eco.Organism.resizeWindow=function(jqel_window){if(!Eco.Organism.resizeTimer){if(!jqel_window){jqel_window=jQuery(window);} 1634Eco.Organism.resizeTimer=setTimeout(function(){Eco.Organism.resizeTimer=false;jqel_window.trigger('resize');},100);}}; 1635Eco.OrganismError=Eco.BaseClass.extend({_organismType:Eco.Organism,_code:null,_message:null,_organism:null,_category:null,__construct:function(code,message,organism,category){if(!(organism instanceof this._organismType)){console.log(this);throw Error('Eco.Organism.__construct(): The organism provided must be an instance of Eco.Organism. Triggered by: ^^^');} 1636code=parseInt(code,10);if(isNaN(code)||code<1){console.log(organism);throw Error('Eco.Organism.__construct(): The error code must be a valid number greater than 0. Triggered by: ^^^');} 1637if(!message||typeof(message)!='string'){console.log(organism);throw Error('Eco.Organism.__construct(): The error message must be a non-empty string. Triggered by: ^^^');} 1638if(typeof(category)!='string'){console.log(organism);throw Error('Eco.Organism.__construct(): The category must be a string. Triggered by: ^^^');} 1639this._code=code;this._message=message;this._organism=organism;this._category=category;},getCode:function(){return this._code;},getMessage:function(){return this._message;},getOrganism:function(){return this._organism;},getCategory:function(){return this._category;}}); 1640Eco.OrganismValue=Eco.Value.extend({}); 1641window._VALIDATION_ERRORS_DISABLED_DEVELOPER_MESSAGE_COUNT=100;window._VALIDATION_ERRORS_SKIPPED_DEVELOPER_MESSAGE_COUNT=100;Eco.OrganismDataStore=(function(){let OrganismDataStore={_parentDataStore:null,_isTopLevelDataStore:false,_isInitialValueSet:false,_initialCleanValue:null,_initialRawValue:null,_previousCleanValue:null,_previousRawValue:null,_changedEntityNames:null,_cleaners:null,_validators:null,_formatters:null,_cleaningEnabled:true,_validationEnabled:true,_formattingEnabled:true,_errors:null,_isValidated:false,_validationErrorsEnabled:false,_slowValidationEnabled:true,_processingErrorsDuringValidation:false,_hasInitializedValue:false,_hasInitializedDisplay:false,_hasInitializedDom:false,_maskData:false,_valueUpdateCallbacks:false,_isPristine:true,_allowChangeEventTrigger:false,_validationErrorsWarningMessageEnabled:false,_validationSkippedWarningMessageEnabled:false,_valueChangeNeedsBroadcast:false,VALIDATION_ERRORS_DISABLED_DEVELOPER_MESSAGE:'Validation errors are currently disabled (but the validation process will still run). This means the onValueError() methods will not be called at this time (which means error messages will not be displayed). Use organism.enableValidationErrors() to re-enable that call.',VALIDATION_ERRORS_SKIPPED_DEVELOPER_MESSAGE:'Validation is currently skipped due to the meta-data on the data store instance. Use organism.setOwnMetaData("skipValidation", false) to re-enable it.',__construct:function(jqel_organism){this._changedEntityNames=[];this._childEntityNames=[];this._errors=[];this._cleaners=[];this._validators=[];this._formatters=[];this._parent(jqel_organism);this._findParentDataStore();this._initializeCleaners();this._initializeValidators();this._initializeFormatters();this.jqel.data('ecoOrganismDataStore',this);this.jqel.addClass('molecule_dataStore');},_topLevel_parentDisableCleaning:function(){this._cleaningEnabled=false;},parentDisableCleaning:function(){if(this._isTopLevelDataStore){this._topLevel_parentDisableCleaning();return;} 1642this._parentDataStore.disableCleaning();},disableCleaning:function(){this.parentDisableCleaning();},_topLevel_parentEnableCleaning:function(){this._cleaningEnabled=true;},parentEnableCleaning:function(){if(this._isTopLevelDataStore){this._topLevel_parentEnableCleaning();return;} 1643this._parentDataStore.enableCleaning();},enableCleaning:function(){this.parentEnableCleaning();},_topLevel_parentIsCleaningEnabled:function(){return this._cleaningEnabled;},parentIsCleaningEnabled:function(){return this._topLevel_parentIsCleaningEnabled();},isCleaningEnabled:function(){return this.parentIsCleaningEnabled();}
1643,_topLevel_parentDisableValidation:function(){this._validationEnabled=false;},parentDisableValidation:function(){if(this._isTopLevelDataStore){this._topLevel_parentDisableValidation();return;} 1644this._parentDataStore.disableValidation();},disableValidation:function(){this.parentDisableValidation();},_topLevel_parentEnableValidation:function(){this._validationEnabled=true;},parentEnableValidation:function(){if(this._isTopLevelDataStore){this._topLevel_parentEnableValidation();return;} 1645this._parentDataStore.enableValidation();},enableValidation:function(){this.parentEnableValidation();},_topLevel_parentIsValidationEnabled:function(){return this._validationEnabled;},parentIsValidationEnabled:function(){if(this._isTopLevelDataStore){return this._topLevel_parentIsValidationEnabled();} 1646return this._parentDataStore.isValidationEnabled();},isValidationEnabled:function(){return this.parentIsValidationEnabled();},_topLevel_parentDisableFormatting:function(){this._formattingEnabled=false;},parentDisableFormatting:function(){if(this._isTopLevelDataStore){this._topLevel_parentDisableFormatting();return;} 1647this._parentDataStore.disableFormatting();},disableFormatting:function(){this.parentDisableFormatting();},_topLevel_parentEnableFormatting:function(){this._formattingEnabled=true;},parentEnableFormatting:function(){if(this._isTopLevelDataStore){this._topLevel_parentEnableFormatting();return;} 1648this._parentDataStore.enableFormatting();},enableFormatting:function(){this.parentEnableFormatting();},_topLevel_parentIsFormattingEnabled:function(){return this._formattingEnabled;},parentIsFormattingEnabled:function(){if(this._isTopLevelDataStore){return this._topLevel_parentIsFormattingEnabled();} 1649return this._parentDataStore.isFormattingEnabled();},isFormattingEnabled:function(){return this._formattingEnabled;},_topLevel_parentEnableValidationErrors:function(){this._validationErrorsEnabled=true;},_topLevel_parentDisableValidationErrors:function(){this._validationErrorsEnabled=false;},_topLevel_parentDisableSlowValidation:function(){this._slowValidationEnabled=false;},_topLevel_parentEnableSlowValidation:function(){this._slowValidationEnabled=true;},_topLevel_parentIsSlowValidationEnabled:function(){return this._slowValidationEnabled;},parentEnableValidationErrors:function(){if(this._isTopLevelDataStore){this._topLevel_parentEnableValidationErrors();return;} 1650this._parentDataStore.enableValidationErrors();},enableValidationErrors:function(){this.parentEnableValidationErrors();},parentDisableValidationErrors:function(){if(this._isTopLevelDataStore){this._topLevel_parentDisableValidationErrors();return;} 1651this._parentDataStore.disableValidationErrors();},disableValidationErrors:function(){this.parentDisableValidationErrors();},parentDisableSlowValidation:function(){if(this._isTopLevelDataStore){this._topLevel_parentDisableSlowValidation();return;} 1652this._parentDataStore.disableSlowValidation();},disableSlowValidation:function(){this.parentDisableSlowValidation();},parentEnableSlowValidation:function(){if(this._isTopLevelDataStore){this._topLevel_parentEnableSlowValidation();return;} 1653this._parentDataStore.enableSlowValidation();},enableSlowValidation:function(){this.parentEnableSlowValidation();},parentIsSlowValidationEnabled:function(){if(this._isTopLevelDataStore){return this._topLevel_parentIsSlowValidationEnabled();} 1654return this._parentDataStore.isSlowValidationEnabled();},isSlowValidationEnabled:function(){return this.parentIsSlowValidationEnabled();},setDataMask:function(setting){this._maskData=setting===true;},isDataMask:function(){return this._maskData;},_topLevel_parentGetDataMask:function(){return this;},parentGetDataMask:function(){if(this._isTopLevelDataStore){return this._topLevel_parentGetDataMask();} 1655return this._parentDataStore.getDataMask();},getDataMask:function(){if(this.isDataMask()){return this;} 1656return this.parentGetDataMask();},getParentDataMask:function(){this.parentGetDataMask();},initializeValue:function(values,isRootNodeOfInitializationCall){if(this._hasInitializedValue!==true){const rawValue=this.readDomValue();const hasValue=typeof rawValue!=='undefined';const value=new Eco.OrganismValue(rawValue,this.cleanValue(rawValue));if(hasValue){Eco.Util.setNestedKey(values,this.getOwnEntityName(),value.getCleanValue());} 1657this._initializeValueForChildren(values);if(this.isTopLevelDataStore()){this._values=values;} 1658if(hasValue){this._setInitialValue(value);} 1659this._hasInitializedValue=true;}else if(isRootNodeOfInitializationCall===true){const targetMaskedDataStore=this.getDataMask();if(targetMaskedDataStore!==this){targetMaskedDataStore.initializeValue(values,true);}else{const value=this.getValue();if(jQuery.isPlainObject(value)){this._initializeValueForChildren(value);this.onNewChildDataStoresInitialized(value);}}}},reInitializeTopLevelDataStore:function(){const ds=this.getTopLevelDataStore();ds._hasInitializedValue=false;ds._hasInitializedDisplay=false;const newValues={};const flatValues=Eco.Util.convertNestedObjectToFlatObject(ds.getAllValues());for(const fieldName in flatValues){if(!flatValues.hasOwnProperty(fieldName)){continue;} 1660const field=ds.getChildOrganismByName(fieldName);if(!(field instanceof Eco.OrganismDataStore)||field.isTopLevelDataStore()){continue;} 1661Eco.Util.setNestedKey(newValues,fieldName,field.getValue());} 1662this.initializeValue(newValues,true);this.initializeDisplay();},onNewChildDataStoresInitialized:function(value){const organismValue=new Eco.OrganismValue(value,this.cleanValue(value));this.setValueFromInput(organismValue,this);},_setInitialValue:function(value){if(!this._isInitialValueSet&&this.getOwnEntityName()!==''){const rawValue=value.getRawValue();const cleanValue=value.getCleanValue();this._initialCleanValue=JSON.stringify(cleanValue);this._initialRawValue=JSON.stringify(rawValue);this._previousCleanValue=JSON.stringify(cleanValue);this._previousRawValue=JSON.stringify(rawValue);this._isInitialValueSet=true;}},_initializeValueForChildren:function(values){const children=this.getImmediateChildOrganismDataStores();for(const i in children){if(!children.hasOwnProperty(i)){continue;} 1663const child=children[i];child.initializeValue(values);}},initializeDisplay:function(){const children=this.getImmediateChildOrganismDataStores();for(const i in children){if(!children.hasOwnProperty(i)){continue;} 1664const child=children[i];child.initializeDisplay();}},_validate:function(){return[];},validate:function(){if(!this.isValidationEnabled()){console.log('Validation is currently disabled. Use organism.enableValidation() to re-enable it.',this);return null;} 1665if(this.getMetaData('skipValidation')===true){this.displayValidationSkippedWarningMessage();return null;}
1666if(this.isValidated()){if(this.areValidationErrorsEnabled()){this._processingErrorsDuringValidation=true;jQuery.each(this._errors,function(index,error){if(!(error instanceof Eco.OrganismDataStoreError)){console.log(error);console.error('Invalid error object ^^^ at index: '+index);return;} 1667const organism=error.getOrganism();organism.onValueError([error],organism.readValue(),organism);});this._processingErrorsDuringValidation=false;}else{this.displayValidationErrorsWarningMessage();} 1668if(this._errors.length){return this._errors;} 1669return null;} 1670const errors=this._validate();if(errors instanceof Array){this._errors=errors;}else{console.log(this);throw Error('The _validate() method in this ^^^ organism must return an array.');} 1671this._isValidated=true;if(this._errors.length){return this._errors;} 1672return null;},getErrors:function(){if(this.getMetaData('skipValidation')===true){return[];} 1673return this._errors;},_topLevel_parentResetErrorsForEntityByName:function(entityName){if(this._processingErrorsDuringValidation===true){return;} 1674for(let i=this._errors.length-1;i>=0;i--){if(this._errors[i].getOrganism().getOwnEntityName()===entityName){this._errors.splice(i,1);}}},parentResetErrorsForEntityByName:function(entityName){if(this._isTopLevelDataStore){this._topLevel_parentResetErrorsForEntityByName(entityName);return;} 1675this._parentDataStore.resetErrorsForEntityByName(entityName);},resetErrorsForEntityByName:function(entityName){this.parentResetErrorsForEntityByName(entityName);},_topLevel_parentResetValidation:function(){this._isValidated=false;},parentResetValidation:function(){if(this._isTopLevelDataStore){this._topLevel_parentResetValidation();return;} 1676this._parentDataStore.resetValidation();},resetValidation:function(){this.parentResetValidation();},resetOwnValidation:function(){this._isValidated=false;},_topLevel_parentResetErrors:function(){this._errors=[];},parentResetErrors:function(){if(this._isTopLevelDataStore){this._topLevel_parentResetErrors();return;} 1677this._parentDataStore.resetErrors();},resetErrors:function(){this.parentResetErrors();},resetOwnErrors:function(){if(this.isTopLevelDataStore()){this._errors=[];}else{this.resetErrorsForEntityByName(this.getOwnEntityName());}},isValidated:function(){return this._isValidated;},markAsValidated:function(){this._isValidated=true;},_initializeFormatters:function(){const self=this;this._formatters=[];const formatterNames=this.jqel.data('formatters');if(formatterNames instanceof Array){jQuery.each(formatterNames,function(index,formatterName){if(Eco.Util.Formatting[formatterName]instanceof Function){self._formatters.push(Eco.Util.Formatting[formatterName]);}else{console.log(self.jqel);throw Error('Invalid formatter name: \''+formatterName+'\' on that ^^^ element.');}});}},_initializeCleaners:function(){const self=this;this._cleaners=[];const cleanerNames=this.jqel.data('cleaners');if(cleanerNames instanceof Array){jQuery.each(cleanerNames,function(index,cleanerName){if(Eco.Util.Cleaning[cleanerName]instanceof Function){self._cleaners.push(Eco.Util.Cleaning[cleanerName]);}else{console.log(self.jqel);throw Error('Invalid cleaner name: \''+cleanerName+'\' on that ^^^ element.');}});}},_initializeValidators:function(){const self=this;this._validators=[];const validatorNames=this.jqel.data('validators');if(typeof(validatorNames)==='string'&&validatorNames!==''){console.log(this.jqel);throw Error('Array of validators expected. You passed a string of "'+validatorNames+'" for the validators on this ^^^ this field.');} 1678if(validatorNames instanceof Array){jQuery.each(validatorNames,function(index,validator){let validatorName='';let validatorOptions={};let validatorMessage=false;let validatorMessages={};if(validator instanceof Object){validatorName=validator.name;validatorMessage=validator.message;validatorMessages=validator.messages;validatorOptions=validator.options;}else if(typeof(validator)=='string'){validatorName=validator;}else{console.log(self.jqel);throw Error('Invalid validator defined for this ^^^ organism.');} 1679if(Eco.Util.Validation[validatorName]instanceof Function){if(!(validatorMessages instanceof Object)){validatorMessages={};} 1680if(!validatorMessage){validatorMessage=false;} 1681const options={name:validatorName,message:validatorMessage,messages:validatorMessages,options:jQuery.extend({organism:self},validatorOptions),callback:Eco.Util.Validation[validatorName],isSlow:(Eco.Util.Validation.SlowValidationMethods.indexOf(validatorName)>-1)};if(validatorName){self._validators.push(options);}}else{console.log(self.jqel);throw Error('Invalid validator name: \''+validatorName+'\' of type '+typeof(validatorName)+' on that ^^^ element.');}});}},_topLevel_parentGetTopLevelDataStore:function(){return this;},parentGetTopLevelDataStore:function(){if(this._isTopLevelDataStore){return this._topLevel_parentGetTopLevelDataStore();} 1682return this._parentDataStore.getTopLevelDataStore();},getTopLevelDataStore:function(){return this.parentGetTopLevelDataStore();},_childEntityNames:null,_findParentDataStore:function(){const dataStore=this.jqel.ecoData('ecoOrganismDataStore');
1682if(typeof(dataStore)=='object'){this._parentDataStore=dataStore;}else{this._parentDataStore=this;this._isTopLevelDataStore=true;this._maskData=true;this.jqel.addClass('molecule_topLevelDataStore');this.getMetaData=this._topLevel_getMetaData;this.parentGetMetaData=this._topLevel_parentGetMetaData;}},_topLevel_parentAddChildEntityName:function(name){if(name!==this.getOwnEntityName()){if(this._childEntityNames.indexOf(name)<0){this._childEntityNames.push(name);}}},_parentAddChildEntityName:function(name){if(this._isTopLevelDataStore){this._topLevel_parentAddChildEntityName(name);return;} 1683this._parentDataStore._addChildEntityName(name);},_addChildEntityName:function(name){const isMe=name===this.getOwnEntityName();if(!isMe){if(this._childEntityNames.indexOf(name)<0){this._childEntityNames.push(name);} 1684if(!this.isDataMask()){this._parentAddChildEntityName(name);}}else{this._parentAddChildEntityName(name);}},_topLevel_parentAreValidationErrorsEnabled:function(){return this._validationErrorsEnabled;},parentAreValidationErrorsEnabled:function(){if(this._isTopLevelDataStore){return this._topLevel_parentAreValidationErrorsEnabled();} 1685return this._parentDataStore.areValidationErrorsEnabled();},areValidationErrorsEnabled:function(){return this.parentAreValidationErrorsEnabled();},_topLevel_parentAddChangedEntityName:function(name){if(this._changedEntityNames.indexOf(name)<0){this._changedEntityNames.push(name);}},_topLevel_parentRemoveChangedEntityName:function(name){const index=this._changedEntityNames.indexOf(name);if(index>=0){this._changedEntityNames.splice(index,1);}},_topLevel_parentSetValueFromInput:function(value,sourceOrganism,name,originalSourceOrganism,inputSourceOrganism){if(!name){name=this.getOwnEntityName();} 1686if(!(value instanceof Eco.OrganismValue)){console.log(sourceOrganism);throw Error('The value supplied by the source organism ^^^ for entity name \''+name+'\' is not an instance of Eco.OrganismValue.');} 1687if(sourceOrganism){if(sourceOrganism.setValue){sourceOrganism.setValue(value.getCleanValue(),name);} 1688let broadcastTargetOrganism;if(originalSourceOrganism){broadcastTargetOrganism=originalSourceOrganism;}else{broadcastTargetOrganism=sourceOrganism;} 1689let needsBroadcast=broadcastTargetOrganism._valueChangeNeedsBroadcast&&!broadcastTargetOrganism._isPristine;if(sourceOrganism.onValueUpdate&&needsBroadcast){broadcastTargetOrganism._valueChangeNeedsBroadcast=false;sourceOrganism.onValueUpdate(value,sourceOrganism,originalSourceOrganism,inputSourceOrganism);} 1690if(inputSourceOrganism&&inputSourceOrganism.getOwnEntityName()!==sourceOrganism.getOwnEntityName()){inputSourceOrganism.onValueUpdate(value,sourceOrganism,originalSourceOrganism,inputSourceOrganism);} 1691if(sourceOrganism.getOwnEntityName){if(!needsBroadcast){return;} 1692this.triggerEvent('valueUpdate',[sourceOrganism.getOwnEntityName(),value._cleanValue,sourceOrganism,originalSourceOrganism,inputSourceOrganism]);this.valueUpdateCallback([sourceOrganism.getOwnEntityName(),value._cleanValue,sourceOrganism,originalSourceOrganism,inputSourceOrganism]);}else{console.log('sourceOrganism does not have function getOwnEntityName',sourceOrganism);}}},canTriggerChangeEvents:function(){return this._allowChangeEventTrigger;},isValidationErrorsWarningMessageEnabled:function(){return this._validationErrorsWarningMessageEnabled&&window._VALIDATION_ERRORS_DISABLED_DEVELOPER_MESSAGE_COUNT<10;},displayValidationErrorsWarningMessage:function(){if(!this.isValidationErrorsWarningMessageEnabled()){return false;} 1693console.log(this.VALIDATION_ERRORS_DISABLED_DEVELOPER_MESSAGE,this);window._VALIDATION_ERRORS_DISABLED_DEVELOPER_MESSAGE_COUNT++;return true;},displayValidationSkippedWarningMessage:function(){if(!this.isValidationSkippedWarningMessageEnabled()){return;} 1694console.log(this.VALIDATION_ERRORS_SKIPPED_DEVELOPER_MESSAGE,this);window._VALIDATION_ERRORS_SKIPPED_DEVELOPER_MESSAGE_COUNT++;},enableValidationErrorsWarningMessage:function(){this._validationErrorsWarningMessageEnabled=true;},disableValidationErrorsWarningMessage:function(){this._validationErrorsWarningMessageEnabled=false;},isValidationSkippedWarningMessageEnabled:function(){return this._val
1694idationSkippedWarningMessageEnabled&&window._VALIDATION_ERRORS_SKIPPED_DEVELOPER_MESSAGE_COUNT<10;},enableValidationSkippedWarningMessage:function(){this._validationSkippedWarningMessageEnabled=true;},disableValidationSkippedWarningMessage:function(){this._validationSkippedWarningMessageEnabled=false;},registerValueUpdateCallback:function(id,callback,target){if(!this._valueUpdateCallbacks){this._valueUpdateCallbacks={};} 1695this._valueUpdateCallbacks[id]={callback:callback,target:target};},removeValueUpdateCallback:function(id){delete this._valueUpdateCallbacks[id];},valueUpdateCallback:function(params){if(this._valueUpdateCallbacks){jQuery.each(this._valueUpdateCallbacks,function(id,data){data.callback.apply(data.target,params);});}},_topLevel_parentOnValueUpdate:function(value,sourceOrganism,originalSourceOrganism){},_topLevel_parentOnValueError:function(errors,value,sourceOrganism){sourceOrganism.resetOwnErrors();for(let i=0;i<errors.length;i++){if(!(errors[i]instanceof Eco.OrganismDataStoreError)){console.log(value,sourceOrganism,errors[i]);console.error('Invalid error object for (value, sourceOrganism, error) ^^^.');}else{this._errors.push(errors[i]);}}},_topLevel_parentSetValue:function(value,name){if(!name){name=this.getOwnEntityName();} 1696this._setValue(value,name);},_topLevel_parentGetValue:function(name){if(!name){name=this.getOwnEntityName();} 1697return this._getValue(name);},_topLevel_parentGetAllValues:function(){return this._getAllValues();},_topLevel_parentGetAllValuesByReference:function(){return this._getAllValuesByReference();},_topLevel_parentGetAllChangedValues:function(){return this._getAllChangedValues();},isTopLevelDataStore:function(){return this._isTopLevelDataStore;},getTopLevelParentDataStore:function(){let dataStore=this.getParentDataStore();let limiter=100;while(!dataStore.isTopLevelDataStore()&&limiter>0){dataStore=dataStore.getParentDataStore();limiter--;} 1698return dataStore;},getParentDataStore:function(){return this._parentDataStore;},parentSetValue:function(value,name){if(this._isTopLevelDataStore){this._topLevel_parentSetValue(value,name);return;} 1699if(!name){name=this.getOwnEntityName();if(name===''){return;}} 1700this._addChildEntityName(name);this._parentDataStore.setValue(value,name);},parentGetValue:function(name=undefined){if(this._isTopLevelDataStore){return this._topLevel_parentGetValue(name);} 1701if(!name){name=this.getOwnEntityName();} 1702return this._parentDataStore.getValue(name);},parentGetAllValues:function(){if(this._isTopLevelDataStore){return this._topLevel_parentGetAllValues();} 1703return this._parentDataStore.getAllValues();},parentGetAllValuesByReference:function(){if(this._isTopLevelDataStore){return this._topLevel_parentGetAllValuesByReference();} 1704return this._parentDataStore.getAllValuesByReference();},parentGetAllChangedValues:function(){if(this._isTopLevelDataStore){return this._topLevel_parentGetAllChangedValues();} 1705return this._parentDataStore.getAllChangedValues();},_compareToPreviousValue:function(value){let a=JSON.stringify(value.getCleanValue());let b=this._previousCleanValue;if(a!=b){return 1;} 1706a=JSON.stringify(value.getRawValue());b=this._previousRawValue;return(a==b)?0:2;},_compareToInitialValue:function(value){let a=JSON.stringify(value.getCleanValue());let b=this._initialCleanValue;if(a!=b){return 1;} 1707a=JSON.stringify(value.getRawValue());b=this._initialRawValue;return(a==b)?0:2;},addChangedEntityName:function(name){this.parentAddChangedEntityName(name);},removeChangedEntityName:function(name){this.parentRemoveChangedEntityName(name);},hasChangedValues:function(){return(this._changedEntityNames.length>0);},isPristine:function(){return this._isPristine;},getChangedEntityNames:function(){if(this._changedEntityNames.length>0){return this._changedEntityNames.slice(0);}else{return[];}},removeAllChangedEntityNames:function(){this._changedEntityNames=[];},parentAddChangedEntityName:function(name){if(this._isTopLevelDataStore){this._topLevel_parentAddChangedEntityName(name);return;} 1708if(this._changedEntityNames.indexOf(name)<0){this._changedEntityNames.push(name);} 1709this._parentDataStore.addChangedEntityName(name);},parentRemoveChangedEntityName:function(name){if(this._isTopLevelDataStore){this._topLevel_parentRemoveChangedEntityName(name);return;} 1710const index=this._changedEntityNames.indexOf(name);if(index>=0){this._changedEntityNames.splice(index,1);} 1711this._parentDataStore.removeChangedEntityName(name);},triggerValueChangeFromExternalSystem:function(name){this.addChangedEntityName(name);},triggerValueResetFromExternalSystem:function(name){this.removeChangedEntityName(name);},parentSetValueFromInput:function(value,sourceOrganism,name,originalSourceOrganism,inputSourceOrganism){let parentSetValueFromInputFn;let thisArg;if(this._isTopLevelDataStore){thisArg=this;parentSetValueFromInputFn=this._topLevel_parentSetValueFromInput;}else{thisArg=this._parentDataStore;parentSetValueFromInputFn=this._parentDataStore.setValueFromInput;} 1712if(!name){name=this.getOwnEntityName();} 1713if(!sourceOrganism){sourceOrganism=this;} 1714if(name===this.getOwnEntityName()){let markFieldChanged=true;let markFieldReset=false;if(!this._isInitialValueSet){this._initialCleanValue=JSON.stringify(value.getCleanValue());this._initialRawValue=JSON.stringify(value.getRawValue());this._isInitialValueSet=true;markFieldChanged=false;this.resetOwnErrors();this.resetOwnValidation();}else{let broadcastTargetOrganism;if(originalSourceOrganism){broadcastTargetOrganism=originalSourceOrganism;}else{broadcastTargetOrganism=sourceOrganism;} 1715const isValueDifferentFromPrevious=this._compareToPreviousValue(value);if(!isValueDifferentFromPrevious){broadcastTargetOrganism._valueChangeNeedsBroadcast=false;return;} 1716broadcastTargetOrganism._valueChangeNeedsBroadcast=true;this.resetOwnErrors();this.resetOwnValidation();const valueDifference=this._compareToInitialValue(value);if(valueDifference===0){this.removeChangedEntityName(name);markFieldChanged=false;markFieldReset=true;}else if(valueDifference===1){}else if(valueDifference===2){markFieldReset=true;}} 1717this._previousCleanValue=JSON.stringify(value.getCleanValue());this._previousRawValue=JSON.stringify(value.getRawValue());if(sourceOrganism.isValidationEnabled()){let errors=[];if(sourceOrganism&&sourceOrganism.isValidated&&sourceOrganism.isValidated()){errors=sourceOrganism.getErrors();}else{if(sourceOrganism&&sourceOrganism.validateValue){errors=sourceOrganism.validateValue(value);}} 1718if(errors.length){this.removeChangedEntityName(name);if(this.areValidationErrorsEnabled()){sourceOrganism.onValueError(errors,value,sourceOrganism);}else{this.displayValidationErrorsWarningMessage();} 1719parentSetValueFromInputFn.apply(thisArg,[value,sourceOrganism,name,originalSourceOrganism,inputSourceOrganism]);return;}} 1720if(markFieldChanged&&!this._isSameValue(value.getCleanValue(),name)){this.addChangedEntityName(name);this.__depristinify();}else if(markFieldReset===true){this.removeChangedEntityName(name);}} 1721parentSetValueFromInputFn.apply(thisArg,[value,sourceOrganism,name,originalSourceOrganism,inputSourceOrganism]);},__depristinify:function(){this._isPristine=false;if(!this.isTopLevelDataStore()){this._parentDataStore.__depristinify();}},parentOnValueUpdate:function(value,sourceOrganism,originalSourceOrganism){if(this._isTopLevelDataStore){this._topLevel_parentOnValueUpdate(value,sourceOrganism,originalSourceOrganism);return;} 1722this._parentDataStore.onValueUpdate(value,sourceOrganism,originalSourceOrganism);},parentOnValueError:function(errors,value,sourceOrganism){if(this._isTopLevelDataStore){this._topLevel_parentOnValueError(errors,value,sourceOrganism);return;} 1723this._parentDataStore.onValueError(errors,value,sourceOrganism);},formatValue:function(cleanValue){if(!this.isFormattingEnabled()){return cleanValue;} 1724let formattedValue=cleanValue;jQuery.each(this._formatters,(index,formatterFunction)=>{let ecoData={};if(this.jqel){ecoData=this.jqel.ecoData();} 1725if(formatterFunction&&typeof(formatterFunction)=='function'){formattedValue=formatterFunction(formattedValue,ecoData);}});return formattedValue;},cleanValue:function(rawValue){if(!this.isCleaningEnabled()){return rawValue;} 1726let cleanValue=rawValue;jQuery.each(this._cleaners,(index,cleanerFunction)=>{cleanValue=cleanerFunction(cleanValue,this.jqel.ecoData());});return cleanValue;},validateValue:function(value){const errors=[];if(!this.isValidationEnabled()){return errors;} 1727const self=this;
1727jQuery.each(this._validators,(index,validator)=>{if(validator.isSlow===true&&!self.isSlowValidationEnabled()){return;} 1728const options=jQuery.extend(validator.options,self.jqel.ecoData());const statusCode=validator.callback(value,options);if(isNaN(statusCode)||statusCode<0){console.log(self);throw Error('Invalid status code reported by a validator. Status codes must be boolean or non-negative numeric values. Use 0 for success. Validator Name: '+validator.name);} 1729if(statusCode>0){let message='';if(validator.messages.hasOwnProperty(statusCode)){message=validator.messages[statusCode];}else if(validator.message!==false){message=validator.message;}else{if(Eco.Util.Validation.Messages[validator.name]instanceof Function){message=Eco.Util.Validation.Messages[validator.name](statusCode,validator.options);}else if((Eco.Util.Validation.Messages[validator.name]instanceof Object)&&Eco.Util.Validation.Messages[validator.name].hasOwnProperty(statusCode)){message=Eco.Util.Validation.Messages[validator.name][statusCode];}} 1730if(!message){console.log(this,self.jqel);console.warn('Hey there developer! You should put in a validation error message for the error of status code: '+statusCode+' on the '+validator.name+' validator. The validation error was triggered on this ^^^.');message='This value is not valid. ['+statusCode+']';} 1731const error=new Eco.OrganismDataStoreError(statusCode,message,self,'validation.'+validator.name);errors.push(error);}});this._isValidated=true;this._errors=errors;return errors;},setValueFromInput:function(value,sourceOrganism=undefined,name=undefined,originalSourceOrganism=undefined,inputSourceOrganism=undefined){this.parentSetValueFromInput(value,sourceOrganism,name,originalSourceOrganism,inputSourceOrganism);},onValueUpdate:function(value,sourceOrganism,originalSourceOrganism){this.parentOnValueUpdate(value,sourceOrganism,originalSourceOrganism);},onValueError:function(errors,value,sourceOrganism){this.parentOnValueError(errors,value,sourceOrganism);},setValue:function(value,name){this.parentSetValue(value,name);},resetValue:function(){this.unsetOwnValue();},unsetOwnValue:function(){this.resetOwnValidation();this.resetOwnErrors();const isValidationEnabled=this.isValidationEnabled();this.disableValidation();this.setValueFromInput(new Eco.OrganismValue(null,null));if(isValidationEnabled){this.enableValidation();}},getValue:function(name=undefined){return this.parentGetValue(name);},getAllValues:function(){return this.parentGetAllValues();},getAllValuesByReference:function(){return this.parentGetAllValuesByReference();},getAllChangedValues:function(){return this.parentGetAllChangedValues();},_readValue:function(){return this.readDomValue();},readValue:function(){const rawValue=this._readValue();return new Eco.OrganismValue(rawValue,this.cleanValue(rawValue));},readDomValue:function(){console.log(this,this.jqel);throw Error('readDomValue() must be implemented in your field organism class ^^^.');},updateDisplayValue:function(){let uniqueId=this._uniqueInternalId;if(!uniqueId){console.warn('trying to queue a redraw but this item does not have a _uniqueInternalId',uniqueId);return;} 1732if(Eco.OrganismDataStore.updateDisplayValueTimer){clearTimeout(Eco.OrganismDataStore.updateDisplayValueTimer);} 1733Eco.OrganismDataStore.updateDisplayValueQueue[uniqueId]=this;if(!Eco.OrganismDataStore.updateDisplayValueTimerDisabled){Eco.OrganismDataStore.updateDisplayValueTimer=setTimeout(function(){Eco.OrganismDataStore.processUpdateDisplayValueQueue();},Eco.OrganismDataStore.updateDisplayValueDelay);}},updateDisplayValueRender:function(){},initializeDomDisplay:function(){this.jqel.removeClass("hasIntersectionObserver");this._hasInitializedDom=true;},initializeDomDisplayFromParent:function(){if(this.jqel.hasClass('hasIntersectionObserver')){return;} 1734clog('init dom display from parent calling init dom display on self');this.initializeDomDisplay();},_initializeElementVisibilityWatcher:function(){const classString=this.jqel.attr('class');const matches=classString.match(/organism_[\w-_]*/);if(!matches.length){console.warn("_initializeElementVisibilityWatcher called but somehow this element does not have a class for an organism",classString);return;} 1735let name=matches[0];if(name.indexOf("form")>-1){return;} 1736if(!this.jqel.hasClass('atom_tabContent')){if(name.indexOf("container-repeat")===-1){if(this.jqel.parents(".hasIntersectionObserver").not(".organism_form").length>0){return;}}else{if(this.jqel.parents(".organism_container-repeat").length>0){return;}}}else{} 1737if(!Eco.OrganismDataStore.visibilityIbserver){const callback=function(entries,observer){entries.forEac
1737h(function(entry,index,arr){if(jQuery(entry.target).is(":visible")){const jqel_element=jQuery(entry.target);const organism=jqel_element.data('organism');if(organism){organism.initializeDomDisplay();Eco.OrganismDataStore.visibilityIbserver.unobserve(jqel_element.get(0))}else{console.log("Can not find organism",jqel_element);}}});};Eco.OrganismDataStore.visibilityIbserver=new IntersectionObserver(callback,{trackVisibility:true,delay:500,threshold:0});} 1738this.jqel.addClass("hasIntersectionObserver");Eco.OrganismDataStore.visibilityIbserver.observe(this.jqel.get(0));}};OrganismDataStore=jQuery.extend(true,{},Eco.Traits.DataStore,OrganismDataStore,Eco.Traits.EventSystem);return Eco.Organism.extend(OrganismDataStore);})();Eco.OrganismDataStore.updateDisplayValueTimer=0;Eco.OrganismDataStore.updateDisplayValueQueue={};Eco.OrganismDataStore.updateDisplayValueTimerDisabled=false;Eco.OrganismDataStore.updateDisplayValueDelay=100;Eco.OrganismDataStore.enableUpdateDisplayValueTimer=function(){Eco.OrganismDataStore.updateDisplayValueTimerDisabled=false;if(!Eco.OrganismDataStore.updateDisplayValueTimer&&Object.keys(Eco.OrganismDataStore.updateDisplayValueQueue).length){Eco.OrganismDataStore.updateDisplayValueTimer=setTimeout(function(){Eco.OrganismDataStore.processUpdateDisplayValueQueue();},Eco.OrganismDataStore.updateDisplayValueDelay);}};Eco.OrganismDataStore.processUpdateDisplayValueQueue=function(){clearTimeout(Eco.OrganismDataStore.updateDisplayValueTimer);Eco.OrganismDataStore.updateDisplayValueTimer=0;let queue=Eco.OrganismDataStore.updateDisplayValueQueue;Object.values(queue).forEach(organism=>{if(organism.updateDisplayValueRender){organism.updateDisplayValueRender();}else{console.warn('Unable to run updateDisplayValueRender on an object without its required function',organism);}});Eco.OrganismDataStore.updateDisplayValueQueue={};};Eco.OrganismDataStore.disableUpdateDisplayValueTimer=function(){Eco.OrganismDataStore.updateDisplayValueTimerDisabled=false;if(Eco.OrganismDataStore.updateDisplayValueTimer){clearTimeout(Eco.OrganismDataStore.updateDisplayValueTimer);Eco.OrganismDataStore.updateDisplayValueTimer=0;}}; 1739Eco.OrganismDataStoreError=Eco.OrganismError.extend({_organismType:Eco.OrganismDataStore,_organism:null,__construct:function(code,message,organism,debug){this._parent(code,message,organism,debug);},getOrganism:function(){return this._organism;}}); 1740jQuery(document).ready(async function(){var jqel_body=jQuery('body');MMI.Debug.timer('Scan','start',true);await Eco.OrganismController.scan(jqel_body);MMI.Debug.timer('Scan','afterControllerScan');Eco.OrganismController.setFullScanDone(true);}); 1741Eco.Util.initializeNamespace('Eco.Organism.Content');Eco.Organism.Content=Eco.OrganismDataStore.extend({__construct:function(jqel_organism){this._parent(jqel_organism);},_initializeOwnEntityName:function(){var name=this.jqel.data('name');if(!name){permaclog(this.jqel);throw Error('Invalid or missing content name `'+name+'` for the ^^^ content organism.');} 1742return name;},initializeValue:function(values,isRootNodeOfInitializationCall){},readDomValue:function(){return'';}}); 1743Eco.Organism.FieldAdvanced=Eco.OrganismDataStore.extend({jqel_label:null,jqel_window:null,_allowChangeEventTrigger:true,__construct:function(jqel_organism){this._parent(jqel_organism);this.jqel_label=this._getLabelElement();this.jqel_window=jQuery(window);if(this.jqel.ecoData('disableChangeEvent')===true){this._allowChangeEventTrigger=false;}},initializeDomDisplay:function(){this._parent();this._initializeCssClasses();},_initializeCssClasses:function(){if(this.jqel.find('> .atom_fieldIcon, > .molecule_input > .atom_fieldIcon').size()){this.jqel.addClass('molecule_fieldIcon');if(this.jqel.find('> .atom_fieldIcon:first-child, > label + .atom_fieldIcon').length){this.jqel.addClass('molecule_fieldIcon--pre');}} 1744let placeholderText=jQuery.trim(this.jqel.data('placeholder'));let helpText=jQuery.trim(this.jqel.data('help_text'));let labelText=this.jqel_label?jQuery.trim(this.jqel_label.text()):'';const labelMatches=labelText.toLowerCase()!=placeholderText.toLowerCase();let forceShowLabelAsPlaceholder=this.jqel.data('forceShowPlaceholder');if(helpText||(placeholderText&&labelMatches)||forceShowLabelAsPlaceholder){this.jqel.addClass('mod_uses-placeholder');}},_initializeOwnEntityName:function(){var fieldName=this.jqel.data('name');if(!fieldName){permaclog(this,this.jqel);throw Error('This advanced field ^^^ is missing the "data-name" attribute or has an empty field name value.');} 1745return fieldName;},_getLabelElement:function(){var jqel=this.jqel.find('label').first();if(!jqel.size()){this._missingElementError('Eco.Organism.Field','label','A common error is trying to use a div with a class of atom_label. Use a real <label> tag instead.');} 1746return jqel;},_updateFieldToFocusedStatus:function(){if(this.isReadOnly()||this.isDisabled()){this.removeModifier('mod_focused');return;} 1747this.addModifier('mod_focused');},_updateFieldToUnfocusedStatus:function(){this.removeModifier('mod_focused');},_validate:function(){const domEl=this.jqel.get(0);if(this.getMetaData('skipValidation')===true){this.hideErrors();domEl.setAttribute('data-validation-skipped-on-previous-try',true);return[];} 1748domEl.setAttribute('data-validation-skipped-on-previous-try',false);var value=this.readValue();var errors=this.validateValue(value);if(this.areValidationErrorsEnabled()&&errors.length){domEl.setAttribute('data-validation-passed',fal
1748se);domEl.setAttribute('data-validation-errors-enabled-on-previous-try',true);this.onValueError(errors,value,this);}else if(errors.length){domEl.setAttribute('data-validation-passed',false);domEl.setAttribute('data-validation-errors-enabled-on-previous-try',false);this.displayValidationErrorsWarningMessage();}else{domEl.setAttribute('data-validation-passed',true);domEl.removeAttribute('data-validation-errors-enabled-on-previous-try');} 1749return errors;},initializeDisplay:function(){this._parent();this.hideErrors();this.updateDisplayValue();},onValueError:function(errors,value,sourceOrganism){this._parent(errors,value,sourceOrganism);var messages=[];jQuery.each(errors,function(index,error){if(error.getMessage()){messages.push(error.getMessage());}});this.showErrors({messages:messages});},onValueUpdate:function(value,sourceOrganism,originalSourceOrganism){this.hideErrors();this._parent(value,sourceOrganism,originalSourceOrganism);if(sourceOrganism.canTriggerChangeEvents()===true){const isOwnEvent=sourceOrganism===originalSourceOrganism;sourceOrganism.jqel.trigger('change',[value,sourceOrganism,originalSourceOrganism,{isOwnEvent}]);} 1750this.updateDisplayValue();},updateDisplayValueRender:function(){permaclog(this);throw Error('Your field organism ^^^ must implement the updateDisplayValueRender() method.');},showErrors:function(options){this.addModifier('mod_error');var jqel_error=this.jqel.find('.atom_error');if(!jqel_error.size()){jqel_error=jQuery('<div class="atom_error"></div>');this.jqel_label.after(jqel_error);} 1751jqel_error.html(options.messages[0]);Eco.Organism.resizeWindow(this.jqel_window);},hideErrors:function(){this.removeModifier('mod_error');Eco.Organism.resizeWindow(this.jqel_window);},val:function(value){if(typeof(value)==='undefined'){return this.getValue();}else{var organismValue=new Eco.OrganismValue(value,this.cleanValue(value));var output=this.setValueFromInput(organismValue,this);this.updateDisplayValue();return output;}},getValueDuringChangeEvent:function(){return this._readValue();},setValueFromInput:function(value,sourceOrganism,name,originalSourceOrganism,inputSourceOrganism){if(!this.isValidationEnabled()){this.hideErrors();} 1752this._parent(value,sourceOrganism,name,originalSourceOrganism,this);},getFormOrganism:function(){var topLevelDataStore=this.getTopLevelDataStore();if(Eco&&Eco.Organism&&Eco.Organism.Form&&topLevelDataStore instanceof Eco.Organism.Form){return topLevelDataStore;} 1753return null;},lockSmartButton:function(){this.jqel.trigger('eco_form_lock_smart_button',[this.getFormOrganism(),this,this._uniqueInternalId,true]);},unlockSmartButton:function(){this.jqel.trigger('eco_form_lock_smart_button',[this.getFormOrganism(),this,this._uniqueInternalId,false]);}}); 1754Eco.Organism.Field=Eco.Organism.FieldAdvanced.extend({jqel_field:null,__construct:function(jqel_organism){this._parent(jqel_organism);this.jqel_field=this._getFieldElement();this.initializeDomDisplay();if(jqel_organism.data().focus){var self=this;setTimeout(function(){self.jqel_field.trigger('focus');},10);}},initializeDomDisplay:function(){this._parent();this._setTitleText(this.jqel_label.text());this._setForOnLabel();},_initializeOwnEntityName:function(){var fieldName=this.jqel_field.attr('name');if(!fieldName){permaclog(this,this.jqel_field,this.jqel_field.attr('name'),this.jqel_field.data());throw Error('This field ^^^ is missing the "name" attribute or has an empty name.');} 1755return fieldName;},updateDisplayValueRender:function(){var formattedValue=this.formatValue(this.getValue());if(this.jqel_field.val()!==formattedValue){this.jqel_field.val(formattedValue);}},_getFieldElement:function(){permaclog(this,this.jqel);throw Error('Each field organism ^^^ must provide its own _getFieldElement() method.');},_getFieldIcon:function(){var jqel_fieldIcon=this.jqel.find('.atom_fieldIcon');if(!jqel_fieldIcon.size()){permaclog(this,this.jqel);throw Error('This field organism ^^^ is missing a field icon. Add the molecule_fieldIcon class to the organism and add an element with a class of atom_fieldIcon somewhere inside the organism (location is usually after the input).');} 1756return jqel_fieldIcon;},_setTitleText:function(text){if(!this.jqel_field.attr('title')){this.jqel_field.attr('title',text);}},_getFieldForLabel:function(){return this.jqel_field;},_setForOnLabel:function(text){const jqel_field=this._getFieldForLabel();let fieldId=jqel_field.attr('id');if(!fieldId){fieldId=Eco.Util.getRandomString(12);jqel_field.attr('id',fieldId);} 1757const labelFor=this.jqel_label.attr('for');if(labelFor!=fieldId){this.jqel_label.attr('for',fieldId);} 1758return fieldId;},focus:function(){if(this.jqel_field){this.jqel_field.trigger('focus');}}}); 1759Eco.Organism.Field.Hidden=Eco.Organism.Field.extend({__construct:function(jqel_organism){this._parent(jqel_organism);var self=this;this.jqel_field.on('input',function(){self.setValueFromInput(self.readValue(),self,null);});},readDomValue:function(){return this.jqel_field.val();},_getFieldElement:function(){var jqel=this.jqel.find('input[type=hidden]').addBack('input[type=hidden]').first();if(!jqel.size()){this._missingElementError('Eco.Organism.Field.Hidden','field','A common error is not setting the type="hidden" attribute on the input element.');} 1760return jqel;},_getLabelElement:function(){return jQuery();},_setForOnLabel:function(){}}); 1761Eco.Organism.Form=Eco.OrganismDataStore.extend({jqel_form:null,_htmlOfInitialFormOrganism:false,_maxPollForFormIntervalChecks:100,_pollForFormIntervalCount:0,_pollForFormInitializationInterval:null,_scrollToFirstErrorEnabled:true,_submitWhenUnchanged:true,_fieldWithInProgressChanges:null,__c
1761onstruct:function(jqel_organism){jqel_organism.addClass('molecule_form');if(jqel_organism.find('.molecule_spinner').size()){jqel_organism.addClass('mod_spinnerForm');} 1762this._htmlOfInitialFormOrganism=jqel_organism.get(0).outerHTML;this._parent(jqel_organism);this.jqel_form=this._getFormElement();var self=this;this.jqel_form.on('reset',function(event,customType){event.preventDefault();event.stopPropagation();event.stopImmediatePropagation();self.reset();});var defaultOptions={submitWhenUnchanged:true};var options=this.jqel_form.ecoData('formOptions');options=Basix.extend(Basix.EXTEND_RECURSIVE,defaultOptions,options);this._submitWhenUnchanged=options.submitWhenUnchanged?true:false;},setFieldWithInProgressChanges:function(fieldOrganism){this._fieldWithInProgressChanges=fieldOrganism;},clearFieldWithInProgressChanges:function(fieldOrganism){if(this._fieldWithInProgressChanges instanceof Eco.Organism.FieldAdvanced&&fieldOrganism.getOwnEntityName()==this._fieldWithInProgressChanges.getOwnEntityName()){this._fieldWithInProgressChanges=null;}else{}},hasFieldWithInProgressChanges:function(){return!(this._fieldWithInProgressChanges===null);},getFormElement:function(){return this.jqel_form;},getHtmlForClone:function(){return this._htmlOfInitialFormOrganism;},initializeDisplay:function(){this._parent();this.onFormInitialized();},setValueFromInput:function(value,sourceOrganism,name,originalSourceOrganism,inputSourceOrganism){if(!name){console.log(sourceOrganism);throw Error('Calling Eco.Organism.Form.setValueFromInput() without a field name is not allowed. ^^^');} 1763this._parent(value,sourceOrganism,name,originalSourceOrganism,inputSourceOrganism);},triggerValueChangeFromExternalSystem:function(name){this._parent(name);if(this.hasChangedValues()){this.onFormChanged(this);}else if(!this.isPristine()){this.onFormReverted(this);}},triggerValueResetFromExternalSystem:function(name){this._parent(name);if(this.hasChangedValues()){this.onFormChanged(this);}else if(!this.isPristine()){this.onFormReverted(this);}},onValueUpdate:function(value,sourceOrganism,originalSourceOrganism){this._parent(value,sourceOrganism,originalSourceOrganism);if(this.hasChangedValues()){this.onFormChanged(sourceOrganism,originalSourceOrganism);}else if(!this.isPristine()){this.onFormChanged(sourceOrganism,originalSourceOrganism);this.onFormReverted(sourceOrganism,originalSourceOrganism);}},setValue:function(value,name){if(!name){console.log(this);throw Error('Calling Eco.Organism.Form.setValue() without a field name is not allowed. ^^^');} 1764this._parent(value,name);},getValue:function(name){if(!name){console.log(this);throw Error('Calling Eco.Organism.Form.getValue() without a field name is not allowed. ^^^');} 1765return this._parent(name);},_initializeOwnEntityName:function(){return'';},_validate:function(){var allErrors=[];var organisms=this.getChildOrganisms();var self=this;jQuery.each(organisms,function(index,organism){if(!(organism instanceof Eco.OrganismDataStore)){return;} 1766var errors=organism.getErrors();if(!organism.isValidated()){organism.validate();errors=organism.getErrors();}else{if(self.areValidationErrorsEnabled()&&errors.length){organism.onValueError(errors,organism.readValue(),organism);}else if(window._VALIDATION_ERRORS_DISABLED_DEVELOPER_MESSAGE_COUNT<10){console.log(this.VALIDATION_ERRORS_DISABLED_DEVELOPER_MESSAGE,this);window._VALIDATION_ERRORS_DISABLED_DEVELOPER_MESSAGE_COUNT++;}} 1767if(errors.length>0){allErrors=allErrors.concat(errors);}});return allErrors;},_getFormElement:function(){var jqel=this.jqel.find('form').addBack().filter('form');if(!jqel.size()){this._missingElementError('Eco.Organism.Form','form');}else if(jqel.size()>1){console.log(jqel);console.warn('Your form organism has '+jqel.size()+' form elements in it ^^^^! Generally this is a mistake and can cause problems. We are only selecting the first form found for this form organisms event handling.');jqel=jqel.first();} 1768return jqel;},resetFormState:function(){this.jqel.removeClass('mod_submitting mod_submit-success mod_submit-error');},onFormChanged:function(sourceOrganism,originalSourceOrganism){this.jqel.addClass('mod_hasChanges');this.jqel.trigger('eco_form_changed',[this,sourceOrganism,originalSourceOrganism]);},onFormInitialized:function(){this.removeAllChangedEntityNames();this.jqel.trigger('eco_form_initialized',[this]);},enableScrollToFirstError:function(){this._scrollToFirstErrorEnabled=true;},disableScrollToFirstError:function(){this._scrollToFirstErrorEnabled=false;},isScrollToFirstErrorEnabled:function(){return this._scrollToFirstErrorEnabled;},enableSubmitWhenUnchanged:function(){this._submitWhenUnchanged=true;},disableSubmitWhenUnchanged:function(){this._submitWhenUnchanged=false;},isSubmitWhenUnchangedEnabled:function(){return this._submitWhenUnchanged;},onValueError:function(errors,value,sourceOrganism){this._parent(errors,value,sourceOrganism);this.jqel.trigger('eco_form_value_error',[this,sourceOrganism]);this.scrollToFirstError();},scrollToFirstError:function(){if(this.isScrollToFirstErrorEnabled()!==true){return;} 1769var errors=this.getErrors();if(!errors.length){return;} 1770var error=errors[0];Eco.Util.scrollElementIntoView(error.getOrganism().jqel);},reset:function(resetComplete){const jqel=jQuery(this._htmlOfInitialFormOrganism);this.jqel.replaceWith(jqel);const self=this;setTimeout(async function(){self._isPristine=true;const organisms=await Eco.OrganismController.scan(jqel);if(typeof(resetComplete)==='function'){var formOrganism=organisms[0];resetComplete(formOrganism,organisms);}},10);},areDependencyChecksComplete:function(){if(Eco.Util.namespaceExists('Be.Genome.Item.Layout.Dependencies')){console.log('Be.Genome.Item.Layout.Dependencies._checksToDo',Be.Genome.Item.Layout.Dependencies._checksToDo);if(!Be.Genome.Item.Layout.Dependencies._checksToDo){return true;} 1771return Be.Genome.Item.Layout.Dependencies._checksToDo===0;} 1772return true;},onFormReverted:function(sourceOrganism,originalSourceOrganism){this.jqel.removeClass('mod_hasChanges');this.jqel_form.trigger('eco_form_reverted',[this,sourceOrganism,originalSourceOrganism]);console.warn('The eco_form_reset event is deprecated as of 2019-12-02. Do not continue to use it, use eco_form_reverted instead.');this.jqel_form.trigger('eco_form_reset',[this,sourceOrganism,originalSourceOrganism]);},onFormReset:function(sourceOrganism,originalSourceOrganism){this.onFormReverted();},onSubmitStart:function(data){this.jqel.addClass('mod_submitting');this.jqel.removeClass('mod_submit-error mod_submit-success');this.hideErrors();this.jqel_form.trigger('eco_form_submit_start',[this,data]);},hideErrors:function(){this._hideErrors();},_hideErrors:function(){var organisms=this.getChildOrganisms();for(var i=0;i<organisms.length;i++){var organism=organisms[i];if(organism instanceof Eco.Organism.FieldAdvanced){organism.hideErrors();}}},onSubmitSuccess:function(data){this.jqel.removeClass('mod_submitting');this.jqel.removeClass('mod_submit-error');this.jqel.addClass('mod_submit-success');this.jqel_form.trigger('eco_form_submit_success',[this,data]);},onSubmitError:function(data){this.jqel.removeClass('mod_submitting');this.jqel.removeClass('mod_submit-success');this.jqel.addClass('mod_submit-error');this.jqel_form.trigger('eco_form_submit_error',[this,data]);},onSubmitComplete:function(data){this.jqel.removeClass('mod_submitting');this.jqel_form.trigger('eco_form_submit_complete',[this,data]);},readDomValue:function(){return undefined;},setValues:function(values){for(var fieldName in values){if(!values.hasOwnProperty(fieldName)){continue;} 1773var field=this.getChildOrganismByName(fieldName);if(field instanceof Eco.Organism.FieldAdvanced){field.val(values[fieldName]);}else{console.warn('Attempted to set value on form for a field that could not be found: '+fieldName);}}}}); 1774if(!window.console||typeof(window.console)!=='object'){window.console={};} 1775var functionList=['warn','log','info','error','assert','dir','table','group','groupEnd','time','timeEnd','timeLog','trace','clear','count','debug','dirxml','groupCollapsed',];jQuery.each(functionList,function(n,func){if(typeof(window.console[func])!=='function'){window.console[func]=function(){return this;}}}); 1776(function($){var pluginName='basixData';$.fn[pluginName]=function(){var args=Array.prototype.slice.call(arguments);var jqel=jQuery(this);var data;var parents;var returnJqel=false;var fullPropertyName=args[0];var basePropertyName='';if(args.length===2&&args[0]===true){fullPropertyName=args[1];returnJqel=true;} 1777if(Basix.isString(fullPropertyName)){basePropertyName=fullPropertyName.split('.')[0];} 1778data=jQuery.extend({},jqel.data());if(returnJqel&&data.hasOwnProperty(basePropertyName)){return jqel;} 1779parents=jqel.parents();var jqel_ancestor=null;parents.each(function(index,ancestorDomElement){jqel_ancestor=jQuery(ancestorDomElement);var ancestorData=jQuery.extend({},jqel_ancestor.data());if(returnJqel){if(ancestorData.hasOwnProperty(basePropertyName)){return false;}}else{data=jQuery.extend(ancestorData,data);}});if(returnJqel){return jQuery(jqel_ancestor);} 1780switch(args.length){case 0:return data;break;case 1:return Basix.getValue(data,fullPropertyName);break;case 2:var targetData=jqel.data();var locatedKey=false;if(targetData!=null&&targetData.hasOwnProperty(basePropertyName)){Basix.setValue(jqel.data(),fullPropertyName,args[1]);locatedKey=true;}else{parents.each(function(index,ancestorDomElement){var jqel_ancestor=jQuery(ancestorDomElement);var ancestorData=jqel_ancestor.data();if(ancestorData.hasOwnProperty(basePropertyName)){Basix.setValue(jqel_ancestor.data(),fullPropertyName,args[1]);locatedKey=true;return false;}});} 1781if(!locatedKey){Basix.setValue(jqel.data(),fullPropertyName,args[1]);} 1782break;} 1783return jqel;};})(jQuery);(function($){var pluginName='basixRemoveData';$.fn[pluginName]=function(){var args=Array.prototype.slice.call(arguments);var jqel=jQuery(this);if(!args.length){jqel.removeData();return jqel;} 1784var jqel_parents=jqel.parents();var removeFromAllParents=false;if(typeof(args[0])=='boolean'&&args[0]===true){removeFromAllParents=true;} 1785jQuery.each(args,function(index,arg){var targetData=jqel.data();var foundKey=false;if(targetData!=null&&targetData.hasOwnProperty(args)){jqel.removeData(arg);
1785foundKey=true;} 1786if(!foundKey||removeFromAllParents){jqel_parents.each(function(index,ancestorDomElement){var jqel_ancestor=jQuery(ancestorDomElement);var ancestorData=jqel_ancestor.data();if(ancestorData.hasOwnProperty(args)){jqel_ancestor.removeData(args);if(!removeFromAllParents){return false;}}});}});return jqel;};})(jQuery); 1787Basix={OVERRIDE_SHALLOW:1,OVERRIDE_RECURSIVE:2,EXTEND_RECURSIVE:3,ARRAYS_OVERRIDE:1,ARRAYS_MERGE:2,_basixInitializationInProgress:false,namespace:function(){var scope=window;for(var argIndex=0;argIndex<arguments.length;argIndex++){var arg=arguments[argIndex];if(typeof(arg)=='object'&&arg!==null){scope=arg;continue;} 1788if(typeof(arg)!='string'){continue;} 1789var namespaceComponents=arg.split('.');var sourceObject=scope[namespaceComponents[0]]=scope[namespaceComponents[0]]||{};var childNamespaceComponents=namespaceComponents.slice(1);for(var childNamespaceName in childNamespaceComponents){if(childNamespaceComponents.hasOwnProperty(childNamespaceName)){var childNamespace=childNamespaceComponents[childNamespaceName];sourceObject=sourceObject[childNamespace]=sourceObject[childNamespace]||{};}}}},namespaceExists:function(){var scope=window;var loopRestrictor=1;for(var argIndex=0;argIndex<loopRestrictor;argIndex++){var arg=arguments[argIndex];if(argIndex<1&&typeof(arg)=='object'&&arg!==null){scope=arg;loopRestrictor=2;continue;} 1790if(typeof(arg)!='string'){return false;} 1791var namespaceComponents=arg.split('.');var sourceObject=scope[namespaceComponents[0]]=scope[namespaceComponents[0]]||{};var childNamespaceComponents=namespaceComponents.slice(1);for(var childNamespaceName in childNamespaceComponents){if(childNamespaceComponents.hasOwnProperty(childNamespaceName)){var nextChildNamespaceName=childNamespaceComponents[childNamespaceName];if(!sourceObject.hasOwnProperty(nextChildNamespaceName)){return false;} 1792sourceObject=sourceObject[nextChildNamespaceName];}}} 1793return true;},getNamespace:function(){var args=Basix.getArgsList(arguments);if(!args.length){return{};} 1794var scope=window;if(args.length>1){if(this.isPlainObject(args[0])){scope=args.shift();}else{args.shift();}} 1795var path=args.shift();var namespaceComponents=null;if(this.isString(path)){namespaceComponents=path.split('.');}else if(this.isArray(path)||this.isList(path)){namespaceComponents=path;}else{return scope;} 1796var subScope=scope;for(var namespaceName in namespaceComponents){if(namespaceComponents.hasOwnProperty(namespaceName)){var nextSubNamespaceName=namespaceComponents[namespaceName];if(this.isObject(subScope[nextSubNamespaceName])){subScope=subScope[nextSubNamespaceName];}else if(subScope[nextSubNamespaceName]===undefined){subScope=subScope[nextSubNamespaceName]={};}else{return{};}}} 1797return subScope;},getValue:function(scope,path,defaultValue){if(!this.isPlainObject(scope)||!this.isString(path)){return undefined;} 1798var namespaceComponents=path.split('.');var propertyName=namespaceComponents.pop();var subScope=scope;for(var namespaceName in namespaceComponents){if(namespaceComponents.hasOwnProperty(namespaceName)){var nextSubNamespaceName=namespaceComponents[namespaceName];var subScopePropertyValue=subScope[nextSubNamespaceName];if(this._getValue_isValidSubScope(subScopePropertyValue)){subScope=subScopePropertyValue;}else if(subScopePropertyValue===undefined){subScope=subScopePropertyValue={};}else{return undefined;}}} 1799if(!this._getValue_isValidSubScope(subScope)){return undefined;} 1800if(!subScope.hasOwnProperty(propertyName)){subScope[propertyName]=defaultValue;} 1801return subScope[propertyName];},_getValue_isValidSubScope:function(scope){return(this.isPlainObject(scope)||this.isArray(scope)||this.isList(scope));},setValue:function(scope,fullPath,value){var namespaceComponents=fullPath.split('.');var propertyName=namespaceComponents.pop();var subScope=this.getNamespace(scope,namespaceComponents);subScope[propertyName]=value;},getArgsList:function(rawArguments){return new Basix.List(Array.prototype.slice.call(rawArguments));},extend:function(){var args=Array.prototype.slice.call(arguments);if(!args.length){return{};} 1802var deep=Basix.OVERRIDE_SHALLOW;var mergeArrays=Basix.ARRAYS_OVERRIDE;if(args.length>1){if(args[0]===true){args[0]=Basix.EXTEND_RECURSIVE;}else if(args[0]===false){args[0]=Basix.OVERRIDE_RECURSIVE;} 1803switch(args[0]){case Basix.EXTEND_RECURSIVE:deep=Basix.EXTEND_RECURSIVE;args.shift();break;case Basix.OVERRIDE_RECURSIVE:deep=Basix.EXTEND_RECURSIVE;args.shift();break;case Basix.OVERRIDE_SHALLOW:args.shift();break;default:break;} 1804if(args.length>1){if(args[0]===true){args[0]=Basix.ARRAYS_MERGE;}else if(args[0]===false){args[0]=Basix.ARRAYS_OVERRIDE;} 1805switch(args[0]){case Basix.ARRAYS_MERGE:mergeArrays=Basix.ARRAYS_MERGE;args.shift();break;case Basix.ARRAYS_OVERRIDE:break;default:break;}}} 1806var baseObject=false;for(var index in args){if(!args.hasOwnProperty(index)){continue;}
1807var arg=args[index];if(!this.isPlainObject(arg)){continue;} 1808if(!baseObject){baseObject=arg;continue;} 1809for(var property in arg){if(!arg.hasOwnProperty(property)){continue;} 1810if(this.isExtendable(arg[property])){if(this.isPlainObject(arg[property])&&!this.isPlainObject(baseObject[property])){baseObject[property]={};}else if(this.isArray(arg[property])&&!this.isArray(baseObject[property])){baseObject[property]=[];}else if(this.isList(arg[property])&&!this.isList(baseObject[property])){baseObject[property]=new Basix.List();} 1811if(this.isArray(arg[property])||this.isList(arg[property])){switch(mergeArrays){case Basix.ARRAYS_MERGE:if(this.isList(arg[property])){baseObject[property]=this.merge(deep,mergeArrays,new Basix.List(),baseObject[property],arg[property]);}else{baseObject[property]=this.merge(deep,mergeArrays,[],baseObject[property],arg[property]);} 1812break;case Basix.ARRAYS_OVERRIDE:default:switch(deep){case Basix.EXTEND_RECURSIVE:case Basix.OVERRIDE_RECURSIVE:if(this.isList(arg[property])){baseObject[property]=this.merge(deep,new Basix.List(),arg[property]);}else{baseObject[property]=this.merge(deep,[],arg[property]);} 1813break;case Basix.OVERRIDE_SHALLOW:default:baseObject[property]=arg[property];break;} 1814break;}}else{switch(deep){case Basix.EXTEND_RECURSIVE:baseObject[property]=this.extend(deep,mergeArrays,{},baseObject[property],arg[property]);break;case Basix.OVERRIDE_RECURSIVE:baseObject[property]=this.extend(deep,mergeArrays,{},arg[property]);break;case Basix.OVERRIDE_SHALLOW:default:baseObject[property]=arg[property];break;}}}else{baseObject[property]=arg[property];}}} 1815return baseObject?baseObject:{};},merge:function(){var args=Array.prototype.slice.call(arguments);if(!args.length){return[];} 1816var deep=Basix.OVERRIDE_SHALLOW;var mergeArrays=Basix.ARRAYS_OVERRIDE;if(args.length>1){if(args[0]===true){args[0]=Basix.EXTEND_RECURSIVE;}else if(args[0]===false){args[0]=Basix.OVERRIDE_RECURSIVE;} 1817switch(args[0]){case Basix.EXTEND_RECURSIVE:deep=Basix.EXTEND_RECURSIVE;args.shift();break;case Basix.OVERRIDE_RECURSIVE:deep=Basix.EXTEND_RECURSIVE;args.shift();break;case Basix.OVERRIDE_SHALLOW:args.shift();break;default:break;} 1818if(args.length>1){switch(args[0]){case Basix.ARRAYS_MERGE:mergeArrays=true;args.shift();break;case Basix.ARRAYS_OVERRIDE:break;default:break;}}} 1819var baseArray=false;for(var index in args){if(!args.hasOwnProperty(index)){continue;} 1820if(!this.isArray(args[index])&&!this.isList(args[index])){continue;} 1821if(!baseArray){baseArray=args[index];continue;} 1822for(var arrayIndex in args[index]){if(!args[index].hasOwnProperty(arrayIndex)){continue;} 1823var arrayElement=args[index][arrayIndex];if(this.isList(args[index])&&arrayIndex=='length'){continue;} 1824switch(deep){case Basix.EXTEND_RECURSIVE:case Basix.OVERRIDE_RECURSIVE:if(this.isPlainObject(arrayElement)){baseArray.push(this.extend(deep,mergeArrays,{},arrayElement));}else if(this.isArray(arrayElement)){baseArray.push(this.merge(deep,mergeArrays,[],arrayElement));}else if(this.isList(arrayElement)){baseArray.push(this.merge(deep,mergeArrays,new Basix.List(),arrayElement));}else{baseArray.push(arrayElement);} 1825break;case Basix.OVERRIDE_SHALLOW:default:baseArray.push(arrayElement);break;}}} 1826return baseArray;},isFunction:function(o){return(o instanceof Function);},isExtendable:function(o){if(this.isList(o)){return true;} 1827if(this.isArray(o)){return true;} 1828if(this.isFunction(o)){return false;} 1829if(this.isObject(o)){if(typeof(jQuery)=='undefined'){return true;}else if(o instanceof jQuery){return false;} 1830return true;} 1831return false;},isList:function(o){return(o instanceof Basix.List);},isArray:function(o){return((o instanceof Array)&&!(o instanceof Basix.List));},isObject:function(o){return(o instanceof Object);},isEmptyObject:function(obj){if(obj==null){return true;} 1832if(obj.length>0){return false;} 1833if(obj.length===0){return true;} 1834for(var key in obj){if(hasOwnProperty.call(obj,key)){return false;}} 1835return true;},isJqueryObject:function(o){if(!this.isPlainObject(jQuery)){return false;} 1836return(o instanceof jQuery);},isPlainObject:function(o){return(this.isObject(o)&&!this.isArray(o)&&!this.isList(o)&&!this.isFunction(o));},isString:function(o){return(typeof(o)=='string');},isBoolean:function(o){return(o===true||o===false);},isNull:function(o){return o===null;},isUndefined:function(o){return typeof(o)==='undefined';},isDefined:function(o){return!this.isUndefined(o);}
1836,isNumeric:function(o){if(this.isBoolean(o)||this.isNull()||o===''){return false;} 1837return(!isNaN(o));},inArray:function(key,targetArray){return jQuery.inArray(key,targetArray)!==-1;},getRandomString:function(length){var chars="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";var stringLength=(typeof(length)!='undefined')?length:8;var randomString='';for(var i=0;i<stringLength;i++){var rNum=Math.floor(Math.random()*chars.length);randomString+=chars.substring(rNum,rNum+1);} 1838return randomString;},_makeApplicationBundle:function(classObject){var bundle={base:{},app:null,moduleNames:[],hasCoreConstructor:false,hasCoreDocumentReady:false,constructorMethodNames:[],documentReadyMethodNames:[]};for(var moduleName in classObject){if(classObject.hasOwnProperty(moduleName)){bundle.moduleNames.push(moduleName);var module=classObject[moduleName];var isCoreModule=(moduleName=='Core');if(module.hasOwnProperty('__construct')){if(module.hasOwnProperty(moduleName)){throw'Module: '+moduleName+' has two constructor methods: '+moduleName+'() and __construct().';} 1839module[moduleName]=module['__construct'];delete module['__construct'];if(isCoreModule){bundle.hasCoreConstructor=true;}else{bundle.constructorMethodNames.push(moduleName);}} 1840if(module.hasOwnProperty('__documentReady')){var documentReadyMethodName=moduleName+'__documentReady';if(module.hasOwnProperty(documentReadyMethodName)){throw'Module: '+moduleName+' has two document ready handler methods: '+documentReadyMethodName+'() and __documentReady().';} 1841module[documentReadyMethodName]=module['__documentReady'];delete module['__documentReady'];if(isCoreModule){bundle.hasCoreDocumentReady=true;}else{bundle.documentReadyMethodNames.push(documentReadyMethodName);}} 1842bundle.base=this.extend(bundle.base,module);}} 1843bundle.base.__moduleNames__=bundle.moduleNames;bundle.app=Basix.stdClass.extend(bundle.base);return bundle;},_instantiateFromBundle:function(bundle){this.get();var instance=new bundle.app();if(bundle.hasCoreConstructor){instance['Core']();} 1844for(var index in bundle.constructorMethodNames){if(bundle.constructorMethodNames.hasOwnProperty(index)){var constructorMethodName=bundle.constructorMethodNames[index];instance[constructorMethodName]();}} 1845jQuery(document).ready(function(event){var jqel=jQuery('body');var data=jqel.basixData();if(bundle.hasCoreDocumentReady){instance['Core__documentReady'](event,jqel,data);} 1846for(var index in bundle.documentReadyMethodNames){if(bundle.documentReadyMethodNames.hasOwnProperty(index)){var documentReadyMethodName=bundle.documentReadyMethodNames[index];instance[documentReadyMethodName](event,jqel,data);}}});return instance;},get:function(){return this.appify();},appify:function(classObject){if(this.isPlainObject(classObject)){var bundle=this._makeApplicationBundle(classObject);return this._instantiateFromBundle(bundle);}else{if(window.$basix!==undefined){return window.$basix;}else if(!this._basixInitializationInProgress){this._basixInitializationInProgress=true;window.$basix=this._instantiateFromBundle(this._makeApplicationBundle(Basix.App));this._basixInitializationInProgress=false;return window.$basix;}else{return false;}}},toHyphenatedString:function(string){return string.replace(/([a-z\d])([A-Z])/g,'$1-$2').replace(/[_\W]+/g,'-').toLowerCase();},toUnderscoredString:function(string){return string.replace(/([a-z\d])([A-Z])/g,'$1-$2').replace(/[\W]+/g,'_').toLowerCase();},toCamelCaseString:function(string){return string.replace(/[_\W]+(.)/g,function(x,chr){return chr.toUpperCase();});},toPascalCaseString:function(string){string=this.toCamelCaseString(string);return string[0].toUpperCase()+string.substring(1);},clog:function(){var args=Array.prototype.slice.call(arguments);var argsLength=args.length;for(var i=argsLength;i>=1;i--){console.log(args[argsLength-i]);}}};if(typeof(console)!='object'||typeof(console.log)!='function'){Basix.clog=function(){};} 1847(function(){Basix.stdClass=function(){};Basix.stdClass.__constructing=false;var _callToParentTest=/abc_basix/.test(function(){var abc_basix;})?/\b_parent\b/:/.*/;Basix.stdClass.extend=function(classObject){var _parentInstance=this.prototype;Basix.stdClass.__constructing=true;var prototype=new this();Basix.stdClass.__constructing=false;var parentProxyClosure=function(name,originalMethod){return function(){var tmpFn=this._parent;this._parent=_parentInstance[name];var result=originalMethod.apply(this,arguments);this._parent=tmpFn;return result;};};for(var propertyName in classObject){if(classObject.hasOwnProperty(propertyName)){var isValidMethod=(typeof(classObject[propertyName])=='function');var parentHasSameMethod=(typeof(_parentInstance[propertyName])=='function');var hasCallToParentMethod=isValidMethod&&parentHasSameMethod&&_callToParentTest.test(classObject[propertyName]);prototype[propertyName]=hasCallToParentMethod?parentProxyClosure(propertyName,classObject[propertyName]):classObject[propertyName];}} 1848var stdClass=function(){if(!Basix.stdClass.__constructing&&this.__construct){this.__construct.apply(this,arguments);}};stdClass.prototype=prototype;stdClass.constructor=stdClass;stdClass.extend=arguments.callee;return stdClass;};})(); 1849Basix.namespace('Basix.List');Basix.List=(function(){var List=function(){this.from.apply(this,arguments);};List.prototype=[];var ListClass={getNativeArray:function(){var a=[];this.each(function(index,value){a.push(value);});return a;}
1849,get:function(index){if(index>=0&&index<this.length){return this[index];} 1850return undefined;},first:function(){if(this.length){return this[0];} 1851return undefined;},last:function(){if(this.length){return this[this.length-1];} 1852return undefined;},remove:function(from,to){if(!to){to=from+1;} 1853var howMany=to-from;this.splice(from,howMany);return this;},insert:function(){var args=Basix.getArgsList(arguments);var inputValue=args.first();var targetIndex=this.length;var secondArg=args.get(1);if(Basix.isNumeric(secondArg)){targetIndex=secondArg;}else if(Basix.isFunction(secondArg)){this.each(function(loopIndex,testValue){var testResult=secondArg(inputValue,testValue);if(testResult==1){targetIndex=loopIndex;return false;}});} 1854this.splice(targetIndex,0,inputValue);},binarySearch:function(inputValue,comparisonMethod,lowerBounds,upperBounds,depthLimit){Basix.clog('untested implementation');if(!depthLimit){depthLimit=100000;}else if(depthLimit<=0||!this.length){return-1;} 1855depthLimit--;if(!Basix.isNumeric(lowerBounds)){lowerBounds=0;} 1856if(!Basix.isNumeric(upperBounds)){upperBounds=this.length-1;} 1857var boundsDifference=upperBounds-lowerBounds;if(boundsDifference<0){return-1;} 1858var midPoint=Math.floor(boundsDifference / 2)+lowerBounds;var testResult=comparisonMethod(inputValue,this[midPoint]);if(testResult==0){return midPoint;}else if(testResult==1){return this.binarySearch(inputValue,comparisonMethod,midPoint+1,upperBounds,depthLimit);}else{return this.binarySearch(inputValue,comparisonMethod,lowerBounds,midPoint-1,depthLimit);}},unique:function(){this.concat();for(var i=0;i<this.length;++i){for(var j=i+1;j<this.length;++j){if(this[i]===this[j]){this.splice(j--,1);}}} 1859return this;},random:function(){if(!this.length){return undefined;} 1860var randomIndex=Math.floor(Math.random()*this.length);return this[randomIndex];},from:function(){this.length=0;return this.merge.apply(this,arguments);},prepend:function(){var args=Basix.getArgsList(arguments);args.reverse();args.each(function(argIndex,arg){if(!Basix.isArray(arg)||!arg.length){return;} 1861var spliceArgs=new Basix.List([0,0],arg);this.splice.apply(this,spliceArgs.getNativeArray());},this);return this;},append:function(){var args=Basix.getArgsList(arguments);args.each(function(argIndex,arg){if(!Basix.isArray(arg)){return;} 1862for(var index in arg){if(arg.hasOwnProperty(index)){this.push(arg[index]);}}},this);return this;},merge:function(){var values=Basix.merge.apply(Basix,arguments);for(var index in values){if(values.hasOwnProperty(index)){this.push(values[index]);}} 1863return this;},each:function(callback,scope){if(!Basix.isFunction(callback)){throw'Invalid callback for Basix.List.each(callback)';} 1864if(!scope){scope=this;} 1865for(var index in this){if(this.hasOwnProperty(index)&&index!='length'){if(callback.apply(scope,[index,this[index]])===false){break;}}} 1866return this;},reverse:function(){var tmpArray=[];for(var index=this.length-1;index>=0;index--){if(this.hasOwnProperty(index)){tmpArray.push(this[index]);}} 1867this.from(tmpArray);return this;},reverseEach:function(callback,scope){if(!Basix.isFunction(callback)){throw'Invalid callback for Basix.List.each(callback)';} 1868if(!scope){scope=this;} 1869for(var index=this.length-1;index>=0;index--){if(this.hasOwnProperty(index)){if(callback.apply(scope,[index,this[index]])===false){break;}}}},getJson:function(){return JSON.stringify(this.getNativeArray());}};for(var methodName in ListClass){if(ListClass.hasOwnProperty(methodName)){List.prototype[methodName]=ListClass[methodName];}} 1870return List;})(); 1871Basix.namespace('Basix.App.Core');Basix.App.Core={_jqel_body:false,_isDocumentReady:false,_apps:[],_events:{},__construct:function(){},__documentReady:function(event,basix,jqel,data){this._jqel_body=jqel;this._isDocumentReady=true;var standardEvents=['click','hover','submit','change'];this.registerEvents(standardEvents);},registerApplication:function(application){var matched=false;for(var index in this._apps){if(this._apps.hasOwnProperty(index)){if(this._apps[index]==application){matched=true;break;}}} 1872if(!matched){this._apps.push(application);}},registerEvents:function(events){for(var eventKey in events){if(events.hasOwnProperty(eventKey)){this.registerEvent(events[eventKey]);}}},registerEvent:function(eventName){if(typeof(eventName)!='string'){throw"Invalid event name for Basix::registerEvent() ::: "+typeof(eventName);} 1873eventName=eventName.toLowerCase();if(this._events.hasOwnProperty(eventName)){return true;} 1874var jqel_target=jQuery(document);var selector='.bx-'+eventName;var self=this;if(jQuery.inArray(eventName,['hover'])==-1){jqel_target.on(eventName,selector,[],function(event){var jqel_current=jQuery(this);var jqel_original=jQuery(event.target);self.handleEvent(event,jqel_current,jqel_original);});}else{switch(eventName){case'hover':jqel_target.on('mouseenter',selector,[],function(event){var jqel=jQuery(this);self.handleHoverStartEvent(event,jqel);}).on('mouseleave',selector,[],function(event){var jqel=jQuery(this);self.handleHoverEndEvent(event,jqel);});break;}} 1875return true;},handleEvent:function(event,jqel_current,jqel_original){var currentData=jqel_current.basixData();var originalData=jqel_original.basixData();var handlerDataKey='bx'+this._capitalizeFirstWord(event.type);var handlers=currentData[handlerDataKey];if(!handlers){return;} 1876if(!jQuery.isArray(handlers)){if(typeof(handlers)=='string'){var tmpHandlers=false;try{tmpHandlers=JSON.parse(handlers);}catch(error){} 1877if(jQuery.isArray(tmpHandlers)){handlers=tmpHandlers;}else{if(handlers.indexOf(';')!=-1){handlers=handlers.split(';');}else{handlers=[handlers];}} 1878jqel_original.basixData(handlerDataKey,handlers);}else{return;}} 1879for(var index in this._apps){if(this._apps.hasOwnProperty(index)){var app=this._apps[index];for(var handlerKey in handlers){if(!handlers.hasOwnProperty(handlerKey)){break;} 1880var handlerName='event_'+handlers[handlerKey];if(typeof(app[handlerName])=='function'){app[handlerName].apply(app,[event,jqel_current,currentData,jqel_original,originalData]);}}}}},handleHoverStartEvent:function(event,jqel){},handleHoverEndEvent:function(event,jqel){},_capitalizeFirstWord:function(string){return string.charAt(0).toUpperCase()+string.slice(1);}}; 1881Basix.namespace('Basix.Encoder');Basix.Encoder={EncodeType:"entity",isEmpty:function(val){if(val){return((val===null)||val.length==0||/^\s+$/.test(val));}else{return true;}},arr1:[' ','¡','¢','£','¤','¥','¦','§','¨','©','ª','«','¬','­','®','¯','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼','½','¾','¿','À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','×','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý','þ','ÿ','"','&','<','>','Œ','œ','Š','š','Ÿ','ˆ','˜',' ',' ',' ','‌','‍','‎','‏','–','—','‘','’','‚','“','”','„','†','‡','‰','‹','›','€','ƒ','Α','Β','Γ','Δ','Ε','Ζ','Η','Θ','Ι','Κ','Λ','Μ','Ν','Ξ','Ο','Π','Ρ','Σ','Τ','Υ','Φ','Χ','Ψ','Ω','α','β','γ','δ','ε','ζ','η','θ','ι','κ','λ','μ','ν','ξ','ο','π','ρ','ς','σ','τ','υ','φ','χ','ψ','ω','ϑ','ϒ','ϖ','•','…','′','″','‾','⁄','℘','ℑ','ℜ','™','ℵ','←','↑','→','↓','↔','↵','⇐','⇑','⇒','⇓','⇔','∀','∂','∃','∅','∇','∈','∉','∋','∏','∑','−','∗','√','∝','∞','∠','∧','∨','∩','∪','∫','∴','∼','≅','≈','≠','≡','≤','≥','⊂','⊃','⊄','⊆','⊇','⊕','⊗','⊥','⋅','⌈','⌉','⌊','⌋','⟨','⟩','◊','♠
1881','♣','♥','♦'],arr2:[' ','¡','¢','£','¤','¥','¦','§','¨','©','ª','«','¬','­','®','¯','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼','½','¾','¿','À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','×','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý','þ','ÿ','"','&','<','>','Œ','œ','Š','š','Ÿ','ˆ','˜',' ',' ',' ','‌','‍','‎','‏','–','—','‘','’','‚','“','”','„','†','‡','‰','‹','›','€','ƒ','Α','Β','Γ','Δ','Ε','Ζ','Η','Θ','Ι','Κ','Λ','Μ','Ν','Ξ','Ο','Π','Ρ','Σ','Τ','Υ','Φ','Χ','Ψ','Ω','α','β','γ','δ','ε','ζ','η','θ','ι','κ','λ','μ','ν','ξ','ο','π','ρ','ς','σ','τ','υ','φ','χ','ψ','ω','ϑ','ϒ','ϖ','•','…','′','″','‾','⁄','℘','ℑ','ℜ','™','ℵ','←','↑','→','↓','↔','↵','⇐','⇑','⇒','⇓','⇔','∀','∂','∃','∅','∇','∈','∉','∋','∏','∑','−','∗','√','∝','∞','∠','∧','∨','∩','∪','∫','∴','∼','≅','≈','≠','≡','≤','≥','⊂','⊃','⊄','⊆','⊇','⊕','⊗','⊥','⋅','⌈','⌉','⌊','⌋','〈','〉','◊','♠','♣','♥','♦'],HTML2Numerical:function(s){return this.swapArrayVals(s,this.arr1,this.arr2);},NumericalToHTML:function(s){return this.swapArrayVals(s,this.arr2,this.arr1);},numEncode:function(s){if(this.isEmpty(s))return"";var a=[],l=s.length;for(var i=0;i<l;i++){var c=s.charAt(i);if(c<" "||c>"~"){a.push("&#");a.push(c.charCodeAt());a.push(";");}else{a.push(c);}} 1882return a.join("");},htmlDecode:function(s){var c,m,d=s;if(this.isEmpty(d))return"";d=this.HTML2Numerical(d);arr=d.match(/&#[0-9]{1,5};/g);if(arr!=null){for(var x=0;x<arr.length;x++){m=arr[x];c=m.substring(2,m.length-1);if(c>=-32768&&c<=65535){d=d.replace(m,String.fromCharCode(c));}else{d=d.replace(m,"");}}} 1883return d;},htmlEncode:function(s,dbl){if(this.isEmpty(s))return"";dbl=dbl||false;if(dbl){if(this.EncodeType=="numerical"){s=s.replace(/&/g,"&");}else{s=s.replace(/&/g,"&");}} 1884s=this.XSSEncode(s,false);if(this.EncodeType=="numerical"||!dbl){s=this.HTML2Numerical(s);} 1885s=this.numEncode(s);if(!dbl){s=s.replace(/&#/g,"##AMPHASH##");if(this.EncodeType=="numerical"){s=s.replace(/&/g,"&");}else{s=s.replace(/&/g,"&");} 1886s=s.replace(/##AMPHASH##/g,"&#");} 1887s=s.replace(/&#\d*([^\d;]|$)/g,"$1");if(!dbl){s=this.correctEncoding(s);} 1888if(this.EncodeType=="entity"){s=this.NumericalToHTML(s);} 1889return s;},XSSEncode:function(s,en){if(!this.isEmpty(s)){en=en||true;if(en){s=s.replace(/\'/g,"'");s=s.replace(/\"/g,""");s=s.replace(/</g,"<");s=s.replace(/>/g,">");}else{s=s.replace(/\'/g,"'");s=s.replace(/\"/g,""");s=s.replace(/</g,"<");s=s.replace(/>/g,">");} 1890return s;}else{return"";}},hasEncoded:function(s){if(/&#[0-9]{1,5};/g.test(s)){return true;}else if(/&[A-Z]{2,6};/gi.test(s)){return true;}else{return false;}},stripUnicode:function(s){return s.replace(/[^\x20-\x7E]/g,"");},correctEncoding:function(s){return s.replace(/(&)(amp;)+/,"$1");},swapArrayVals:function(s,arr1,arr2){if(this.isEmpty(s))return"";var re;if(arr1&&arr2){if(arr1.length==arr2.length){for(var x=0,i=arr1.length;x<i;x++){re=new RegExp(arr1[x],'g');s=s.replace(re,arr2[x]);}}} 1891return s;},inArray:function(item,arr){for(var i=0,x=arr.length;i<x;i++){if(arr[i]===item){return i;}} 1892return-1;}}; 1893Basix.namespace('Basix.Tag');Basix.Tag={_globalTagAttributes:['class','dir','id','lang','style','tabindex','title','xml:lang'],_html5GlobalTagAttributes:['role','contenteditable','contextmenu','draggable','dropzone','hidden','spellcheck','translate'],_selfClosingTags:['area','base','br','col','command','embed','hr','img','input','keygen','link','meta','param','source','track','wbr'],_html5Tags:['article','aside','audio','bdi','canvas','command','datalist','details','dialog','embed','figcaption','figure','footer','header','keygen','mark','meter','nav','output','progress','rp','rt','ruby','section','source','
1893summary','time','track','video','wbr'],_deprecatedTags:['acronym','applet','basefont','big','center','dir','font','frame','frameset','noframes','strike','tt'],_globalAttributeOptions:{shape:['default','rect','circle','poly'],hidden:['hidden'],open:['open'],autofocus:['autofocus'],disabled:['disabled'],checked:['checked'],selected:['selected'],novalidate:['novalidate'],autocomplete:['on','off'],formenctype:['application/x-www-form-urlencoded','multipart/form-data','text/plain'],formmethod:['get','post'],formnovalidate:['formnovalidate']},_tagAttributeOptions:{a:{rel:['alternate','author','bookmark','help','license','next','nofollow','noreferrer','prefetch','prev','search','tag']},applet:{align:['left','right','top','bottom','middle','baseline']},area:{rel:['alternate','author','bookmark','help','license','next','nofollow','noreferrer','prefetch','prev','search','tag']},audio:{autoplay:['autoplay'],controls:['controls'],loop:['loop'],muted:['muted'],preload:['auto','metadata','none']},button:{type:['button','reset','submit']},caption:{align:['left','right','top','bottom']},col:{align:['top','middle','bottom','baseline']},colgroup:{align:['top','middle','bottom','baseline']},command:{type:['checkbox','command','radio']},div:{align:['left','right','center','justify']},form:{enctype:['application/x-www-form-urlencoded','multipart/form-data','text/plain'],method:['get','post']},frame:{frameborder:['0','1'],noresize:['noresize'],scrolling:['yes','no','auto']},h1:{align:['left','center','right','justify']},h2:{align:['left','center','right','justify']},h3:{align:['left','center','right','justify']},h4:{align:['left','center','right','justify']},h5:{align:['left','center','right','justify']},h6:{align:['left','center','right','justify']},hr:{align:['left','center','right'],noshade:['noshade']},html:{xmlns:['http://www.w3.org/1999/xhtml']},iframe:{align:['left','right','top','middle','bottom'],frameborder:['0','1'],sandbox:['','allow-forms','allow-same-origin','allow-scripts','allow-top-navigation'],scrolling:['yes','no','auto'],seamless:['seamless']}
1893,img:{align:['top','bottom','middle','left','right'],crossorigin:['anonymous','use-credentials']},input:{align:['left','right','top','middle','bottom'],type:['button','checkbox','color','date','datetime','datetime-local','email','file','hidden','image','month','number','password','radio','range','reset','search','submit','tel','text','time','url','week']},keygen:{challenge:['challenge'],keytype:['rsa','dsa','ec']},legend:{align:['top','bottom','left','right']},li:{type:['1','A','a','I','i','disc','square','circle']},link:{rel:['alternative','archives','author','bookmark','external','first','help','icon','last','license','next','nofollow','noreferrer','pingback','prefetch','prev','search','sidebar','stylesheet','tag','up']},menu:{type:['context','toolbar','list']},meta:{'http-equiv':['content-type','default-style','refresh'],name:['application-name','author','description','generator','keywords']},object:{align:['top','bottom','middle','left','right'],declare:['declare']},ol:{compact:['compact'],reversed:['reversed'],type:['1','A','a','I','i']},p:{align:['left','right','center','justify']},param:{valuetype:['data','ref','object']},script:{async:['async'],defer:['defer'],'xml:space':['preserve']},style:{scoped:['scoped']},table:{align:['left','center','right'],frame:['void','above','below','hsides','lhs','rhs','vsides','box','border'],rules:['none','groups','rows','cols','all']},tbody:{align:['right','left','center','justify','char'],valign:['top','middle','bottom','baseline']},td:{align:['right','left','center','justify','char'],nowrap:['nowrap'],scope:['col','colgroup','row','rowgroup'],valign:['top','middle','bottom','baseline']},textarea:{wrap:['hard','soft']},tfoot:{align:['right','left','center','justify','char'],valign:['top','middle','bottom','baseline']},th:{align:['right','left','center','justify','char'],nowrap:['nowrap'],scope:['col','colgroup','row','rowgroup'],valign:['top','middle','bottom','baseline']},thead:{align:['right','left','center','justify','char'],valign:['top','middle','bottom','baseline']},tr:{align:['right','left','center','justify','char'],valign:['top','middle','bottom','baseline']},track:{'default':['default'],kind:['captions','chapters','descriptions','metadata','subtitles']},ul:{compact:['compact'],type:['disc','square','circle']},video:{autoplay:['autoplay'],controls:['controls'],loop:['loop'],muted:['muted'],preload:['auto','metadata','none']}},_allowedEmptyAttributes:[],_tags:{a:['charset','coords','download','href','hreflang','media','name','rel','rev','shape','target','type'],abbr:[],acronym:[],address:[],applet:['code','object','align','alt','archive','codebase','height','hspace','name','vspace','width'],area:['area','coords','download','href','hreflang','media','nohref','rel','shape','target','type'],article:[],aside:[],audio:['autoplay','controls','loop','muted','preload','src'],b:[],base:['href','target'],basefont:['color','face','size'],bdi:[],bdo:['dir'],big:[],blockquote:['cite'],body:['alink','background','bgcolor','link','text','vlink'],br:[],button:['autofocus','disabled','form','formaction','formenctype','formmethod','formnovalidate','formtarget','name','type','value'],canvas:['height','width'],caption:['align'],center:[],cite:[],code:[],col:['align','char','charoff','span','valign','width'],colgroup:['align','char','charoff','span','valign','width'],command:['checked','disabled','icon','label','radiogroup','type'],datalist:[],dd:[],del:['cite','datetime'],details:['open'],dfn:[],dialog:['open'],dir:['compact'],div:['align'],dl:[],dt:[],em:[],embed:['height','src','type','width'],fieldset:['disabled','form','name'],figcaption:[],figure:[],font:['color','face','size'],footer:[],form:['accept','accept-charset','action','autocomplete','enctype','method','name','novalidate','target'],frame:['frameborder','longdesc','marginheight','marginwidth','name','noresize','scrolling','src'],frameset:['cols','rows'],h1:['align'],h2:['align'],h3:['align'],h4:['align'],h5:['align'],h6:['align'],head:['profile'],header:[],hr:['align','noshade','size','width'],html:['manifest','xmlns'],i:[],iframe:['align','frameborder','height','longdesc','marginheight','marginwidth','name','sandbox','scrolling','seamless','src','srcdoc','
1893width'],img:['align','alt','border','crossorigin','height','hspace','ismap','longdesc','src','usemap','vspace','width'],input:['accept','align','alt','autocomplete','autofocus','checked','disabled','form','formaction','formenctype','formmethod','formnovalidate','formtarget','height','list','max','maxlength','min','multiple','name','pattern','placeholder','readonly','required','size','src','step','type','value','width'],ins:['cite','datetime'],kbd:[],keygen:['autofocus','challenge','disabled','form','keytype','name'],label:['for','form'],legend:['align'],li:['type','value'],link:['charset','href','hreflang','media','rel','rev','sizes','target','type'],map:['name'],mark:[],menu:['label','type'],meta:['charset','content','http-equiv','name','scheme'],meter:['form','high','low','max','min','optimum','value'],nav:[],noframes:[],noscript:[],object:['align','archive','border','classid','codebase','codetype','data','declare','form','height','height','hspace','name','standby','type','usemap','vspace','width'],ol:['compact','reversed','start','type'],optgroup:['disabled','label'],option:['disabled','label','selected','value'],output:['for','form','name'],p:['align'],param:['name','type','value','valuetype'],pre:['width'],progress:['max','value'],q:['cite'],rp:[],rt:[],ruby:[],s:[],samp:[],script:['async','charset','defer','src','type','xml:space'],section:[],select:['autofocus','disabled','form','multiple','name','required','size'],small:[],source:['media','src','type'],span:[],strike:[],strong:[],style:['media','scoped','type'],sub:[],summary:[],sup:[],table:['align','bgcolor','border','cellpadding','cellspacing','frame','rules','summary','width'],tbody:['align','char','charoff','valign'],td:['abbr','align','axis','bgcolor','char','charoff','colspan','headers','height','nowrap','rowspan','scope','valign','width'],textarea:['autofocus','cols','disabled','form','maxlength','name','placeholder','readonly','required','rows','wrap'],tfoot:['align','char','charoff','valign'],th:['abbr','align','axis','bgcolor','char','charoff','colspan','headers','height','nowrap','rowspan','scope','valign','width'],thead:['align','char','charoff','valign'],time:['datetime'],title:[],tr:['align','bgcolor','char','charoff','valign'],track:['default','kind','label','src','srclang'],tt:[],u:[],ul:['compact','type'],'var':[],video:['autoplay','controls','height','loop','muted','poster','preload','src','width'],wbr:[]},_tagDefinitions:{},_buildTagDefinition:function(tagName){if(this._tagDefinitions.hasOwnProperty(tagName)){return;} 1894if(!this._tags.hasOwnProperty(tagName)){throw'Invalid tag "'+tagName+'" in Basix.Tag';} 1895var d={name:tagName,html5:Basix.inArray(tagName,this._html5Tags),deprecated:Basix.inArray(tagName,this._deprecatedTags),attributes:Basix.merge([],this._globalTagAttributes,this._html5GlobalTagAttributes),attributeOptions:{}};d.attributes=Basix.merge(d.attributes,this._tags[tagName]);var attributeName;for(var index in d.attributes){if(d.attributes.hasOwnProperty(index)){attributeName=d.attributes[index];if(this._globalAttributeOptions.hasOwnProperty(attributeName)){d.attributeOptions[attributeName]=Basix.merge([],this._globalAttributeOptions[attributeName]);}}} 1896if(this._tagAttributeOptions.hasOwnProperty(tagName)){d.attributeOptions=Basix.extend(Basix.EXTEND_RECURSIVE,d.attributeOptions,this._tagAttributeOptions[tagName]);} 1897this._tagDefinitions[tagName]=d;},isValidTag:function(tagName){return this._tags.hasOwnProperty(tagName);},isValidAttribute:function(tagName,attributeName){if(this.isValidTag(tagName)){if(attributeName.startsWith('aria-')){return true;} 1898this._buildTagDefinition(tagName);if(!Basix.inArray(attributeName,this._tagDefinitions[tagName].attributes)){console.warn(`Potentially rendering an invalid HTML attribute: ${attributeName} for tag: ${tagName}`);} 1899return true;}else{console.warn(`Potentially rendering an invalid HTML tag: ${tagName}`);} 1900return true;},isValidAttributeValue:function(tagName,attributeName,attributeValue){if(this.isValidAttribute(tagName,attributeName)){if(attributeName.startsWith('aria-')||attributeName==='role'){return true;} 1901if(!this._tagDefinitions[tagName].attributeOptions.hasOwnProperty(attributeName)){return true;} 1902return Basix.inArray(attributeValue,this._tagDefinitions[tagName].attributeOptions[attributeName]);} 1903return false;},getValidAttributes:function(tagName){if(!this.isValidTag(tagName)){return[];} 1904this._buildTagDefinition(tagName);return this._tagDefinitions[tagName].attributes;},getValidAttributeValues:function(tagName,attributeName){if(!this.isValidAttribute(tagName,attributeName)){return[];} 1905if(attributeName.startsWith('aria-')){return[];} 1906return this._tagDefinitions[tagName].attributeOptions[attributeName];},html:function(options,content){var defaultOptions={tag:'div',classes:[],data:{},attributes:{},content:'',closeTag:true,selfClosing:false};options=Basix.extend(true,true,{},defaultOptions,options);options.tag=options.tag.toLowerCase();options.selfClosing=Basix.inArray(options.tag,this._selfClosingTags);this._buildTagDefinition(options.tag);var dataString='';for(var key in options.data){if(options.data.hasOwnProperty(key)){if(key.indexOf('bx-')===0){options.classes.push(key);} 1907dataString+='data-'+Basix.toHyphenatedString(key)+'="'+Basix.Encoder.htmlEncode(Basix.isString(options.data[key])?options.data[key]:JSON.stringify(options.data[key]))+'" ';}} 1908options.attributes['class']=options.classes.join(' ');var html='<'+options.tag+' ';
1908for(var attributeName in options.attributes){if(options.attributes.hasOwnProperty(attributeName)){if(!this.isValidAttribute(options.tag,attributeName)){Basix.clog('Invalid attribute: "'+attributeName+'" for tag: "'+options.tag+'" - Expected one of: ['+this.getValidAttributes(options.tag).join('", "')+'"]');continue;} 1909var attributeValue=options.attributes[attributeName];if(attributeValue===true){attributeValue=attributeName;} 1910if(!this.isValidAttributeValue(options.tag,attributeName,attributeValue)){Basix.clog('Invalid attribute value: "'+attributeValue+'" for attribute: "'+attributeName+'" on tag: "'+options.tag+'" - Expected one of: ["'+this.getValidAttributeValues(options.tag,attributeName).join('", "')+'"]');continue;} 1911if(!attributeValue){continue;} 1912html+=attributeName+'="'+attributeValue+'" ';}} 1913html+=dataString;if(options.selfClosing){html+='/>';}else{html+='>';html+=content?content:'';if(options.closeTag){html+=options.content+'</'+options.tag+'>';}} 1914return html;}}; 1915(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory);}else{factory(jQuery);}}(function($){$.ui=$.ui||{};$.extend($.ui,{version:"@VERSION",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},safeActiveElement:function(document){var activeElement;try{activeElement=document.activeElement;}catch(error){activeElement=document.body;} 1916if(!activeElement){activeElement=document.body;} 1917if(!activeElement.nodeName){activeElement=document.body;} 1918return activeElement;},safeBlur:function(element){if(element&&element.nodeName.toLowerCase()!=="body"){$(element).trigger("blur");}},escapeSelector:(function(){var selectorEscape=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g; 1919 return function( selector ) { 1920 return selector.replace( selectorEscape, "\\$1" ); 1921 }; 1922 } )() 1923} ); 1924 1925// plugins 1926$.fn.extend( { 1927 scrollParent: function( includeHidden ) { 1928 var position = this.css( "position" ), 1929 excludeStaticParent = position === "absolute", 1930 overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, 1931 scrollParent = this.parents().filter( function() { 1932 var parent = $( this ); 1933 if ( excludeStaticParent && parent.css( "position" ) === "static" ) { 1934 return false; 1935 } 1936 return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); 1937 } ).eq( 0 ); 1938 1939 return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; 1940 }, 1941 1942 uniqueId: ( function() { 1943 var uuid = 0; 1944 1945 return function() { 1946 return this.each( function() { 1947 if ( !this.id ) { 1948 this.id = "ui-id-" + ( ++uuid ); 1949 } 1950 } ); 1951 }; 1952 } )(), 1953 1954 removeUniqueId: function() { 1955 return this.each( function() { 1956 if ( /^ui-id-\d+$/.test( this.id ) ) { 1957 $( this ).removeAttr( "id" ); 1958 } 1959 } ); 1960 }, 1961 1962 // Support: IE8 Only 1963 // IE8 does not support the form attribute and when it is supplied. It overwrites the form prop 1964 // with a string, so we need to find the proper form. 1965 form: function() { 1966 return typeof this[ 0 ].form === "string" ? this.closest( "form" ) : $( this[ 0 ].form ); 1967 }, 1968 1969 labels: function() { 1970 var ancestor, selector, id, labels, ancestors; 1971 1972 // Check control.labels first 1973 if ( this[ 0 ].labels && this[ 0 ].labels.length ) { 1974 return this.pushStack( this[ 0 ].labels ); 1975 } 1976 1977 // Support: IE <= 11, FF <= 37, Android <= 2.3 only 1978 // Above browsers do not support control.labels. Everything below is to support them 1979 // as well as document fragments. control.labels does not work on document fragments 1980 labels = this.eq( 0 ).parents( "label" ); 1981 1982 // Look for the label based on the id 1983 id = this.attr( "id" ); 1984 if ( id ) { 1985 1986 // We don't search against the document in case the element 1987 // is disconnected from the DOM 1988 ancestor = this.eq( 0 ).parents().last(); 1989 1990 // Get a full set of top level ancestors 1991 ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() ); 1992 1993 // Create a selector for the label based on the id 1994 selector = "label[for='" + $.ui.escapeSelector( id ) + "']"; 1995 1996 labels = labels.add( ancestors.find( selector ).addBack( selector ) ); 1997 1998 } 1999 2000 // Return whatever we have found for labels 2001 return this.pushStack( labels ); 2002 } 2003} ); 2004 2005// selectors 2006function focusable( element, hasTabindex ) { 2007 var map, mapName, img, 2008 nodeName = element.nodeName.toLowerCase(); 2009 if ( "area" === nodeName ) { 2010 map = element.parentNode; 2011 mapName = map.name; 2012 if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { 2013 return false;
vendor: 6,824 bytes, lines 2014-2178
2014 } 2015 img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; 2016 return !!img && visible( img ); 2017 } 2018 return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ? 2019 !element.disabled : 2020 "a" === nodeName ? 2021 element.href || hasTabindex : 2022 hasTabindex ) && 2023 // the element and all of its ancestors must be visible 2024 visible( element ); 2025} 2026 2027function visible( element ) { 2028 return $.expr.filters.visible( element ) && 2029 !$( element ).parents().addBack().filter( function() { 2030 return $.css( this, "visibility" ) === "hidden"; 2031 } ).length; 2032} 2033 2034$.extend( $.expr[ ":" ], { 2035 data: $.expr.createPseudo ? 2036 $.expr.createPseudo( function( dataName ) { 2037 return function( elem ) { 2038 return !!$.data( elem, dataName ); 2039 }; 2040 } ) : 2041 // support: jQuery <1.8 2042 function( elem, i, match ) { 2043 return !!$.data( elem, match[ 3 ] ); 2044 }, 2045 2046 focusable: function( element ) { 2047 return focusable( element, $.attr( element, "tabindex" ) != null ); 2048 }, 2049 2050 tabbable: function( element ) { 2051 var tabIndex = $.attr( element, "tabindex" ), 2052 hasTabindex = tabIndex != null; 2053 return ( !hasTabindex || tabIndex >= 0 ) && focusable( element, hasTabindex ); 2054 } 2055} ); 2056 2057// support: jQuery 1.7 only 2058// Not a great way to check versions, but since we only support 1.7+ and only 2059// need to detect <1.8, this is a simple check that should suffice. Checking 2060// for "1.7." would be a bit safer, but the version string is 1.7, not 1.7.0 2061// and we'll never reach 1.70.0 (if we do, we certainly won't be supporting 2062// 1.7 anymore). See #11197 for why we're not using feature detection. 2063if ( $.fn.jquery.substring( 0, 3 ) === "1.7" ) { 2064 2065 // Setters for .innerWidth(), .innerHeight(), .outerWidth(), .outerHeight() 2066 // Unlike jQuery Core 1.8+, these only support numeric values to set the 2067 // dimensions in pixels 2068 $.each( [ "Width", "Height" ], function( i, name ) { 2069 var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], 2070 type = name.toLowerCase(), 2071 orig = { 2072 innerWidth: $.fn.innerWidth, 2073 innerHeight: $.fn.innerHeight, 2074 outerWidth: $.fn.outerWidth, 2075 outerHeight: $.fn.outerHeight 2076 }; 2077 2078 function reduce( elem, size, border, margin ) { 2079 $.each( side, function() { 2080 size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; 2081 if ( border ) { 2082 size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; 2083 } 2084 if ( margin ) { 2085 size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; 2086 } 2087 } ); 2088 return size; 2089 } 2090 2091 $.fn[ "inner" + name ] = function( size ) { 2092 if ( size === undefined ) { 2093 return orig[ "inner" + name ].call( this ); 2094 } 2095 2096 return this.each( function() { 2097 $( this ).css( type, reduce( this, size ) + "px" ); 2098 } ); 2099 }; 2100 2101 $.fn[ "outer" + name ] = function( size, margin ) { 2102 if ( typeof size !== "number" ) { 2103 return orig[ "outer" + name ].call( this, size ); 2104 } 2105 2106 return this.each( function() { 2107 $( this ).css( type, reduce( this, size, true, margin ) + "px" ); 2108 } ); 2109 }; 2110 } ); 2111 2112 $.fn.addBack = function( selector ) { 2113 return this.add( selector == null ? 2114 this.prevObject : this.prevObject.filter( selector ) 2115 ); 2116 }; 2117} 2118 2119// deprecated 2120$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); 2121 2122$.fn.extend( { 2123 disableSelection: ( function() { 2124 var eventType = "onselectstart" in document.createElement( "div" ) ? 2125 "selectstart" : 2126 "mousedown"; 2127 2128 return function() { 2129 return this.on( eventType + ".ui-disableSelection", function( event ) { 2130 event.preventDefault(); 2131 } ); 2132 }; 2133 } )(), 2134 2135 enableSelection: function() { 2136 return this.off( ".ui-disableSelection" ); 2137 } 2138} ); 2139 2140// $.ui.plugin is deprecated. Use $.widget() extensions instead. 2141$.ui.plugin = { 2142 add: function( module, option, set ) { 2143 var i, 2144 proto = $.ui[ module ].prototype; 2145 for ( i in set ) { 2146 proto.plugins[ i ] = proto.plugins[ i ] || []; 2147 proto.plugins[ i ].push( [ option, set[ i ] ] ); 2148 } 2149 }, 2150 call: function( instance, name, args, allowDisconnected ) { 2151 var i, 2152 set = instance.plugins[ name ]; 2153 2154 if ( !set ) { 2155 return; 2156 } 2157 2158 if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { 2159 return; 2160 } 2161 2162 for ( i = 0; i < set.length; i++ ) { 2163 if ( instance.options[ set[ i ][ 0 ] ] ) { 2164 set[ i ][ 1 ].apply( instance.element, args ); 2165 } 2166 } 2167 } 2168}; 2169 2170} ) ); 2171 2172(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory);}else{factory(jQuery);}}(function($){var widget_uuid=0,widget_slice=Array.prototype.slice;$.cleanData=(function(orig){return function(elems){var events,elem,i;for(i=0;(elem=elems[i])!=null;i++){try{events=$._data(elem,"events");if(events&&events.remove){$(elem).triggerHandler("remove");}}catch(e){}} 2173orig(elems);};})($.cleanData);$.widget=function(name,base,prototype){var fullName,existingConstructor,constructor,basePrototype,proxiedPrototype={},namespace=name.split(".")[0];name=name.split(".")[1];fullName=namespace+"-"+name;if(!prototype){prototype=base;base=$.Widget;} 2174if($.isArray(prototype)){prototype=$.extend.apply(null,[{}].concat(prototype));} 2175$.expr[":"][fullName.toLowerCase()]=function(elem){return!!$.data(elem,fullName);};$[namespace]=$[namespace]||{};existingConstructor=$[namespace][name];constructor=$[namespace][name]=function(options,element){if(!this._createWidget){return new constructor(options,element);} 2176if(arguments.length){this._createWidget(options,element);}};$.extend(constructor,existingConstructor,{version:prototype.version,_proto:$.extend({},prototype),_childConstructors:[]});basePrototype=new base();basePrototype.options=$.widget.extend({},basePrototype.options);$.each(prototype,function(prop,value){if(!$.isFunction(value)){proxiedPrototype[prop]=value;return;} 2177proxiedPrototype[prop]=(function(){var _super=function(){return base.prototype[prop].apply(this,arguments);},_superApply=function(args){return base.prototype[prop].apply(this,args);};return function(){var __super=this._super,__superApply=this._superApply,returnValue;this._super=_super;this._superApply=_superApply;returnValue=value.apply(this,arguments);this._super=__super;this._superApply=__superApply;return returnValue;};})();});constructor.prototype=$.widget.extend(basePrototype,{widgetEventPrefix:existingConstructor?(basePrototype.widgetEventPrefix||name):name},proxiedPrototype,{constructor:constructor,namespace:namespace,widgetName:name,widgetFullName:fullName});if(existingConstructor){$.each(existingConstructor._childConstructors,function(i,child){var childPrototype=child.prototype;$.widget(childPrototype.namespace+"."+childPrototype.widgetName,constructor,child._proto);});delete existingConstructor._childConstructors;}else{base._childConstructors.push(constructor);} 2178$.widget.bridge(name,constructor);return constructor;};$.widget.extend=function(target){var input=widget_slice.call(arguments,1
vendor: 6,666 bytes, lines 2178-2203
2178),inputIndex=0,inputLength=input.length,key,value;for(;inputIndex<inputLength;inputIndex++){for(key in input[inputIndex]){value=input[inputIndex][key];if(input[inputIndex].hasOwnProperty(key)&&value!==undefined){if($.isPlainObject(value)){target[key]=$.isPlainObject(target[key])?$.widget.extend({},target[key],value):$.widget.extend({},value);}else{target[key]=value;}}}} 2179return target;};$.widget.bridge=function(name,object){var fullName=object.prototype.widgetFullName||name;$.fn[name]=function(options){var isMethodCall=typeof options==="string",args=widget_slice.call(arguments,1),returnValue=this;if(isMethodCall){this.each(function(){var methodValue,instance=$.data(this,fullName);if(options==="instance"){returnValue=instance;return false;} 2180if(!instance){return $.error("cannot call methods on "+name+" prior to initialization; "+"attempted to call method '"+options+"'");} 2181if(!$.isFunction(instance[options])||options.charAt(0)==="_"){return $.error("no such method '"+options+"' for "+name+" widget instance");} 2182methodValue=instance[options].apply(instance,args);if(methodValue!==instance&&methodValue!==undefined){returnValue=methodValue&&methodValue.jquery?returnValue.pushStack(methodValue.get()):methodValue;return false;}});}else{if(args.length){options=$.widget.extend.apply(null,[options].concat(args));} 2183this.each(function(){var instance=$.data(this,fullName);if(instance){instance.option(options||{});if(instance._init){instance._init();}}else{$.data(this,fullName,new object(options,this));}});} 2184return returnValue;};};$.Widget=function(){};$.Widget._childConstructors=[];$.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:false,create:null},_createWidget:function(options,element){element=$(element||this.defaultElement||this)[0];this.element=$(element);this.uuid=widget_uuid++;this.eventNamespace="."+this.widgetName+this.uuid;this.bindings=$();this.hoverable=$();this.focusable=$();this.classesElementLookup={};if(element!==this){$.data(element,this.widgetFullName,this);this._on(true,this.element,{remove:function(event){if(event.target===element){this.destroy();}}});this.document=$(element.style?element.ownerDocument:element.document||element);this.window=$(this.document[0].defaultView||this.document[0].parentWindow);} 2185this.options=$.widget.extend({},this.options,this._getCreateOptions(),options);this._create();this._trigger("create",null,this._getCreateEventData());this._init();},_getCreateOptions:$.noop,_getCreateEventData:$.noop,_create:$.noop,_init:$.noop,destroy:function(){var that=this;this._destroy();$.each(this.classesElementLookup,function(key,value){that._removeClass(value,key);});this.element.off(this.eventNamespace).removeData(this.widgetFullName);this.widget().off(this.eventNamespace).removeAttr("aria-disabled");this.bindings.off(this.eventNamespace);},_destroy:$.noop,widget:function(){return this.element;},option:function(key,value){var options=key,parts,curOption,i;if(arguments.length===0){return $.widget.extend({},this.options);} 2186if(typeof key==="string"){options={};parts=key.split(".");key=parts.shift();if(parts.length){curOption=options[key]=$.widget.extend({},this.options[key]);for(i=0;i<parts.length-1;i++){curOption[parts[i]]=curOption[parts[i]]||{};curOption=curOption[parts[i]];} 2187key=parts.pop();if(arguments.length===1){return curOption[key]===undefined?null:curOption[key];} 2188curOption[key]=value;}else{if(arguments.length===1){return this.options[key]===undefined?null:this.options[key];} 2189options[key]=value;}} 2190this._setOptions(options);return this;},_setOptions:function(options){var key;for(key in options){this._setOption(key,options[key]);} 2191return this;},_setOption:function(key,value){if(key==="classes"){this._setOptionClasses(value);} 2192this.options[key]=value;if(key==="disabled"){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!value);if(value){this._removeClass(this.hoverable,null,"ui-state-hover");this._removeClass(this.focusable,null,"ui-state-focus");}} 2193return this;},_setOptionClasses:function(value){var classKey,elements,currentElements;for(classKey in value){currentElements=this.classesElementLookup[classKey];if(value[classKey]===this.options.classes[classKey]||!currentElements||!currentElements.length){continue;} 2194elements=$(currentElements.get());this._removeClass(currentElements,classKey);elements.addClass(this._classes({element:elements,keys:classKey,classes:value,add:true}));}},enable:function(){return this._setOptions({disabled:false});},disable:function(){return this._setOptions({disabled:true});},_classes:function(options){var full=[],that=this;options=$.extend({element:this.element,classes:this.options.classes||{}},options);function processClassString(classes,checkOption){var current,i;for(i=0;i<classes.length;i++){current=that.classesElementLookup[classes[i]]||$();if(options.add){current=$($.unique(current.get().concat(options.element.get())));}else{current=$(current.not(options.element).get());} 2195that.classesElementLookup[classes[i]]=current;full.push(classes[i]);if(checkOption&&options.classes[classes[i]]){full.push(options.classes[classes[i]]);}}} 2196if(options.keys){processClassString(options.keys.match(/\S+/g)||[],true);} 2197if(options.extra){processClassString(options.extra.match(/\S+/g)||[]);} 2198return full.join(" ");},_removeClass:function(element,keys,extra){return this._toggleClass(element,keys,extra,false);},_addClass:function(element,keys,extra){return this._toggleClass(element,keys,extra,true);},_toggleClass:function(element,keys,extra,add){add=(typeof add==="boolean")?add:extra;var shift=(typeof element==="string"||element===null),options={extra:shift?keys:extra,keys:shift?element:keys,element:shift?this.element:element,add:add};options.element.toggleClass(this._classes(options),add);return this;},_on:function(suppressDisabledCheck,element,handlers){var delegateElement,instance=this;if(typeof suppressDisabledCheck!=="boolean"){handlers=element;element=suppressDisabledCheck;suppressDisabledCheck=false;} 2199if(!handlers){handlers=element;element=this.element;delegateElement=this.widget();}else{element=delegateElement=$(element);this.bindings=this.bindings.add(element);} 2200$.each(handlers,function(event,handler){function handlerProxy(){if(!suppressDisabledCheck&&(instance.options.disabled===true||$(this).hasClass("ui-state-disabled"))){return;} 2201return(typeof handler==="string"?instance[handler]:handler).apply(instance,arguments);} 2202if(typeof handler!=="string"){handlerProxy.guid=handler.guid=handler.guid||handlerProxy.guid||$.guid++;} 2203var match=event.match(/^([\w:-]*)\s*(.*)$/),eventName=match[1]+instance.eventNamespace,selector=match[2];
vendor: 4,105 bytes, lines 2203-2214
2203if(selector){delegateElement.on(eventName,selector,handlerProxy);}else{element.on(eventName,handlerProxy);}});},_off:function(element,eventName){eventName=(eventName||"").split(" ").join(this.eventNamespace+" ")+ 2204this.eventNamespace;element.off(eventName).off(eventName);this.bindings=$(this.bindings.not(element).get());this.focusable=$(this.focusable.not(element).get());this.hoverable=$(this.hoverable.not(element).get());},_delay:function(handler,delay){function handlerProxy(){return(typeof handler==="string"?instance[handler]:handler).apply(instance,arguments);} 2205var instance=this;return setTimeout(handlerProxy,delay||0);},_hoverable:function(element){this.hoverable=this.hoverable.add(element);this._on(element,{mouseenter:function(event){this._addClass($(event.currentTarget),null,"ui-state-hover");},mouseleave:function(event){this._removeClass($(event.currentTarget),null,"ui-state-hover");}});},_focusable:function(element){this.focusable=this.focusable.add(element);this._on(element,{focusin:function(event){this._addClass($(event.currentTarget),null,"ui-state-focus");},focusout:function(event){this._removeClass($(event.currentTarget),null,"ui-state-focus");}});},_trigger:function(type,event,data){var prop,orig,callback=this.options[type];data=data||{};event=$.Event(event);event.type=(type===this.widgetEventPrefix?type:this.widgetEventPrefix+type).toLowerCase();event.target=this.element[0];orig=event.originalEvent;if(orig){for(prop in orig){if(!(prop in event)){event[prop]=orig[prop];}}} 2206this.element.trigger(event,data);return!($.isFunction(callback)&&callback.apply(this.element[0],[event].concat(data))===false||event.isDefaultPrevented());}};$.each({show:"fadeIn",hide:"fadeOut"},function(method,defaultEffect){$.Widget.prototype["_"+method]=function(element,options,callback){if(typeof options==="string"){options={effect:options};} 2207var hasOptions,effectName=!options?method:options===true||typeof options==="number"?defaultEffect:options.effect||defaultEffect;options=options||{};if(typeof options==="number"){options={duration:options};} 2208hasOptions=!$.isEmptyObject(options);options.complete=callback;if(options.delay){element.delay(options.delay);} 2209if(hasOptions&&$.effects&&$.effects.effect[effectName]){element[method](options);}else if(effectName!==method&&element[effectName]){element[effectName](options.duration,options.easing,callback);}else{element.queue(function(next){$(this)[method]();if(callback){callback.call(element[0]);} 2210next();});}};});return $.widget;})); 2211(function(factory){if(typeof define==="function"&&define.amd){define(["jquery","./widget"],factory);}else{factory(jQuery);}}(function($){var mouseHandled=false;$(document).on("mouseup",function(){mouseHandled=false;});return $.widget("ui.mouse",{version:"@VERSION",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var that=this;this.element.on("mousedown."+this.widgetName,function(event){return that._mouseDown(event);}).on("click."+this.widgetName,function(event){if(true===$.data(event.target,that.widgetName+".preventClickEvent")){$.removeData(event.target,that.widgetName+".preventClickEvent");event.stopImmediatePropagation();return false;}});this.started=false;},_mouseDestroy:function(){this.element.off("."+this.widgetName);if(this._mouseMoveDelegate){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate);}},_mouseDown:function(event){if(mouseHandled){return;} 2212this._mouseMoved=false;(this._mouseStarted&&this._mouseUp(event));this._mouseDownEvent=event;var that=this,btnIsLeft=(event.which===1),elIsCancel=(typeof this.options.cancel==="string"&&event.target.nodeName?$(event.target).closest(this.options.cancel).length:false);if(!btnIsLeft||elIsCancel||!this._mouseCapture(event)){return true;} 2213this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){that.mouseDelayMet=true;},this.options.delay);} 2214if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(event)!==false);
vendor: 6,916 bytes, lines 2214-2239
2214if(!this._mouseStarted){event.preventDefault();return true;}} 2215if(true===$.data(event.target,this.widgetName+".preventClickEvent")){$.removeData(event.target,this.widgetName+".preventClickEvent");} 2216this._mouseMoveDelegate=function(event){return that._mouseMove(event);};this._mouseUpDelegate=function(event){return that._mouseUp(event);};this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate);event.preventDefault();mouseHandled=true;return true;},_mouseMove:function(event){if(this._mouseMoved){if($.ui.ie&&(!document.documentMode||document.documentMode<9)&&!event.button){return this._mouseUp(event);}else if(!event.which){return this._mouseUp(event);}} 2217if(event.which||event.button){this._mouseMoved=true;} 2218if(this._mouseStarted){this._mouseDrag(event);return event.preventDefault();} 2219if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,event)!==false);(this._mouseStarted?this._mouseDrag(event):this._mouseUp(event));} 2220return!this._mouseStarted;},_mouseUp:function(event){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(event.target===this._mouseDownEvent.target){$.data(event.target,this.widgetName+".preventClickEvent",true);} 2221this._mouseStop(event);} 2222mouseHandled=false;return false;},_mouseDistanceMet:function(event){return(Math.max(Math.abs(this._mouseDownEvent.pageX-event.pageX),Math.abs(this._mouseDownEvent.pageY-event.pageY))>=this.options.distance);},_mouseDelayMet:function(){return this.mouseDelayMet;},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true;}});})); 2223(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory);}else{factory(jQuery);}}(function($){(function(){$.ui=$.ui||{};var cachedScrollbarWidth,supportsOffsetFractions,max=Math.max,abs=Math.abs,round=Math.round,rhorizontal=/left|center|right/,rvertical=/top|center|bottom/,roffset=/[\+\-]\d+(\.[\d]+)?%?/,rposition=/^\w+/,rpercent=/%$/,_position=$.fn.position;supportsOffsetFractions=function(){var element=$("<div>").css("position","absolute").appendTo("body").offset({top:1.5,left:1.5}),support=element.offset().top===1.5;element.remove();supportsOffsetFractions=function(){return support;};return support;};function getOffsets(offsets,width,height){return[parseFloat(offsets[0])*(rpercent.test(offsets[0])?width / 100:1),parseFloat(offsets[1])*(rpercent.test(offsets[1])?height / 100:1)];} 2224function parseCss(element,property){return parseInt($.css(element,property),10)||0;} 2225function getDimensions(elem){var raw=elem[0];if(raw.nodeType===9){return{width:elem.width(),height:elem.height(),offset:{top:0,left:0}};} 2226if($.isWindow(raw)){return{width:elem.width(),height:elem.height(),offset:{top:elem.scrollTop(),left:elem.scrollLeft()}};} 2227if(raw.preventDefault){return{width:0,height:0,offset:{top:raw.pageY,left:raw.pageX}};} 2228return{width:elem.outerWidth(),height:elem.outerHeight(),offset:elem.offset()};} 2229$.position={scrollbarWidth:function(){if(cachedScrollbarWidth!==undefined){return cachedScrollbarWidth;} 2230var w1,w2,div=$("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),innerDiv=div.children()[0];$("body").append(div);w1=innerDiv.offsetWidth;div.css("overflow","scroll");w2=innerDiv.offsetWidth;if(w1===w2){w2=div[0].clientWidth;} 2231div.remove();return(cachedScrollbarWidth=w1-w2);},getScrollInfo:function(within){var overflowX=within.isWindow||within.isDocument?"":within.element.css("overflow-x"),overflowY=within.isWindow||within.isDocument?"":within.element.css("overflow-y"),hasOverflowX=overflowX==="scroll"||(overflowX==="auto"&&within.width<within.element[0].scrollWidth),hasOverflowY=overflowY==="scroll"||(overflowY==="auto"&&within.height<within.element[0].scrollHeight);return{width:hasOverflowY?$.position.scrollbarWidth():0,height:hasOverflowX?$.position.scrollbarWidth():0};},getWithinInfo:function(element){var withinElement=$(element||window),isWindow=$.isWindow(withinElement[0]),isDocument=!!withinElement[0]&&withinElement[0].nodeType===9;return{element:withinElement,isWindow:isWindow,isDocument:isDocument,offset:withinElement.offset()||{left:0,top:0},scrollLeft:withinElement.scrollLeft(),scrollTop:withinElement.scrollTop(),width:withinElement.outerWidth(),height:withinElement.outerHeight()};}};$.fn.position=function(options){if(!options||!options.of){return _position.apply(this,arguments);} 2232options=$.extend({},options);var atOffset,targetWidth,targetHeight,targetOffset,basePosition,dimensions,target=$(options.of),within=$.position.getWithinInfo(options.within),scrollInfo=$.position.getScrollInfo(within),collision=(options.collision||"flip").split(" "),offsets={};dimensions=getDimensions(target);if(target[0].preventDefault){options.at="left top";} 2233targetWidth=dimensions.width;targetHeight=dimensions.height;targetOffset=dimensions.offset;basePosition=$.extend({},targetOffset);$.each(["my","at"],function(){var pos=(options[this]||"").split(" "),horizontalOffset,verticalOffset;if(pos.length===1){pos=rhorizontal.test(pos[0])?pos.concat(["center"]):rvertical.test(pos[0])?["center"].concat(pos):["center","center"];} 2234pos[0]=rhorizontal.test(pos[0])?pos[0]:"center";pos[1]=rvertical.test(pos[1])?pos[1]:"center";horizontalOffset=roffset.exec(pos[0]);verticalOffset=roffset.exec(pos[1]);offsets[this]=[horizontalOffset?horizontalOffset[0]:0,verticalOffset?verticalOffset[0]:0];options[this]=[rposition.exec(pos[0])[0],rposition.exec(pos[1])[0]];});if(collision.length===1){collision[1]=collision[0];} 2235if(options.at[0]==="right"){basePosition.left+=targetWidth;}else if(options.at[0]==="center"){basePosition.left+=targetWidth / 2;} 2236if(options.at[1]==="bottom"){basePosition.top+=targetHeight;}else if(options.at[1]==="center"){basePosition.top+=targetHeight / 2;} 2237atOffset=getOffsets(offsets.at,targetWidth,targetHeight);basePosition.left+=atOffset[0];basePosition.top+=atOffset[1];return this.each(function(){var collisionPosition,using,elem=$(this),elemWidth=elem.outerWidth(),elemHeight=elem.outerHeight(),marginLeft=parseCss(this,"marginLeft"),marginTop=parseCss(this,"marginTop"),collisionWidth=elemWidth+marginLeft+parseCss(this,"marginRight")+scrollInfo.width,collisionHeight=elemHeight+marginTop+parseCss(this,"marginBottom")+scrollInfo.height,position=$.extend({},basePosition),myOffset=getOffsets(offsets.my,elem.outerWidth(),elem.outerHeight());if(options.my[0]==="right"){position.left-=elemWidth;}else if(options.my[0]==="center"){position.left-=elemWidth / 2;} 2238if(options.my[1]==="bottom"){position.top-=elemHeight;}else if(options.my[1]==="center"){position.top-=elemHeight / 2;} 2239position.left+=myOffset[0];position.top+=myOffset[1];
vendor: 6,117 bytes, lines 2239-2248
2239if(!supportsOffsetFractions()){position.left=round(position.left);position.top=round(position.top);} 2240collisionPosition={marginLeft:marginLeft,marginTop:marginTop};$.each(["left","top"],function(i,dir){if($.ui.position[collision[i]]){$.ui.position[collision[i]][dir](position,{targetWidth:targetWidth,targetHeight:targetHeight,elemWidth:elemWidth,elemHeight:elemHeight,collisionPosition:collisionPosition,collisionWidth:collisionWidth,collisionHeight:collisionHeight,offset:[atOffset[0]+myOffset[0],atOffset[1]+myOffset[1]],my:options.my,at:options.at,within:within,elem:elem});}});if(options.using){using=function(props){var left=targetOffset.left-position.left,right=left+targetWidth-elemWidth,top=targetOffset.top-position.top,bottom=top+targetHeight-elemHeight,feedback={target:{element:target,left:targetOffset.left,top:targetOffset.top,width:targetWidth,height:targetHeight},element:{element:elem,left:position.left,top:position.top,width:elemWidth,height:elemHeight},horizontal:right<0?"left":left>0?"right":"center",vertical:bottom<0?"top":top>0?"bottom":"middle"};if(targetWidth<elemWidth&&abs(left+right)<targetWidth){feedback.horizontal="center";} 2241if(targetHeight<elemHeight&&abs(top+bottom)<targetHeight){feedback.vertical="middle";} 2242if(max(abs(left),abs(right))>max(abs(top),abs(bottom))){feedback.important="horizontal";}else{feedback.important="vertical";} 2243options.using.call(this,props,feedback);};} 2244elem.offset($.extend(position,{using:using}));});};$.ui.position={fit:{left:function(position,data){var within=data.within,withinOffset=within.isWindow?within.scrollLeft:within.offset.left,outerWidth=within.width,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=withinOffset-collisionPosLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-withinOffset,newOverRight;if(data.collisionWidth>outerWidth){if(overLeft>0&&overRight<=0){newOverRight=position.left+overLeft+data.collisionWidth-outerWidth-withinOffset;position.left+=overLeft-newOverRight;}else if(overRight>0&&overLeft<=0){position.left=withinOffset;}else{if(overLeft>overRight){position.left=withinOffset+outerWidth-data.collisionWidth;}else{position.left=withinOffset;}}}else if(overLeft>0){position.left+=overLeft;}else if(overRight>0){position.left-=overRight;}else{position.left=max(position.left-collisionPosLeft,position.left);}},top:function(position,data){var within=data.within,withinOffset=within.isWindow?within.scrollTop:within.offset.top,outerHeight=data.within.height,collisionPosTop=position.top-data.collisionPosition.marginTop,overTop=withinOffset-collisionPosTop,overBottom=collisionPosTop+data.collisionHeight-outerHeight-withinOffset,newOverBottom;if(data.collisionHeight>outerHeight){if(overTop>0&&overBottom<=0){newOverBottom=position.top+overTop+data.collisionHeight-outerHeight-withinOffset;position.top+=overTop-newOverBottom;}else if(overBottom>0&&overTop<=0){position.top=withinOffset;}else{if(overTop>overBottom){position.top=withinOffset+outerHeight-data.collisionHeight;}else{position.top=withinOffset;}}}else if(overTop>0){position.top+=overTop;}else if(overBottom>0){position.top-=overBottom;}else{position.top=max(position.top-collisionPosTop,position.top);}}},flip:{left:function(position,data){var within=data.within,withinOffset=within.offset.left+within.scrollLeft,outerWidth=within.width,offsetLeft=within.isWindow?within.scrollLeft:within.offset.left,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=collisionPosLeft-offsetLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-offsetLeft,myOffset=data.my[0]==="left"?-data.elemWidth:data.my[0]==="right"?data.elemWidth:0,atOffset=data.at[0]==="left"?data.targetWidth:data.at[0]==="right"?-data.targetWidth:0,offset=-2*data.offset[0],newOverRight,newOverLeft;if(overLeft<0){newOverRight=position.left+myOffset+atOffset+offset+data.collisionWidth-outerWidth-withinOffset;if(newOverRight<0||newOverRight<abs(overLeft)){position.left+=myOffset+atOffset+offset;}}else if(overRight>0){newOverLeft=position.left-data.collisionPosition.marginLeft+myOffset+atOffset+offset-offsetLeft;if(newOverLeft>0||abs(newOverLeft)<overRight){position.left+=myOffset+atOffset+offset;}}},top:function(position,data){var within=data.within,withinOffset=within.offset.top+within.scrollTop,outerHeight=within.height,offsetTop=within.isWindow?within.scrollTop:within.offset.top,collisionPosTop=position.top-data.collisionPosition.marginTop,overTop=collisionPosTop-offsetTop,overBottom=collisionPosTop+data.collisionHeight-outerHeight-offsetTop,top=data.my[1]==="top",myOffset=top?-data.elemHeight:data.my[1]==="bottom"?data.elemHeight:0,atOffset=data.at[1]==="top"?data.targetHeight:data.at[1]==="bottom"?-data.targetHeight:0,offset=-2*data.offset[1],newOverTop,newOverBottom;if(overTop<0){newOverBottom=position.top+myOffset+atOffset+offset+data.collisionHeight-outerHeight-withinOffset;if(newOverBottom<0||newOverBottom<abs(overTop)){position.top+=myOffset+atOffset+offset;}}else if(overBottom>0){newOverTop=position.top-data.collisionPosition.marginTop+myOffset+atOffset+offset-offsetTop;if(newOverTop>0||abs(newOverTop)<overBottom){position.top+=myOffset+atOffset+offset;}}}},flipfit:{left:function(){$.ui.position.flip.left.apply(this,arguments);$.ui.position.fit.left.apply(this,arguments);},top:function(){$.ui.position.flip.top.apply(this,arguments);$.ui.position.fit.top.apply(this,arguments);}}};})();return $.ui.position;})); 2245(function($){$.support.touch='ontouchend'in document;if(!$.support.touch){return;} 2246var mouseProto=$.ui.mouse.prototype,_mouseInit=mouseProto._mouseInit,_mouseDestroy=mouseProto._mouseDestroy,touchHandled;function simulateMouseEvent(event,simulatedType){if(event.originalEvent.touches.length>1){return;} 2247event.preventDefault();var touch=event.originalEvent.changedTouches[0],simulatedEvent=document.createEvent('MouseEvents');simulatedEvent.initMouseEvent(simulatedType,true,true,window,1,touch.screenX,touch.screenY,touch.clientX,touch.clientY,false,false,false,false,0,null);event.target.dispatchEvent(simulatedEvent);} 2248mouseProto._touchStart=function(event){var self=this;
2248if(touchHandled||!self._mouseCapture(event.originalEvent.changedTouches[0])){return;} 2249touchHandled=true;self._touchMoved=false;simulateMouseEvent(event,'mouseover');simulateMouseEvent(event,'mousemove');simulateMouseEvent(event,'mousedown');};mouseProto._touchMove=function(event){if(!touchHandled){return;} 2250this._touchMoved=true;simulateMouseEvent(event,'mousemove');};mouseProto._touchEnd=function(event){if(!touchHandled){return;} 2251simulateMouseEvent(event,'mouseup');simulateMouseEvent(event,'mouseout');if(!this._touchMoved){simulateMouseEvent(event,'click');} 2252touchHandled=false;};mouseProto._mouseInit=function(){var self=this;self.element.bind({touchstart:$.proxy(self,'_touchStart'),touchmove:$.proxy(self,'_touchMove'),touchend:$.proxy(self,'_touchEnd')});_mouseInit.call(self);};mouseProto._mouseDestroy=function(){var self=this;self.element.unbind({touchstart:$.proxy(self,'_touchStart'),touchmove:$.proxy(self,'_touchMove'),touchend:$.proxy(self,'_touchEnd')});_mouseDestroy.call(self);};})(jQuery); 2253(function(factory){if(typeof define==="function"&&define.amd){define(["jquery","./core","./mouse","./widget"],factory);}else{factory(jQuery);}}(function($){$.widget("ui.draggable",$.ui.mouse,{version:"@VERSION",widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false,drag:null,start:null,stop:null},_create:function(){if(this.options.helper==="original"){this._setPositionRelative();} 2254if(this.options.addClasses){this._addClass("ui-draggable");} 2255if(this.options.disabled){this._addClass("ui-draggable-disabled");} 2256this._setHandleClassName();this._mouseInit();},_setOption:function(key,value){this._super(key,value);if(key==="handle"){this._removeHandleClassName();this._setHandleClassName();}},_destroy:function(){if((this.helper||this.element).is(".ui-draggable-dragging")){this.destroyOnClear=true;return;} 2257this._removeHandleClassName();this._mouseDestroy();},_mouseCapture:function(event){var o=this.options;this._blurActiveElement(event);if(this.helper||o.disabled||$(event.target).closest(".ui-resizable-handle").length>0){return false;} 2258this.handle=this._getHandle(event);if(!this.handle){return false;} 2259this._blockFrames(o.iframeFix===true?"iframe":o.iframeFix);return true;},_blockFrames:function(selector){this.iframeBlocks=this.document.find(selector).map(function(){var iframe=$(this);return $("<div>").css("position","absolute").appendTo(iframe.parent()).outerWidth(iframe.outerWidth()).outerHeight(iframe.outerHeight()).offset(iframe.offset())[0];});},_unblockFrames:function(){if(this.iframeBlocks){this.iframeBlocks.remove();delete this.iframeBlocks;}},_blurActiveElement:function(event){if(!this.handleElement.is(event.target)){return;} 2260$.ui.safeBlur($.ui.safeActiveElement(this.document[0]));},_mouseStart:function(event){var o=this.options;this.helper=this._createHelper(event);this._addClass(this.helper,"ui-draggable-dragging");this._cacheHelperProportions();if($.ui.ddmanager){$.ui.ddmanager.current=this;} 2261this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent(true);this.offsetParent=this.helper.offsetParent();this.hasFixedAncestor=this.helper.parents().filter(function(){return $(this).css("position")==="fixed";}).length>0;this.positionAbs=this.element.offset();this._refreshOffsets(event);this.originalPosition=this.position=this._generatePosition(event,false);this.originalPageX=event.pageX;this.originalPageY=event.pageY;(o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt));this._setContainment();if(this._trigger("start",event)===false){this._clear();return false;} 2262this._cacheHelperProportions();if($.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event);} 2263this._mouseDrag(event,true);if($.ui.ddmanager){$.ui.ddmanager.dragStart(this,event);} 2264return true;},_refreshOffsets:function(event){this.offset={top:this.positionAbs.top-this.margins.top,left
vendor: 5,904 bytes, lines 2264-2291
2264:this.positionAbs.left-this.margins.left,scroll:false,parent:this._getParentOffset(),relative:this._getRelativeOffset()};this.offset.click={left:event.pageX-this.offset.left,top:event.pageY-this.offset.top};},_mouseDrag:function(event,noPropagation){if(this.hasFixedAncestor){this.offset.parent=this._getParentOffset();} 2265this.position=this._generatePosition(event,true);this.positionAbs=this._convertPositionTo("absolute");if(!noPropagation){var ui=this._uiHash();if(this._trigger("drag",event,ui)===false){this._mouseUp({});return false;} 2266this.position=ui.position;} 2267this.helper[0].style.left=this.position.left+"px";this.helper[0].style.top=this.position.top+"px";if($.ui.ddmanager){$.ui.ddmanager.drag(this,event);} 2268return false;},_mouseStop:function(event){var that=this,dropped=false;if($.ui.ddmanager&&!this.options.dropBehaviour){dropped=$.ui.ddmanager.drop(this,event);} 2269if(this.dropped){dropped=this.dropped;this.dropped=false;} 2270if((this.options.revert==="invalid"&&!dropped)||(this.options.revert==="valid"&&dropped)||this.options.revert===true||($.isFunction(this.options.revert)&&this.options.revert.call(this.element,dropped))){$(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){if(that._trigger("stop",event)!==false){that._clear();}});}else{if(this._trigger("stop",event)!==false){this._clear();}} 2271return false;},_mouseUp:function(event){this._unblockFrames();if($.ui.ddmanager){$.ui.ddmanager.dragStop(this,event);} 2272if(this.handleElement.is(event.target)){this.element.trigger("focus");} 2273return $.ui.mouse.prototype._mouseUp.call(this,event);},cancel:function(){if(this.helper.is(".ui-draggable-dragging")){this._mouseUp({});}else{this._clear();} 2274return this;},_getHandle:function(event){return this.options.handle?!!$(event.target).closest(this.element.find(this.options.handle)).length:true;},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element;this._addClass(this.handleElement,"ui-draggable-handle");},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle");},_createHelper:function(event){var o=this.options,helperIsFunction=$.isFunction(o.helper),helper=helperIsFunction?$(o.helper.apply(this.element[0],[event])):(o.helper==="clone"?this.element.clone().removeAttr("id"):this.element);if(!helper.parents("body").length){helper.appendTo((o.appendTo==="parent"?this.element[0].parentNode:o.appendTo));} 2275if(helperIsFunction&&helper[0]===this.element[0]){this._setPositionRelative();} 2276if(helper[0]!==this.element[0]&&!(/(fixed|absolute)/).test(helper.css("position"))){helper.css("position","absolute");} 2277return helper;},_setPositionRelative:function(){if(!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative";}},_adjustOffsetFromHelper:function(obj){if(typeof obj==="string"){obj=obj.split(" ");} 2278if($.isArray(obj)){obj={left:+obj[0],top:+obj[1]||0};} 2279if("left"in obj){this.offset.click.left=obj.left+this.margins.left;} 2280if("right"in obj){this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;} 2281if("top"in obj){this.offset.click.top=obj.top+this.margins.top;} 2282if("bottom"in obj){this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top;}},_isRootNode:function(element){return(/(html|body)/i).test(element.tagName)||element===this.document[0];},_getParentOffset:function(){var po=this.offsetParent.offset(),document=this.document[0];if(this.cssPosition==="absolute"&&this.scrollParent[0]!==document&&$.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop();} 2283if(this._isRootNode(this.offsetParent[0])){po={top:0,left:0};} 2284return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition!=="relative"){return{top:0,left:0};} 2285var p=this.element.position(),scrollIsRootNode=this._isRootNode(this.scrollParent[0]);return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+(!scrollIsRootNode?this.scrollParent.scrollTop():0),left:p.left-(parseInt(this.helper.css("left"),10)||0)+(!scrollIsRootNode?this.scrollParent.scrollLeft():0)};},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0),right:(parseInt(this.element.css("marginRight"),10)||0),bottom:(parseInt(this.element.css("marginBottom"),10)||0)};},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};},_setContainment:function(){var isUserScrollable,c,ce,o=this.options,document=this.document[0];this.relativeContainer=null;if(!o.containment){this.containment=null;return;} 2286if(o.containment==="window"){this.containment=[$(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,$(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,$(window).scrollLeft()+$(window).width()-this.helperProportions.width-this.margins.left,$(window).scrollTop()+($(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];return;} 2287if(o.containment==="document"){this.containment=[0,0,$(document).width()-this.helperProportions.width-this.margins.left,($(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];return;} 2288if(o.containment.constructor===Array){this.containment=o.containment;return;} 2289if(o.containment==="parent"){o.containment=this.helper[0].parentNode;} 2290c=$(o.containment);ce=c[0];if(!ce){return;} 2291isUserScrollable=/(scroll|auto)/.test(c.css("overflow"));this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),
vendor: 8,057 bytes, lines 2291-2336
229110)||0)+(parseInt(c.css("paddingTop"),10)||0),(isUserScrollable?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)- 2292(parseInt(c.css("borderRightWidth"),10)||0)- 2293(parseInt(c.css("paddingRight"),10)||0)- 2294this.helperProportions.width- 2295this.margins.left- 2296this.margins.right,(isUserScrollable?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)- 2297(parseInt(c.css("borderBottomWidth"),10)||0)- 2298(parseInt(c.css("paddingBottom"),10)||0)- 2299this.helperProportions.height- 2300this.margins.top- 2301this.margins.bottom];this.relativeContainer=c;},_convertPositionTo:function(d,pos){if(!pos){pos=this.position;} 2302var mod=d==="absolute"?1:-1,scrollIsRootNode=this._isRootNode(this.scrollParent[0]);return{top:(pos.top+ 2303this.offset.relative.top*mod+ 2304this.offset.parent.top*mod- 2305((this.cssPosition==="fixed"?-this.offset.scroll.top:(scrollIsRootNode?0:this.offset.scroll.top))*mod)),left:(pos.left+ 2306this.offset.relative.left*mod+ 2307this.offset.parent.left*mod- 2308((this.cssPosition==="fixed"?-this.offset.scroll.left:(scrollIsRootNode?0:this.offset.scroll.left))*mod))};},_generatePosition:function(event,constrainPosition){var containment,co,top,left,o=this.options,scrollIsRootNode=this._isRootNode(this.scrollParent[0]),pageX=event.pageX,pageY=event.pageY;if(!scrollIsRootNode||!this.offset.scroll){this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()};} 2309if(constrainPosition){if(this.containment){if(this.relativeContainer){co=this.relativeContainer.offset();containment=[this.containment[0]+co.left,this.containment[1]+co.top,this.containment[2]+co.left,this.containment[3]+co.top];}else{containment=this.containment;} 2310if(event.pageX-this.offset.click.left<containment[0]){pageX=containment[0]+this.offset.click.left;} 2311if(event.pageY-this.offset.click.top<containment[1]){pageY=containment[1]+this.offset.click.top;} 2312if(event.pageX-this.offset.click.left>containment[2]){pageX=containment[2]+this.offset.click.left;} 2313if(event.pageY-this.offset.click.top>containment[3]){pageY=containment[3]+this.offset.click.top;}} 2314if(o.grid){top=o.grid[1]?this.originalPageY+Math.round((pageY-this.originalPageY)/ o.grid[1])*o.grid[1]:this.originalPageY;pageY=containment?((top-this.offset.click.top>=containment[1]||top-this.offset.click.top>containment[3])?top:((top-this.offset.click.top>=containment[1])?top-o.grid[1]:top+o.grid[1])):top;left=o.grid[0]?this.originalPageX+Math.round((pageX-this.originalPageX)/ o.grid[0])*o.grid[0]:this.originalPageX;pageX=containment?((left-this.offset.click.left>=containment[0]||left-this.offset.click.left>containment[2])?left:((left-this.offset.click.left>=containment[0])?left-o.grid[0]:left+o.grid[0])):left;} 2315if(o.axis==="y"){pageX=this.originalPageX;} 2316if(o.axis==="x"){pageY=this.originalPageY;}} 2317return{top:(pageY- 2318this.offset.click.top- 2319this.offset.relative.top- 2320this.offset.parent.top+ 2321(this.cssPosition==="fixed"?-this.offset.scroll.top:(scrollIsRootNode?0:this.offset.scroll.top))),left:(pageX- 2322this.offset.click.left- 2323this.offset.relative.left- 2324this.offset.parent.left+ 2325(this.cssPosition==="fixed"?-this.offset.scroll.left:(scrollIsRootNode?0:this.offset.scroll.left)))};},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging");if(this.helper[0]!==this.element[0]&&!this.cancelHelperRemoval){this.helper.remove();} 2326this.helper=null;this.cancelHelperRemoval=false;if(this.destroyOnClear){this.destroy();}},_trigger:function(type,event,ui){ui=ui||this._uiHash();$.ui.plugin.call(this,type,[event,ui,this],true);if(/^(drag|start|stop)/.test(type)){this.positionAbs=this._convertPositionTo("absolute");ui.offset=this.positionAbs;} 2327return $.Widget.prototype._trigger.call(this,type,event,ui);},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs};}});$.ui.plugin.add("draggable","connectToSortable",{start:function(event,ui,draggable){var uiSortable=$.extend({},ui,{item:draggable.element});draggable.sortables=[];$(draggable.options.connectToSortable).each(function(){var sortable=$(this).sortable("instance");if(sortable&&!sortable.options.disabled){draggable.sortables.push(sortable);sortable.refreshPositions();sortable._trigger("activate",event,uiSortable);}});},stop:function(event,ui,draggable){var uiSortable=$.extend({},ui,{item:draggable.element});draggable.cancelHelperRemoval=false;$.each(draggable.sortables,function(){var sortable=this;if(sortable.isOver){sortable.isOver=0;draggable.cancelHelperRemoval=true;sortable.cancelHelperRemoval=false;sortable._storedCSS={position:sortable.placeholder.css("position"),top:sortable.placeholder.css("top"),left:sortable.placeholder.css("left")};sortable._mouseStop(event);sortable.options.helper=sortable.options._helper;}else{sortable.cancelHelperRemoval=true;sortable._trigger("deactivate",event,uiSortable);}});},drag:function(event,ui,draggable){$.each(draggable.sortables,function(){var innermostIntersecting=false,sortable=this;sortable.positionAbs=draggable.positionAbs;sortable.helperProportions=draggable.helperProportions;sortable.offset.click=draggable.offset.click;if(sortable._intersectsWith(sortable.containerCache)){innermostIntersecting=true;$.each(draggable.sortables,function(){this.positionAbs=draggable.positionAbs;this.helperProportions=draggable.helperProportions;this.offset.click=draggable.offset.click;if(this!==sortable&&this._intersectsWith(this.containerCache)&&$.contains(sortable.element[0],this.element[0])){innermostIntersecting=false;} 2328return innermostIntersecting;});} 2329if(innermostIntersecting){if(!sortable.isOver){sortable.isOver=1;draggable._parent=ui.helper.parent();sortable.currentItem=ui.helper.appendTo(sortable.element).data("ui-sortable-item",true);sortable.options._helper=sortable.options.helper;sortable.options.helper=function(){return ui.helper[0];};event.target=sortable.currentItem[0];sortable._mouseCapture(event,true);sortable._mouseStart(event,true,true);sortable.offset.click.top=draggable.offset.click.top;sortable.offset.click.left=draggable.offset.click.left;sortable.offset.parent.left-=draggable.offset.parent.left- 2330sortable.offset.parent.left;sortable.offset.parent.top-=draggable.offset.parent.top- 2331sortable.offset.parent.top;draggable._trigger("toSortable",event);draggable.dropped=sortable.element;$.each(draggable.sortables,function(){this.refreshPositions();});draggable.currentItem=draggable.element;sortable.fromOutside=draggable;} 2332if(sortable.currentItem){sortable._mouseDrag(event);ui.position=sortable.position;}}else{if(sortable.isOver){sortable.isOver=0;sortable.cancelHelperRemoval=true;sortable.options._revert=sortable.options.revert;sortable.options.revert=false;sortable._trigger("out",event,sortable._uiHash(sortable));sortable._mouseStop(event,true);sortable.options.revert=sortable.options._revert;sortable.options.helper=sortable.options._helper;if(sortable.placeholder){sortable.placeholder.remove();} 2333ui.helper.appendTo(draggable._parent);draggable._refreshOffsets(event);ui.position=draggable._generatePosition(event,true);draggable._trigger("fromSortable",event);draggable.dropped=false;$.each(draggable.sortables,function(){this.refreshPositions();});}}});}});$.ui.plugin.add("draggable","cursor",{start:function(event,ui,instance){var t=$("body"),o=instance.options;if(t.css("cursor")){o._cursor=t.css("cursor");} 2334t.css("cursor",o.cursor);},stop:function(event,ui,instance){var o=instance.options;if(o._cursor){$("body").css("cursor",o._cursor);}}});$.ui.plugin.add("draggable","opacity",{start:function(event,ui,instance){var t=$(ui.helper),o=instance.options;if(t.css("opacity")){o._opacity=t.css("opacity");} 2335t.css("opacity",o.opacity);},stop:function(event,ui,instance){var o=instance.options;if(o._opacity){$(ui.helper).css("opacity",o._opacity);}}});$.ui.plugin.add("draggable","scroll",{start:function(event,ui,i){if(!i.scrollParentNotHidden){i.scrollParentNotHidden=i.helper.scrollParent(false);} 2336if(i.scrollParentNotHidden[0]!==i.document[0]&&i.scrollParentNotHidden[0].tagName!=="HTML"){i.overflowOffset=i.scrollParentNotHidden.offset();}}
vendor: 7,697 bytes, lines 2336-2358
2336,drag:function(event,ui,i){var o=i.options,scrolled=false,scrollParent=i.scrollParentNotHidden[0],document=i.document[0];if(scrollParent!==document&&scrollParent.tagName!=="HTML"){if(!o.axis||o.axis!=="x"){if((i.overflowOffset.top+scrollParent.offsetHeight)-event.pageY<o.scrollSensitivity){scrollParent.scrollTop=scrolled=scrollParent.scrollTop+o.scrollSpeed;}else if(event.pageY-i.overflowOffset.top<o.scrollSensitivity){scrollParent.scrollTop=scrolled=scrollParent.scrollTop-o.scrollSpeed;}} 2337if(!o.axis||o.axis!=="y"){if((i.overflowOffset.left+scrollParent.offsetWidth)-event.pageX<o.scrollSensitivity){scrollParent.scrollLeft=scrolled=scrollParent.scrollLeft+o.scrollSpeed;}else if(event.pageX-i.overflowOffset.left<o.scrollSensitivity){scrollParent.scrollLeft=scrolled=scrollParent.scrollLeft-o.scrollSpeed;}}}else{if(!o.axis||o.axis!=="x"){if(event.pageY-$(document).scrollTop()<o.scrollSensitivity){scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);}else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity){scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);}} 2338if(!o.axis||o.axis!=="y"){if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity){scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);}else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity){scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}}} 2339if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(i,event);}}});$.ui.plugin.add("draggable","snap",{start:function(event,ui,i){var o=i.options;i.snapElements=[];$(o.snap.constructor!==String?(o.snap.items||":data(ui-draggable)"):o.snap).each(function(){var $t=$(this),$o=$t.offset();if(this!==i.element[0]){i.snapElements.push({item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left:$o.left});}});},drag:function(event,ui,inst){var ts,bs,ls,rs,l,r,t,b,i,first,o=inst.options,d=o.snapTolerance,x1=ui.offset.left,x2=x1+inst.helperProportions.width,y1=ui.offset.top,y2=y1+inst.helperProportions.height;for(i=inst.snapElements.length-1;i>=0;i--){l=inst.snapElements[i].left-inst.margins.left;r=l+inst.snapElements[i].width;t=inst.snapElements[i].top-inst.margins.top;b=t+inst.snapElements[i].height;if(x2<l-d||x1>r+d||y2<t-d||y1>b+d||!$.contains(inst.snapElements[i].item.ownerDocument,inst.snapElements[i].item)){if(inst.snapElements[i].snapping){(inst.options.snap.release&&inst.options.snap.release.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));} 2340inst.snapElements[i].snapping=false;continue;} 2341if(o.snapMode!=="inner"){ts=Math.abs(t-y2)<=d;bs=Math.abs(b-y1)<=d;ls=Math.abs(l-x2)<=d;rs=Math.abs(r-x1)<=d;if(ts){ui.position.top=inst._convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top;} 2342if(bs){ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top;} 2343if(ls){ui.position.left=inst._convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left;} 2344if(rs){ui.position.left=inst._convertPositionTo("relative",{top:0,left:r}).left;}} 2345first=(ts||bs||ls||rs);if(o.snapMode!=="outer"){ts=Math.abs(t-y1)<=d;bs=Math.abs(b-y2)<=d;ls=Math.abs(l-x1)<=d;rs=Math.abs(r-x2)<=d;if(ts){ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top;} 2346if(bs){ui.position.top=inst._convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top;} 2347if(ls){ui.position.left=inst._convertPositionTo("relative",{top:0,left:l}).left;} 2348if(rs){ui.position.left=inst._convertPositionTo("relative",{top:0,left:r-inst.helperProportions.width}).left;}} 2349if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first)){(inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));} 2350inst.snapElements[i].snapping=(ts||bs||ls||rs||first);}}});$.ui.plugin.add("draggable","stack",{start:function(event,ui,instance){var min,o=instance.options,group=$.makeArray($(o.stack)).sort(function(a,b){return(parseInt($(a).css("zIndex"),10)||0)-(parseInt($(b).css("zIndex"),10)||0);});if(!group.length){return;} 2351min=parseInt($(group[0]).css("zIndex"),10)||0;$(group).each(function(i){$(this).css("zIndex",min+i);});this.css("zIndex",(min+group.length));}});$.ui.plugin.add("draggable","zIndex",{start:function(event,ui,instance){var t=$(ui.helper),o=instance.options;if(t.css("zIndex")){o._zIndex=t.css("zIndex");} 2352t.css("zIndex",o.zIndex);},stop:function(event,ui,instance){var o=instance.options;if(o._zIndex){$(ui.helper).css("zIndex",o._zIndex);}}});return $.ui.draggable;})); 2353(function(factory){if(typeof define==="function"&&define.amd){define(["jquery","./core","./mouse","./widget"],factory);}else{factory(jQuery);}}(function($){$.widget("ui.resizable",$.ui.mouse,{version:"@VERSION",widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(value){return parseInt(value,10)||0;},_isNumber:function(value){return!isNaN(parseInt(value,10));},_hasScroll:function(el,a){if($(el).css("overflow")==="hidden"){return false;} 2354var scroll=(a&&a==="left")?"scrollLeft":"scrollTop",has=false;if(el[scroll]>0){return true;} 2355el[scroll]=1;has=(el[scroll]>0);el[scroll]=0;return has;},_create:function(){var n,i,handle,axis,hname,that=this,o=this.options;this._addClass("ui-resizable");$.extend(this,{_aspectRatio:!!(o.aspectRatio),aspectRatio:o.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:o.helper||o.ghost||o.animate?o.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)){this.element.wrap($("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize();} 2356this.handles=o.handles||(!$(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});this._handles=$();if(this.handles.constructor===String){if(this.handles==="all"){this.handles="n,e,s,w,se,sw,ne,nw";} 2357n=this.handles.split(",");this.handles={};for(i=0;i<n.length;i++){handle=$.trim(n[i]);hname="ui-resizable-"+handle;axis=$("<div>");this._addClass(axis,"ui-resizable-handle "+hname);axis.css({zIndex:o.zIndex});this.handles[handle]=".ui-resizable-"+handle;this.element.append(axis);}} 2358this._renderAxis=function(target){var i,axis,padPos,padWrapper;target=target||this.element;
vendor: 5,111 bytes, lines 2358-2376
2358for(i in this.handles){if(this.handles[i].constructor===String){this.handles[i]=this.element.children(this.handles[i]).first().show();}else if(this.handles[i].jquery||this.handles[i].nodeType){this.handles[i]=$(this.handles[i]);this._on(this.handles[i],{"mousedown":that._mouseDown});} 2359if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)){axis=$(this.handles[i],this.element);padWrapper=/sw|ne|nw|se|n|s/.test(i)?axis.outerHeight():axis.outerWidth();padPos=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");target.css(padPos,padWrapper);this._proportionallyResize();} 2360this._handles=this._handles.add(this.handles[i]);}};this._renderAxis(this.element);this._handles=this._handles.add(this.element.find(".ui-resizable-handle"));this._handles.disableSelection();this._handles.on("mouseover",function(){if(!that.resizing){if(this.className){axis=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);} 2361that.axis=axis&&axis[1]?axis[1]:"se";}});if(o.autoHide){this._handles.hide();this._addClass("ui-resizable-autohide");$(this.element).on("mouseenter",function(){if(o.disabled){return;} 2362that._removeClass("ui-resizable-autohide");that._handles.show();}).on("mouseleave",function(){if(o.disabled){return;} 2363if(!that.resizing){that._addClass("ui-resizable-autohide");that._handles.hide();}});} 2364this._mouseInit();},_destroy:function(){this._mouseDestroy();var wrapper,_destroy=function(exp){$(exp).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove();};if(this.elementIsWrapper){_destroy(this.element);wrapper=this.element;this.originalElement.css({position:wrapper.css("position"),width:wrapper.outerWidth(),height:wrapper.outerHeight(),top:wrapper.css("top"),left:wrapper.css("left")}).insertAfter(wrapper);wrapper.remove();} 2365this.originalElement.css("resize",this.originalResizeStyle);_destroy(this.originalElement);return this;},_mouseCapture:function(event){var i,handle,capture=false;for(i in this.handles){handle=$(this.handles[i])[0];if(handle===event.target||$.contains(handle,event.target)){capture=true;}} 2366return!this.options.disabled&&capture;},_mouseStart:function(event){var curleft,curtop,cursor,o=this.options,el=this.element;this.resizing=true;this._renderProxy();curleft=this._num(this.helper.css("left"));curtop=this._num(this.helper.css("top"));if(o.containment){curleft+=$(o.containment).scrollLeft()||0;curtop+=$(o.containment).scrollTop()||0;} 2367this.offset=this.helper.offset();this.position={left:curleft,top:curtop};this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:el.width(),height:el.height()};this.originalSize=this._helper?{width:el.outerWidth(),height:el.outerHeight()}:{width:el.width(),height:el.height()};this.sizeDiff={width:el.outerWidth()-el.width(),height:el.outerHeight()-el.height()};this.originalPosition={left:curleft,top:curtop};this.originalMousePosition={left:event.pageX,top:event.pageY};this.aspectRatio=(typeof o.aspectRatio==="number")?o.aspectRatio:((this.originalSize.width / this.originalSize.height)||1);cursor=$(".ui-resizable-"+this.axis).css("cursor");$("body").css("cursor",cursor==="auto"?this.axis+"-resize":cursor);this._addClass("ui-resizable-resizing");this._propagate("start",event);return true;},_mouseDrag:function(event){var data,props,smp=this.originalMousePosition,a=this.axis,dx=(event.pageX-smp.left)||0,dy=(event.pageY-smp.top)||0,trigger=this._change[a];this._updatePrevProperties();if(!trigger){return false;} 2368data=trigger.apply(this,[event,dx,dy]);this._updateVirtualBoundaries(event.shiftKey);if(this._aspectRatio||event.shiftKey){data=this._updateRatio(data,event);} 2369data=this._respectSize(data,event);this._updateCache(data);this._propagate("resize",event);props=this._applyChanges();if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize();} 2370if(!$.isEmptyObject(props)){this._updatePrevProperties();this._trigger("resize",event,this.ui());this._applyChanges();} 2371return false;},_mouseStop:function(event){this.resizing=false;var pr,ista,soffseth,soffsetw,s,left,top,o=this.options,that=this;if(this._helper){pr=this._proportionallyResizeElements;ista=pr.length&&(/textarea/i).test(pr[0].nodeName);soffseth=ista&&this._hasScroll(pr[0],"left")?0:that.sizeDiff.height;soffsetw=ista?0:that.sizeDiff.width;s={width:(that.helper.width()-soffsetw),height:(that.helper.height()-soffseth)};left=(parseInt(that.element.css("left"),10)+ 2372(that.position.left-that.originalPosition.left))||null;top=(parseInt(that.element.css("top"),10)+ 2373(that.position.top-that.originalPosition.top))||null;if(!o.animate){this.element.css($.extend(s,{top:top,left:left}));} 2374that.helper.height(that.size.height);that.helper.width(that.size.width);if(this._helper&&!o.animate){this._proportionallyResize();}} 2375$("body").css("cursor","auto");this._removeClass("ui-resizable-resizing");this._propagate("stop",event);if(this._helper){this.helper.remove();} 2376return false;},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left
vendor: 6,854 bytes, lines 2376-2405
2376:this.position.left};this.prevSize={width:this.size.width,height:this.size.height};},_applyChanges:function(){var props={};if(this.position.top!==this.prevPosition.top){props.top=this.position.top+"px";} 2377if(this.position.left!==this.prevPosition.left){props.left=this.position.left+"px";} 2378if(this.size.width!==this.prevSize.width){props.width=this.size.width+"px";} 2379if(this.size.height!==this.prevSize.height){props.height=this.size.height+"px";} 2380this.helper.css(props);return props;},_updateVirtualBoundaries:function(forceAspectRatio){var pMinWidth,pMaxWidth,pMinHeight,pMaxHeight,b,o=this.options;b={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:Infinity,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:Infinity};if(this._aspectRatio||forceAspectRatio){pMinWidth=b.minHeight*this.aspectRatio;pMinHeight=b.minWidth / this.aspectRatio;pMaxWidth=b.maxHeight*this.aspectRatio;pMaxHeight=b.maxWidth / this.aspectRatio;if(pMinWidth>b.minWidth){b.minWidth=pMinWidth;} 2381if(pMinHeight>b.minHeight){b.minHeight=pMinHeight;} 2382if(pMaxWidth<b.maxWidth){b.maxWidth=pMaxWidth;} 2383if(pMaxHeight<b.maxHeight){b.maxHeight=pMaxHeight;}} 2384this._vBoundaries=b;},_updateCache:function(data){this.offset=this.helper.offset();if(this._isNumber(data.left)){this.position.left=data.left;} 2385if(this._isNumber(data.top)){this.position.top=data.top;} 2386if(this._isNumber(data.height)){this.size.height=data.height;} 2387if(this._isNumber(data.width)){this.size.width=data.width;}},_updateRatio:function(data){var cpos=this.position,csize=this.size,a=this.axis;if(this._isNumber(data.height)){data.width=(data.height*this.aspectRatio);}else if(this._isNumber(data.width)){data.height=(data.width / this.aspectRatio);} 2388if(a==="sw"){data.left=cpos.left+(csize.width-data.width);data.top=null;} 2389if(a==="nw"){data.top=cpos.top+(csize.height-data.height);data.left=cpos.left+(csize.width-data.width);} 2390return data;},_respectSize:function(data){var o=this._vBoundaries,a=this.axis,ismaxw=this._isNumber(data.width)&&o.maxWidth&&(o.maxWidth<data.width),ismaxh=this._isNumber(data.height)&&o.maxHeight&&(o.maxHeight<data.height),isminw=this._isNumber(data.width)&&o.minWidth&&(o.minWidth>data.width),isminh=this._isNumber(data.height)&&o.minHeight&&(o.minHeight>data.height),dw=this.originalPosition.left+this.originalSize.width,dh=this.position.top+this.size.height,cw=/sw|nw|w/.test(a),ch=/nw|ne|n/.test(a);if(isminw){data.width=o.minWidth;} 2391if(isminh){data.height=o.minHeight;} 2392if(ismaxw){data.width=o.maxWidth;} 2393if(ismaxh){data.height=o.maxHeight;} 2394if(isminw&&cw){data.left=dw-o.minWidth;} 2395if(ismaxw&&cw){data.left=dw-o.maxWidth;} 2396if(isminh&&ch){data.top=dh-o.minHeight;} 2397if(ismaxh&&ch){data.top=dh-o.maxHeight;} 2398if(!data.width&&!data.height&&!data.left&&data.top){data.top=null;}else if(!data.width&&!data.height&&!data.top&&data.left){data.left=null;} 2399return data;},_getPaddingPlusBorderDimensions:function(element){var i=0,widths=[],borders=[element.css("borderTopWidth"),element.css("borderRightWidth"),element.css("borderBottomWidth"),element.css("borderLeftWidth")],paddings=[element.css("paddingTop"),element.css("paddingRight"),element.css("paddingBottom"),element.css("paddingLeft")];for(;i<4;i++){widths[i]=(parseInt(borders[i],10)||0);widths[i]+=(parseInt(paddings[i],10)||0);} 2400return{height:widths[0]+widths[2],width:widths[1]+widths[3]};},_proportionallyResize:function(){if(!this._proportionallyResizeElements.length){return;} 2401var prel,i=0,element=this.helper||this.element;for(;i<this._proportionallyResizeElements.length;i++){prel=this._proportionallyResizeElements[i];if(!this.outerDimensions){this.outerDimensions=this._getPaddingPlusBorderDimensions(prel);} 2402prel.css({height:(element.height()-this.outerDimensions.height)||0,width:(element.width()-this.outerDimensions.width)||0});}},_renderProxy:function(){var el=this.element,o=this.options;this.elementOffset=el.offset();if(this._helper){this.helper=this.helper||$("<div style='overflow:hidden;'></div>");this._addClass(this.helper,this._helper);this.helper.css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++o.zIndex});this.helper.appendTo("body").disableSelection();}else{this.helper=this.element;}},_change:{e:function(event,dx){return{width:this.originalSize.width+dx};},w:function(event,dx){var cs=this.originalSize,sp=this.originalPosition;return{left:sp.left+dx,width:cs.width-dx};},n:function(event,dx,dy){var cs=this.originalSize,sp=this.originalPosition;return{top:sp.top+dy,height:cs.height-dy};},s:function(event,dx,dy){return{height:this.originalSize.height+dy};},se:function(event,dx,dy){return $.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[event,dx,dy]));},sw:function(event,dx,dy){return $.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[event,dx,dy]));},ne:function(event,dx,dy){return $.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[event,dx,dy]));},nw:function(event,dx,dy){return $.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[event,dx,dy]));}},_propagate:function(n,event){$.ui.plugin.call(this,n,[event,this.ui()]);(n!=="resize"&&this._trigger(n,event,this.ui()));},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition};}});$.ui.plugin.add("resizable","animate",{stop:function(event){var that=$(this).resizable("instance"),o=that.options,pr=that._proportionallyResizeElements,ista=pr.length&&(/textarea/i).test(pr[0].nodeName),soffseth=ista&&that._hasScroll(pr[0],"left")?0:that.sizeDiff.height,soffsetw=ista?0:that.sizeDiff.width,style={width:(that.size.width-soffsetw),height:(that.size.height-soffseth)},left=(parseInt(that.element.css("left"),10)+ 2403(that.position.left-that.originalPosition.left))||null,top=(parseInt(that.element.css("top"),10)+ 2404(that.position.top-that.originalPosition.top))||null;that.element.animate($.extend(style,top&&left?{top:top,left:left}:{}),{duration:o.animateDuration,easing:o.animateEasing,step:function(){var data={width:parseInt(that.element.css("width"),10),height:parseInt(that.element.css("height"),10),top:parseInt(that.element.css("top"),10),left:parseInt(that.element.css("left"),10)};if(pr&&pr.length){$(pr[0]).css({width:data.width,height:data.height});} 2405that._updateCache(data);that._propagate("resize",event);}});}});$.ui.plugin.add("resizable","containment",{start:function(){var element,p,co,ch,cw,width,height,that=$(this).resizable("instance"),o=that.options,el=that.element,oc=o.containment,ce=(oc instanceof $)?oc.get(0):(/parent/.test(oc))?el.parent().get(0):oc;
vendor: 3,966 bytes, lines 2405-2419
2405if(!ce){return;} 2406that.containerElement=$(ce);if(/document/.test(oc)||oc===document){that.containerOffset={left:0,top:0};that.containerPosition={left:0,top:0};that.parentData={element:$(document),left:0,top:0,width:$(document).width(),height:$(document).height()||document.body.parentNode.scrollHeight};}else{element=$(ce);p=[];$(["Top","Right","Left","Bottom"]).each(function(i,name){p[i]=that._num(element.css("padding"+name));});that.containerOffset=element.offset();that.containerPosition=element.position();that.containerSize={height:(element.innerHeight()-p[3]),width:(element.innerWidth()-p[1])};co=that.containerOffset;ch=that.containerSize.height;cw=that.containerSize.width;width=(that._hasScroll(ce,"left")?ce.scrollWidth:cw);height=(that._hasScroll(ce)?ce.scrollHeight:ch);that.parentData={element:ce,left:co.left,top:co.top,width:width,height:height};}},resize:function(event){var woset,hoset,isParent,isOffsetRelative,that=$(this).resizable("instance"),o=that.options,co=that.containerOffset,cp=that.position,pRatio=that._aspectRatio||event.shiftKey,cop={top:0,left:0},ce=that.containerElement,continueResize=true;if(ce[0]!==document&&(/static/).test(ce.css("position"))){cop=co;} 2407if(cp.left<(that._helper?co.left:0)){that.size.width=that.size.width+ 2408(that._helper?(that.position.left-co.left):(that.position.left-cop.left));if(pRatio){that.size.height=that.size.width / that.aspectRatio;continueResize=false;} 2409that.position.left=o.helper?co.left:0;} 2410if(cp.top<(that._helper?co.top:0)){that.size.height=that.size.height+ 2411(that._helper?(that.position.top-co.top):that.position.top);if(pRatio){that.size.width=that.size.height*that.aspectRatio;continueResize=false;} 2412that.position.top=that._helper?co.top:0;} 2413isParent=that.containerElement.get(0)===that.element.parent().get(0);isOffsetRelative=/relative|absolute/.test(that.containerElement.css("position"));if(isParent&&isOffsetRelative){that.offset.left=that.parentData.left+that.position.left;that.offset.top=that.parentData.top+that.position.top;}else{that.offset.left=that.element.offset().left;that.offset.top=that.element.offset().top;} 2414woset=Math.abs(that.sizeDiff.width+ 2415(that._helper?that.offset.left-cop.left:(that.offset.left-co.left)));hoset=Math.abs(that.sizeDiff.height+ 2416(that._helper?that.offset.top-cop.top:(that.offset.top-co.top)));if(woset+that.size.width>=that.parentData.width){that.size.width=that.parentData.width-woset;if(pRatio){that.size.height=that.size.width / that.aspectRatio;continueResize=false;}} 2417if(hoset+that.size.height>=that.parentData.height){that.size.height=that.parentData.height-hoset;if(pRatio){that.size.width=that.size.height*that.aspectRatio;continueResize=false;}} 2418if(!continueResize){that.position.left=that.prevPosition.left;that.position.top=that.prevPosition.top;that.size.width=that.prevSize.width;that.size.height=that.prevSize.height;}},stop:function(){var that=$(this).resizable("instance"),o=that.options,co=that.containerOffset,cop=that.containerPosition,ce=that.containerElement,helper=$(that.helper),ho=helper.offset(),w=helper.outerWidth()-that.sizeDiff.width,h=helper.outerHeight()-that.sizeDiff.height;if(that._helper&&!o.animate&&(/relative/).test(ce.css("position"))){$(this).css({left:ho.left-cop.left-co.left,width:w,height:h});} 2419if(that._helper&&!o.animate&&(/static/).test(ce.css("position"))){$(this).css({left:ho.left-cop.left-co.left,width:w,height:h});}}});$.ui.plugin.add("resizable","alsoResize",{start:function(){var that=$(this).resizable("instance"),o=that.options;$(o.alsoResize).each(function(){var el=$(this);el.data("ui-resizable-alsoresize",{width:parseInt(el.width(),10),height:parseInt(el.height(),10),left:parseInt(el.css("left"),10),top:parseInt(el.css("top"),10)});});},resize:function(event,ui){var that=$(this).resizable("instance"),o=that.options,os=that.originalSize,op=that.originalPosition,delta={height:(that.size.height-os.height)||0,width:(that.size.width-os.width)||0,top:(that.position.top-op.top)||0,left
2419:(that.position.left-op.left)||0};$(o.alsoResize).each(function(){var el=$(this),start=$(this).data("ui-resizable-alsoresize"),style={},css=el.parents(ui.originalElement[0]).length?["width","height"]:["width","height","top","left"];$.each(css,function(i,prop){var sum=(start[prop]||0)+(delta[prop]||0);if(sum&&sum>=0){style[prop]=sum||null;}});el.css(style);});},stop:function(){$(this).removeData("resizable-alsoresize");}});$.ui.plugin.add("resizable","ghost",{start:function(){var that=$(this).resizable("instance"),cs=that.size;that.ghost=that.originalElement.clone();that.ghost.css({opacity:0.25,display:"block",position:"relative",height:cs.height,width:cs.width,margin:0,left:0,top:0});that._addClass(that.ghost,"ui-resizable-ghost");if($.uiBackCompat!==false&&typeof that.options.ghost==="string"){that.ghost.addClass(this.options.ghost);} 2420that.ghost.appendTo(that.helper);},resize:function(){var that=$(this).resizable("instance");if(that.ghost){that.ghost.css({position:"relative",height:that.size.height,width:that.size.width});}},stop:function(){var that=$(this).resizable("instance");if(that.ghost&&that.helper){that.helper.get(0).removeChild(that.ghost.get(0));}}});$.ui.plugin.add("resizable","grid",{resize:function(){var outerDimensions,that=$(this).resizable("instance"),o=that.options,cs=that.size,os=that.originalSize,op=that.originalPosition,a=that.axis,grid=typeof o.grid==="number"?[o.grid,o.grid]:o.grid,gridX=(grid[0]||1),gridY=(grid[1]||1),ox=Math.round((cs.width-os.width)/ gridX)*gridX,oy=Math.round((cs.height-os.height)/ gridY)*gridY,newWidth=os.width+ox,newHeight=os.height+oy,isMaxWidth=o.maxWidth&&(o.maxWidth<newWidth),isMaxHeight=o.maxHeight&&(o.maxHeight<newHeight),isMinWidth=o.minWidth&&(o.minWidth>newWidth),isMinHeight=o.minHeight&&(o.minHeight>newHeight);o.grid=grid;if(isMinWidth){newWidth+=gridX;} 2421if(isMinHeight){newHeight+=gridY;} 2422if(isMaxWidth){newWidth-=gridX;} 2423if(isMaxHeight){newHeight-=gridY;} 2424if(/^(se|s|e)$/.test(a)){that.size.width=newWidth;that.size.height=newHeight;}else if(/^(ne)$/.test(a)){that.size.width=newWidth;that.size.height=newHeight;that.position.top=op.top-oy;}else if(/^(sw)$/.test(a)){that.size.width=newWidth;that.size.height=newHeight;that.position.left=op.left-ox;}else{if(newHeight-gridY<=0||newWidth-gridX<=0){outerDimensions=that._getPaddingPlusBorderDimensions(this);} 2425if(newHeight-gridY>0){that.size.height=newHeight;that.position.top=op.top-oy;}else{newHeight=gridY-outerDimensions.height;that.size.height=newHeight;that.position.top=op.top+os.height-newHeight;} 2426if(newWidth-gridX>0){that.size.width=newWidth;that.position.left=op.left-ox;}else{newWidth=gridX-outerDimensions.width;that.size.width=newWidth;that.position.left=op.left+os.width-newWidth;}}}});return $.ui.resizable;})); 2427(function($){var pluginName='smartBox';var plugin={_storage:{},init:function(options){var jqel_body=jQuery('body');var jqel_collection=jQuery(this);var defaultOptions=$.fn[pluginName].defaults;var $window=jQuery(window);if(typeof(jQuery.fn.smartBox._storage)==='undefined'){jQuery.fn.smartBox._storage={_controlKeyDown:false,_shiftKeyDown:false,_altKeyDown:false,_metaKeyDown:false};} 2428jQuery(document).on('keydown keyup',function(event){var storage=jQuery.fn.smartBox._storage;storage._controlKeyDown=event.ctrlKey;storage._shiftKeyDown=event.shiftKey;storage._altKeyDown=event.altKey;storage._metaKeyDown=event.metaKey;});jqel_collection.each(function(index,element){var jqel=jQuery(element);var o=Basix.extend(Basix.EXTEND_RECURSIVE,{},defaultOptions,options);if(options.classes instanceof Array){o.classes=[];o.classes=o.classes.concat(defaultOptions.classes);o.classes=o.classes.concat(options.classes);} 2429var uniqueId=Basix.getRandomString(10);o.uid=uniqueId;if(!o.id){o.id='smartBox-'+uniqueId;} 2430var tagBase={classes:new Basix.List(),attributes:{},data:{},content:''};var wrapperTag=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{attributes:{id:o.id,role:'dialog','aria-labelledby':`${o.id}-title`,'aria-describedby':`${o.id}-content`,}},tagBase);wrapperTag.classes.from(o.classes);var overlayTag=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{id:`${o.id}-overlay`,},tagBase);overlayTag.classes.push('sb-window-overlay');var boxTag=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{id:`${o.id}-window`,},tagBase);boxTag.classes.push('sb-window-box');var contentTag=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{attributes:{id:`${o.id}-content`,}},tagBase);contentTag.classes.push('sb-window-content');if(o.titleBar===true){var titleBarTag=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{attributes:{id:`${o.id}-title-bar`,},},tagBase);titleBarTag.classes.push('sb-window-title-bar');
2430var windowControlBarTag=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{},tagBase);windowControlBarTag.classes.push('sb-window-control-bar');var titleTag=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{attributes:{id:`${o.id}-title`,},},tagBase);titleTag.classes.push('sb-title');var maximizeButtonTag=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{tag:'button',attributes:{type:'button','aria-label':'Maximize',id:`${o.id}-maximize`,},},tagBase);maximizeButtonTag.classes.merge(['sb-button','maximize']);var minimizeButtonTag=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{tag:'button',attributes:{type:'button','aria-label':'Minimize',id:`${o.id}-minimize`,},},tagBase);minimizeButtonTag.classes.merge(['sb-button','minimize']);var restoreButtonTag=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{tag:'button',attributes:{type:'button','aria-label':'Restore',id:`${o.id}-restore`,},},tagBase);restoreButtonTag.classes.merge(['sb-button','restore']);var closeButtonTag=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{tag:'button',attributes:{type:'button','aria-label':'Close',id:`${o.id}-close`,}},tagBase);closeButtonTag.classes.merge(['sb-button','close']);} 2431o.themes=new Basix.List(o.themes);let hasBaseTheme=false;o.themes.each(function(index,value){if(!hasBaseTheme&&(value==='base'||value==='flex-base')){if(value==='base'){value='flex-base';console.warn('OVERRIDING the base theme and using flex-base instead. The base theme is no longer supported as of SmartBox 2.3.0');} 2432hasBaseTheme=true;} 2433wrapperTag.classes.push('sb-theme-'+value);});if(!hasBaseTheme&&o.automaticallyApplyBaseTheme){console.warn('Automatically including the flex-base theme as no base theme defined for this dialog.');wrapperTag.classes.push('sb-theme-flex-base');} 2434if(o.modal){wrapperTag.classes.merge(['sb-modal']);} 2435if((Basix.isString(o.title)&&o.title==='')&&!Basix.isNumeric(o.title)){o.title=false;} 2436if(o.title===false&&o.close===false&&o.minimize===false&&o.maximize===false&&o.restore===false){o.titleBar=false;} 2437if(o.titleBar!==true){o.draggable=false;o.close=false;o.minimize=false;o.maximize=false;o.restore=false;} 2438if(o.draggable){wrapperTag.classes.merge(['sb-draggable']);} 2439if(o.resizable){wrapperTag.classes.merge(['sb-resizable']);} 2440o.targetElement=jQuery(o.targetElement);if(!o.targetElement.size()){o.targetElement=jqel_body;wrapperTag.classes.push('sb-attachedToBody');}else{wrapperTag.classes.push('sb-attachedToElement');} 2441if(o.titleBar===true){wrapperTag.classes.merge(['sb-title-bar']);} 2442if(!Basix.isArray(o.closeCallbacks)){o.closeCallbacks=[];} 2443var closeHandler=false;if(Basix.isFunction(o.close)||o.close===true){closeHandler=function(){jQuery(this).smartBox('close');};wrapperTag.classes.push('sb-control-close');} 2444var maximizeHandler=false;if(Basix.isFunction(o.maximize)||o.maximize===true){maximizeHandler=function(){jQuery(this).smartBox('maximize');};wrapperTag.classes.push('sb-control-maximize');} 2445var minimizeHandler=false;if(Basix.isFunction(o.minimize)||o.minimize===true){minimizeHandler=function(){jQuery(this).smartBox('minimize');};wrapperTag.classes.push('sb-control-minimize');} 2446var restoreHandler=false;if(Basix.isFunction(o.restore)||o.restore===true){restoreHandler=function(){jQuery(this).smartBox('restore');};wrapperTag.classes.push('sb-control-restore');} 2447var resizeHandlers=false;if(o.fullScreen){wrapperTag.classes.push('sb-fullScreen');}else{var tags={wrapper:wrapperTag,overlay:overlayTag,box:boxTag,content:contentTag,close:closeButtonTag};resizeHandlers=setUpPositioning(o,tags);} 2448var css={};if(o.width){css.width=o.width;} 2449if(typeof(o.height)==='string'){o.height=o.height.toLowerCase();} 2450if((o.height&&(o.height!=='css'))&&!o.fullScreen){css.height=o.height;if(o.height==='auto'){wrapperTag.classes.push('sb-variableHeight');}else{wrapperTag.classes.push('sb-fixedHeight');if(o.titleBar!==true){wrapperTag.classes.push('sb-hideTitleBar');}}} 2451var jqel_wrapper=jQuery(Basix.Tag.html(wrapperTag));var jqel_overlay=jQuery(Basix.Tag.html(overlayTag));var jqel_box=jQuery(Basix.Tag.html(boxTag));var jqel_titleBar=null;var jqel_title=null;var jqel_windowCloseButton=null;var jqel_windowMaximizeButton=null;var jqel_windowMinimizeButton=null;var jqel_windowRestoreButton=null;let jqel_header=null;let jqel_footer=null;if(o.titleBar===true){jqel_titleBar=jQuery(Basix.Tag.html(titleBarTag));jqel_title=jQuery(Basix.Tag.html(titleTag,o.title));jqel_windowCloseButton=jQuery(Basix.Tag.html(closeButtonTag,'<div class="sb-icon"></div>'));jqel_windowMaximizeButton=jQuery(Basix.Tag.html(maximizeButtonTag,'<div class="sb-icon"></div>'));jqel_windowMinimizeButton=jQuery(Basix.Tag.html(minimizeButtonTag,'<div class="sb-icon"></div>'));jqel_windowRestoreButton=jQuery(Basix.Tag.html(restoreButtonTag,'<div class="sb-icon"></div>'));} 2452if(typeof(o.header)==='string'){jqel_header=jQuery(`<header id="${o.id}-header" class="sb-window-header"></header>`);jqel_header.html(o.header);updateAriaLabelledBy(o,jqel_wrapper)} 2453if(typeof(o.footer)==='string'){jqel_footer=jQuery(`<footer id="${o.id}-footer" class="sb-window-footer"></footer>`);jqel_footer.html(o.footer);} 2454var jqel_content=jQuery(Basix.Tag.html(contentTag));var jqel_windowControlBar=jQuery(Basix.Tag.html(windowControlBarTag));jqel_overlay.appendTo(jqel_wrapper);jqel.appendTo(jqel_content);if(o.titleBar===true){jqel_title?.appendTo(jqel_titleBar);} 2455if(o.close!==false){jqel_windowCloseButton?.appendTo(jqel_windowControlBar);} 2456if(o.minimize!==false||o.maximize!==false){jqel_windowRestoreButton?.appendTo(jqel_windowControlBar);} 2457if(o.maximize!==false){jqel_windowMaximizeButton?.appendTo(jqel_windowControlBar);} 2458if(o.minimize!==false){jqel_windowMinimizeButton?.appendTo(jqel_windowControlBar);} 2459if(o.titleBar===true){jqel_windowControlBar.appendTo(jqel_titleBar);jqel_titleBar?.appendTo(jqel_box);} 2460jqel_header&&jqel_header.appendTo(jqel_box);jqel_content.appendTo(jqel_box);jqel_footer&&jqel_footer.appendTo(jqel_box);jqel_box.prepend('<div class="sb-window-processing-layer"/>');jqel_box.appendTo(jqel_wrapper);jqel_wrapper.appendTo(o.targetElement);if(closeHandler){jqel_windowCloseButton?.on('click',jQuery.proxy(closeHandler,jqel_wrapper));} 2461if(minimizeHandler){jqel_windowMinimizeButton?.on('click',jQuery.proxy(minimizeHandler,jqel_wrapper));} 2462if(maximizeHandler){jqel_windowMaximizeButton?.on('click',jQuery.proxy(maximizeHandler,jqel_wrapper));} 2463if(restoreHandler){jqel_windowRestoreButton?.on('click',jQuery.proxy(restoreHandler,jqel_wrapper));} 2464if(resizeHandlers){resizeHandlers.each(function(index,resizeHandler){$window.on('resize.'+o.uid,jQuery.proxy(resizeHandler,jqel_wrapper));});} 2465if(Basix.isFunction(o.overlayClick)){jqel_overlay.on('click',jQuery.proxy(o.overlayClick,jqel_wrapper)).on('click',jQuery.proxy(o.defaultOverlayClick,jqel_wrapper));} 2466jqel_box.css(css);function _smartBoxSetContentSize(heightOverride){if(o.height!=='auto'&&o.height!=='css'){var titleBarHeight=0;if(o.titleBar===true){titleBarHeight=jqel_titleBar.outerHeight(false);} 2467var boxHeight=jqel_box.height();var boxOuterHeight=jqel_box.outerHeight();var boxHeightDifference=boxOuterHeight-boxHeight;var newHeight=(heightOverride?(heightOverride-boxHeightDifference):boxHeight)-titleBarHeight;jqel_content.css({height:newHeight});}} 2468_smartBoxSetContentSize();var smartBoxData={realPosition:{top:0,left:0},settings:o,self:jqel_wrapper,uniqueId:o.uid};jqel_wrapper.data('smartBox',smartBoxData);jqel_wrapper.smartBox('makeActive');if(o.draggable===true){var jqel_offsetParent=jqel_box.offsetParent();var hasOffsetParentWithSize=false;var maxTries=1500;var triesCounter=0;while(!hasOffsetParentWithSize){if(triesCounter>=maxTries){break;} 2469triesCounter++;var parentWidth=jqel_offsetParent.width();var parentHeight=jqel_offsetParent.height();if(!parentWidth||!parentHeight){jqel_offsetParent=jqel_offsetParent.offsetParent();}else{hasOffsetParentWithSize=true;}} 2470if(!hasOffsetParentWithSize){jqel_offsetParent=jQuery(window);} 2471jqel_box.draggable({handle:'.sb-window-title-bar',scroll:false,drag:function(event,ui){var parentWidth=jqel_offsetParent.outerWidth(false);var parentHeight=jqel_offsetParent.outerHeight(false);var boxWidth=jqel_box.outerWidth(false);var boxHeight=jqel_box.outerHeight(false);
2471ui.position.left=Math.max(0,Math.min(parentWidth-boxWidth,ui.position.left));ui.position.top=Math.max(0,Math.min(parentHeight-boxHeight,ui.position.top));}});} 2472if(o.resizable===true){var resizableOptions={handles:'all',resize:function(event,ui){var parentWidth=jqel_offsetParent.outerWidth(false);var parentHeight=jqel_offsetParent.outerHeight(false);ui.size.width=Math.min(parentWidth-ui.position.left,ui.size.width);ui.size.height=Math.min(parentHeight-ui.position.top,ui.size.height);ui.size.width=Math.min(ui.size.width+ui.position.left,ui.size.width);ui.position.left=Math.max(0,ui.position.left);ui.size.height=Math.min(ui.size.height+ui.position.top,ui.size.height);ui.position.top=Math.max(0,ui.position.top);_smartBoxSetContentSize(ui.size.height);},start:function(event,ui){var jqel=jQuery(this).parents('.sb-window').first();jqel.addClass('sb-resize-in-progress sb-fixedHeight');jqel.removeClass('sb-variableHeight');},stop:function(event,ui){var jqel=jQuery(this).parents('.sb-window').first();jqel.removeClass('sb-resize-in-progress');}};if(o.titleBar===true&&o.minWidth==='window-control-bar'){var windowControlsWidth=0;jqel_titleBar?.find('.sb-window-control-bar .sb-button').each(function(index,element){var jqel=jQuery(element);windowControlsWidth+=jqel.width();});resizableOptions.minWidth=windowControlsWidth;}else if(Basix.isNumeric(o.minWidth)){jqel_box.css({minWidth:o.minWidth});resizableOptions.minWidth=o.minWidth;} 2473if(o.titleBar===true&&o.minHeight==='title-bar'){resizableOptions.minHeight=jqel_titleBar?.height();}else if(Basix.isNumeric(o.minHeight)){jqel_box.css({minHeight:o.minHeight});resizableOptions.minHeight=o.minHeight;} 2474jqel_box.resizable(resizableOptions);} 2475jqel_wrapper.on('mousedown',function(){jQuery(this).smartBox('makeActive');});$window.trigger('resize.'+o.uid).trigger('scroll.'+o.uid);if(o.calculateZIndex){const jqel_body=jQuery('body');var zStack=o.topOfStack?jqel_body.children():jqel_body.children().not('.molecule_notification-container,.be_siteToolsContainer,.qtip');var maxZ=Math.max.apply(null,zStack.map(function(){var z;return isNaN(z=parseInt($(this).css("z-index"),10))?0:z;}));jqel_wrapper.css({'z-index':maxZ+100});} 2476setTimeout(function(){jqel_content.find('.autofocus').focus();},10);});return jqel_collection;},maximize:function(){this.each(function(index,element){var jqel=jQuery(this);var o=jqel.basixData('smartBox.settings');var allowedToRunDefaultBehavior=true;if(Basix.isFunction(o.maximize)){allowedToRunDefaultBehavior=o.maximize.apply(jqel,[jqel,o]);if(typeof(allowedToRunDefaultBehavior)==='undefined'){allowedToRunDefaultBehavior=true;}} 2477if(allowedToRunDefaultBehavior&&Basix.isFunction(o.defaultMaximize)){o.defaultMaximize.apply(jqel,[jqel,o]);}});},restore:function(){this.each(function(index,element){var jqel=jQuery(this);var o=jqel.basixData('smartBox.settings');var allowedToRunDefaultBehavior=true;var previousWindowState=jqel.hasClass('sb-fullScreen')?'maximized':'minimized';if(Basix.isFunction(o.restore)){allowedToRunDefaultBehavior=o.restore.apply(jqel,[jqel,o,previousWindowState]);if(typeof(allowedToRunDefaultBehavior)==='undefined'){allowedToRunDefaultBehavior=true;}} 2478if(allowedToRunDefaultBehavior&&Basix.isFunction(o.defaultRestore)){o.defaultRestore.apply(jqel,[jqel,o,previousWindowState]);}});},minimize:function(){this.each(function(index,element){var jqel=jQuery(this);var o=jqel.basixData('smartBox.settings');var allowedToRunDefaultBehavior=true;if(Basix.isFunction(o.minimize)){allowedToRunDefaultBehavior=o.minimize.apply(jqel,[jqel,o]);if(typeof(allowedToRunDefaultBehavior)==='undefined'){allowedToRunDefaultBehavior=true;}} 2479if(allowedToRunDefaultBehavior&&Basix.isFunction(o.defaultMinimize)){o.defaultMinimize.apply(jqel,[jqel,o]);}});},makeActive:function(){jQuery('.sb-active-window').not(this).removeClass('sb-active-window');if(this.size()){this.addClass('sb-active-window');var jqel_body=jQuery('body');if(this.hasClass('sb-modal')){jqel_body.addClass('sb-modal-active');}else{jqel_body.removeClass('sb-modal-active');}} 2480return this;},hide:function(){this.each(function(index,element){var jqel=jQuery(this);if(!jqel.hasClass('sb-window')){var jqel_parentSmartBox=jqel.parents('.sb-window:first');if(!jqel_parentSmartBox.size()){return;} 2481jqel=jqel_parentSmartBox;} 2482if(!jqel.size()||!jqel.parents('body').size()){return;} 2483jqel.hide();});},close:async function(){var argsForClose=new Basix.getArgsList(arguments);let domElements=[];this.each((index,element)=>{domElements.push(element);});for(const element of domElements){var jqel=jQuery(element);var o=jqel.basixData('smartBox.settings');if(!jqel.hasClass('sb-window')){var jqel_parentSmartBox=jqel.parents('.sb-window:first');if(!jqel_parentSmartBox.size()){continue;} 2484jqel=jqel_parentSmartBox;} 2485if(!jqel.size()||!jqel.parents('body').size()){continue;} 2486var allowedToRunDefaultBehavior=true;var callbacksList=[];
2486if(Basix.isFunction(o.close)){callbacksList.push(o.close);} 2487callbacksList=callbacksList.concat(o.closeCallbacks);for(let closeCallback of callbacksList){if(!closeCallback){continue;} 2488let argsList=new Basix.List([jqel,o],argsForClose);allowedToRunDefaultBehavior=await closeCallback.apply(jqel,argsList.getNativeArray());if(typeof(allowedToRunDefaultBehavior)==='undefined'){allowedToRunDefaultBehavior=true;} 2489if(!allowedToRunDefaultBehavior){break;}} 2490if(allowedToRunDefaultBehavior&&Basix.isFunction(o.defaultClose)){o.defaultClose.apply(jqel,[jqel,o]);} 2491var jqel_nextActiveSmartBox=jQuery('.sb-window').last();if(jqel_nextActiveSmartBox.size()){jqel_nextActiveSmartBox.smartBox('makeActive');}else{jQuery('body').removeClass('sb-modal-active');}} 2492return this;},setCloseCallback:function(callbackFunction){var jqel=jQuery(this);if(!jqel.hasClass('sb-window')){var jqel_parentSmartBox=jqel.parents('.sb-window:first');if(!jqel_parentSmartBox.size()){return;} 2493jqel=jqel_parentSmartBox;} 2494var o=jqel.basixData('smartBox.settings');o.close=callbackFunction;jqel.basixData('smartBox.settings',o);return this;},getDialog:function(){var jqel=jQuery(this);if(!jqel.hasClass('sb-window')){var jqel_parentSmartBox=jqel.parents('.sb-window:first');if(!jqel_parentSmartBox.size()){return jQuery();} 2495jqel=jqel_parentSmartBox;} 2496return jqel;},getDialogContent:function(){var jqel_smartBox=jQuery(this)[pluginName]('getDialog');return jqel_smartBox.find('.sb-window-content:first');},getDialogHeader:function(){var jqel_smartBox=jQuery(this)[pluginName]('getDialog');return jqel_smartBox.find('header.sb-window-header:first');},getDialogFooter:function(){var jqel_smartBox=jQuery(this)[pluginName]('getDialog');return jqel_smartBox.find('footer.sb-window-footer:first');},showProcessingLayer:function(){var jqel_smartBox=jQuery(this)[pluginName]('getDialog');jqel_smartBox.addClass('sb-processing--active');},hideProcessingLayer:function(){var jqel_smartBox=jQuery(this)[pluginName]('getDialog');jqel_smartBox.removeClass('sb-processing--active');},setProcessingLayerContent:function(content){var jqel_smartBox=jQuery(this)[pluginName]('getDialog');jqel_smartBox.find('.sb-window-processing-layer').html(content);},setTitle:function(title){var jqel=jQuery(this);var jqel_dialog=jqel.smartBox('getDialog');var o=jqel.basixData('smartBox.settings');if(o){o.title=title;jqel.basixData('smartBox.settings',o);jqel_dialog.find('.sb-title').html(title);updateAriaLabelledBy(o,jqel_dialog);}},setHeader:function(header){var jqel=jQuery(this);var jqel_dialog=jqel.smartBox('getDialog');var o=jqel.basixData('smartBox.settings');if(o){o.header=header;jqel.basixData('smartBox.settings',o);let $header=jqel_dialog.find('header.sb-window-header');if(!$header.size()){jqel_dialog.find('.sb-window-content').before(`<header id="${o.id}-header" class="sb-window-header"></header>`);} 2497$header=jqel_dialog.find('header.sb-window-header:first');$header.html('');$header.append(header);updateAriaLabelledBy(o,jqel_dialog);}},setFooter:function(footer){var jqel=jQuery(this);var jqel_dialog=jqel.smartBox('getDialog');var o=jqel.basixData('smartBox.settings');if(o){o.footer=footer;jqel.basixData('smartBox.settings',o);let $footer=jqel_dialog.find('footer.sb-window-footer');if(!$footer.size()){jqel_dialog.find('.sb-window-content').after(`<footer id="${o.id}-footer" class="sb-window-footer"></footer>`);} 2498$footer=jqel_dialog.find('footer.sb-window-footer:first');$footer.html('');$footer.append(footer);}},};function updateAriaLabelledBy(options,jqel_dialog){if(hasTitle(options)){jqel_dialog.attr('aria-labelledby',`${options.id}-title`);}else{jqel_dialog.attr('aria-labelledby',`${options.id}-header`);}} 2499function hasTitle(o){return!o.titleBar||!o.title||o.title.replaceAll(' ').trim()==='';} 2500function setUpPositioning(o,tags){var $window=jQuery(window);var resizeHandlers=new Basix.List();var defaultPosition={top:0,left:0};if(!jQuery.isPlainObject(o.position)){if(typeof(o.position)==='string'){o.position=o.position.toLowerCase();if(o.position==='auto'||o.position==='css'){o.position={top:'auto',left:'auto'};}else if(o.position==='center'){o.position={top:'auto',left:'auto'};}}else{o.position=jQuery.extend({},defaultPosition);}}else{o.position=jQuery.extend({},defaultPosition,o.position);if(o.position.top==='css'){o.position.top='auto';}
2501if(o.position.left==='css'){o.position.left='auto';}} 2502var isDialogAttachedToBody=(o.targetElement.get(0).tagName.toLowerCase()==='body');if(o.position.top!=='auto'||o.position.left!=='auto'){if(o.position.top==='center'&&o.position.left==='center'){if(o.maxWidth==='window'||o.maxHeight==='window'){resizeHandlers.push(function(){var jqel_smartBox=jQuery(this);var $window=jQuery(window);var smartBoxData=jqel_smartBox.basixData('smartBox');var settings=smartBoxData.settings;var cssOptions={};if(settings.maxWidth==='window'){var newWidth=$window.width();if(!isDialogAttachedToBody){newWidth=o.targetElement.width();} 2503cssOptions.maxWidth=newWidth;} 2504if(settings.maxHeight==='window'){var newHeight=$window.height();if(!isDialogAttachedToBody){newHeight=o.targetElement.height();} 2505cssOptions.maxHeight=newHeight;} 2506var jqel_smartBoxWindow=jqel_smartBox.find('.sb-window-box').first();jqel_smartBoxWindow.css(cssOptions);});}} 2507tags.wrapper.classes.push('sb-floating');if(o.position.top!=='center'||o.position.left!=='center'){tags.wrapper.classes.merge(['sb-positioned']);}else{tags.wrapper.classes.merge(['sb-centered']);} 2508resizeHandlers.push(function(){var jqel_smartBox=jQuery(this);if(jqel_smartBox.hasClass('sb-resize-in-progress')){return;} 2509var jqel_box=jqel_smartBox.find('.sb-window-box');var smartBoxData=jqel_smartBox.basixData('smartBox');if(!smartBoxData){return;} 2510var jqel_offsetParent=jqel_smartBox.offsetParent();var $offsetParent;var isOffsetUsingWindow=false;if(Basix.inArray(jqel_offsetParent.get(0).tagName.toLowerCase(),['html','body'])||!jqel_offsetParent.height()||!jqel_offsetParent.width()){$offsetParent=$window;isOffsetUsingWindow=true;}else{$offsetParent=jqel_offsetParent;} 2511var wrapperWidth;var wrapperHeight;var offsetParentWidth;var offsetParentHeight;if(isOffsetUsingWindow){wrapperWidth=jqel_box.width();wrapperHeight=jqel_box.height();offsetParentWidth=$offsetParent.width();offsetParentHeight=$offsetParent.height();}else{wrapperWidth=jqel_box.outerWidth(false);wrapperHeight=jqel_box.outerHeight(false);offsetParentWidth=$offsetParent.outerWidth(false);offsetParentHeight=$offsetParent.outerHeight(false);} 2512var newPosition={};var setNewPosition=false;if(smartBoxData.settings.position.top!=='auto'){setNewPosition=true;if(smartBoxData.settings.position.top==='center'){newPosition.top=((offsetParentHeight / 2)-(wrapperHeight / 2))-1;}else{newPosition.top=smartBoxData.settings.position.top;}} 2513if(smartBoxData.settings.position.left!=='auto'){setNewPosition=true;if(smartBoxData.settings.position.left==='center'){newPosition.left=((offsetParentWidth / 2)-(wrapperWidth / 2))-1;}else{newPosition.left=smartBoxData.settings.position.left;}} 2514if(setNewPosition){jqel_box.css(newPosition);smartBoxData.realPosition=newPosition;}});} 2515return resizeHandlers;} 2516$.fn[pluginName]=function(method){if(!method||method instanceof Object){return plugin.init.apply(this,arguments);}else if(typeof(plugin[method])!=='undefined'){return plugin[method].apply(this,Array.prototype.slice.call(arguments,1));}else{throw'Method '+method+' does not exist in jQuery.'+pluginName;}};$.fn[pluginName].defaults={modal:false,containment:'auto',position:'center',fullScreen:false,resizable:true,draggable:true,width:'css',height:'css',maxWidth:'css',maxHeight:'css',minWidth:'window-control-bar',minHeight:'title-bar',themes:['base'],automaticallyApplyBaseTheme:true,id:false,classes:['smartBox','sb-window'],targetElement:false,titleBar:true,header:false,footer:false,title:'',closeOnOverlayClick:false,calculateZIndex:false,topOfStack:false,maximize:function(jqel_wrapper,settings){return true;},defaultMaximize:function(jqel_wrapper,settings){var jqel_box=jqel_wrapper.find('.sb-window-box');var jqel_content=jqel_box.find('.sb-window-content');var boxPosition=jqel_box.position();var wrapperClasses=new Basix.List(jqel_wrapper.attr('class').split(' '));var wrapperRestoreClasses=[];var nonFullScreenWindowClasses=new Basix.List(['sb-floating','sb-positioned','sb-centered','sb-fixedHeight']);wrapperClasses.each(function(index,value){if(Basix.inArray(value,nonFullScreenWindowClasses)){wrapperRestoreClasses.push(value);}});var wrapperPosition=jqel_wrapper.position();jqel_wrapper.basixData('smartBox.restoreWindowData',{wrapperRestoreClasses:wrapperRestoreClasses,wrapperData:{top:wrapperPosition.top,left
2516:wrapperPosition.left},boxData:{top:boxPosition.top,left:boxPosition.left,width:jqel_box.outerWidth(false),height:jqel_box.outerHeight(false)},contentData:{width:jqel_content.outerWidth(false),height:jqel_content.outerHeight(false)}});jQuery(window).off('resize.'+jqel_wrapper.basixData('smartBox.settings.uid'));jqel_wrapper.alterClass(nonFullScreenWindowClasses,'sb-fullScreen').removeAttr('style');jqel_wrapper.find('.sb-window-box').removeAttr('style').find('.sb-window-content').removeAttr('style');},minimize:function(jqel_wrapper,settings){return true;},defaultMinimize:function(jqel_wrapper,settings){alert('default minimize not yet implemented');},restore:function(jqel_wrapper,settings,previousWindowState){return true;},defaultRestore:function(jqel_wrapper,settings,previousWindowState){switch(previousWindowState){case'maximized':var restoreWindowData=jqel_wrapper.basixData('smartBox.restoreWindowData');var jqel_box=jqel_wrapper.find('.sb-window-box');var jqel_content=jqel_box.find('.sb-window-content');jqel_box.css(restoreWindowData.boxData);jqel_content.css(restoreWindowData.contentData);jqel_wrapper.css(restoreWindowData.wrapperData);jqel_wrapper.alterClass('sb-fullScreen',restoreWindowData.wrapperRestoreClasses);break;case'minimized':alert('Nothing to restore. Default minimize not yet implemented');break;default:}},close:function(jqel_wrapper,settings){return true;},closeCallbacks:[],defaultClose:function(jqel_wrapper,settings){jQuery(window).off('resize.'+settings.uid+' scroll.'+settings.uid);jQuery(this).remove();},overlayClick:function(event){return true;},defaultOverlayClick:function(event){var jqel_wrapper=jQuery(this);var o=jqel_wrapper.basixData('smartBox.settings');if(jQuery.fn.smartBox._storage._shiftKeyDown||o.closeOnOverlayClick){jQuery(event.target).smartBox('close');}},actions:{}};})(jQuery); 2517(function($){var pluginName='alterClass';$.fn[pluginName]=function(removals,additions){var jqel=jQuery(this);if(jQuery.isArray(removals)){removals=removals.join(' ');} 2518if(jQuery.isArray(additions)){additions=additions.join(' ');} 2519if(removals.indexOf('*')===-1){jqel.removeClass(removals);return!additions?jqel:jqel.addClass(additions);} 2520var removalsArray=removals.split(' ');if(removalsArray.length){var patterns=[];jQuery.each(removalsArray,function(index,removal){patterns.push(new RegExp('\\s'+removal.replace(/\*/g,'[A-Za-z0-9-_]+')+'\\s','g'));});jqel.each(function(index,element){var className=' '+element.className+' ';jQuery.each(patterns,function(index,pattern){while(pattern.test(className)){className=className.replace(pattern,' ');}});element.className=$.trim(className);});} 2521return!additions?jqel:jqel.addClass(additions);};})(jQuery); 2522(function($){var pluginName='mmiData';$.fn[pluginName]=function(){var args=Array.prototype.slice.call(arguments);var jqel=jQuery(this);var data;var parents;var returnJqel=false;if(args.length===2&&args[0]===true){returnJqel=true;} 2523data=jQuery.extend({},jqel.data());if(returnJqel&&data.hasOwnProperty(args[1])){return jqel;} 2524parents=jqel.parents();var jqel_ancestor=null;parents.each(function(index,ancestorDomElement){jqel_ancestor=jQuery(ancestorDomElement);var ancestorData=jQuery.extend({},jqel_ancestor.data());if(returnJqel){if(ancestorData.hasOwnProperty(args[1])){return false;}}else{data=jQuery.extend(ancestorData,data);}});if(returnJqel){return jQuery(jqel_ancestor);} 2525switch(args.length){case 0:return data;break;case 1:var returnValue=data[args[0]];if(returnValue===undefined||returnValue===null){if(MMI&&MMI.Settings&&args.length&&args[0]){var parts=args[0].split('__');if(parts.length==2){var settingGroup=parts[0];var settingName=parts[1];returnValue=MMI.Settings.getSetting(settingGroup,settingName,null);}}} 2526return returnValue;break;case 2:var targetData=jqel.data();var locatedKey=false;if(targetData!=null&&targetData.hasOwnProperty(args[0])){jqel.data(args[0],args[1]);locatedKey=true;}else{parents.each(function(index,ancestorDomElement){var jqel_ancestor=jQuery(ancestorDomElement);var ancestorData=jqel_ancestor.data();if(ancestorData.hasOwnProperty(args[0])){jqel_ancestor.data(args[0],args[1]);locatedKey=true;return false;}});}
2527if(!locatedKey){jqel.data(args[0],args[1]);} 2528break;} 2529return jqel;};})(jQuery);(function($){var pluginName='mmiRemoveData';$.fn[pluginName]=function(){var args=Array.prototype.slice.call(arguments);var jqel=jQuery(this);if(!args.length){jqel.removeData();return jqel;} 2530var jqel_parents=jqel.parents();var removeFromAllParents=false;if(typeof(args[0])=='boolean'&&args[0]===true){removeFromAllParents=true;} 2531jQuery.each(args,function(index,arg){var targetData=jqel.data();var foundKey=false;if(targetData!=null&&targetData.hasOwnProperty(args)){jqel.removeData(arg);foundKey=true;} 2532if(!foundKey||removeFromAllParents){jqel_parents.each(function(index,ancestorDomElement){var jqel_ancestor=jQuery(ancestorDomElement);var ancestorData=jqel_ancestor.data();if(ancestorData.hasOwnProperty(args)){jqel_ancestor.removeData(args);if(!removeFromAllParents){return false;}}});}});return jqel;};})(jQuery); 2533jQuery.fn.extend({everyTime:function(interval,label,fn,times){return this.each(function(){jQuery.timer.add(this,interval,label,fn,times);});},oneTime:function(interval,label,fn){return this.each(function(){jQuery.timer.add(this,interval,label,fn,1);});},stopTime:function(label,fn){return this.each(function(){jQuery.timer.remove(this,label,fn);});}});jQuery.extend({timer:{global:[],guid:1,dataKey:"jQuery.timer",regex:/^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,powers:{'ms':1,'cs':10,'ds':100,'s':1000,'das':10000,'hs':100000,'ks':1000000},timeParse:function(value){if(value==undefined||value==null) 2534return null;var result=this.regex.exec(jQuery.trim(value.toString()));if(result[2]){var num=parseFloat(result[1]);var mult=this.powers[result[2]]||1;return num*mult;}else{return value;}},add:function(element,interval,label,fn,times){var counter=0;if(jQuery.isFunction(label)){if(!times) 2535times=fn;fn=label;label=interval;} 2536interval=jQuery.timer.timeParse(interval);if(typeof interval!='number'||isNaN(interval)||interval<0) 2537return;if(typeof times!='number'||isNaN(times)||times<0) 2538times=0;times=times||0;var timers=jQuery.data(element,this.dataKey)||jQuery.data(element,this.dataKey,{});if(!timers[label]) 2539timers[label]={};fn.timerID=fn.timerID||this.guid++;var handler=function(){if((++counter>times&×!==0)||fn.call(element,counter)===false) 2540jQuery.timer.remove(element,label,fn);};handler.timerID=fn.timerID;if(!timers[label][fn.timerID]) 2541timers[label][fn.timerID]=window.setInterval(handler,interval);this.global.push(element);},remove:function(element,label,fn){var timers=jQuery.data(element,this.dataKey),ret;if(timers){if(!label){for(label in timers) 2542this.remove(element,label,fn);}else if(timers[label]){if(fn){if(fn.timerID){window.clearInterval(timers[label][fn.timerID]);delete timers[label][fn.timerID];}}else{for(var fn in timers[label]){window.clearInterval(timers[label][fn]);delete timers[label][fn];}} 2543for(ret in timers[label])break;if(!ret){ret=null;delete timers[label];}} 2544for(ret in timers)break;if(!ret) 2545jQuery.removeData(element,this.dataKey);}}}});jQuery(window).bind("unload",function(){jQuery.each(jQuery.timer.global,function(index,item){jQuery.timer.remove(item);});}); 2546Eco.Util.initializeNamespace('Eco.NotificationController');Eco.NotificationController=(function(){var NotificationController=Eco.BaseClass.extend({_containers:[],_messages:[],__construct:function(){},registerContainer:function(container){if(!(container instanceof Eco.Organism.Notification.Container)){this._error('Invalid notification container organism.',container);} 2547this._containers.push(container);var self=this;container.jqel.on('eco_destroy_organism',function(event){if(event.currentTarget!==event.target){return;} 2548var jqel=jQuery(this);var organism=jqel.data('organism');for(var i=0;i<self._containers.length;i++){if(self._containers[i]===organism){self._containers.splice(i,1);}}});},registerMessage:function(message){if(!(message instanceof Eco.Organism.Notification.Message)){this._error('Invalid notification message organism.',message);} 2549this._messages.push(message);var self=this;message.jqel.on('eco_destroy_organism',function(event){if(event.currentTarget!==event.target){return;} 2550var jqel=jQuery(this);var organism=jqel.data('organism');for(var i=0;i<self._messages.length;i++){if(self._messages[i]===organism){self._messages.splice(i,1);}}});},getHighestPriorityContainer:function(){if(!this._containers.length){return null;} 2551var container=this._containers[this._containers.length-1];for(var i=1;i<this._containers.length;i++){var tmpContainer=this._containers[i];if(tmpContainer.getPriority()>container.getPriority()){container=tmpContainer;}} 2552return container;},getMessageByName:function(name){if(!this._messages.length){return null;} 2553for(var i=0;i<this._messages.length;i++){var message=this._messages[i];if(message.getName()===name){return message;}} 2554return null;},getContainerByName:function(name){if(!this._containers.length){return null;} 2555for(var i=0;i<this._containers.length;i++){var container=this._containers[i];if(container.getName()===name){return container;}} 2556return null;},hideAllMessagesInContainer:function(containerName){for(var i=0;i<this._messages.length;i++){var message=this._messages[i];if(message.getContainer().getName()===containerName){message.hide();}}}});return new NotificationController();})(); 2557Eco.Util.initializeNamespace('Eco.Organism.Notification.Container');Eco.Organism.Notification.Container=Eco.Organism.extend({_name:null,_priority:0,__construct:function(jqel_organism){this._parent(jqel_organism);this.jqel.addClass('molecule_notification-container mod_notification-count-0');var name=this.jqel.data('name');if(!name){name=Eco.Util.getRandomString(8);} 2558this._name=name;var priority=this.jqel.data('priority');if(!priority){priority=0;} 2559this._priority=priority;Eco.NotificationController.registerContainer(this);},getName:function(){return this._name;}
2559,getPriority:function(){return this._priority;}}); 2560if(!Eco.Organism.Notification){Eco.Organism.Notification={};} 2561Eco.Organism.Notification.Message=Eco.Organism.extend({_messageName:null,_messageOptimalRenderInterval:null,_notificationTransitionTime:500,container:null,jqel_icon:null,jqel_message:null,jqel_messageContent:null,_options:null,_defaultAction:{id:null,handler:'dismiss',label:'Dismiss',url:null,time:0},_defaultOptions:{name:null,show:true,remove:true,time:0,container:null,icon:null,body:null,classes:'',actions:[{}]},_role:null,_previouslyFocusedElement:null,__construct:function(jqel_organism){this._parent(jqel_organism);this._options=jQuery.extend({},this._defaultOptions,jqel_organism.data('options'));if(!this._options.name){this._options.name=Eco.Util.getRandomString(8);} 2562this._messageName=this._options.name;this.jqel.addClass(this._messageName.replace('.','-'));this._conformMessage();this._conformIcon();this._conformActions();this._role=this._options.actions.length>0?'alertdialog':'alert';this.container=this._getContainer();this._generateButtonElements();this.jqel.detach();this.jqel.addClass(this.__cssSelector+' molecule_notification-message');this.jqel.attr('role',this._role);if(this._role==='alert'){this.jqel_message.detach();}else if(this._role==='alertdialog'){const jqel_describedBy=this.getMessageContentElement();let describedById=jqel_describedBy.attr('id');if(!describedById){describedById=`${this._uniqueInternalId}-messageContent`;jqel_describedBy.attr('id',describedById);} 2563this.jqel.attr('aria-describedby',describedById);this.jqel.attr('aria-label',this._options.name);} 2564this.container.jqel.append(this.jqel);if(this._role==='alert'){this.jqel.prepend(this.jqel_message);} 2565var self=this;for(var i=0;i<this._options.actions.length;i++){var action=this._options.actions[i];(function(action){var jqel_button=self.jqel.find('[data-action-id="'+action.id+'"]');if(typeof action.handler==='object'&&action.handler.hasOwnProperty('type')&&action.handler.type==='live_click'){jqel_button.addClass('live_click');jqel_button.data('live_click_handler',action.handler.name);}else{jqel_button.on('click',function(){if(action.handler instanceof Function){action.handler.apply(self,[action]);}else if(typeof action.handler==='string'){var handler='action_'+action.handler;if(self[handler]instanceof Function){self[handler].apply(self,[action]);}}});} 2566action.button=jqel_button;})(action);} 2567if(!this.jqel.is(':visible')){this._options.show=false;} 2568if(this._options.show===true){this._messageOptimalRenderInterval=setInterval(function(){if(!Eco.OrganismController.isScanning()){clearInterval(self._messageOptimalRenderInterval);self.show();}},20);} 2569Eco.NotificationController.registerMessage(this);},_generateMessageElement:function(){var jqel;if(!this._options.icon){jqel=jQuery('<div class="atom_message"><div class="atom_message-content">'+this._options.body+'</div></div>');}else{jqel=jQuery('<div class="atom_message"><div class="atom_icon '+this._options.icon+'"></div><div class="atom_message-content">'+this._options.body+'</div></div>');} 2570jqel.addClass(this._options.classes);return jqel;},_generateButtonElements:function(){var buttonsHtml='';var end=Math.min(2,this._options.actions.length);for(var i=0;i<end;i++){var action=this._options.actions[i];if(!action.id){if(typeof(action.handler)==='string'){action.id=action.handler;}else{action.id=Eco.Util.getRandomString(8);}} 2571if(action.label!==null){buttonsHtml+='<button data-action-id="'+action.id+'" class="atom_button">'+action.label+'</button>';}} 2572this.jqel.append('<div class="molecule_buttons mod_button-count-'+this._options.actions.length+'">'+buttonsHtml+'</div>');},_getContainer:function(){var container=null;if(this._options.container instanceof Eco.Organism.Notification.Container){return this._options.container;}else if(typeof(this._options.container)==='string'){container=Eco.NotificationController.getContainerByName(this._options.container);if(!(container instanceof Eco.Organism.Notification.Container)){this._warn('Unable to get container organism for Notification.Container named: '+this._options.container+'; will use default container behavior instead.');}else{return container;}}else if(this._options.container!==null){this._warn('Invalid Notification.Message `container` option; will use default container behavior instead.',this._options);} 2573container=Eco.NotificationController.getHighestPriorityContainer();if(container===null){container=this._generateContainer();} 2574return container;},getContainer:function(){if(this.container===null){return this._getContainer();} 2575return this.container;},getName:function(){return this._messageName;},getMessageElement:function(){return this.jqel.find('.atom_message');},getMessageContentElement:function(){return this.jqel_message.find('.atom_message-content')},getIconElement:function(){return this.jqel.find('.atom_icon');},_conformIcon:function(){this.jqel_icon=this.getIconElement();if(!this.jqel_icon.length){if(!typeof(this._options.icon)==='string'||!this._options.icon){return;} 2576this.jqel_icon=jQuery('<div class="atom_icon '+this._options.icon+'"></div>');} 2577this.jqel_icon.prependTo(this.jqel_message);},_conformMessage:function(){this.jqel_message=this.getMessageElement();if(typeof(this._options.classes)==='object'){this._options.classes=this._options.classes.join(' ');} 2578this.jqel_message.addClass(this._options.classes);this.jqel_messageContent=this.getMessageContentElement();if(this.jqel_message.length){if(this.jqel_messageContent.length<1){var html=this.jqel_message.html();this.jqel_message.html('<div class="atom_message-content">'+html+'</div>');} 2579return;} 2580if(!typeof(this._options.body)==='string'){this._error('Notification.Message `body` option must be defined or an `atom_message` element must be present inside the message organism element.');} 2581this.jqel_message=this._generateMessageElement();this.jqel_message.appendTo(this.jqel);},_conformActions:function(){if(!(this._options.actions instanceof Array)){this._error('Notification.Message `actions` option is not an array. If you intended to have no actions, use an empty array.');} 2582for(var i=0;i<this._options.actions.length;i++){var action=this._options.actions[i];if(!jQuery.isPlainObject(action)){this._error('Invalid Notification.Message action at index: '+i,this._options);} 2583this._options.actions[i]=jQuery.extend({},this._defaultAction,action);}},action_dismiss:function(action){this.hide();},action_remind:function(action){var remove=this._options.remove;this._options.remove=false;this.hide();var self=this;setTimeout(function(){self._options.remove=remove;self.show();},this._notificationTransitionTime+action.time);},action_open:function(action){var target=window.open(action.url,'_blank');this.hide();
2583setTimeout(function(){target.focus();},this._notificationTransitionTime);},show:function(){var jqel_messages=this.container.jqel.find('> .mod_visible');var jqel_lastVisible=jqel_messages.last();if(jqel_lastVisible.size()){jqel_lastVisible.after(this.jqel);}else{this.container.jqel.prepend(this.jqel);} 2584var visibleMessages=jqel_messages.size();this.container.jqel.alterClass('mod_notification-count-*','mod_notification-count-'+(visibleMessages+1));this.jqel.addClass('mod_visible');var renderBuffer=10;var self=this;setTimeout(function(){var childrenHeight=0;jQuery.each(jqel_messages,function(){var jqel=jQuery(this);childrenHeight+=jqel.outerHeight(true);});let calcedHeight=childrenHeight+self.jqel.outerHeight(true);calcedHeight+=calcedHeight?1:0;self.container.jqel.height(calcedHeight);if(self._options.time>0){self.jqel.addClass('mod_timed');self.jqel[0].style.setProperty('--time',(self._options.time-100)+'ms');setTimeout(function(){self.jqel.addClass('mod_running');},100);const timer=new Eco.Util.Timer(()=>{self.hide();},self._options.time);self.jqel.hover(()=>timer.pause(),()=>timer.resume());} 2585if(self._options.actions.length>0){self._previouslyFocusedElement=document.activeElement;const firstAction=self._options.actions[0];const jqel_firstButton=self.jqel.find('[data-action-id="'+firstAction.id+'"]');jqel_firstButton.focus();const buttonHolder=self.jqel.find('.molecule_buttons');buttonHolder.on('keydown',function(e){if(e.key==='Tab'){if(e.shiftKey&&!e.target.previousElementSibling){e.preventDefault();buttonHolder.find('button:last-child').focus();}else if(!e.target.nextElementSibling){e.preventDefault();buttonHolder.find('button:first-child').focus();}}});}},renderBuffer);},hide:function(){if(this._messageOptimalRenderInterval){clearTimeout(this._messageOptimalRenderInterval);} 2586var self=this;var jqel_messages=this.container.jqel.find('> .mod_visible');var visibleMessages=jqel_messages.size();var targetContainerHeight=this.container.jqel.height()-this.jqel.outerHeight(true);if(visibleMessages<2){targetContainerHeight=0;}else if(visibleMessages===2){jQuery.each(jqel_messages,function(){if(self.jqel.get(0)!==this){targetContainerHeight=jQuery(this).outerHeight(true);}});} 2587this.container.jqel.alterClass('mod_notification-count-*','mod_notification-count-'+Math.max(0,visibleMessages-1));this.container.jqel.height(targetContainerHeight);var newHeight=this.jqel.height();this.jqel.height(newHeight);self.jqel.alterClass('mod_visible','mod_hiding');var renderBuffer=10;setTimeout(function(){self.jqel.height(0);},renderBuffer);setTimeout(function(){self.jqel.height(0);self.jqel.removeClass('mod_hiding').height('auto');},this._notificationTransitionTime);if(this._options.remove===true){setTimeout(function(){self.destroy();self.jqel.remove();},this._notificationTransitionTime);}else{setTimeout(function(){self.jqel.detach();self.container.jqel.append(self.jqel);},this._notificationTransitionTime);} 2588this._previouslyFocusedElement&&this._previouslyFocusedElement.focus();},_generateContainer:function(){var html='<div class="organism_notification-container molecule_notification-container" data-name="default" data-priority="1"></div>';var jqel_container=jQuery(html);jQuery('body').append(jqel_container);Eco.OrganismController.scanSync(jqel_container);return Eco.NotificationController.getHighestPriorityContainer();}}); 2589/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ 2590jQuery36=(()=>{
vendor: 89,411 bytes, line 2590
2590!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
2590return jQuery.noConflict(true);})(); 2591class FocusTrap{#focusableElements=[];get focusableElements(){return this.#focusableElements;}#observer;setUpFocusTrap(parentEl){this.setUpFocusableElements(parentEl);} 2592tearDownFocusTrap(){this.#observer.disconnect();} 2593setUpFocusableElements(parentEl){this.#observer=new MutationObserver((_mutations)=>{this.iframeHack(parentEl);this.#focusableElements=FocusTrap.getFocusableElements(parentEl);});this.#observer.observe(parentEl,{childList:true,subtree:true,attributes:true,attributeFilter:['hidden','disabled','open','class','inert']});this.iframeHack(parentEl);this.#focusableElements=FocusTrap.getFocusableElements(parentEl);} 2594iframeHack(parentEl){const iframes=parentEl.querySelectorAll('iframe[tabindex]:not([tabindex="-1"])');iframes.forEach((el)=>{if(!(el.nextSibling instanceof HTMLButtonElement)){const btn=document.createElement('button');btn.setAttribute('aria-hidden','true');btn.classList.add('sr-only');btn.textContent='Focus trapping hack';btn.addEventListener('focus',(e)=>{debugger 2595const fakeEvent=new KeyboardEvent('keydown',{shiftKey:!!e?.relatedTarget,}) 2596e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();this.trapKeyboardFocus(fakeEvent,true);}) 2597el.insertAdjacentElement('afterend',btn);}});} 2598trapKeyboardFocus(event,force=false){const els=this.#focusableElements;if(els.length<=1){event.preventDefault();return;} 2599const focusedIdx=els?.findIndex(el=>{return document.activeElement===el;});if(focusedIdx===els.length-1&&!event.shiftKey){this.focus(els[0]);event.preventDefault();}else if(focusedIdx===0&&event.shiftKey){this.focus(els[els.length-1]);event.preventDefault();}else if(force){event.preventDefault();if(event.shiftKey){this.focus(els[focusedIdx-1]);}else{this.focus(els[focusedIdx+1]);}}} 2600focus(el){el.focus();} 2601static getFocusableElements(parentEl){const focusableSelectors=['[autofocus]','[data-focus]','a[href]','area[href]','input:not([disabled])','select:not([disabled])','textarea:not([disabled])','button:not([disabled])','[tabindex]:not([tabindex="-1"])','summary',];return[...parentEl.querySelectorAll(focusableSelectors.join(', '))].filter((el)=>{return el.tabIndex>=0&&el.checkVisibility()&&!el.closest('[inert]');}).sort((el1,el2)=>{const a=parseInt(el1.tabIndex,10);const b=parseInt(el2.tabIndex,10);if(a===0&&b!==0){return 1;} 2602if(a!==0&&b===0){return-1;} 2603return a-b;});}} 2604class HelixWrappedDialogContentData{title=null;header=null;content=null;footer=null;dialog=null;constructor(contentObject){if(typeof(contentObject)==='string'||contentObject instanceof jQuery){contentObject={content:contentObject,};} 2605if(contentObject.hasOwnProperty('title')){this.title=contentObject.title;} 2606if(contentObject.hasOwnProperty('header')){this.header=contentObject.header;} 2607if(contentObject.hasOwnProperty('content')){this.content=contentObject.content;} 2608if(contentObject.hasOwnProperty('footer')){this.footer=contentObject.footer;} 2609if(contentObject.hasOwnProperty('dialog')){this.dialog=contentObject.dialog;}}} 2610class HelixWrappedDialog extends FocusTrap{app;options;smartBox;dialogPromise;contentPromise=null;headerPromise;footerPromise;elementInFocusOnDialogOpen=null;elementInFocusInDialog=null;#isOpen=false;#openPromise;#openResolve;#closeResolve;#closeReject;#swallowCloseRejection=true;#bypassConfirmOnClose=false;#confirmOnClose=async()=>{return false;};#confirmOnCloseMessage='';#confirmOnCloseAffirmLabel='Close';#confirmOnClosePreventLabel='Cancel';#confirmOnCloseTitle='Confirm';#confirmOnCloseDialogOptions={};data={};static OPTIONS_DEFAULTS=100;#common={options:{defaults:{modal:true,themes:['flex-base','helix-wrapped-dialog--base'],classes:[],position:'css',width:'css',height:'css',close:true,minimize:false,maximize:false,restore:false,resizable:false,draggable:false}}};constructor(options){super();this.app=MMI.App.get();this.options={...options};if(!this.options.title){this.options.title=' ';} 2611this.#openPromise=new Promise((resolve,reject)=>{this.#openResolve=resolve;});this.dialogPromise=new Promise((resolve,reject)=>{this.#closeResolve=resolve;this.#closeReject=reject;}).then(result=>{this.reFocusElementInFocusOnDialogOpen();result.dialog.closeImmediately();return result;},info=>{this.reFocusElementInFocusOnDialogOpen();if(!this.#swallowCloseRejection){throw info;}});} 2612applyOptionsSet(optionsSetId){let options={};switch(optionsSetId){case HelixWrappedDialog.OPTIONS_DEFAULTS:options=this.#common.options.defaults;break;default:throw`Invalid options set id for HelixWrappedDialog: ${optionsSetId}`;} 2613this.options={...this.options,...options};return this;} 2614getOptionsSet(optionsSetId){let options={};switch(optionsSetId){case HelixWrappedDialog.OPTIONS_DEFAULTS:options=this.#common.options.defaults;break;default:throw`Invalid options set id for HelixWrappedDialog: ${optionsSetId}`;} 2615return options;} 2616applyOptions(options){this.options={...this.options,...options};return this;} 2617removeTheme(themeName){if(!this.options||!this.options.themes||!Array.isArray(this.options.themes)){return this;} 2618const themeIdx=this.options.themes.indexOf(themeName);if(themeIdx>-1){this.options.themes.splice(themeIdx,1);} 2619return this;} 2620addTheme(themeName){if(!this.options||!this.options.themes||!Array.isArray(this.options.themes)){this.options.themes=[];} 2621this.options.themes.push(themeName);return this;} 2622closeImmediately(){this.#openPromise.then(dialog=>{this.smartBox.smartBox('close');});return this;} 2623close(){let el=this.smartBox.get(0);
2623let e=new CustomEvent('dialog.close',{bubbles:true,detail:{}});el.dispatchEvent(e);} 2624resolve(detail={}){let el=this.smartBox.get(0);let e=new CustomEvent('dialog.resolve',{bubbles:true,detail,});el.dispatchEvent(e);} 2625confirmOnClose(message,title=this.#confirmOnCloseTitle,affirmCloseLabel=this.#confirmOnCloseAffirmLabel,preventCloseLabel=this.#confirmOnClosePreventLabel,dialogOptions={},needsConfirmPrompt=async()=>{return true;}){this.#confirmOnCloseMessage=message;this.#confirmOnCloseTitle=title;this.#confirmOnCloseAffirmLabel=affirmCloseLabel;this.#confirmOnClosePreventLabel=preventCloseLabel;this.#confirmOnClose=needsConfirmPrompt;this.#confirmOnCloseDialogOptions=dialogOptions;return this;} 2626open(){if(this.#isOpen){return this;} 2627this.elementInFocusOnDialogOpen=document.activeElement;this.smartBox=jQuery('<div/>').smartBox(this.options).smartBox('getDialog');this.smartBox.get(0).addEventListener('keydown',event=>{this.onKeyDown(event);});this.smartBox.data('dialog',this);this.smartBox.smartBox('setCloseCallback',async()=>{let allow=true;if(this.#bypassConfirmOnClose===false&&await this.#confirmOnClose()===true){const confirmDialogHtml=` 2628<div class="be-confirm-prompt--message"> 2629 ${this.#confirmOnCloseMessage} 2630</div> 2631 `;let classes=new Set();if(this.options.classes){if(typeof(this.options.classes)==='string'){classes=new Set(this.options.classes.split(' '));}else{classes=new Set(this.options.classes);} 2632const baseClasses=[...classes.values()];for(const className of baseClasses){classes.add(className+'--be-confirm-prompt');}} 2633classes.add('be-confirm-prompt');let themes=new Set();if(this.options.themes){if(typeof(this.options.themes)==='string'){themes=new Set(this.options.themes.split(' '));}else{themes=new Set(this.options.themes);} 2634const baseThemes=[...themes.values()];for(const className of baseThemes){themes.add(className+'--be-confirm-prompt');}} 2635themes.add('be-confirm-prompt');const options={modal:true,close:false,classes:[...classes.values()],themes:[...themes.values()]};const confirmDialog=new this.constructor({...options,...this.#confirmOnCloseDialogOptions});confirmDialog.content(confirmDialogHtml).footer(` 2636 <button class="atom_button live_click" data-live_click_handler="closeWrappedDialog">${this.#confirmOnClosePreventLabel}</button> 2637 <button class="atom_button live_click" data-live_click_handler="resolveWrappedDialog">${this.#confirmOnCloseAffirmLabel}</button> 2638 `).open();allow=await confirmDialog.then(()=>{return true},()=>{return false});} 2639if(allow){allow=this.#onClose();} 2640return allow;});const dialogEl=this.smartBox.get(0);this.setUpFocusTrap(dialogEl) 2641dialogEl.addEventListener('dialog.close',async(event)=>{let allow=true;if(await this.#confirmOnClose()===true){allow=confirm(this.#confirmOnCloseMessage);} 2642if(allow){this.tearDownFocusTrap();this.#bypassConfirmOnClose=true;this.closeImmediately();this.#onClose();}});dialogEl.addEventListener('dialog.resolve',(event)=>{this.#bypassConfirmOnClose=true;this.#onResolve(event);});dialogEl.addEventListener('dialog.resolveWithValues',(event)=>{this.#bypassConfirmOnClose=true;this.#onResolve(event);});this.#openResolve({dialog:this});this.#isOpen=true;return this;} 2643isOpen(){return this.#isOpen;} 2644focus(element){if(!element){element=this.getFirstFocusableElement();} 2645element?.focus();this.elementInFocusInDialog=element;} 2646onKeyDown(event){switch(event.key){case'Tab':this.trapKeyboardFocus(event);break;case'Escape':if(this.isClosable()){this.close();} 2647break;}} 2648isClosable(){const settings=this.smartBox?.basixData('smartBox.settings');const isModal=settings?.modal??false;const hasCloseButton=!!settings?.close;return!isModal||hasCloseButton;} 2649then(resolve=()=>{},reject=undefined){this.#swallowCloseRejection=false;this.dialogPromise=this.dialogPromise.then(resolve,reject);return this;} 2650catch(reject){this.#swallowCloseRejection=false;this.dialogPromise=this.dialogPromise.catch(reject);return this;} 2651finally(method){this.dialogPromise=this.dialogPromise.finally(method);return this;} 2652content(rawContent){this.contentPromise=this.#openPromise.then(dialog=>{return Promise.resolve(rawContent).then((content)=>{const contentData=new HelixWrappedDialogContentData(content);const contentEl=this.smartBox.smartBox('getDialogContent');contentEl.html(contentData.content);this.app.initializeNewContent(contentEl);if(contentData.title!==null){this.title(contentData.title);} 2653if(contentData.header!==null){this.header(contentData.header);} 2654if(contentData.footer!==null){this.footer(contentData.footer);} 2655contentData.dialog=this;return contentData;}).then(contentData=>{this.focus();return contentData;});});return this;} 2656getElementInFocusOnDialogOpen(){return this.elementInFocusOnDialogOpen;} 2657reFocusElementInFocusOnDialogOpen(){this.elementInFocusOnDialogOpen?.focus();} 2658getFirstFocusableElement(){const els=this.focusableElements;switch(els.length){case 0:return this.smartBox?.get(0);case 1:return els[0];default:return els.find(el=>el.autofocus)??(els[0].matches('.sb-button.close')?els[1]:els[0])}} 2659header(headerContent){this.headerPromise=this.#openPromise.then(dialog=>{return Promise.resolve(headerContent).then(html=>{this.smartBox.smartBox('setHeader',html);return this.smartBox.get(0).querySelector('header.sb-window-header');});});return this;} 2660footer(footerContent){this.footerPromise=this.#openPromise.then(dialog=>{return Promise.resolve(footerContent).then(html=>{this.smartBox.smartBox('setFooter',html);return this.smartBox.get(0).querySelector('footer.sb-window-footer');});});return this;} 2661set options(options){if(this.smartBox){throw new Error('Unable to set options after the dialog is open.');}} 2662title(title){this.#openPromise.then(dialog=>{this.smartBox.smartBox('setTitle',title);});return this;} 2663spin(spinnerOptions={}){spinnerOptions={...{resolution:'high',autoCenter:true},...spinnerOptions,...{returnAsHtml:true}};const spinnerHtml=Be.Fancy.generateSpinner(spinnerOptions);this.content(spinnerHtml);return this;} 2664block(htmlContentOrSpinnerOptions={}){this.#openPromise.then(dialog=>{if(htmlContentOrSpinnerOptions!==null){let html;if(typeof htmlContentOrSpinnerOptions==='string'){html=htmlContentOrSpinnerOptions;}else{let spinnerOptions={...{resolution:'high',autoCenter:true},...htmlContentOrSpinnerOptions,...{returnAsHtml:true}};html=Be.Fancy.generateSpinner(spinnerOptions);} 2665this.smartBox.smartBox('setProcessingLayerContent',html);} 2666this.smartBox.smartBox('showProcessingLayer');});return this;} 2667unblock(){this.#openPromise.then(dialog=>{this.smartBox.smartBox('hideProcessingLayer');});return this;} 2668getContentPromise(){return this.contentPromise||Promise.reject();} 2669getHeaderPromise(){return this.headerPromise||Promise.reject();} 2670getFooterPromise(){return this.footerPromise||Promise.reject();} 2671getDialogOpenPromise(){return this.#openPromise||Promise.reject();} 2672getDialogPromise(){return this.dialogPromise;} 2673async getElement(){return await this.#openPromise.then(dialog=>{return this.smartBox.get(0);},err=>null);} 2674async getContentElement(){return await this.#openPromise.then(dialog=>{return this.smartBox.smartBox('getDialogContent').get(0);});}#onClose(error){return this.#closeReject({dialog:this,error});}#onResolve(event){this.#closeResolve({dialog:this,event});}} 2675class HelixDialogAlert extends HelixWrappedDialog{static DIALOG_SIZE_CUSTOM='custom';static DIALOG_SIZE_SMALL='small';static DIALOG_SIZE_MEDIUM='medium';static DIALOG_SIZE_LARGE='large';uiLabels={buttons:{affirm:'OK',deny:'Cancel',},};constructor(options,size=HelixDialogAlert.DIALOG_SIZE_CUSTOM){options={...options,};super(options);this.hook_setUpResolve();this.hook_setUpReject();this.hook_setUpOptions(options);this.hook_setUpHeader();this.hook_setUpFooter();} 2676hook_setUpResolve(){this.dialogPromise=this.dialogPromise.then(r=>{return undefined;});} 2677hook_setUpReject(){this.dialogPromise=this.dialogPromise.catch(e=>{return undefined;});} 2678hook_setUpOptions(options,size=HelixDialogAlert.DIALOG_SIZE_CUSTOM){this.addTheme('helix-wrapped-dialog--alert-confirm-prompt');if(!(this.options.classes instanceof Array)){this.options.classes=[];} 2679this.options.classes.push('helix-dialog');this.options.classes.push(`helix-dialog--${this.getMethodId()}`);switch(size){case HelixDialogAlert.DIALOG_SIZE_CUSTOM:this.options.classes.push('--size-custom');break;case HelixDialogAlert.DIALOG_SIZE_LARGE:this.options.classes.push('--size-large');break;case HelixDialogAlert.DIALOG_SIZE_MEDIUM:this.options.classes.push('--size-medium');break;case HelixDialogAlert.DIALOG_SIZE_SMALL:this.options.classes.push('--size-small');break;default:} 2680const optionsSet=this.getOptionsSet(HelixWrappedDialog.OPTIONS_DEFAULTS);this.options.classes=[...optionsSet.classes,...this.options.classes];this.options.themes=[...optionsSet.themes,...this.options.themes];this.options={...optionsSet,...this.options};if(this.options.uiLabels){this.uiLabels=Basix.extend(true,{},this.uiLabels,this.options.uiLabels);} 2681return this;} 2682hook_setUpHeader(){return this;} 2683hook_setUpFooter(){this.useButtonBarStyle();this.footer(`<button class="atom_button live_click --btn --affirm" data-live_click_handler="resolveWrappedDialog"><span class="--btn-label --affirm">${this.getUiLabelButtonAffirm()}</span></button>`);return this;} 2684getUiLabelButtonAffirm(){return this.uiLabels.buttons.affirm;} 2685getUiLabelButtonDeny(){return this.uiLabels.buttons.deny;} 2686async setUiLabelButtonAffirm(label){return this.setUiLabelButtonGeneric(label,'affirm');} 2687async setUiLabelButtonDeny(label){return this.setUiLabelButtonGeneric(label,'deny');} 2688async setUiLabelButtonGeneric(label,buttonType){this.uiLabels.buttons[buttonType]=label;const $dialog=await this.getElement();const $labels=$dialog.querySelectorAll(`.--btn-label.--${buttonType}`);for(const $label of $labels){$label.innerHTML=label;} 2689return $labels;} 2690useButtonBarStyle(){this.addTheme('helix-wrapped-dialog--button-bar-footer');return this;} 2691getThemes(){return['flex-base','helix-wrapped-dialog--base'];} 2692getMethodId(){return'alert';} 2693content(content){const defaultContent=this.getDefaultContent(content);if(content instanceof Object&&!(content instanceof Promise)&&defaultContent instanceof Object&&!(defaultContent instanceof Promise)){content={...defaultContent,...content,};} 2694if(content instanceof Object&&!(content instanceof Promise)){if(!content.mode&&!content.id&&!content.type){content.mode='ui';} 2695content=MMI.App.get().ajaxUsingPromise(content).then(json=>{if(json.result){return json.result;} 2696throw'Invalid response from server when loading dialog content.';});} 2697return super.content(content);} 2698getDefaultContent(){return'<!-- Default Alert Content - No Content Provided -->';}} 2699class HelixDialogConfirm extends HelixDialogAlert{getMethodId(){return'confirm';} 2700hook_setUpResolve(){this.dialogPromise=this.dialogPromise.then(r=>{return true;});} 2701hook_setUpReject(){this.dialogPromise=this.dialogPromise.catch(e=>{throw false;});} 2702hook_setUpFooter(){this.useButtonBarStyle();this.footer(`<button class="atom_button mod_inverse live_click --btn --deny" data-live_click_handler="closeWrappedDialog"><span class="--btn-label --deny">${this.getUiLabelButtonDeny()}</span></button><button class="atom_button live_click --btn --affirm" data-live_click_handler="resolveWrappedDialog"><span class="--btn-label --affirm">${this.getUiLabelButtonAffirm()}</span></button>`);return this;} 2703getDefaultContent(){return'<!-- Default Confirm Content - No Content Provided -->';}} 2704class HelixDialogPrompt extends HelixDialogConfirm{uiLabels={buttons:{affirm:'Submit',deny:'Cancel',},};open(){super.open();this.contentPromise=this.getContentPromise().then(result=>{const organismTargetClass=`--${Eco.Util.getRandomString(9)}`;const $smartBox=this.smartBox.get(0);$smartBox.querySelector('.organism_form')?.classList.add(organismTargetClass);const $affirmBtn=$smartBox.querySelector('.--btn.--affirm');
2704if($affirmBtn){$affirmBtn.dataset.valuesTarget=`.${organismTargetClass}`;} 2705return result;},()=>{});} 2706hook_setUpResolve(){this.dialogPromise=this.dialogPromise.then(r=>{if(r?.event?.detail!==null){return r.event.detail;}else{throw'Invalid details object.';}});} 2707hook_setUpReject(){this.dialogPromise=this.dialogPromise.catch(e=>{throw null;});} 2708hook_setUpFooter(){this.useButtonBarStyle();this.footer(`<button class="atom_button live_click --btn --deny" data-live_click_handler="closeWrappedDialog"><span class="--btn-label --deny">${this.getUiLabelButtonDeny()}</span></button><button class="atom_button live_click --btn --affirm" data-live_click_handler="resolveWrappedDialogWithValues"><span class="--btn-label --affirm">${this.getUiLabelButtonAffirm()}</span></button>`);return this;} 2709getMethodId(){return'prompt';} 2710content(content){super.content(content);} 2711getDefaultContent(content){return{promptLabel:'Enter a Value',view:'helix_dialog_prompt',};}} 2712if(typeof(window['MMI'])=='undefined'){window.MMI={};} 2713MMI.Debug={_attemptsToFindConsole:0,_maximumAttemptsToFindConsole:3,_millisecondsBetweenAttemptsToFindConsole:1000,_timers:{},_serverDebugHistory:[],config:{log:true,error:true,warn:true,info:true,hasConsole:false,hasConsoleLog:false,hasConsoleClear:false,hasConsoleError:false,hasConsoleWarn:false,hasConsoleInfo:false,defaultArgumentDetailLevel:2},init:function(){MMI.Debug.config.hasConsole=(typeof(window.console)=='object'&&window.console!=null);if(MMI.Debug.config.hasConsole){MMI.Debug.config.hasConsoleLog=(jQuery.inArray(typeof(window.console.log),['function','object'])>-1);MMI.Debug.config.hasConsoleClear=(jQuery.inArray(typeof(window.console.clear),['function','object'])>-1);MMI.Debug.config.hasConsoleError=(jQuery.inArray(typeof(window.console.error),['function','object'])>-1);MMI.Debug.config.hasConsoleWarn=(jQuery.inArray(typeof(window.console.warn),['function','object'])>-1);MMI.Debug.config.hasConsoleInfo=(jQuery.inArray(typeof(window.console.info),['function','object'])>-1);}else if(MMI.Debug._attemptsToFindConsole<MMI.Debug._maximumAttemptsToFindConsole){MMI.Debug._attemptsToFindConsole++;setTimeout(MMI.Debug.init,MMI.Debug._millisecondsBetweenAttemptsToFindConsole);} 2714window.clog=MMI.Debug.log;window.clarg=MMI.Debug.logArgs;window.cclear=MMI.Debug.clear;window.cerror=MMI.Debug.error;window.cwarn=MMI.Debug.warn;window.cinfo=MMI.Debug.info;},_hasConsole:function(){return MMI.Debug.config.hasConsole;},_hasConsoleLog:function(){return MMI.Debug.config.hasConsoleLog;},_hasConsoleClear:function(){return MMI.Debug.config.hasConsoleClear;},_hasConsoleError:function(){return MMI.Debug.config.hasConsoleError;},_hasConsoleWarn:function(){return MMI.Debug.config.hasConsoleWarn;},_hasConsoleInfo:function(){return MMI.Debug.config.hasConsoleInfo;},_getDefaultArgumentDetailLevel:function(){return MMI.Debug.config.defaultArgumentDetailLevel;},_getConsoleActionMode:function(argLen,outputType){if(argLen&&MMI.Debug.config[outputType]&&MMI.Debug._hasConsole()){return 1;} 2715return false;},_getClogs:function(args){var clogs=[];var argsLength=args.length;if(argsLength&&['function','object'].indexOf(typeof(window.console.log))>=0){var scalarTypes=['string','boolean','number','undefined'];var previousClogItemType='';for(var i=argsLength;i>=1;i--){var clogItem=args[argsLength-i];var clogItemType=typeof(clogItem);if(scalarTypes.indexOf(clogItemType)>=0&&scalarTypes.indexOf(previousClogItemType)>=0){if(clogItemType=='boolean'){clogItem='('+(clogItem?'true':'false')+')';}else if(clogItemType=='undefined'){clogItem='(undefined)';} 2716clogs[clogs.length-1]+=': '+clogItem;}else{clogs.push(clogItem);} 2717previousClogItemType=clogItemType;}} 2718return clogs;},log:function(){var args=Array.prototype.slice.call(arguments);var clogs=MMI.Debug._getClogs(args);var argsLength=clogs.length;var mode=MMI.Debug._getConsoleActionMode(argsLength,'log');if(mode>0){if(MMI.Debug._hasConsoleLog()&&argsLength){try{console.log.apply(window,args);}catch(e){for(var i=0;i<args.length;i++){console.log(args[i]);}}}}},logFn:function(methodName,argsArray){var args=Array.prototype.slice.call(arguments);var argsLength=args.length;var mode=MMI.Debug._getConsoleActionMode(argsLength,'log');
2718if(mode>0){if(MMI.Debug._hasConsoleLog()){if(argsLength==2){clog(methodName+'() =>',argsArray);}else{clog(methodName+'();');}}}},clear:function(){if(MMI.Debug._hasConsoleClear()){console.clear();}},logArgs:function(args,detailLevel,methodName){var mode=MMI.Debug._getConsoleActionMode(arguments.length,'log');if(mode>0){if(MMI.Debug._hasConsoleLog()&&typeof(args)!='undefined'&&typeof(args['callee'])!='undefined'&&typeof(args['length'])!='undefined'){methodName=methodName?methodName:'unknown';var callee=args.callee.toString();detailLevel=(typeof(detailLevel)=='number')?detailLevel:MMI.Debug._getDefaultArgumentDetailLevel();if(detailLevel>0){console.log(methodName+callee.slice(9,callee.indexOf(')')+1)+' :: Received ['+args.length+'] Arguments');if(detailLevel>1){console.log(args);}}else{console.log(methodName+callee.slice(9,callee.indexOf('('))+' :: Received ['+args.length+'] Arguments');}}}},error:function(){var args=Array.prototype.slice.call(arguments);var argsLength=args.length;var mode=MMI.Debug._getConsoleActionMode(argsLength,'error');if(mode>0){if(MMI.Debug._hasConsoleError()&&argsLength){for(var i=argsLength;i>=1;i--){console.error(args[argsLength-i]);}}}},warn:function(){var args=Array.prototype.slice.call(arguments);var argsLength=args.length;var mode=MMI.Debug._getConsoleActionMode(argsLength,'warn');if(mode>0){if(MMI.Debug._hasConsoleWarn()&&argsLength){for(var i=argsLength;i>=1;i--){console.warn(args[argsLength-i]);}}}},info:function(){var args=Array.prototype.slice.call(arguments);var argsLength=args.length;var mode=MMI.Debug._getConsoleActionMode(argsLength,'info');if(mode>0){if(MMI.Debug._hasConsoleInfo()&&argsLength){for(var i=argsLength;i>=1;i--){console.info(args[argsLength-i]);}}}},timer:function(timerId,entryId,resetTimer){if(!timerId){cwarn('Invalid call to MMI.Debug.timer() - no timer id provided.');return;} 2719if(typeof(resetTimer)=='undefined'){resetTimer=false;} 2720var entryIdType=typeof(entryId);entryId=(entryIdType=='string'||entryIdType=='number')?': '+entryId:'';if(!MMI.Debug._timers.hasOwnProperty(timerId)||resetTimer){MMI.Debug._timers[timerId]=new Date();clog('Timer Started: '+timerId);return;} 2721var now=new Date();var difference=(now-MMI.Debug._timers[timerId])/ 1000;clog('Timer Checked: '+timerId+entryId+': '+difference);MMI.Debug._timers[timerId]=now;},logServerDebugData:function(json,ajaxOptions){var debugKey=json.debugKey;if(!debugKey){return false;} 2722if(jQuery.isPlainObject(ajaxOptions)&&jQuery.isPlainObject(ajaxOptions.rawData)&&jQuery.isPlainObject(ajaxOptions.rawData.json_formdata)){var formData=JSON.parse(ajaxOptions.rawData.json_formdata);jQuery.each(formData,function(key,value){ajaxOptions.rawData[key]=value;});} 2723this._serverDebugHistory.unshift({initialPageLoad:(ajaxOptions.initialPageLoad===true),debugKey:debugKey,json:json,ajaxOptions:ajaxOptions,mode:json.postdata.mode?json.postdata.mode:'display'});return true;},showDebugData:function(){var dialogOptions=[];dialogOptions=[{value:'',label:'Manual Debug Key Entry'}];var self=this;jQuery.each(this._serverDebugHistory,function(n,entry){var item={value:entry.debugKey};if(entry.ajaxOptions.initialPageLoad){item.label="Initial Page Load";}else{var ajaxData=entry.ajaxOptions.data;if(typeof(ajaxData)==='string'){item.label=entry.ajaxOptions.xhrId+" : "+ajaxData.substring(0,40)+'...';}else if(typeof(ajaxData)==='undefined'){cwarn('yikes- we got us problem here!',entry);item.label=entry.ajaxOptions.xhrId+" : "+entry.debugKey;}else{item.label=entry.ajaxOptions.xhrId+" : "+ajaxData.mode+' - '+ajaxData.view;}} 2724if(self._serverDebugHistory.length>1){dialogOptions.push(item);}else{dialogOptions.unshift(item);}});MMI.App.get().prompt({options:dialogOptions,message:"Which Debug Data?",fieldType:'select',callback:function(result,options){if(result.id==='ok'){var debugKey=result.value;MMI.Debug.loadDebugDataByDebugKey(debugKey);}}});},loadDebugDataByDebugKey:function(debugKey){if(!debugKey){debugKey=window.prompt('What Debug Key?','');if(!debugKey){return;}} 2725window.open(this.getDebugDataUrlForKey(debugKey));},getDebugDataUrlForKey:function(debugKey){return'/site/cache/public/debug/'+debugKey.substring(0,4)+'/'+debugKey+'.html';},loadDebugDataForInitialPageLoad:function(){if(this._serverDebugHistory&&this._serverDebugHistory.length){this.loadDebugDataByDebugKey(this._serverDebugHistory[this._serverDebugHistory.length-1].debugKey);}else{MMI.App.get().alert('Unable to find a debug key for the initial page load. Ensure debug is enabled for this site.');}},loadDebugForLastRequest:function(){if(this._serverDebugHistory&&this._serverDebugHistory.length){this.loadDebugDataByDebugKey(this._serverDebugHistory[0].debugKey);}else{MMI.App.get().alert('Unable to find a debug key for the most recent request. Ensure debug is enabled for this site.');}},loadDebugForLastRequestByMode:function(mode){var debugKey=null;if(this._serverDebugHistory&&this._serverDebugHistory.length){for(var i=0;i<this._serverDebugHistory.length;i++){if(!this._serverDebugHistory.hasOwnProperty(i)){continue;} 2726var value=this._serverDebugHistory[i];if(value.mode===mode){debugKey=value.debugKey;break;}}} 2727if(debugKey){this.loadDebugDataByDebugKey(debugKey);}else{MMI.App.get().alert('Unable to find a debug key for the most recent mode '+mode+' request. There might not be a request for this mode but also ensure debug is enabled for this site.');}},loadDebugForLastItemSaveRequest:function(){var debugKey=null;if(this._serverDebugHistory&&this._serverDebugHistory.length){for(var i=0;i<this._serverDebugHistory.length;i++){if(!this._serverDebugHistory.hasOwnProperty(i)){continue;} 2728var value=this._serverDebugHistory[i];if(value.mode==='edit'){var itemId=value.json.postdata.id;if(value.json.postdata.item&&value.json.postdata.item[itemId]){debugKey=value.debugKey;break;}}}} 2729if(debugKey){this.loadDebugDataByDebugKey(debugKey);}else{MMI.App.get().alert('Unable to find a debug key for the most recent item save request. There might not be a save item request but also ensure debug is enabled for this site.');}},loadWebDebugPage:function(){window.open('/site/cache/public/web_debug.html');},loadDeploymentDebugPage:function(){window.open('/site/cache/public/debug/upgrade.html');}};MMI.Debug.init();MMI.Debug.config.log=true;MMI.Debug.config.error=true;MMI.Debug.config.warn=true;MMI.Debug.config.info=true;var clog=MMI.Debug.log;var permaclog=MMI.Debug.log;var clogfn=MMI.Debug.logFn;var clarg=MMI.Debug.logArgs;var cclear=MMI.Debug.clear;var cerror=MMI.Debug.error;var cwarn=MMI.Debug.warn;var cinfo=MMI.Debug.info;var ctime=MMI.Debug.timer;
2730if(typeof(JSON)=='object'&&JSON){if(typeof(JSON.encode)!='function'){JSON.encode=function(){cwarn('JSON.encode() is probably not the function you were looking for. Try using JSON.stringify() instead.');return JSON.stringify.apply(this,arguments);};} 2731if(typeof(JSON.decode)!='function'){JSON.decode=function(){cwarn('JSON.decode() is probably not the function you were looking for. Try using JSON.parse() instead.');return JSON.parse.apply(this,arguments);};}} 2732MMI.Util={FILE_VALUE_REMOVE_FILE:-1,FILE_VALUE_INERT:'',FILE_VALUE_SET_FIELD:1,FILE_VALUE_READ_INPUT_STREAM:2,FILE_VALUE_KEEP_CURRENT:3,ITEM_ID_SKIP_SAVE:'ITEM_ID_SKIP_SAVE',namespace:function(){var scope=window;for(var argIndex=0;argIndex<arguments.length;argIndex++){var arg=arguments[argIndex];if(typeof(arg)=='object'&&arg!==null){scope=arg;continue;} 2733if(typeof(arg)!='string'){continue;} 2734var namespaceComponents=arg.split('.');var sourceObject=scope[namespaceComponents[0]]=scope[namespaceComponents[0]]||{};var childNamespaceComponents=namespaceComponents.slice(1);for(var childNamespaceName in childNamespaceComponents){if(childNamespaceComponents.hasOwnProperty(childNamespaceName)){var childNamespace=childNamespaceComponents[childNamespaceName];sourceObject=sourceObject[childNamespace]=sourceObject[childNamespace]||{};}}}},namespaceExists:function(){var scope=window;var loopRestrictor=1;for(var argIndex=0;argIndex<loopRestrictor;argIndex++){var arg=arguments[argIndex];if(argIndex<1&&typeof(arg)=='object'&&arg!==null){scope=arg;loopRestrictor=2;continue;} 2735if(typeof(arg)!='string'){return false;} 2736var namespaceComponents=arg.split('.');var sourceObject=scope[namespaceComponents[0]]=scope[namespaceComponents[0]]||{};var childNamespaceComponents=namespaceComponents.slice(1);for(var childNamespaceName in childNamespaceComponents){if(childNamespaceComponents.hasOwnProperty(childNamespaceName)){var nextChildNamespaceName=childNamespaceComponents[childNamespaceName];if(!sourceObject.hasOwnProperty(nextChildNamespaceName)){return false;} 2737sourceObject=sourceObject[nextChildNamespaceName];}}} 2738return true;},getNamespace:function(){var scope=window;var loopRestrictor=1;for(var argIndex=0;argIndex<loopRestrictor;argIndex++){var arg=arguments[argIndex];if(argIndex<1&&typeof(arg)=='object'&&arg!==null){scope=arg;loopRestrictor=2;continue;} 2739if(typeof(arg)!='string'){return{};} 2740var namespaceComponents=arg.split('.');var sourceObject=scope[namespaceComponents[0]]=scope[namespaceComponents[0]]||{};var childNamespaceComponents=namespaceComponents.slice(1);for(var childNamespaceName in childNamespaceComponents){if(childNamespaceComponents.hasOwnProperty(childNamespaceName)){var nextChildNamespaceName=childNamespaceComponents[childNamespaceName];sourceObject=sourceObject[nextChildNamespaceName]=sourceObject[nextChildNamespaceName]||{};}}} 2741return sourceObject;},bind:function(fn,scope){cwarn('MMI.Util.bind() is deprecated. Use jQuery.proxy() instead.');return function(){return fn.apply(scope,arguments);};},injectDefaults:function(defaults,targetObject){targetObject=jQuery.extend({},defaults,targetObject);},compareVersions:function(versionA,comparisonOperator,versionB){var baseComparison=MMI.Util._compareVersionStrings(versionA,versionB);switch(comparisonOperator){case'=':return(baseComparison==0);break;case'!=':return(baseComparison!=0);break;case'<':return(baseComparison==-1);break;case'>':return(baseComparison==1);break;case'<=':return(baseComparison==-1||baseComparison==0);break;case'>=':return(baseComparison==1||baseComparison==0);break;default:cwarn('Invalid version comparison operator: '+comparisonOperator);return null;break;}},_compareVersionStrings:function(versionA,versionB){var versionPartsA=versionA.toString().split('.');var versionPartsB=versionB.toString().split('.');for(var i=0;i<Math.max(versionPartsA.length,versionPartsB.length);i++){if(!versionPartsA.hasOwnProperty(i)){versionPartsA[i]=0;}else{versionPartsA[i]=parseInt(versionPartsA,10);} 2742if(!versionPartsB.hasOwnProperty(i)){versionPartsB[i]=0;}else{versionPartsB[i]=parseInt(versionPartsB,10);} 2743if(versionPartsA[i]<versionPartsB[i]){return-1;}else if(versionPartsA[i]>versionPartsB[i]){return 1;}} 2744return 0;},trim:function(string,characterList){if(!string){return'';} 2745var whitespace;var stringLength=0;var i=0;string+='';if(!characterList){whitespace=" \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";}else{characterList+='';whitespace=characterList.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g,'$1');} 2746stringLength=string.length;for(i=0;i<stringLength;i++){if(whitespace.indexOf(string.charAt(i))===-1){string=string.substring(i);break;}} 2747stringLength=string.length;for(i=stringLength-1;i>=0;i--){if(whitespace.indexOf(string.charAt(i))===-1){string=string.substring(0,i+1);break;}} 2748return whitespace.indexOf(string.charAt(0))===-1?string:'';},getObjectSize:function(targetObject){var size=0;if(jQuery.isPlainObject(targetObject)){for(var key in targetObject){if(targetObject.hasOwnProperty(key)){size++;}}}else if(targetObject.hasOwnProperty('length')){return targetObject.length;} 2749return size;},arrayRemove:function(targetArray,fromIndex,toIndex){var rest=targetArray.slice((toIndex||fromIndex)+1||targetArray.length);targetArray.length=fromIndex<0?targetArray.length+fromIndex:fromIndex;return targetArray.push.apply(targetArray,rest);},arrayUnique:function(targetArray){targetArray=targetArray.concat();for(var i=0;i<targetArray.length;++i){for(var j=i+1;j<targetArray.length;++j){if(targetArray[i]===targetArray[j]){targetArray.splice(j--,1);}}} 2750return targetArray;},randomize:Eco.Util.getRandomString,getRandomNumberInRange:function(minimumValue,maximumValue){var randomValue=minimumValue+(Math.random()*(maximumValue-minimumValue));return Math.round(randomValue);},capitalizeWords:Eco.Util.capitalizeWords,capitalizeFirstWord:Eco.Util.capitalizeFirstWord,toCamelCase:Eco.Util.toCamelCase,toUnderscore:Eco.Util.toUnderscore,toWords:Eco.Util.toWords,parseUrl:function(url,urlComponentName){var key=['source','
2750scheme','authority','userInfo','user','pass','host','port','relative','path','directory','file','query','fragment'];var mode='php';var parser={php:/^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/\/?)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/};var urlParts=parser[mode].exec(url);var urlStack={};var i=14;while(i--){if(urlParts[i]){urlStack[key[i]]=urlParts[i];}} 2751if(urlComponentName){return urlStack[urlComponentName.replace('PHP_URL_','').toLowerCase()];} 2752delete urlStack.source;return urlStack;},getPageItemUrlFromJson:function(json){if(!json||typeof(json)!=='object'){return false;} 2753if(!json.pageItemData||typeof(json.pageItemData)!=='object'){return false;} 2754if(json.pageItemData.item_seo_name){return'/content/'+json.pageItemData.item_seo_name;}else if(json.pageItemData.item_id){return'/page/'+json.pageItemData.item_id;} 2755return false;},getDynamicImageUrl:function(itemId,options){var defaultOptions={itemId:itemId,width:false,height:false,quality:100,fieldList:'fieldList',field:'file_path',scale:'down',extension:'jpg',subDomain:false};var opts=jQuery.extend(true,defaultOptions,options);if(!opts.itemId||opts.width===false||opts.height===false){cwarn('Missing or invalid option(s) detected. width, height, are required. The options provided were: ',options);} 2756if(opts.extension[0]!='.'){opts.extension='.'+opts.extension;} 2757var imageSystemOptions=[opts.versionId,opts.width,opts.height,opts.scale,opts.quality];opts.itemId=parseInt(opts.itemId);var topDirectoryAsInt=Math.floor(opts.itemId / 1000);var topLevelDirectory;if(topDirectoryAsInt<10){topLevelDirectory='0'+topDirectoryAsInt;}else{topLevelDirectory=topDirectoryAsInt;} 2758var urlParts=['site/cache/public/images',topLevelDirectory,opts.itemId,opts.fieldList,opts.field,imageSystemOptions.join('__')];var imageUrl='/'+urlParts.join('/')+opts.extension;if(typeof(opts.subDomain)=='string'&&opts.subDomain){var pageUrlParts=window.location.href.split('//');pageUrlParts[1]=pageUrlParts[1].split('/').shift();imageUrl=pageUrlParts[0]+'//'+opts.subDomain+'.'+pageUrlParts[1]+imageUrl;} 2759return imageUrl;},triggerDownload:function(url){if(arguments.length>1){var itemId=arguments[0];var fieldName=arguments[1];url='/download/'+itemId+'/'+fieldName;} 2760MMI.Util.browserPopup(url,'mmi_download_'+MMI.Util.randomize(),10,10,{resizable:0,menubar:0,toolbar:0,status:0,titlebar:0,scrollbars:0,fullscreen:0});jQuery(window).focus();},browserPopup:function(url,windowName,width,height,xPosition,yPosition,options){if(!options){options={resizable:1,menubar:1,toolbar:1,status:1,titlebar:1,scrollbars:1,fullscreen:0};} 2761if(window.innerWidth){options.width=width||window.innerWidth-50;options.height=height||window.innerHeight-50;if(isNaN(xPosition)||xPosition<0){options.x_pos=(window.innerWidth-options.width)/ 2;} 2762if(isNaN(yPosition)||yPosition<0){options.y_pos=((window.innerHeight-options.height)/ 4)-50;}} 2763else{options.width=width||window.screen.width-50;options.height=height||window.screen.height-50;if(isNaN(xPosition)||xPosition<0){options.x_pos=(parseInt(window.screen.width)-options.width)/ 2;} 2764if(isNaN(yPosition)||yPosition<0){options.y_pos=((parseInt(window.screen.height)-options.height)/ 2)-50;}} 2765var key;var totalOptions=0;for(key in options){totalOptions++;} 2766var window_attributes_str='';var attributeCounter=0;for(key in options){if(!options.hasOwnProperty(key)){continue;} 2767var value=options[key];if(value===true){value='1';} 2768else if(value===false||value===null||value===undefined){value='0';} 2769window_attributes_str+=key+'='+value;if(attributeCounter<(totalOptions)){window_attributes_str+=',';} 2770attributeCounter++;} 2771function replaceAll(target,replacement,string){var matchIndex=string.indexOf(target);while(matchIndex!=-1){string=string.replace(target,replacement);matchIndex=string.indexOf(target);}} 2772windowName=windowName?replaceAll('-','_',windowName):'_blank';windowName=windowName?replaceAll(' ','_',windowName):'_blank';var popupWindow=window.open(url,windowName,window_attributes_str);return popupWindow;}
2772,writeCookie:function(cookieOptions){var defaultCookieOptions={name:false,value:'',timeToLive:'',path:'/'};cookieOptions=jQuery.extend({},defaultCookieOptions,cookieOptions);cookieOptions.value=encodeURIComponent(cookieOptions.value);var expires='';if(cookieOptions.timeToLive){var date=new Date();date.setTime(date.getTime()+((cookieOptions.timeToLive>=1000)?cookieOptions.timeToLive:(cookieOptions.timeToLive*1000)));expires='; expires='+date.toGMTString();} 2773document.cookie=cookieOptions.name+'='+cookieOptions.value+expires+'; path='+((cookieOptions.path)?cookieOptions.path:'/');},readCookie:function(cookieName){var nameToken=cookieName+'=';var cookieStackString=document.cookie.split(';');for(var iterator=0;iterator<cookieStackString.length;iterator++){var cookieValue=cookieStackString[iterator];const cookieNameValue=cookieValue.trim();if(cookieNameValue.startsWith(nameToken)){return decodeURIComponent(cookieNameValue.substring(nameToken.length,cookieNameValue.length));}} 2774return undefined;},deleteCookie:function(cookieName){MMI.Util.writeCookie({name:cookieName,value:'',timeToLive:-(60*60*24)});},cookieExists:function(cookieName){var nameToken=cookieName+'=';var cookieStackString=document.cookie.split(';');for(var iterator=0;iterator<cookieStackString.length;iterator++){var cookieValue=cookieStackString[iterator];const cookieNameValue=cookieValue.trim();if(cookieNameValue.startsWith(nameToken)){return true;}} 2775return false;},getRedFromHexColor:function(hexColor){},getGreenFromHexColor:function(hexColor){},getBlueFromHexColor:function(hexColor){},getHexColorParts:function(hexColor){},getHexColorFromRgb:function(red,green,blue){},_getHexColorFromRgb:function(rgbString,red,green,blue){},getHexColorFromRgbString:function(rgbString){},getHexColorValue:function(value){value=parseInt(value,10);if(isNaN(value)){return'00';} 2776value=Math.max(0,Math.min(value,255));return'0123456789ABCDEF'.charAt((value-value%16)/ 16)+'0123456789ABCDEF'.charAt(value%16);},hexToR:function(h){return parseInt((MMI.Util.cutHex(h)).substring(0,2),16);},hexToG:function(h){return parseInt((MMI.Util.cutHex(h)).substring(2,4),16);},hexToB:function(h){return parseInt((MMI.Util.cutHex(h)).substring(4,6),16);},cutHex:function(h){return(h.charAt(0)=="#")?h.substring(1,7):h;},rgbToHex:function(R,G,B){return MMI.Util.toHex(R)+MMI.Util.toHex(G)+MMI.Util.toHex(B);},_rgb2hex:function(rgb_string,r,g,b){var rgb=(1<<24)|(parseInt(r)<<16)|(parseInt(g)<<8)|parseInt(b);return'#'+rgb.toString(16).substr(1);},stringRGB2HEX:function(string){if(typeof string==='string'){string=string.replace(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/g,MMI.Util._rgb2hex);} 2777return string;},toHex:function(n){cwarn('MMI.Util.toHex() deprecated in favor of MMI.Util.getHexColorValue()');return MMI.Util.getHexColorValue(n);},isValidEmail:function(email){var rawEmail=email;email=Eco.Util.Cleaning.trim(email);var resultCode=Eco.Util.Validation.email(new Eco.Value(rawEmail,email));return(resultCode===0);},isValidUrl:function(url){var rawUrl=url;url=Eco.Util.Cleaning.trim(url);var resultCode=Eco.Util.Validation.url(new Eco.Value(rawUrl,url));return(resultCode===0);},isValidPhoneNumber:function(phone){var rawPhone=phone;phone=Eco.Util.Cleaning.trim(phone);var resultCode=Eco.Util.Validation.phone(new Eco.Value(rawPhone,phone));return(resultCode===0);},getLiveEventHandlers:function(jqel,eventName,closestElement,directlyOnElement){eventName=eventName.toLowerCase();var eventHandlerString='';if(directlyOnElement===true){eventHandlerString=jqel.data('live_'+eventName+'_handler');}else{eventHandlerString=jqel.mmiData('live_'+eventName+'_handler');} 2778if(eventHandlerString){return eventHandlerString.split(';');} 2779return[];},setLiveEventHandlers:function(jqel,eventName,eventHandlers,directlyOnElement){eventName=eventName.toLowerCase();if(typeof(eventHandlers)!='string'){if(!jQuery.isArray(eventHandlers)){return;} 2780eventHandlers=eventHandlers.join(';');} 2781if(directlyOnElement===true){jqel.addClass('live_'+eventName).data('live_'+eventName+'_handler',eventHandlers);}else{jqel.addClass('live_'+eventName).mmiData('live_'+eventName+'_handler',eventHandlers);}},prependLiveEventHandlers:function(jqel,eventName,eventHandlers,directlyOnElement){if(typeof(eventHandlers)=='string'){eventHandlers=eventHandlers.split(';');}else if(!jQuery.isArray(eventHandlers)){return;} 2782var allEventHandlers=MMI.Util.getLiveEventHandlers(jqel,eventName,directlyOnElement);jQuery.each(eventHandlers,function(index,eventHandlerName){if(jQuery.inArray(eventHandlerName,allEventHandlers)==-1){allEventHandlers.unshift(eventHandlerName);}});MMI.Util.setLiveEventHandlers(jqel,eventName,allEventHandlers,directlyOnElement);jqel.addClass('live_'+eventName);},appendLiveEventHandlers:function(jqel,eventName,eventHandlers,directlyOnElement){if(typeof(eventHandlers)=='string'){eventHandlers=eventHandlers.split(';');}else if(!jQuery.isArray(eventHandlers)){return;} 2783var allEventHandlers=MMI.Util.getLiveEventHandlers(jqel,eventName,directlyOnElement);jQuery.each(eventHandlers,function(index,eventHandlerName){if(jQuery.inArray(eventHandlerName,allEventHandlers)==-1){allEventHandlers.push(eventHandlerName);}});MMI.Util.setLiveEventHandlers(jqel,eventName,allEventHandlers,directlyOnElement);jqel.addClass('live_'+eventName);},isElementVisible:function(jqel,jqel_relativeParent){jqel=jQuery(jqel);if(!jqel.is(':visible')){if(jqel.get(0).tagName.toLowerCase()=='input'){if(!jqel.parent().is(':visible')){return false;}}else{return false;}} 2784if(jqel.get(0).tagName.toLowerCase()=='input'){jqel=jqel.parent();} 2785var jqelOffset=jqel.offset();var size={height:jQuery(window).height(),width:jQuery(window).width()};if(jqel_relativeParent&&jqel_relativeParent.size()){var offset=jqel_relativeParent.offset();size.width=jqel_relativeParent.width();size.height=jqel_relativeParent.height();jqelOffset.top=jqelOffset.top-offset.top;jqelOffset.left=jqelOffset.left-offset.jqelOffset;}else{jqelOffset.top=jqelOffset.top-jQuery(window).scrollTop();} 2786if(jqelOffset.top>size.height||jqelOffset.top+jqel.height()<0){return false;} 2787if(jqelOffset.left>size.width||jqelOffset.left+jqel.width()<0){return false;} 2788return true;},getTransitionDuration:function(options){var defaultOptions={jqel:false,includeDelay:false};options=jQuery.extend({},defaultOptions,options);var jqel=jQuery(options.jqel);if(!Basix.isFunction(window.getComputedStyle)){return false;} 2789var style=window.getComputedStyle(jqel.get(0));var properties=['transition','WebkitTransition','msTransition','MozTransition','OTransition','animation','WebkitAnimation'];var durationStyle='';var delayStyle='';jQuery.each(properties,function(index,property){if(typeof(style[property])!='undefined'){durationStyle=style[property+'Duration'];delayStyle=style[property+'Delay'];}});var duration=0;if(durationStyle){var durations=durationStyle.replace(' ','').split(',');jQuery.each(durations,function(index,tmpDuration){tmpDuration=(tmpDuration.indexOf('ms')>-1)?parseFloat(tmpDuration):parseFloat(tmpDuration)*1000;if(duration<tmpDuration){duration=tmpDuration;}});} 2790var delay=0;if(delayStyle){var delays=delayStyle.replace(' ','').split(',');jQuery.each(delays,function(index,tmpDelay){tmpDelay=(tmpDelay.indexOf('ms')>-1)?parseFloat(tmpDelay):parseFloat(tmpDelay)*1000;if(duration<tmpDelay){duration=tmpDelay;}});} 2791return options.includeDelay?duration+delay:duration;},md5:function(str){var xl;var rotateLeft=function(lValue,iShiftBits){return(lValue<<iShiftBits)|(lValue>>>(32-iShiftBits));};var addUnsigned=function(lX,lY){var lX4,lY4,lX8,lY8,lResult;lX8=(lX&0x80000000);lY8=(lY&0x80000000);lX4=(lX&0x40000000);
vendor: 5,718 bytes, lines 2791-2799
2791lY4=(lY&0x40000000);lResult=(lX&0x3FFFFFFF)+(lY&0x3FFFFFFF);if(lX4&lY4){return(lResult^0x80000000^lX8^lY8);} 2792if(lX4|lY4){if(lResult&0x40000000){return(lResult^0xC0000000^lX8^lY8);}else{return(lResult^0x40000000^lX8^lY8);}}else{return(lResult^lX8^lY8);}};var _F=function(x,y,z){return(x&y)|((~x)&z);};var _G=function(x,y,z){return(x&z)|(y&(~z));};var _H=function(x,y,z){return(x^y^z);};var _I=function(x,y,z){return(y^(x|(~z)));};var _FF=function(a,b,c,d,x,s,ac){a=addUnsigned(a,addUnsigned(addUnsigned(_F(b,c,d),x),ac));return addUnsigned(rotateLeft(a,s),b);};var _GG=function(a,b,c,d,x,s,ac){a=addUnsigned(a,addUnsigned(addUnsigned(_G(b,c,d),x),ac));return addUnsigned(rotateLeft(a,s),b);};var _HH=function(a,b,c,d,x,s,ac){a=addUnsigned(a,addUnsigned(addUnsigned(_H(b,c,d),x),ac));return addUnsigned(rotateLeft(a,s),b);};var _II=function(a,b,c,d,x,s,ac){a=addUnsigned(a,addUnsigned(addUnsigned(_I(b,c,d),x),ac));return addUnsigned(rotateLeft(a,s),b);};var convertToWordArray=function(str){var lWordCount;var lMessageLength=str.length;var lNumberOfWords_temp1=lMessageLength+8;var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1%64))/ 64;var lNumberOfWords=(lNumberOfWords_temp2+1)*16;var lWordArray=new Array(lNumberOfWords-1);var lBytePosition=0;var lByteCount=0;while(lByteCount<lMessageLength){lWordCount=(lByteCount-(lByteCount%4))/ 4;lBytePosition=(lByteCount%4)*8;lWordArray[lWordCount]=(lWordArray[lWordCount]|(str.charCodeAt(lByteCount)<<lBytePosition));lByteCount++;} 2793lWordCount=(lByteCount-(lByteCount%4))/ 4;lBytePosition=(lByteCount%4)*8;lWordArray[lWordCount]=lWordArray[lWordCount]|(0x80<<lBytePosition);lWordArray[lNumberOfWords-2]=lMessageLength<<3;lWordArray[lNumberOfWords-1]=lMessageLength>>>29;return lWordArray;};var wordToHex=function(lValue){var wordToHexValue="",wordToHexValue_temp="",lByte,lCount;for(lCount=0;lCount<=3;lCount++){lByte=(lValue>>>(lCount*8))&255;wordToHexValue_temp="0"+lByte.toString(16);wordToHexValue=wordToHexValue+wordToHexValue_temp.substr(wordToHexValue_temp.length-2,2);} 2794return wordToHexValue;};var x=[],k,AA,BB,CC,DD,a,b,c,d,S11=7,S12=12,S13=17,S14=22,S21=5,S22=9,S23=14,S24=20,S31=4,S32=11,S33=16,S34=23,S41=6,S42=10,S43=15,S44=21;str=this.utf8_encode(str);x=convertToWordArray(str);a=0x67452301;b=0xEFCDAB89;c=0x98BADCFE;d=0x10325476;xl=x.length;for(k=0;k<xl;k+=16){AA=a;BB=b;CC=c;DD=d;a=_FF(a,b,c,d,x[k+0],S11,0xD76AA478);d=_FF(d,a,b,c,x[k+1],S12,0xE8C7B756);c=_FF(c,d,a,b,x[k+2],S13,0x242070DB);b=_FF(b,c,d,a,x[k+3],S14,0xC1BDCEEE);a=_FF(a,b,c,d,x[k+4],S11,0xF57C0FAF);d=_FF(d,a,b,c,x[k+5],S12,0x4787C62A);c=_FF(c,d,a,b,x[k+6],S13,0xA8304613);b=_FF(b,c,d,a,x[k+7],S14,0xFD469501);a=_FF(a,b,c,d,x[k+8],S11,0x698098D8);d=_FF(d,a,b,c,x[k+9],S12,0x8B44F7AF);c=_FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);b=_FF(b,c,d,a,x[k+11],S14,0x895CD7BE);a=_FF(a,b,c,d,x[k+12],S11,0x6B901122);d=_FF(d,a,b,c,x[k+13],S12,0xFD987193);c=_FF(c,d,a,b,x[k+14],S13,0xA679438E);b=_FF(b,c,d,a,x[k+15],S14,0x49B40821);a=_GG(a,b,c,d,x[k+1],S21,0xF61E2562);d=_GG(d,a,b,c,x[k+6],S22,0xC040B340);c=_GG(c,d,a,b,x[k+11],S23,0x265E5A51);b=_GG(b,c,d,a,x[k+0],S24,0xE9B6C7AA);a=_GG(a,b,c,d,x[k+5],S21,0xD62F105D);d=_GG(d,a,b,c,x[k+10],S22,0x2441453);c=_GG(c,d,a,b,x[k+15],S23,0xD8A1E681);b=_GG(b,c,d,a,x[k+4],S24,0xE7D3FBC8);a=_GG(a,b,c,d,x[k+9],S21,0x21E1CDE6);d=_GG(d,a,b,c,x[k+14],S22,0xC33707D6);c=_GG(c,d,a,b,x[k+3],S23,0xF4D50D87);b=_GG(b,c,d,a,x[k+8],S24,0x455A14ED);a=_GG(a,b,c,d,x[k+13],S21,0xA9E3E905);d=_GG(d,a,b,c,x[k+2],S22,0xFCEFA3F8);c=_GG(c,d,a,b,x[k+7],S23,0x676F02D9);b=_GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);a=_HH(a,b,c,d,x[k+5],S31,0xFFFA3942);d=_HH(d,a,b,c,x[k+8],S32,0x8771F681);c=_HH(c,d,a,b,x[k+11],S33,0x6D9D6122);b=_HH(b,c,d,a,x[k+14],S34,0xFDE5380C);a=_HH(a,b,c,d,x[k+1],S31,0xA4BEEA44);d=_HH(d,a,b,c,x[k+4],S32,0x4BDECFA9);c=_HH(c,d,a,b,x[k+7],S33,0xF6BB4B60);b=_HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);a=_HH(a,b,c,d,x[k+13],S31,0x289B7EC6);d=_HH(d,a,b,c,x[k+0],S32,0xEAA127FA);c=_HH(c,d,a,b,x[k+3],S33,0xD4EF3085);b=_HH(b,c,d,a,x[k+6],S34,0x4881D05);a=_HH(a,b,c,d,x[k+9],S31,0xD9D4D039);d=_HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);c=_HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);b=_HH(b,c,d,a,x[k+2],S34,0xC4AC5665);a=_II(a,b,c,d,x[k+0],S41,0xF4292244);d=_II(d,a,b,c,x[k+7],S42,0x432AFF97);c=_II(c,d,a,b,x[k+14],S43,0xAB9423A7);b=_II(b,c,d,a,x[k+5],S44,0xFC93A039);a=_II(a,b,c,d,x[k+12],S41,0x655B59C3);d=_II(d,a,b,c,x[k+3],S42,0x8F0CCC92);c=_II(c,d,a,b,x[k+10],S43,0xFFEFF47D);b=_II(b,c,d,a,x[k+1],S44,0x85845DD1);a=_II(a,b,c,d,x[k+8],S41,0x6FA87E4F);d=_II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);c=_II(c,d,a,b,x[k+6],S43,0xA3014314);b=_II(b,c,d,a,x[k+13],S44,0x4E0811A1);a=_II(a,b,c,d,x[k+4],S41,0xF7537E82);d=_II(d,a,b,c,x[k+11],S42,0xBD3AF235);c=_II(c,d,a,b,x[k+2],S43,0x2AD7D2BB);b=_II(b,c,d,a,x[k+9],S44,0xEB86D391);a=addUnsigned(a,AA);b=addUnsigned(b,BB);c=addUnsigned(c,CC);d=addUnsigned(d,DD);} 2795var temp=wordToHex(a)+wordToHex(b)+wordToHex(c)+wordToHex(d);return temp.toLowerCase();},utf8_encode:function(argString){if(argString===null||typeof argString==="undefined"){return"";} 2796var string=(argString+'');var utftext='',start,end,stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n++){var c1=string.charCodeAt(n);var enc=null;if(c1<128){end++;}else if(c1>127&&c1<2048){enc=String.fromCharCode((c1>>6)|192,(c1&63)|128);}else if((c1&0xF800)!=0xD800){enc=String.fromCharCode((c1>>12)|224,((c1>>6)&63)|128,(c1&63)|128);}else{if((c1&0xFC00)!=0xD800){throw new RangeError("Unmatched trail surrogate at "+n);} 2797var c2=string.charCodeAt(++n);if((c2&0xFC00)!=0xDC00){throw new RangeError("Unmatched lead surrogate at "+(n-1));} 2798c1=((c1&0x3FF)<<10)+(c2&0x3FF)+0x10000;enc=String.fromCharCode((c1>>18)|240,((c1>>12)&63)|128,((c1>>6)&63)|128,(c1&63)|128);} 2799if(enc!==null){if(end>
2799start){utftext+=string.slice(start,end);} 2800utftext+=enc;start=end=n+1;}} 2801if(end>start){utftext+=string.slice(start,stringl);} 2802return utftext;},getUniversalDate:function(dateOrTimestamp){var date;if(dateOrTimestamp instanceof Date){date=dateOrTimestamp;}else if(!isNaN(parseInt(dateOrTimestamp,10))){date=new Date(parseInt(dateOrTimestamp,10)*1000);}else{date=new Date();} 2803date.setHours(23);var baseTimestampSeconds=date.getTime()/ 1000;var baseTimezoneOffsetSeconds=date.getTimezoneOffset()*60;var adjustedTimestamp=baseTimestampSeconds-baseTimezoneOffsetSeconds;date.setTime(adjustedTimestamp*1000);date.setMinutes(59);date.setSeconds(0);date.setMilliseconds(0);return date;},sortElementsByText:function(jqel){var listitems=jqel.children().get();jqel.html('');listitems.sort(function(a,b){var compA=$(a).text().toUpperCase();var compB=$(b).text().toUpperCase();return(compA<compB)?-1:(compA>compB)?1:0;});jQuery.each(listitems,function(idx,itm){jqel.append(itm);});return jqel;},findHighestZindex:function(selector){if(!selector){selector='body *';} 2804var maxZ=Math.max.apply(null,jQuery(selector).map(function(){var z;return isNaN(z=parseInt($(this).css("z-index"),10))?0:z;}));return maxZ;},delayUsingPromise:async function(ms=1000){const p=new Promise(resolve=>{setTimeout(resolve,ms);});return p;}}; 2805 2806MMI.Util.namespace('MMI.Time');MMI.Time={Minute:{seconds:60},Hour:{seconds:3600,minutes:60},Day:{seconds:86400,minutes:1440,hours:24},Week:{seconds:604800,minutes:10080,hours:168,days:7}}; 2807MMI.stdClass=Eco.BaseClass; 2808MMI.Util.namespace('MMI.App');MMI.App={_instance:false,_instanceSet:false,_initCallbacks:[],setInstance:function(instance){if(MMI.App._instanceSet===false){MMI.App._instance=instance;MMI.App._instanceSet=true;for(var key in MMI.App._initCallbacks){if(MMI.App._initCallbacks.hasOwnProperty(key)){MMI.App._initCallbacks[key](instance);}}}else{throw Error('Application instance already set. Cannot set instance again. Use MMI.App.getInstance() to get a reference to the current application instance.');}},getInstance:function(){return MMI.App._instance;},get:function(){return MMI.App._instance;},registerInitCallback:function(callback){if(typeof(callback)!=='function'){permaclog(callback);cwarn('Invalid callback type '+typeof(callback)+' passed to MMI.App.registerInitCallback()');return false;} 2809if(MMI.App._instance===false){MMI.App._initCallbacks[MMI.App._initCallbacks.length]=callback;}else{callback(MMI.App._instance);}},initializeApplication:function(appModuleClass){var appCode=jQuery.extend({},appModuleClass.Core);var moduleNames=[];jQuery.each(appModuleClass,function(moduleName,moduleCode){if(moduleName.toLowerCase()!='core'){if(moduleCode.hasOwnProperty('__construct')){moduleCode['__'+moduleName]=moduleCode.__construct;delete moduleCode.__construct;} 2810if(moduleCode.hasOwnProperty('__documentReady')){cinfo('Found special document ready');moduleCode['__'+moduleName+'DocumentReady']=moduleCode.__documentReady;delete moduleCode.__documentReady;} 2811appCode=jQuery.extend(appCode,moduleCode);} 2812moduleNames.push(moduleName);});appModuleClass._moduleMixer=MMI.App.Core.extend(appCode);var app=new appModuleClass._moduleMixer();app.__applicationModuleNames=moduleNames;jQuery.each(appModuleClass,function(moduleName,moduleCode){var pseudoConstructorName='__'+moduleName;if(typeof(app[pseudoConstructorName])=='function'){app[pseudoConstructorName]();}});},appendModule:function(moduleObjectCode){if(MMI.App._instance===false){return;} 2813var moduleObject=Basix.extend(Basix.EXTEND_RECURSIVE,{},moduleObjectCode);Basix.extend(MMI.App._instance,moduleObject);if(MMI.App._instance.__appended instanceof Function){MMI.App._instance.__appended();}}}; 2814MMI.Util.namespace('MMI.Settings');MMI.Settings={_settings:false,loadSettings:function(){var jqel_settingsBlock=jQuery('.mmiSiteSettings');if(jqel_settingsBlock.size()){this._settings=jqel_settingsBlock.data('settings');jqel_settingsBlock.remove();} 2815if(this._settings){return;} 2816var ajaxData={mode:'display',view:'site_settings'};MMI.App.get().ajax({data:ajaxData,async:false,success:function(json,success,xhr){var settings=json['siteSettings'];
2816if(settings){MMI.Settings._settings=settings;}}});},getSetting:function(settingGroup,settingName,defaultValue){if(!Basix.isPlainObject(this._settings)){this.loadSettings();if(!this._settings){cerror('Settings failed to load');return defaultValue;}} 2817if(!this._settings.hasOwnProperty(settingGroup)||!Basix.isPlainObject(this._settings[settingGroup])){return defaultValue;} 2818if(!this._settings[settingGroup].hasOwnProperty(settingName)||typeof(this._settings[settingGroup][settingName])=='undefined'){return defaultValue;} 2819return this._settings[settingGroup][settingName];},getSettingOrData:function(settingGroup,settingName,pageData,defaultValue){var settingKey=settingGroup+'__'+settingName;if(data[settingKey]){return data[settingKey];} 2820var settingValue=this.getSetting(settingGroup,settingName);if(settingValue!==null){return settingValue;} 2821return defaultValue;}}; 2822MMI.Util.namespace('MMI.App.Modules.Ajax');MMI.App.Modules.Ajax={_debugNextAjaxRequest:false,_debugAjaxRequestByXhrId:[],_defaultUrl:'/',__construct:function(){this._defaultAjaxAttitude='json';this._ajaxErrorMessage='Oops. Something didn’t go as planned. Please try again.';this._ajaxRequestStack={};this._ajaxRequestQueue={};this._stateManager={url:'',pathname:'',hash:'',search:''};this._hasStateManager=(typeof(window.history.pushState)==='function');this._webkitStateManagerWorkAroundComplete=false;jQuery.ajaxTransport("script",function(s){if(s.crossDomain||s.scriptAttrs){var script,callback;return{send:function(_,complete){script=jQuery("<script>").attr(s.scriptAttrs||{}).prop({charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove();callback=null;if(evt){complete(evt.type==="error"?404:200,evt.type);}});document.head.appendChild(script[0]);},abort:function(){if(callback){callback();}}};}});},__appReady:function(){this.enableFeature('MMI.App.TweakAjaxData');this.registerLiveEvents('sessionTimeout'.toLowerCase());},__documentReady:function(){},_setUpStateManager:function(){},addAjaxXhrIdToDebugList:function(xhrId){this._debugAjaxRequestByXhrId.push(xhrId);},removeAjaxXhrIdFromDebugList:function(xhrId){this._debugAjaxRequestByXhrId.indexOf(xhrId);},hasStateManager:function(){return this._hasStateManager;},setAjaxErrorMessage:function(errorMessage){this._ajaxErrorMessage=errorMessage;},getAjaxErrorMessage:function(json){if(jQuery.isPlainObject(json)&&jQuery.isArray(json.allErrorMessages)&&json.allErrorMessages.length>0){return json.allErrorMessages[json.allErrorMessages.length-1];} 2823var errorMessage=this._ajaxErrorMessage;if(jQuery('body').data('isSuperAdmin')){errorMessage=this._getCleanErrorMessage(json);} 2824return errorMessage;},abortAjaxRequest:function(xhrId){cinfo('abortAjaxRequest: '+xhrId);if(typeof(this._ajaxRequestStack[xhrId])==='object'){this._ajaxRequestStack[xhrId].abort();return true;} 2825return false;},queueAjaxRequest:function(ajaxOptions){cinfo('queueAjaxRequest: '+ajaxOptions.xhrId);if(!jQuery.isArray(this._ajaxRequestQueue[ajaxOptions.xhrId])){this._ajaxRequestQueue[ajaxOptions.xhrId]=[];}else{if(ajaxOptions.maxQueueLength>-1&&this._ajaxRequestQueue[ajaxOptions.xhrId].length>=ajaxOptions.maxQueueLength){this._ajaxRequestQueue[ajaxOptions.xhrId].shift();}} 2826this._ajaxRequestQueue[ajaxOptions.xhrId].push(ajaxOptions);},isSimilarRequestInProgress:function(xhrId){return this._ajaxRequestStack.hasOwnProperty(xhrId);},isSimilarRequestInQueue:function(xhrId){return this._ajaxRequestQueue.hasOwnProperty(xhrId);},getNextRequestInQueue:function(xhrId){cinfo('getNextRequestInQueue: '+xhrId);if(this.isSimilarRequestInQueue(xhrId)){var nextRequest=this._ajaxRequestQueue[xhrId].shift();if(!this._ajaxRequestQueue[xhrId].length){delete this._ajaxRequestQueue[xhrId];} 2827return nextRequest;} 2828return false;},setDefaultAjaxAttitude:function(attitude){this._defaultAjaxAttitude=attitude;},getDefaultAjaxAttitude:function(){return this._defaultAjaxAttitude;},ajaxDialog:function(ajaxOptions,optionsOrContent,dialogOptions){if(typeof(ajaxOptions)!=='object'||ajaxOptions===null){ajaxOptions={};} 2829if(typeof(ajaxOptions.jqel)!=='object'||ajaxOptions.jqel===null){if(typeof(optionsOrContent)!=='object'||optionsOrContent===null){optionsOrContent={content:optionsOrContent};} 2830if(typeof(optionsOrContent.baseDialogClass)==='undefined'){optionsOrContent.baseDialogClass='mmiDialog mmiAjaxDialog';} 2831ajaxOptions.jqel=this.dialog(optionsOrContent,dialogOptions);clog('dialog content is',ajaxOptions.jqel);} 2832this.ajax(ajaxOptions).always(function(){if(optionsOrContent.always){optionsOrContent.always(arguments);}});return ajaxOptions.jqel;},ajax:function(options){var defaultOptions={url:this._defaultUrl,type:'post',json:true,data:{},done:this.defaultAjaxDoneHandler,fail:this.defaultAjaxFailHandler,always:this.defaultAjaxAlwaysHandler,xhrId:false,queueByXhrId:false,maxQueueLength:-1,_requestAttemptsMade:0,maxRequestAttempts:1,isResend:false,loadPackagesOnDemand:true,loader
2832StyleTargets:false,jqel:false,replaceContent:true,replaceElement:false,autoAbortOnJqelRemoval:false,mmiAjaxLoaderClass:'mmiAjaxLoader',mmiAjaxDone:false,mmiAjaxFail:false,mmiAjaxAlways:false,mmiAjaxPassthroughOptions:{},mmiAjaxOriginalData:{},ajaxOptions:null};if(this._debugNextAjaxRequest===true&&options.xhrId!=='saveProfilePreferences'){this._debugNextAjaxRequest=false;debugger;}else if(options&&options.xhrId&&this._debugAjaxRequestByXhrId.indexOf(options.xhrId)>=0){debugger;} 2833var opts=jQuery.extend(true,defaultOptions,options);if(!jQuery.isPlainObject(opts.data)&&!(opts.data instanceof FormData)){opts.data={};} 2834if(opts.data instanceof FormData){if(!opts.data.get('attitude')){var defaultAttitude=this.getDefaultAjaxAttitude();opts.data.set('attitude',defaultAttitude);if(defaultAttitude==='json'){opts.json=true;}}}else{if(typeof(opts.data.attitude)==='undefined'){opts.data.attitude=this.getDefaultAjaxAttitude();if(opts.data.attitude==='json'){opts.json=true;}}} 2835if(typeof(this._ajaxViewOverride)==='string'&&this._ajaxViewOverride!==''){opts.data.view=this._ajaxViewOverride;} 2836if(opts.isResend!==true){opts._requestAttemptsMade++;if(opts._requestAttemptsMade>opts.maxRequestAttempts){return false;}} 2837if(typeof(opts.success)==='undefined'){opts.success=opts.done;} 2838if(typeof(opts.error)==='undefined'){opts.error=opts.fail;} 2839if(typeof(opts.complete)==='undefined'){opts.complete=opts.always;} 2840opts.done=undefined;opts.fail=undefined;opts.always=undefined;opts.jqel=jQuery(opts.jqel);opts.jqel.addClass(opts.mmiAjaxLoaderClass);if(jQuery.isPlainObject(opts.jqel.mmiData('smartBox'))){opts.jqel.parents('.smartBox:first').addClass(opts.mmiAjaxLoaderClass);} 2841opts.loaderStyleTargets=jQuery(opts.loaderStyleTargets);opts.loaderStyleTargets.addClass(opts.mmiAjaxLoaderClass);if(opts.isResend===true){for(var optionKey in opts){if(!opts.hasOwnProperty(optionKey)){continue;} 2842if(!defaultOptions.hasOwnProperty(optionKey)){delete opts[optionKey];}}} 2843if(!opts.xhrId){opts.xhrId=opts.url+'?'+jQuery.param(opts.data)+'&randomXhrId='+MMI.Util.randomize(5);} 2844if(opts.jqel.size()&&opts.autoAbortOnJqelRemoval){opts.jqel.data('xhrId',opts.xhrId);if(!opts.jqel.data('live_removing_handler')){opts.jqel.addClass('live_removing').data('live_removing_handler',function(event,app,jqel,data){app.abortAjaxRequest(data.xhrId);});}else{}} 2845if(typeof(opts.xhrId)==='string'){if(this.isSimilarRequestInProgress(opts.xhrId)&&opts._requestAttemptsMade<2){if(opts.queueByXhrId){opts._requestAttemptsMade--;this.queueAjaxRequest(opts);return null;}else{this.abortAjaxRequest(opts.xhrId);}}} 2846if(opts.loadPackagesOnDemand){if(opts.data instanceof FormData){opts.data.set('packagesHash',jQuery('body').data('packagesHash'));}else{opts.data.packagesHash=jQuery('body').data('packagesHash');}} 2847if(!(opts.data instanceof FormData)){opts.mmiAjaxOriginalData=jQuery.extend({},opts.data);if(this.isFeatureEnabled('MMI.App.TweakAjaxData')){opts=this._tweakAjaxData(opts);}} 2848var trackingData=this.getTrackingQueueForPost();if(trackingData&&trackingData.length){opts.data.ui_events=trackingData;this.clearTrackingQueue();} 2849opts.rawData=Basix.extend(Basix.EXTEND_RECURSIVE,{},opts.data);opts.ajaxOptions=Basix.extend({},opts);this._ajaxRequestStack[opts.xhrId]=jQuery.ajax(opts);return this._ajaxRequestStack[opts.xhrId];},_loadScriptUsingPromise:function(scriptUrl){return new Promise((resolve,reject)=>{const script=document.createElement('script');script.src=scriptUrl;script.async=true;script.onload=()=>resolve({script});script.onerror=()=>reject(new Error(`Failed to load script: ${scriptUrl}`));document.head.appendChild(script);});},_updatePackagesFromJsonUsingPromise:function(json){var jqel_body=jQuery('body');var newPackagesHash='';if(jQuery.isPlainObject(json.packages)&&json.packages.hash){newPackagesHash=json.packages.hash;if(jqel_body.data('packagesHash')===newPackagesHash){return Promise.resolve();} 2850jqel_body.data('packagesHash',newPackagesHash);var jqel_head=jQuery('head');jQuery.each(json.packages.css,(index,cssUrl)=>{jqel_head.append('<link rel="stylesheet" type="text/css" href="'+cssUrl+'" />');});const jsScriptPromises=[];jQuery.each(json.packages.js,(index,jsUrl)=>
2850{jsScriptPromises.push(this._loadScriptUsingPromise(jsUrl).catch(()=>{cwarn('Unable to load script: '+jsUrl);}));});return Promise.all(jsScriptPromises);} 2851return Promise.resolve();},getApiHttp:function(opts={}){return new genomeJsApi.Http({baseURL:`${window.location.origin}/api/v3`,...opts});},ajaxUsingPromise:function(data,ajaxOptions,options){options={...{loadPackagesOnDemand:true},...options};const defaultData={id:1,mode:'display',attitude:'json',};ajaxOptions={...{method:'POST',url:'/',data:defaultData},...ajaxOptions};if(data instanceof FormData){ajaxOptions.data=data;const initialIdValue=data.get('id');for(const[key,value]of Object.entries(defaultData)){if(!data.has(key)){data.set(key,value);}} 2852if(initialIdValue===null){ajaxOptions.data.delete('id');}}else{ajaxOptions.data={...ajaxOptions.data,...data};if(data.id===null){delete ajaxOptions.data.id;}} 2853if(options.loadPackagesOnDemand===true){ajaxOptions.data.packagesHash=jQuery('body').data('packagesHash');} 2854if(this.isFeatureEnabled('MMI.App.TweakAjaxData')){ajaxOptions=this._tweakAjaxData(ajaxOptions);} 2855let request=jQuery36.ajax(ajaxOptions);const app=this;if(options.loadPackagesOnDemand===true){request=new Promise((resolve,reject)=>{request.then(async(json,status,xhr)=>{await app._updatePackagesFromJsonUsingPromise(json);resolve(json,status,xhr,ajaxOptions);},()=>reject());});} 2856return request;},getDefaultUrl:function(){return this._defaultUrl;},_tweakAjaxData:function(ajaxOptions){if(JSON===undefined){return ajaxOptions;} 2857var topLevelKeysToKeep=['id','mode','view','attitude'];var nestedData=ajaxOptions.data;var flatData={};var app=this;var flattenData={};if(jQuery.isPlainObject(nestedData)){jQuery.each(nestedData,function(key,value){if(jQuery.inArray(key,topLevelKeysToKeep)>-1){flatData[key]=value;delete nestedData[key];}else{if(key.indexOf('[')>-1){var parts=key.split('[');var subKeys=[];jQuery.each(parts,function(partNum,part){var subKey=part.split(']').shift();if(subKey){subKeys.push(subKey);}});app._stringKeysToArray(flattenData,subKeys,value);}else{flattenData[key]=value;}}});} 2858flatData.json_formdata=JSON.stringify(flattenData);ajaxOptions.data=flatData;return ajaxOptions;},_stringKeysToArray:function(returnObject,subKeys,value){var key=subKeys.shift();if(!returnObject.hasOwnProperty(key)){returnObject[key]={};} 2859if(subKeys.length===0){returnObject[key]=value;}else{this._stringKeysToArray(returnObject[key],subKeys,value);} 2860return returnObject;},_loadScripts:function(scriptUrls,finalScriptCallback){var totalJs=scriptUrls.length;if(totalJs<1){finalScriptCallback();return;} 2861var url=scriptUrls.shift();const _loader=function(url,success){const opts={url,success,dataType:'script'};if(jQuery.isPlainObject(url)){opts.url=url.src;opts.scriptAttrs=url;} 2862jQuery.ajax(opts);};if(totalJs===1){_loader(url,finalScriptCallback);return;} 2863_loader(url,function(){var app=MMI.App.get();app._loadScripts(scriptUrls,finalScriptCallback);});},_updatePackagesFromJson:function(json,finalScriptCallback){var jqel_body=jQuery('body');var newPackagesHash='';if(jQuery.isPlainObject(json.packages)&&json.packages.hash){newPackagesHash=json.packages.hash;if(jqel_body.data('packagesHash')===newPackagesHash){finalScriptCallback();return;} 2864jqel_body.data('packagesHash',newPackagesHash);var jqel_head=jQuery('head');jQuery.each(json.packages.css,function(index,cssUrl){jqel_head.append('<link rel="stylesheet" type="text/css" href="'+cssUrl+'" />');});this._loadScripts(json.packages.js,finalScriptCallback);return;} 2865finalScriptCallback();},_checkForSessionTimeout:function(json,ajaxOptions){var jqel_body=jQuery('body');if(!json.logged_in&&jqel_body.data('isLoggedIn')&&json.postdata.mode!=='logout'){jqel_body.data('isLoggedIn',false);jqel_body.removeClass('userLoggedIn userIsAdmin').addClass('userLoggedOut');this.triggerEvent('sessionTimeout'.toLowerCase(),[json,ajaxOptions]);return false;} 2866return true;},_processServerSystemErrors:function(server,debugKey,bannerTitle){var self=this;server=Basix.extend({system:[]},server);server.system=new Basix.List(server.system);
2866self.displayConsolidatedErrorNotification(server.system,debugKey,bannerTitle??'_processServerSystemErrors');},_api_processServerSystemErrors:function(err,debugKey,bannerTitle){let self=this;let errorMessages=new Basix.List(err.data.errors.detail);self.displayConsolidatedErrorNotification(errorMessages,debugKey,bannerTitle??'_api_processServerSystemErrors');},_defaultHandleSessionTimeout:function(json,sessionTimeoutAjaxOptions,originalAjaxOptions){Eco.OrganismController.create('Eco.Organism.Notification.Message','<div class="mod_warning">',{options:{name:'sessionTimedOut',container:'default',body:'Your session timed out. Please sign in again.'}});sessionTimeoutAjaxOptions=Basix.extend(Basix.EXTEND_RECURSIVE,{resendAjaxRequest:originalAjaxOptions.ajaxOptions},sessionTimeoutAjaxOptions);this.openSignInDialog({},sessionTimeoutAjaxOptions,{resumeSession:true});return false;},handleSessionTimeout:function(json,ajaxOptions){return this._defaultHandleSessionTimeout(json,{},ajaxOptions);},defaultAjaxDoneHandler:function(json,status,xhr){var ajaxOptions=this;ajaxOptions.jqel=jQuery(ajaxOptions.jqel);var app=MMI.App.getInstance();app.logAjaxComplete(ajaxOptions,status,json);var jqel_body=jQuery('body');xhr.responseJson=json;MMI.Debug.logServerDebugData(json,ajaxOptions);var hasAjaxDoneHandler=false;if(typeof(ajaxOptions.mmiAjaxDone)==='function'){hasAjaxDoneHandler=true;} 2867if(!jQuery.isPlainObject(json)){app.displayConsolidatedErrorNotification(['Invalid response from server.'],ajaxOptions.xhrId??'defaultAjaxDoneHandler.invalidJsonObject');if(typeof(ajaxOptions.mmiAjaxFail)==='function'){ajaxOptions.mmiAjaxFail.apply(ajaxOptions,[null,status,xhr,ajaxOptions]);} 2868jqel_body.trigger('ajaxfail',[null,status,xhr,ajaxOptions]);if(ajaxOptions.jqel.size()){ajaxOptions.jqel.trigger('ajaxdone',[json,status,xhr,ajaxOptions]);}else{jqel_body.trigger('ajaxdone',[json,status,xhr,ajaxOptions]);} 2869return false;} 2870if(jQuery.isPlainObject(json.passwordReset)&&json.passwordReset.attempted!==true&&json.passwordReset.required===true){Eco.OrganismController.create('Eco.Organism.Notification.Message','<div class="mod_warning">',{options:{name:'passwordResetRequired',container:'default',body:'Please set a new password for your account.'}});app.openPasswordResetDialog(json.result,{resendAjaxRequest:ajaxOptions.ajaxOptions});return false;} 2871if(app._checkForSessionTimeout(json,ajaxOptions)===false){return app.handleSessionTimeout(json,ajaxOptions);} 2872if(json.permissionData){app.storePermissionData(json.permissionData);} 2873if(json.login.attempted&&json.login.status){app._profileId=parseInt(json.profile_id,10);jqel_body.data('profile_id',app._profileId);jqel_body.data('user_id',parseInt(json.user,10));jqel_body.data('isLoggedIn',true);jqel_body.data('isAdmin',json.is_admin);app._permissions={'items':{},'types':{}};app.triggerEvent('loginSuccess'.toLowerCase());} 2874app._updatePackagesFromJson(json,function(){var serverDefaults={status:false,operations:{},system:[]};var server=Basix.extend({},serverDefaults,json.server);json.server=server;if(!server.status){server.system=new Basix.List(server.system);if(server.system.length){app._processServerSystemErrors(server,json.debugKey,ajaxOptions.xhrId);if(!jQuery.isPlainObject(app.getNextRequestInQueue(ajaxOptions.xhrId))){var newPackagesHash=jqel_body.data('packagesHash');if(newPackagesHash&&ajaxOptions.loadPackagesOnDemand){ajaxOptions.data.packagesHash=newPackagesHash;} 2875app.ajax(ajaxOptions);}}} 2876if(ajaxOptions.replaceContent instanceof Function){var jqel=ajaxOptions.replaceContent(json,ajaxOptions);if(jqel instanceof jQuery){app.initializeNewContent(jqel);}} 2877if(ajaxOptions.jqel.size()){ajaxOptions.jqel.trigger('ajaxdone',[json,status,xhr,ajaxOptions]);if((ajaxOptions.replaceContent||ajaxOptions.replaceElement)){ajaxOptions.jqel.find('.live_removing').trigger('removing');if(ajaxOptions.replaceElement){var jqel_temp;try{jqel_temp=jQuery(json.result);}catch(e){jqel_temp=jQuery('<div>'+json.result+'</div>');} 2878ajaxOptions.jqel.replaceWith(jqel_temp);ajaxOptions.jqel=jqel_temp;app._doInternetExplorerNonBubblingEventWorkarounds(ajaxOptions.jqel,true);ajaxOptions.jqel.trigger('creating');}else{ajaxOptions.jqel.html(json.result);
2878app._doInternetExplorerNonBubblingEventWorkarounds(ajaxOptions.jqel,false);} 2879app.initializeNewContent(ajaxOptions.jqel);}}else{jqel_body.trigger('ajaxdone',[json,status,xhr,ajaxOptions]);} 2880if(hasAjaxDoneHandler){ajaxOptions.mmiAjaxDone.apply(ajaxOptions,[json,status,xhr,ajaxOptions]);}});return true;},setNewPageItemFromJson:function(json){if(json&&json.items&&json.items[json.id]){var item=json.items[json.id];var jqel=jQuery('body');jqel.data('page_item_id',item.item_id);jqel.data('page_item_seo_name',item.item_seo_name);jqel.data('page_item_type',item.item_type);jqel.alterClass('itemType_* seoName_*','itemType_'+item.item_type+' seoName_'+item.item_seo_name);this.updateBodyClasses(item.item_body_css_classes);this.updateItemBaseClasses(item.item_id,item.item_css_classes);}},updateBodyClasses:function(newCssClasses){var jqel_body=jQuery('body');var previousCustomBodyClasses=jqel_body.data('itemBodyClasses');if(!previousCustomBodyClasses){previousCustomBodyClasses='';} 2881jqel_body.alterClass(previousCustomBodyClasses,newCssClasses);jqel_body.data('itemBodyClasses',newCssClasses);},updateItemBaseClasses:function(itemId,newCssClasses){var jqel_itemBase=jQuery('.itemBase.item-'+itemId);var previousCustomClasses=jqel_itemBase.data('itemClasses');if(!previousCustomClasses){previousCustomClasses='';} 2882jqel_itemBase.alterClass(previousCustomClasses,newCssClasses);jqel_itemBase.data('itemClasses',newCssClasses);},defaultAjaxFailHandler:function(json,status,xhr){var ajaxOptions=this;var jqel_target;var app=MMI.App.getInstance();app.logAjaxComplete(ajaxOptions,status,json);if(typeof(ajaxOptions.jqel)==='object'&&ajaxOptions.jqel!==null&&ajaxOptions.jqel.size()){jqel_target=ajaxOptions.jqel;}else{jqel_target=jQuery('body');} 2883if(status!=='abort'){if(!jQuery.isPlainObject(app.getNextRequestInQueue(ajaxOptions.xhrId))){app.ajax(ajaxOptions);return;} 2884if(json.server){app.displayConsolidatedErrorNotification(json.server.system,ajaxOptions.xhrId??'defaultAjaxFailHandler.notificationBanner');} 2885if(ajaxOptions.replaceContent){if(typeof(ajaxOptions.mmiAjaxFail)==='function'){ajaxOptions.mmiAjaxFail.apply(ajaxOptions,[json,status,xhr,ajaxOptions]);} 2886jqel_target.trigger('ajaxfail',[json,status,xhr,ajaxOptions]);return;} 2887if(typeof(ajaxOptions.mmiAjaxFail)==='function'){ajaxOptions.mmiAjaxFail.apply(ajaxOptions,[json,status,xhr,ajaxOptions]);} 2888jqel_target.trigger('ajaxfail',[json,status,xhr,ajaxOptions]);} 2889jqel_target.trigger('ajaxabort',[json,status,xhr,ajaxOptions]);},defaultAjaxAlwaysHandler:function(xhr,status){var ajaxOptions=this;var jqel_target;var hasCustomJqelTarget=false;var app=MMI.App.get();var json=xhr.responseJson;if(jQuery.isPlainObject(json)&&(json.login.status===false||!json.id)){app._handleSessionTimeout(json);} 2890delete app._ajaxRequestStack[ajaxOptions.xhrId];if(ajaxOptions.queueByXhrId&&app.isSimilarRequestInQueue(ajaxOptions.xhrId)){var nextInQueue=app.getNextRequestInQueue(ajaxOptions.xhrId);if(nextInQueue){app.ajax(nextInQueue);}} 2891if(typeof(ajaxOptions.jqel)==='object'&&ajaxOptions.jqel!==null&&ajaxOptions.jqel.size()){hasCustomJqelTarget=true;jqel_target=ajaxOptions.jqel;}else{jqel_target=jQuery('body');} 2892if(ajaxOptions.loaderStyleTargets.size()){ajaxOptions.loaderStyleTargets.removeClass(ajaxOptions.mmiAjaxLoaderClass);} 2893if(hasCustomJqelTarget){jqel_target.removeClass(ajaxOptions.mmiAjaxLoaderClass);if(jQuery.isPlainObject(jqel_target.mmiData('smartBox'))){jqel_target.parents('.smartBox:first').removeClass(ajaxOptions.mmiAjaxLoaderClass);} 2894jQuery(window).trigger('resize');} 2895if(typeof(ajaxOptions.mmiAjaxAlways)==='function'){ajaxOptions.mmiAjaxAlways.apply(ajaxOptions,[json,status,xhr,ajaxOptions]);} 2896jqel_target.removeData('xhrId').trigger('ajaxalways',[json,status,xhr,ajaxOptions]);},_ajaxViewOverride:null,forceOverrideAjaxView:function(view){this._ajaxViewOverride=view;},boomTestHard:function(){this.forceOverrideAjaxView('boom');this.displaySuccessNotification('Boom test set to hard fail for all server requests.');},boomTestSoft:function(){this.forceOverrideAjaxView('boom_soft');this.displaySuccessNotification('Boom test set to soft fail for all server requests.');},clearBoomTest:function(){this.forceOverrideAjaxView(null);this.displaySuccessNotification('Boom test cleared.');}}; 2897MMI.Util.namespace('MMI.App.Modules.Tracking');MMI.App.Modules.Tracking={_trackingTimeout:false,_autoPostDelay:3000,_trackingQueue:null,__c
2897onstruct:function(){this._trackingQueue=[];},__appReady:function(){},__documentReady:function(){var _t=this;lifecycle.addEventListener('statechange',function(e){if(e.newState==='hidden'){_t.sendTrackingBeacon();}});},trackUserAction:function(action,category,itemId,data){if(!action){throw new Error('No action provided to trackUserAction()');} 2898if(!itemId){itemId=0;} 2899if(!category){category='interaction';} 2900if(!data||(data instanceof Array&&data.length===0)){data={};} 2901if(!jQuery.isPlainObject(data)){throw new Error('The data parameter passed to trackUserAction() is not an object.');} 2902this._trackingQueue.push({date:new Date(),event_action:action,item_id:itemId,event_group:category,event_data:data});if(!this._trackingTimeout){var self=this;this._trackingTimeout=setTimeout(function(){self.sendTrackingData();},this._autoPostDelay);}},getTrackingQueueForPost:function(){var queue=[];jQuery.each(this._trackingQueue,function(n,item){var date=item.date;var now=new Date();var offset=Math.round((now.getTime()-date.getTime())/ 1000);delete item.date;item.event_time_offset=offset;queue.push(item);});if(this._trackingTimeout){clearTimeout(this._trackingTimeout);this._trackingTimeout=false;} 2903return queue;},clearTrackingQueue:function(){this._trackingQueue=[];},_getAjaxOptions:function(ajaxOptions){var defaultOptions={data:{mode:'record_event'}};ajaxOptions=Basix.extend(Basix.EXTEND_RECURSIVE,defaultOptions,ajaxOptions);ajaxOptions.data.ui_events=this.getTrackingQueueForPost();this.clearTrackingQueue();return ajaxOptions;},sendTrackingData:function(ajaxOptions){if(this._trackingQueue&&this._trackingQueue.length){ajaxOptions=this._getAjaxOptions(ajaxOptions);this.ajax(ajaxOptions);}},sendTrackingBeacon:function(ajaxOptions){if(this._trackingQueue&&this._trackingQueue.length){var url=MMI.App.Modules.Ajax.getDefaultUrl();var ajaxData=this._getAjaxOptions(ajaxOptions);var data=new FormData();data.append('mode',ajaxData.data.mode);delete ajaxData.data.mode;data.append('attitude','json');data.append('json_formdata',JSON.stringify(ajaxData.data));navigator.sendBeacon(url,data);}},setTrackingDataAutoPostTime:function(time){this._autoPostDelay=time;}}; 2904MMI.Util.namespace('MMI.App.Modules.Core');MMI.App.Modules.Core={_defaultAlertOptions:{id:false,limit:5,message:'',type:'message',classes:[],themes:['default'],click:'close',duration:5000},__construct:function(){this._version='2.0.0';this._applicationOverrides={};this._profileId=0;this._profileFullName='Guest';this._siteRevisionData={};this._urlQueryData={};var date=new Date();this._gmtOffsetInSeconds=date.getTimezoneOffset()*-60;this._setSessionDataForGmtOffset(this._gmtOffsetInSeconds);},__ready:function(){MMI.App.setInstance(this);var app=this;jQuery.each(app.__coreModuleNames,function(index,moduleName){if(jQuery.inArray(moduleName.toLowerCase(),['core'])==-1){var pseudoHandlerName='__'+moduleName+'AppReadyHelix';if(typeof(app[pseudoHandlerName])=='function'){app[pseudoHandlerName]();}}});jQuery.each(app.__applicationModuleNames,function(index,moduleName){if(jQuery.inArray(moduleName.toLowerCase(),['core'])==-1){var pseudoHandlerName='__'+moduleName+'AppReady';if(typeof(app[pseudoHandlerName])=='function'){app[pseudoHandlerName]();}}});this._setUpSystemInitialization();},_setSessionDataForGmtOffset:function(gmtOffsetInSeconds){const sessionId=window.sessionStorage.getItem('currentSessionId');if(MMI.Util.cookieExists('PHPSESSID')===false){return;} 2905const cookieSessionId=MMI.Util.readCookie('PHPSESSID');if(!cookieSessionId||sessionId===cookieSessionId){return;} 2906const gmtData={gmtOffsetInSeconds,};const http=this.getApiHttp();http.post('/gmt-session',gmtData).then(rsp=>{if(rsp?.data?.payload?.success===true){window.sessionStorage.setItem('currentSessionId',cookieSessionId);}}).catch(e=>{console.error('Error sending GMT offset to server:',e);});},_setUpSystemInitialization:function(){jQuery(document).ready(this._handleDocumentReady);jQuery(window).bind('resize',this._handleRealWindowResize).bind('online offline',this._handleNetworkStatusChange);},_handleSessionTimeout:function(json){},_registerImageLoadErrorHandlers:function(){jQuery('img:not(data-mmi-image-404-check)').data('mmi-image-404-check',true).on('error',function(){var jqel=jQuery(this);var missingImageUrl=jqel.ecoData('missingImageUrl');if(!missingImageUrl){missingImageUrl='/images/web/Missing Image.png';} 2907var originalSrc=jqel.attr('src');if(originalSrc===missingImageUrl){return;} 2908console.warn('Unable to load image: '+originalSrc);jqel.attr({'data-original-src':originalSrc,'src':missingImageUrl}).css({height:'auto',cursor:'pointer'}).on('click',function(){Be.SiteTools.reportError({'missingImageUrl':originalSrc});return false;});});},_registerGlobalErrorHandler:function(){var self=this;window.addEventListener('error',function(event){var error=event.error;var stack='';var message=event.message;var url,line,column;if(error&&error.stack){url=error.fileName;line=error.lineNumber;column=error.columnNumber;stack=error.stack;} 2909var excludedKeywords=['getComputedStyle','Script error','l is null','setSize','Cannot find stylesheet.','Error: Request aborted','ResizeObserver loop completed','Cannot read properties of undefined (reading \'length\')',];for(var i=0;i<excludedKeywords.length;i++){if(!excludedKeywords.hasOwnProperty(i)){continue;} 2910if(message.indexOf(excludedKeywords[i])>-1){return true;}} 2911self.displayErrorNotification(message,'_globalErrorHandler.notificationBanner',{url:url,line:line,column:column,stack:stack});return false;});window.addEventListener('unhandledrejection',function(event){if(jQuery('body').data('serverRole')!='production'){self.dis
2911playErrorNotification(event.reason?event.reason.toString():'','_globalUnhandledRejection.notificationBanner',event.reason);} 2912cwarn('unhandledrejection triggered',event);return false;});},displayConsolidatedErrorNotification:function(errorMessages,debugKey,bannerTitle){if(!errorMessages||errorMessages.length<1){return;} 2913let linkClass='';let displayTitle='';if(this.isSuperAdmin()){linkClass='alwaysShow';if(bannerTitle){let bannerTitleTruncated=bannerTitle;if(bannerTitle.length>40){bannerTitleTruncated=bannerTitle.slice(0,40);} 2914displayTitle=`: <span title="${bannerTitle}">${bannerTitleTruncated}</span>`;}} 2915let debugLinkClickHandler='loadDebugDataForInitialPageLoad';if(debugKey){debugLinkClickHandler='loadDebugDataByForDebugKey'} 2916let messageHtml=` 2917<div> 2918 <strong>Errors Detected${displayTitle}</strong> 2919 <span class="atom_a live_click errorDetailsDialogLink ${linkClass}" data-live_click_handler="debugBannerShowErrorsForUiDetails">Show Details</span> 2920</div> 2921<div class="mod_hidden errorForUiDetails"> 2922 <p class="mod_text-center"> 2923 <span class="atom_a live_click" data-live_click_handler="${debugLinkClickHandler}" data-debug-key="${debugKey}">Open Debug for Request</span> 2924 </p>`;errorMessages.forEach(message=>{messageHtml+=`<div>${message}</div>`;});messageHtml+=`</div>`;let messageData={options:{name:'errorsForUi',classes:['errorsForUiNotification'],container:'default',icon:'eco eco-error',body:messageHtml,actions:[{label:'Dismiss',handler:'dismiss'},{label:'Report',handler:function(){this.hide();Be.SiteTools.reportError({serverRole:jQuery('body').data('serverRole').toUpperCase(),profileName:MMI.App.get().getProfileFullName(),reportedFrom:'errorsForUi',messages:errorMessages,});}}]}};return Eco.OrganismController.create('Eco.Organism.Notification.Message','<div class="mod_error">',messageData);},displayErrorNotification:function(message,sourceIdentifier,errorPayload,messageData,ignoreUserType){try{console.log('Error Notification',{message:message,sourceIdentifier:sourceIdentifier,additionalData:errorPayload});}catch(e){return false;} 2925var messageObject=this._getCleanErrorMessage(message,ignoreUserType);if(typeof(messageData)!=='object'){messageData={};} 2926messageData=Basix.extend(Basix.EXTEND_RECURSIVE,{options:{name:sourceIdentifier,container:'default',icon:'eco eco-error',body:messageObject.forUser,actions:[{label:'Dismiss',handler:'dismiss'},{label:'Report',handler:function(){this.hide();Be.SiteTools.reportError({serverRole:jQuery('body').data('serverRole').toUpperCase(),profileName:MMI.App.get().getProfileFullName(),reportedFrom:sourceIdentifier,message:messageObject,errorData:errorPayload});}}]}},messageData);return Eco.OrganismController.create('Eco.Organism.Notification.Message','<div class="mod_error">',messageData);},displayNotification:function(message,sourceIdentifier,messageData,modifier,icon){if(typeof(messageData)!=='object'){messageData={};} 2927messageData=Basix.extend(Basix.EXTEND_RECURSIVE,{options:{name:sourceIdentifier,container:'default',icon:icon,body:message,actions:[{label:'Dismiss',handler:'dismiss'}]}},messageData);var modifierClass='';if(modifier){modifierClass='mod_'+modifier;} 2928return Eco.OrganismController.create('Eco.Organism.Notification.Message','<div class="'+modifierClass+'">',messageData)[0];},displaySuccessNotification:function(message,sourceIdentifier,messageData){return this.displayNotification(message,sourceIdentifier,messageData,'success','eco eco-success');},displayWarningNotification:function(message,sourceIdentifier,messageData){return this.displayNotification(message,sourceIdentifier,messageData,'warning','eco eco-warning');},_getCleanErrorMessage:function(message,ignoreUserType){var deTagged=message;try{deTagged=jQuery('<div>'+message+'</div>').text();}catch(e){} 2929deTagged=jQuery.trim(deTagged.replace(/[\r\n]+/g,' ').replace(/[\s]+/g,' '));if(deTagged.length<=700){message=deTagged;}else{message=deTagged.substr(0,700);} 2930message=jQuery.trim(message.replace('&','&').replace('<','<').replace('>','>'));var result=message.match(/\[Debug Key ([a-z\d]+_[a-z\d]+_[a-z\d])]/);if(result&&result.length===2){var fullMatch=result[0];var debugKey=result[1];message=message.replace(fullMatch,'<a target="_blank" href="'+MMI.Debug.getDebugDataUrlForKey(debugKey)+'">'+fullMatch+'</a>');}
2931var messageForUser='Oops. Something went wrong. Please take a moment to report this error.';if(ignoreUserType===true||this.isSuperAdmin()||message.toLowerCase().indexOf('maintenance in progress')>-1){messageForUser=message;} 2932return{forUser:messageForUser,detailed:message};},_handleDocumentReady:function(event){var app=MMI.App.getInstance();app._registerGlobalErrorHandler();app._registerImageLoadErrorHandlers();var jqel_body=jQuery('body');var data=jqel_body.data();app.parsePageUrl();var jqel_packageCssInfo=jQuery('.packageCssInfo');var jqel_head=jQuery('head');var cssUrls=jqel_packageCssInfo.data('cssUrls');if(Basix.isArray(cssUrls)){cssUrls=new Basix.List(cssUrls);cssUrls.reverseEach(function(index,cssUrl){jqel_head.prepend('<link rel="stylesheet" type="text/css" href="'+cssUrl+'" />');});} 2933jQuery.each(app.__coreModuleNames,function(index,moduleName){if(jQuery.inArray(moduleName.toLowerCase(),['core'])==-1){var pseudoHandlerName='__'+moduleName+'DocumentReadyHelix';if(typeof(app[pseudoHandlerName])=='function'){app[pseudoHandlerName]();}}});jQuery.each(app.__applicationModuleNames,function(index,moduleName){if(jQuery.inArray(moduleName.toLowerCase(),['core'])==-1){var pseudoHandlerName='__'+moduleName+'DocumentReady';if(typeof(app[pseudoHandlerName])=='function'){app[pseudoHandlerName]();}}});if(jQuery.isPlainObject(data.siteRevisionData)){app._siteRevisionData=data.siteRevisionData;} 2934if(app.hasStateManager()){app._setUpStateManager();} 2935if(typeof(data.profile_id)!='undefined'&&data.profile_id!==null){app._profileId=parseInt(data.profile_id,10);} 2936if(typeof(data.profileFullName)!='undefined'&&data.profileFullName!==null){app._profileFullName=data.profileFullName;} 2937if(typeof(data.user_id)!='undefined'&&data.user_id!==null){app._userId=data.user_id;} 2938app.handleDocumentReady(event,app,jqel_body,data);jqel_body.addClass('browserVersion_'+Math.floor(parseFloat(app.getBrowserVersion(),10)));jqel_body.addClass('networkStatus-'+(navigator.onLine?'online':'offline'));if(jQuery.browser.msie){app._doInternetExplorerNonBubblingEventWorkarounds(jqel_body);jqel_body.addClass('device-ms-dinosaur');}else{var bodyClasses=[];if(app.isMobile()){bodyClasses.push('device-mobile');if(app.isIos()){bodyClasses.push('device-ios');if(app.isIpad()){bodyClasses.push('device-ipad');}else if(app.isIphone()){bodyClasses.push('device-iphone');}else if(app.isIpod()){bodyClasses.push('device-ipod');}}else if(app.isAndroid()){bodyClasses.push('device-android');}} 2939jqel_body.addClass(bodyClasses.join(' '));} 2940app._initializeUnsupportedBrowserNotification();let debugKey=jqel_body.data('debugKey');app._processServerSystemErrors(data.serverData,debugKey,'Initial Page Request');app.initializeNewContentAsync().then(()=>{MMI.Debug.logServerDebugData({debugKey:debugKey,postdata:{mode:jqel_body.data('mode')}},{initialPageLoad:true});});},handleDocumentReady:function(event,app,jqel,data){},_initializeUnsupportedBrowserNotification:function(){if(window.navigator.appName==='Microsoft Internet Explorer'||(window.navigator.appName==='Netscape'&&window.navigator.appVersion.indexOf('Trident')>-1)){var ieVersion;var edgeSupported=false;var windowsVersion=0;var windowsVersionData=window.navigator.appVersion.match(/Windows NT ([\d]*\.[\d]*)/);switch(windowsVersionData[1]){case'10.0':windowsVersion='10';edgeSupported=true;break;case'6.3':windowsVersion='8.1';break;case'6.2':windowsVersion='8';break;case'6.1':windowsVersion='7';break;case'5.0':case'5.1':case'5.2':windowsVersion='XP';break;default:} 2941if(window.navigator.appVersion.indexOf('rv:11.0')>-1){ieVersion=11;}else{var ieVersionData=window.navigator.appVersion.match(/MSIE ([\d]*)\.[\d]*/);ieVersion=ieVersionData[1];} 2942var browserList=['Google Chrome','Mozilla Firefox'];if(edgeSupported){browserList.push('Microsoft Edge');} 2943browserList[browserList.length-1]='or '+browserList[browserList.length-1];var message='It looks like you’re using an unsupported browser (IE '+ieVersion+' on Windows '+windowsVersion+'). Please use a current browser such as '+browserList.join(', ')+'.';this.displayWarningNotification(message,'mmiApp.unsupportedBrowser');}},getBrowserInfo:function(userAgent){userAgent=userAgent?userAgent:navigator.userAgent;var regex=/(edge|opera|chrome|safari|firefox|msie|fban|fbav|trident(?=\/))\/?\s*([\d.]+)/gi;var tem;var match;var possibilities=[];var bestPossibility=0;while((match=regex.exec(userAgent))!==null){if(/trident/i.test(match[1])){tem=/\brv[ :]+(\d+(\.\d+)?)/g.exec(userAgent)||[];return'IE '+(tem[1]||'');} 2944match=match[2]?[match[1],match[2]]:[navigator.appName,navigator.appVersion,'-?'];if((tem=userAgent.match(/version\/([.\d]+)/i))!==null){match[2]=tem[1];} 2945var info={name:match[0],version:match[1]};if(userAgent.indexOf('FBAV')>-1||userAgent.indexOf('FBAN')>-1){info.name="Facebook";} 2946possibilities.push(info);if(info.name.match(/edge/i)){bestPossibility=possibilities.length-1;}} 2947return possibilities[bestPossibility];},getBrowserVersion:function(){var browser=this.getBrowserInfo();if(browser){return browser.version;} 2948return 0;},getBrowserName:function(){var browser=this.getBrowserInfo();if(browser){return browser.name;} 2949return'unknown';},parsePageUrl:function(){var queryParts=window.location.search.substring(1).split('&');
2949var queryData={};jQuery.each(queryParts,function(index,part){var keyValue=part.split('=');queryData[keyValue[0]]=keyValue[1];});this._urlQueryData=queryData;},getUrlParameter:function(name){return this._urlQueryData[name];},getSiteRevisionData:function(){return this._siteRevisionData;},displaySiteRevisionData:function(){let html='';let totalSectionsRendered=0;for(const[sectionName,sectionData]of Object.entries(this.getSiteRevisionData())){totalSectionsRendered++;html+=`<h3 style="margin: 0 0 10px 0;">${sectionName}</h3><div style="margin: 0 0 20px 10px;"><table>`;for(const[key,value]of Object.entries(sectionData)){html+=`<tr><td><span class="bold">${key}:</span></td><td>${value}</td></tr>`;} 2950html+=`</table></div>`;} 2951if(totalSectionsRendered<1){html='<h2>No site revision data available on this deployment.</h2>';} 2952const dialog=new HelixWrappedDialog();dialog.applyOptionsSet(HelixWrappedDialog.OPTIONS_DEFAULTS).addTheme('helix-wrapped-dialog--site-revision-data').content(html).open();},getApplicationOverride:function(referenceKey,defaultValue){if(typeof(this._applicationOverrides[referenceKey])!='undefined'){return this._applicationOverrides[referenceKey];} 2953return defaultValue;},setApplicationOverride:function(referenceKey,customValue){this._applicationOverrides[referenceKey]=customValue;},unsetApplicationOverride:function(referenceKey){this._applicationOverrides[referenceKey]=undefined;},getLocalValue:function(property){if(window.hasOwnProperty('localStorage')){return JSON.parse(window.localStorage.getItem(property));}else{var localValuesCookieName='localValues';var cookieData=this.getCookieObject(localValuesCookieName);if(cookieData.hasOwnProperty(property)){return cookieData[property];}} 2954return null;},setLocalValue:function(property,value){if(window.hasOwnProperty('localStorage')){return window.localStorage.setItem(property,JSON.stringify(value));}else{var localValuesCookieName='localValues';var cookieData=this.getCookieObject(localValuesCookieName);cookieData[property]=value;this.saveCookieObject(localValuesCookieName,cookieData);return undefined;}},removeLocalValue:function(property){if(window.hasOwnProperty('localStorage')){return window.localStorage.removeItem(property);}else{var localValuesCookieName='localValues';var cookieData=this.getCookieObject(localValuesCookieName);delete cookieData[property];this.saveCookieObject(localValuesCookieName,cookieData);return undefined;}},isSignedIn:function(){return jQuery('body').data('isLoggedIn');},isAdmin:function(){return jQuery('body').data('isAdmin');},isSuperAdmin:function(){return jQuery('body').data('isSuperAdmin');},isImplementor:function(){return this.isSuperAdmin();},getPageItemId:function(){return jQuery('body').data('page_item_id');},getPageItemType:function(){return jQuery('body').data('page_item_type');},getPageItemSeoName:function(){return jQuery('body').data('page_item_seo_name');},getProfileId:function(){return this._profileId;},getUserId:function(){return this._userId;},getProfileFullName:function(){return this._profileFullName;},getCookieObject:function(cookieName){var rawCookieData=MMI.Util.readCookie(cookieName+'_'+this.getProfileId());var cookieData;if(typeof(rawCookieData)=='string'){cookieData=JSON.parse(rawCookieData);} 2955if(!jQuery.isPlainObject(cookieData)){cookieData={};} 2956return cookieData;},saveCookieObject:function(cookieName,cookieData,cookieOptions){var defaultCookieOptions={name:cookieName+'_'+this.getProfileId(),timeToLive:'999999999',path:'/'};if(jQuery.isPlainObject(cookieOptions)){cookieOptions=jQuery.extend(defaultCookieOptions,cookieOptions);}else{cookieOptions=defaultCookieOptions;} 2957cookieOptions.value=JSON.stringify(cookieData);MMI.Util.writeCookie(cookieOptions);},getPersistentValue:function(property){var persistentCookieName='persistentValues';var cookieData=this.getCookieObject(persistentCookieName);if(cookieData.hasOwnProperty(property)){return cookieData[property];} 2958return false;},setPersistentValue:function(property,value){var persistentCookieName='persistentValues';var cookieData=this.getCookieObject(persistentCookieName);cookieData[property]=value;this.saveCookieObject(persistentCookieName,cookieData);},getServerRole:function(){return jQuery('body').data('serverRole');},setPreference:function(preferenceName,preferenceValue){var jqel_body=jQuery('body');var preferences=jqel_body.data('profilePreferences');if(!jQuery.isPlainObject(preferences)){preferences={};} 2959preferences[preferenceName]=preferenceValue;this.setPreferences(preferences);},setPreferences:function(newPreferences){var jqel_body=jQuery('body');var preferences=jqel_body.data('profilePreferences');if(!jQuery.isPlainObject(preferences)){preferences={};} 2960preferences=jQuery.extend({},preferences,newPreferences);jqel_body.data('profilePreferences',preferences);var ajaxData={id:this.getProfileId(),view:'set_preferences',preferences:preferences};this.ajax({xhrId:'saveProfilePreferences',data:ajaxData,mmiAjaxDone:function(json,status,jqXhr,ajaxOptions){if(jQuery.isPlainObject(json.profilePreferences)){jQuery('body').data('profilePreferences',json.profilePrefences);}}});},getPreference:function(preferenceName){var preferences=this.getPreferences();if(preferences.hasOwnProperty(preferenceName)){return preferences[preferenceName];} 2961return null;},getPreferences:function(){var preferences=jQuery('body').data('profilePreferences');if(!jQuery.isPlainObject(preferences)){preferences={};} 2962return preferences;},clearAllPreferences:function(){var ajaxData={id:this.getProfileId(),view:'clear_preferences',preferences:{}};this.ajax({xhrId:'saveProfilePreferences',data:ajaxData,mmiAjaxDone:function(json,status,jqXhr,ajaxOptions){if(Array.isArray(json.profilePreferences)){json.profilePreferences={}} 2963if(jQuery.isPlainObject(json.profilePreferences)){jQuery('body').data('profilePreferences',json.profilePreferences);}}});},_legacy_confirm:function(options){var defaultOptions={message:false,content:'',title:'',buttons:[{id:'cancel',label:'Cancel',classes:[]},{id:'ok',label:'OK',classes:[]}],buttonFocusId:'ok',buttonAlignment:'center',icon:false,iconAlignment:'left',callback:false,scope:this,jqel:false,smartBox:{classes:['helix-confirm-dialog'],modal:true,close:false,minimize:false,restore:false,maximize:false,resizable:false,draggable:false,topOfStack:true}};if(Basix.isPlainObject(options.smartBox)){options.smartBox=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{},defaultOptions.smartBox,options.smartBox);} 2964options=Basix.extend({},defaultOptions,options);if(Basix.isString(options.title)||Basix.isNumeric(options.title)){options.smartBox.title=options.title;} 2965if(!Basix.isString(options.message)&&!Basix.isNumeric(options.message)){throw new Error('Helix app.confirm() must be provided with a string or number as a message.');} 2966if(!Basix.isFunction(options.callback)){throw new Error('Helix app.confirm() must be provided with a callback function.');} 2967if(!Basix.isObject(options.scope)){throw new Error('Helix app.confirm() must be provided with a valid scope. Avoid overriding to use the default of the Helix application instance.');} 2968if(!Basix.isArray(options.buttons)){throw new Error('Helix app.confirm() must be provided with a valid array of buttons.');} 2969if(!Basix.isArray(options.smartBox.classes)){throw new Error('Helix app.confirm() must be provided with a valid array of smartBox classes.');} 2970if(!Basix.isArray(options.smartBox.closeCallbacks)){options.smartBox.closeCallbacks=[];} 2971options.smartBox.closeCallbacks.push(function(){jQuery(document).off('keyup.helixConfirm').off('keydown.helixConfirm');});var buttonAlignmentOptions=new Basix.List(['center','left','right']);if(!Basix.inArray(options.buttonAlignment,buttonAlignmentOptions)){options.buttonAlignment='center';} 2972options.smartBox.classes.push('hc-alignButtons'+Basix.toPascalCaseString(options.buttonAlignment));var buttonsHtml='';var buttons=new Basix.List(options.buttons);if(options.buttonAlignment=='right'){buttons.reverse();} 2973buttons.each(function(index,button){var classes=new Basix.List(['hc-button','hc-button-'+button.id]);if(Basix.isArray(button.classes)){classes.merge(button.classes);} 2974if(button.id===options.buttonFocusId){classes.push('default-focus');} 2975buttonsHtml+='<div class="'+classes.join(' ')+'" tabindex="-1" data-hc-button-id="'+button.id+'">'+button.label+'</div>';});var iconHtml='';if(options.icon){options.smartBox.classes.push('hc-icon-dialog');if(options.iconAlignment=='right'){options.smartBox.classes.push('hc-alignIconRight');}else{options.smartBox.classes.push('hc-alignIconLeft');} 2976if(options.icon.match(/.*?<.*?>.*?/g)){iconHtml='<div class="hc-icon hc-icon-html">'+options.icon+'</div>';}else if(options.icon.match(/^[\s]*?fa-/)){iconHtml='<div class="hc-icon hc-icon-font-based"><div class="eco '+options.icon+'"></div></div>';}else{iconHtml='<div class="hc-icon hc-icon-image"><img alt="confirm dialog icon" src="'+options.icon+'" /></div>';}} 2977var jqel=jQuery('<div class="hc-inner">'+iconHtml+'<div class="hc-message">'+options.message+'</div><div class="hc-content">'+options.content+'</div><div class="hc-buttons">'+buttonsHtml+'</div></div>');options.jqel=jqel.smartBox(options.smartBox);MMI.App.get().initializeNewContent(options.jqel);var buttonClickHandler=function(){var jqel_button=jQuery(this);var result={id:jqel_button.data('hcButtonId')};var runDefaultBehavior=options.callback.apply(options.scope,[result,options]);if(runDefaultBehavior!==false){runDefaultBehavior=true;} 2978if(runDefaultBehavior){options.jqel.smartBox('close');}};if(Basix.isFunction(arguments[1])){buttonClickHandler=arguments[1];} 2979jqel.find('.hc-button').on('click',buttonClickHandler).filter('.hc-button-'+options.buttonFocusId).trigger('focus');if(options.smartBox.modal){jQuery(document).off('keyup.helixConfirm').off('keydown.helixConfirm').on('keyup.helixConfirm',function(event){var jqel_target=jQuery(event.originalEvent.target);var tagName=jqel_target.get(0).tagName.toLowerCase();if(event.keyCode===13||((event.keyCode===32&&tagName!='input'&&tagName!='textarea'))){var jqel_activeButton=jQuery(this.activeElement).filter('.hc-button');jqel_activeButton.trigger('click');return false;} 2980return true;}).on('keydown.helixConfirm',function(event){var keyCode=event.keyCode;var jqel_target=jQuery(event.originalEvent.target);if(jqel_target.parents('.smartBox.sb-window').size()&&jqel_target[0].tabIndex>=0){return true;} 2981if(keyCode===9||keyCode===37||keyCode===39){var jqel_activeButton=jQuery(this.activeElement).filter('.hc-button');if(!jqel_activeButton.size()){jqel_activeButton=jQuery('.sb-active-window .hc-buttons .hc-button.default-focus:first');if(!jqel_activeButton.size()){jqel_activeButton=jQuery('.sb-active-window .hc-buttons .hc-button:first');} 2982jqel_activeButton.trigger('focus');return false;} 2983if(MMI.App.get().isShiftKeyDown()||keyCode===39){if(jqel_activeButton.prev().size()){jqel_activeButton.prev().trigger('focus');}
2983else{jqel_activeButton.siblings().last().trigger('focus');}}else{if(jqel_activeButton.next().size()){jqel_activeButton.next().trigger('focus');}else{jqel_activeButton.siblings().first().trigger('focus');}} 2984return false;} 2985return true;});} 2986return options.jqel;},_legacy_prompt:function(options){var defaultOptions={message:false,content:'',buttons:[{id:'cancel',label:'Cancel'},{id:'ok',label:'OK'}],callback:false,scope:this,fieldType:'text',defaultValue:'',placeholderText:'',options:[],jqel:false,smartBox:{classes:['helix-prompt-dialog'],themes:['base','no-scroll']}};if(Basix.isPlainObject(options.smartBox)){options.smartBox=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{},defaultOptions.smartBox,options.smartBox);} 2987options=Basix.extend({},defaultOptions,options);if(!Basix.isString(options.message)&&!Basix.isNumeric(options.message)){throw'Helix app.prompt() must be provided with a string or number as a message.';} 2988if(!Basix.isFunction(options.callback)){throw'Helix app.prompt() must be provided with a callback function.';} 2989if(!Basix.isObject(options.scope)){throw'Helix app.prompt() must be provided with a valid scope. Avoid overriding to use the default of the Helix application instance.';} 2990var fieldHtml='';var placeholderText=options.placeholderText;var defaultValue=options.defaultValue;switch(options.fieldType.toLowerCase()){case'textarea':fieldHtml='<textarea class="hp-field autofocus" name="hp-input" type="text" placeholder="'+placeholderText+'" required>'+(defaultValue)+'</textarea>';break;case'select':case'option':fieldHtml='<div class="organism_field-select molecule_field-select molecule_selectList hp-input-organism">\n'+' <label for="hp-input">Select Field</label>\n'+' <select name="hp-input" title="Select Field" id="hp-input">';jQuery.each(options.options,function(optionNum,option){var key=option.value;var name=option.label;fieldHtml+="<option value='"+key+"'>"+name+"</option>";});fieldHtml+='</select>\n'+'</div>\n';break;default:fieldHtml='<input class="hp-field autofocus" name="hp-input" type="'+options.fieldType.toLowerCase()+'" placeholder="'+placeholderText+'" value="'+encodeURI(defaultValue)+'" required />';break;} 2991options.content+='<form class="hp-form">'+fieldHtml+'</form>';var buttonClickHandler=function(){var jqel_button=jQuery(this);var hpInput=options.jqel.find('[name="hp-input"]');if(hpInput.parents('.hp-input-organism').size()){hpInput=hpInput.ecoData('organism');} 2992var value=hpInput.val();var result={id:jqel_button.data('hcButtonId'),value:value};var runDefaultBehavior=options.callback.apply(options.scope,[result,options]);if(runDefaultBehavior!==false){runDefaultBehavior=true;} 2993if(runDefaultBehavior){options.jqel.smartBox('close');}};options.jqel=this.confirm(options,buttonClickHandler);return options.jqel;},_legacy_alert:function(options){var defaultOptions={message:false,buttons:[{id:'ok',label:'OK'}],callback:function(result,options){},smartBox:{maxWidth:400,classes:['helix-alert-dialog']}};var args=new Basix.List(arguments);if(args.length>1||(Basix.isPlainObject(options)&&(options.classes||options.themes||options.theme||options.duration||options.id))){console.warn('Helix app.alert() is being called with a depreciated options object format.',args);if(!Basix.isPlainObject(options)){options={message:options,classes:[],themes:[]};} 2994options={message:options.message,smartBox:{classes:options.classes,themes:options.themes}};}else if(Basix.isString(options)||Basix.isNumeric(options)){console.warn('Helix app.alert() has depreciated passing options as a string message directly Please pass an object like {message:"The message."} instead.');options={message:options};} 2995if(Basix.isPlainObject(options.smartBox)){options.smartBox=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{},defaultOptions.smartBox,options.smartBox);} 2996options=Basix.extend({},defaultOptions,options);return this.confirm(options);},wrappedDialog:function(options){return new HelixWrappedDialog(options);},_baseAlert:function(methodId,content,title,dialogOptions){let options={};if(title){options.title=title;} 2997options={...options,...dialogOptions,};let dialog;switch(methodId){case'alert':dialog=this.getHelixDialogAlertInstance(options);break;case'confirm':dialog=this.getHelixDialogConfirmInstance(options);break;case'prompt':dialog=this.getHelixDialogPromptInstance(options);break;default:throw'Invalid methodId provided. You must specify alert|confirm|prompt.';} 2998if(typeof(content)!=='string'){dialog.block();} 2999dialog.content(content);if(typeof(content)!=='string'){dialog.getContentPromise().then(r=>{dialog.unblock();});} 3000dialog.open();return dialog;},getHelixDialogAlertInstance:function(options){return new HelixDialogAlert(options);},getHelixDialogConfirmInstance:function(options){return new HelixDialogConfirm(options);},getHelixDialogPromptInstance:function(options){return new HelixDialogPrompt(options);},confirm:function(content,title,dialogOptions){if(content&&content instanceof Object&&c
3000ontent.callback instanceof Function){console.warn('This call is a legacy MMI.App.Core.confirm() call. These are now deprecated and you need to update this to the newer Promise-based confirm() by updating the arguments you pass to this call.');return this._legacy_confirm(content,title);} 3001return this._baseAlert('confirm',content,title,dialogOptions);},prompt:function(content,title,dialogOptions){if(content&&content instanceof Object&&content.callback instanceof Function){console.warn('This call is a legacy MMI.App.Core.prompt() call. These are now deprecated and you need to update this to the newer Promise-based prompt() by updating the arguments you pass to this call.');return this._legacy_prompt(content);} 3002return this._baseAlert('prompt',content,title,dialogOptions);},alert:function(content,title,dialogOptions){if(typeof(content)!=='string'&&!(content instanceof Promise)){console.warn('This call is a legacy MMI.App.Core.alert() call. These are now deprecated and you need to update this to the newer Promise-based alert() by updating the arguments you pass to this call.');return this._legacy_alert(content);} 3003return this._baseAlert('alert',content,title,dialogOptions).then(()=>{},()=>{});},queuePermissionCheck:function(types,ids,rootId){throw Error('The queuePermissionCheck() method is not yet implemented. Maybe you meant queuePermissionCheckById?');},setFocus:function(jqel,delay=10,callback=null){if(!Basix.isNumeric(delay)){delay=10;} 3004let{promise,resolve}=Promise.withResolvers();setTimeout(function(){jqel=jQuery(jqel);jqel.trigger('focus');if(Basix.isFunction(callback)){callback(jqel);}else{resolve(jqel);}},delay);if(Basix.isFunction(callback)){return promise;}},copyToClipboard:function(toCopy){var supported=document.queryCommandSupported('copy');if(supported){var el=document.createElement('textarea');el.value=toCopy;document.body.appendChild(el);el.select();var enabled=document.queryCommandEnabled('copy');if(enabled){document.execCommand('copy');}else{this.displayWarningNotification('Copying to the clipboard is not enabled in your browser.','copyNotEnabled.notification.warning');return false;} 3005document.body.removeChild(el);return true;}else{this.displayWarningNotification('Copying to the clipboard is not supported in your browser.','copyNotSupported.notification.warning');return false;}},getCustomDataForIssueReports:function(){return{};}}; 3006MMI.Util.namespace('MMI.App.Modules.Dialog');MMI.App.Modules.Dialog={__construct:function(){this._dialogPluginName='lightbox';this._dialogDefaultTheme='flex-base';},_dialogResizeHandler:function(){},_getSiteDialogOverrideOptionsForUseInCore:function(dialogId){return{};},_getSiteDialogMergeOptionsForUseInCore:function(dialogId){return{};},_getSiteDialogOptionsForUseInCore:function(methodName,coreDialogOptions){if(!methodName){throw new Error('You MUST define the methodName argument when calling _getSiteDialogOptionsForUseInCore()');} 3007if(!coreDialogOptions){throw new Error('You MUST define the coreDialogOptions argument when calling _getSiteDialogOptionsForUseInCore()');} 3008let customOptions=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,this._getSiteDialogMergeOptionsForUseInCore(methodName),coreDialogOptions);return Basix.extend({},customOptions,this._getSiteDialogOverrideOptionsForUseInCore(methodName));},dialog:function(optionsOrContent,pluginOptions){var options;var jqel_dialog=jQuery('');if(typeof(optionsOrContent)=='object'&&optionsOrContent!==null){if(jQuery.isPlainObject(optionsOrContent)||!jQuery(optionsOrContent).size()){options=optionsOrContent;}else{jqel_dialog=jQuery(optionsOrContent);options={content:''};}}else{options={content:optionsOrContent};} 3009var defaultOptions;var dialogPluginName=this.getDialogPluginName();if(dialogPluginName=='smartBox'){defaultOptions={content:'',contentId:false};options=jQuery.extend(true,defaultOptions,options);if(typeof(pluginOptions)!='object'||pluginOptions===null){pluginOptions={};} 3010var defaultSmartBoxOptions={id:false};pluginOptions=jQuery.extend(true,defaultSmartBoxOptions,pluginOptions);if(dialogPluginName=='smartBox'){if(pluginOptions['height']!=undefined){pluginOptions['height']+=30;}} 3011if(!pluginOptions.hasOwnProperty('theme')&&!pluginOptions.hasOwnProperty('themes')){pluginOptions.themes=[this.getDialogDefaultTheme()];}
3012if(!options.contentId){if(pluginOptions.id){options.contentId=pluginOptions.id;}else{options.contentId='mmiDialog-'+MMI.Util.randomize(9);}} 3013if(!pluginOptions.id&&options.contentId){pluginOptions.id=options.contentId;} 3014if(!jqel_dialog.size()){jqel_dialog=jQuery('#'+options.contentId);} 3015if(!jqel_dialog.size()){if(!options.content){options.content='<div class="mmiDialogContent" id="'+options.contentId+'"></div>';} 3016jqel_dialog=jQuery(options.content);}else if(options.content){jqel_dialog.html(options.content);}}else{if(typeof(pluginOptions)!='object'||pluginOptions===null){pluginOptions={lightboxClass:'',lightboxDestroyOnClose:true,lightboxRemoveOnDestroy:true,lightboxDestroyOnCloseDelay:60,lightboxFullscreen:true,lightboxFullscreenMargin:30};} 3017if(!pluginOptions.close){pluginOptions.close=function(){console.warn('Using default close and destroy and remove');jQuery(this).find('.live_removing').trigger('removing');jQuery(this).trigger('removing');jQuery(this).dialog('destroy').remove();};} 3018defaultOptions={content:'',contentId:'mmiDialog-'+MMI.Util.randomize(9),baseDialogClass:'mmiDialog',dialogClass:''};options=jQuery.extend(true,defaultOptions,options);if(!pluginOptions.lightboxClass){pluginOptions.lightboxClass=options.baseDialogClass+' '+options.dialogClass;}else{pluginOptions.lightboxClass+=' '+options.baseDialogClass+' '+options.dialogClass;} 3019if(!jqel_dialog.size()){jqel_dialog=jQuery('#'+options.contentId);} 3020if(!jqel_dialog.size()){jqel_dialog=jQuery('<div id="'+options.contentId+'">'+options.content+'</div>');}else if(options.content){jqel_dialog.html(options.content);}} 3021jqel_dialog.on('scroll',function(event){MMI.App.get().triggerEvent('scroll',[event]);MMI.App.get().triggerEvent('firstview');});return jqel_dialog[this.getDialogPluginName()](pluginOptions);},setDialogPluginName:function(dialogPluginName){this._dialogPluginName=dialogPluginName;},getDialogPluginName:function(){return this._dialogPluginName;},setDialogDefaultTheme:function(dialogDefaultTheme){this._dialogDefaultTheme=dialogDefaultTheme;},getDialogDefaultTheme:function(){return this._dialogDefaultTheme;},openItemPreviewDialog:function(itemId){this.openDisplayItemDialog({view:'preview',id:itemId},{classes:['mod_itemPreviewDialog'],fullScreen:true,modal:true,width:'auto',height:'auto'},{mmiAjaxDone:function(json,status,xhr,ajaxOptions){if((json.pageItemData&&json.pageItemData.item_name)||json.dialogTitle){var dialogTitle=json.dialogTitle;if(!dialogTitle){dialogTitle=json.pageItemData.item_name;} 3022if(!dialogTitle){dialogTitle=json.pageItemData.item_type+' Preview';} 3023ajaxOptions.jqel.smartBox('getDialog').smartBox('setTitle',dialogTitle);}}});},openSignInDialog:function(dialogOptions,ajaxOptions,signInOptions,dialogClass=HelixWrappedDialog){var resendAjaxWithOptions=null;var defaultDialogOptions={themes:[this.getDialogDefaultTheme(),'signInDialog'],title:'Sign In',minimize:false,maximize:false,resizable:false,modal:true,width:580,height:'auto',closeCallbacks:[]};if(ajaxOptions&&ajaxOptions.resendAjaxRequest){resendAjaxWithOptions=Basix.extend({},ajaxOptions.resendAjaxRequest,{isResend:true});} 3024var defaultSignInOptions={resumeSession:false,targetUrl:null,usePromiseSignInDialogHandlers:false,};signInOptions=Basix.extend(Basix.EXTEND_RECURSIVE,defaultSignInOptions,signInOptions);if(signInOptions.resumeSession===true){defaultDialogOptions.titleBar=false;} 3025if(!dialogOptions){dialogOptions={};} 3026dialogOptions=this._getSiteDialogOptionsForUseInCore('openSignInDialog',dialogOptions);dialogOptions=Basix.extend(Basix.EXTEND_RECURSIVE,{},defaultDialogOptions,dialogOptions);var defaultAjaxOptions={data:{mode:'login',signInOptions:signInOptions},};if(signInOptions.resumeSession===true){defaultAjaxOptions.data.resumeSession=true;defaultAjaxOptions.replaceElement=true;} 3027ajaxOptions=Basix.extend(Basix.EXTEND_RECURSIVE,{},defaultAjaxOptions,ajaxOptions);const ajaxData=ajaxOptions.data;delete ajaxOptions.data;const ajaxContentPromise=this.ajaxUsingPromise(ajaxData,ajaxOptions).then(json=>json.result);const dialog=new dialogClass(dialogOptions);dialog.spin().content(ajaxContentPromise).open();if(signInOptions.resumeSession===true){const onSignInDialogClose=()=>{const message=Eco.NotificationController.getMessageByName('sessionTimedOut');if(message){message.hide();} 3028if(resendAjaxWithOptions!==null){this.ajax(resendAjaxWithOptions);}};dialog.then(onSignInDialogClose,onSignInDialogClose);} 3029if(signInOptions.usePromiseSignInDialogHandlers){dialog.data.signInPromise=this.createSignInPromiseForDialog();return dialog.data.signInPromise.promise;}}
3029,createSignInPromiseForDialog:function(){const signInPromise=Promise.withResolvers();signInPromise.promise.catch(rejectData=>{const{event,app,jqel_form,data,json,status,jqXhr,ajaxData,formOrganism}=rejectData.props;app.ecoForm_processEvent(jqel_form,'formerror',[json,status,jqXhr,ajaxData,formOrganism],app.ecoForm_defaultFormError);});return signInPromise;},openSignInDialogUsingPromise:async function(dialogOptions,ajaxOptions,signInOptions,dialogClass=HelixWrappedDialog){signInOptions.usePromiseSignInDialogHandlers=true;return this.openSignInDialog(dialogOptions,ajaxOptions,signInOptions,dialogClass);},openPasswordResetDialog:async function(content,options){var resendAjaxWithOptions=null;if(options&&options.resendAjaxRequest){resendAjaxWithOptions=options.resendAjaxRequest;} 3030var app=this;const dialog=new HelixWrappedDialog();dialog.applyOptionsSet(HelixWrappedDialog.OPTIONS_DEFAULTS).applyOptions({width:580,height:500,titleBar:false,modal:true,close:false}).addTheme(this.getDialogDefaultTheme()).addTheme('eco').addTheme('signInDialog').addTheme('resetPasswordDialog').content(content).open();dialog.then(()=>{const message=Eco.NotificationController.getMessageByName('passwordResetRequired');if(message){message.hide();} 3031if(resendAjaxWithOptions){app.ajax(resendAjaxWithOptions);}});const newContent=await dialog.getElement();this.initializeNewContent(newContent);await Eco.OrganismController.scan(newContent);return dialog;},openEditItemDialog:function(requestData,dialogOptions,ajaxOptions){if(!jQuery.isPlainObject(requestData)){if(typeof(requestData)==='string'){if(isNaN(parseInt(requestData,10))){requestData={seo_name:requestData};}else{requestData={id:requestData};}}} 3032if(!requestData.id&&!requestData.seo_name&&!requestData.type){console.warn('Warning, no item id, item seo name, or item type provided. Dialog can not open.');return false;} 3033return this.openAjaxDialog(requestData,dialogOptions,ajaxOptions,'edit');},openCreateItemDialog:function(requestData,dialogOptions,ajaxOptions){if(!jQuery.isPlainObject(requestData)){if(typeof(requestData)==='string'){requestData={type:requestData};}else{requestData={};}} 3034if(!requestData.type){console.warn('Warning, no item type provided. Dialog can not open.');return false;} 3035return this.openAjaxDialog(requestData,dialogOptions,ajaxOptions,'edit');},openDisplayItemDialog:function(requestData,dialogOptions,ajaxOptions){if(!jQuery.isPlainObject(requestData)){if(typeof(requestData)==='string'){if(isNaN(parseInt(requestData,10))){requestData={seo_name:requestData};}else{requestData={id:requestData};}}} 3036if(!requestData.id&&!requestData.seo_name){console.warn('Warning, no item id or item seo name provided. Dialog can not open.');return false;} 3037return this.openAjaxDialog(requestData,dialogOptions,ajaxOptions,'display');},openDialog:function(dialogOptions,content){var defaultDialogOptions={modal:false,width:600,height:500,themes:['eco'],minimize:false,maximize:false,title:false};dialogOptions=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_OVERRIDE,defaultDialogOptions,dialogOptions);var jqel_dialogContent=jQuery(content).smartBox(dialogOptions).smartBox('getDialogContent');return jqel_dialogContent.smartBox('getDialog');},openAjaxDialog:function(requestData,dialogOptions,ajaxOptions,mode){var defaultDialogOptions={modal:false,width:600,height:500,themes:['eco'],minimize:false,maximize:false,title:false};dialogOptions=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_OVERRIDE,defaultDialogOptions,dialogOptions);var customTitle=true;if(dialogOptions.title===false){dialogOptions.title='Loading';customTitle=false;} 3038var defaultContent='';if(Basix.namespaceExists('Be.Fancy')){defaultContent=Be.Fancy.generateSpinner(true);}else{console.warn('Be.Fancy package is not loaded. Unable to automatically inject a spinner.');} 3039var jqel_dialogContent=jQuery(defaultContent).smartBox(dialogOptions).smartBox('getDialogContent');var defaultAjaxOptions={jqel:jqel_dialogContent,data:{}};if(!jQuery.isPlainObject(ajaxOptions)){ajaxOptions={};} 3040ajaxOptions=jQuery.extend(true,defaultAjaxOptions,ajaxOptions);ajaxOptions.data=jQuery.extend(ajaxOptions.data,requestData);if(mode!==undefined){ajaxOptions.data.mode=mode;} 3041function defaultAjaxDone(json,status,xhr,ajaxOptions){if(json.dialogTitle){jqel_dialogContent.smartBox('getDialog').smartBox('setTitle',json.dialogTitle);}else if(customTitle===false&&json.pageItemData&&json.pageItemData.item_name){jqel_dialogContent.smartBox('getDialog').smartBox('setTitle',json.pageItemData.item_name);}else if(customTitle===false){jqel_dialogContent.smartBox('getDialog').smartBox('setTitle',' ');}
3042var jqel_firstField=jqel_dialogContent.find('input:not([type="hidden"]), select').first();if(jqel_firstField.length){setTimeout(function(){jqel_firstField.trigger('focus');},100);}} 3043var customAjaxDone=ajaxOptions.mmiAjaxDone;ajaxOptions.mmiAjaxDone=function(json,status,xhr,ajaxOptions){if(json.server.status!==true){var jqel_dialog=ajaxOptions.jqel.smartBox('getDialog');jqel_dialog.smartBox('close');} 3044var result=true;if(customAjaxDone instanceof Function){result=customAjaxDone(json,status,xhr,ajaxOptions);} 3045if(result===false){return false;} 3046return defaultAjaxDone(json,status,xhr,ajaxOptions);};this.ajax(ajaxOptions);var jqel_dialog=jqel_dialogContent.smartBox('getDialog');return jqel_dialog;},adminOpenDialog:function(id,ajaxData,ajaxOptions,dialogOptions,sourceElement,successCallback,errorCallback){if(!jQuery.isPlainObject(ajaxOptions)){ajaxOptions={};} 3047if(!jQuery.isPlainObject(ajaxData)){ajaxData={};} 3048if(!jQuery.isPlainObject(dialogOptions)){dialogOptions={};} 3049dialogOptions=jQuery.extend({},{width:'css',height:'css',position:'css',resizable:false,draggable:false,modal:true,maximize:false,minimize:false,close:function(){jQuery(window).trigger('resize');}},dialogOptions);var customTitle=true;if(!dialogOptions.title){dialogOptions.title='Loading';customTitle=false;} 3050var defaultContent='';if(Basix.namespaceExists('Be.Fancy')){defaultContent=Be.Fancy.generateSpinner(true);}else{console.warn('Be.Fancy package is not loaded. Unable to automatically inject a spinner.');} 3051var jqel_dialogContent=jQuery(defaultContent).smartBox(dialogOptions).smartBox('getDialogContent');var ajaxDataDefaults={mode:'edit',view:'eco'};if(id!==false){ajaxDataDefaults.id=id;} 3052ajaxData=jQuery.extend({},ajaxDataDefaults,ajaxData);ajaxOptions=jQuery.extend({},{data:ajaxData,jqel:jqel_dialogContent,mmiAjaxDone:function(json,status,xhr,ajaxOptions){if(!customTitle&&((json.pageItemData&&json.pageItemData.item_name)||json.dialogTitle)){var dialogTitle=json.dialogTitle;if(!dialogTitle){dialogTitle=json.pageItemData.item_name;} 3053if(!dialogTitle){dialogTitle='New '+json.pageItemData.item_type;} 3054jqel_dialogContent.smartBox('getDialog').smartBox('setTitle',dialogTitle);}else if(!customTitle){jqel_dialogContent.smartBox('getDialog').smartBox('setTitle','Loaded');} 3055var jqel_dialog=ajaxOptions.jqel.smartBox('getDialog');jqel_dialog.data('ajaxLoadData',ajaxOptions.mmiAjaxOriginalData);setTimeout(function(){var jqel_field=ajaxOptions.jqel.find('[class^="organism_field-"]:first').find('select, input');jqel_field.trigger('focus');if(Basix.isFunction(jqel_field.caret)){jqel_field.caret('selectAll');} 3056if(successCallback instanceof Function){successCallback(json,status,xhr,ajaxOptions);}},150);},mmiAjaxFail:function(json,status,xhr,ajaxOptions){if(errorCallback instanceof Function){errorCallback(json,status,xhr,ajaxOptions);}}},ajaxOptions);this.ajax(ajaxOptions);setTimeout(function(){jqel_dialogContent.smartBox('getDialog').removeClass('mod_offScreen');},50);var jqel_dialog=jqel_dialogContent.smartBox('getDialog');if(id){jqel_dialog.data('dialogItemId',id);} 3057if(sourceElement instanceof jQuery&&sourceElement.size()){jqel_dialog.data('sourceElement',sourceElement);jqel_dialog.data('parentDialog',sourceElement.smartBox('getDialog'));} 3058return jqel_dialog;},adminOpenPartialDialog:function(id,ajaxData,ajaxOptions,dialogOptions,parentDialog,successCallback,errorCallback){if(!jQuery.isPlainObject(dialogOptions)){dialogOptions={};} 3059dialogOptions=jQuery.extend({},{themes:['eco-admin'],classes:['mod_partial','mod_offScreen'],closeOnOverlayClick:true},dialogOptions);return this.adminOpenDialog(id,ajaxData,ajaxOptions,dialogOptions,parentDialog,successCallback,errorCallback);},adminOpenFullDialog:function(id,ajaxData,ajaxOptions,dialogOptions,parentDialog,successCallback,errorCallback){if(!jQuery.isPlainObject(dialogOptions)){dialogOptions={};} 3060dialogOptions=jQuery.extend({},{themes:['eco-admin'],classes:['mod_full','mod_offsetForAdminToolbar']},dialogOptions);return this.adminOpenDialog(id,ajaxData,ajaxOptions,dialogOptions,parentDialog,successCallback,errorCallback);},adminOpenFloatingDialog:function(id,ajaxData,ajaxOptions,dialogOptions,sourceElement,successCallback,errorCallback){if(!jQuery.isPlainObject(ajaxData)){ajaxData={};} 3061if(!jQuery.isPlainObject(dialogOptions)){dialogOptions={};} 3062dialogOptions=jQuery.extend({},{themes:['eco-admin'],classes:['mod_floating'],position:'center'},dialogOptions);return this.adminOpenDialog(id,ajaxData,ajaxOptions,dialogOptions,sourceElement,successCallback,errorCallback);}}; 3063MMI.Util.namespace('MMI.App.Modules.Issue');MMI.App.Modules.Issue={_ajaxCompletedStack:[],_issueEnabled:false,_maxAjaxCompletedStackSize:false,__construct:function(){},openIssueReportingDialog:function(defaultIssueCategory){var ajaxData={view:'default',mode:'issue',defaultIssueCategory:defaultIssueCategory};var dialog=this.dialog('',{width:500});this.ajax({jqel:dialog,data:ajaxData,replaceElement:true,doNotLog:true});},hasIssueManager:function(){if(this._maxAjaxCompletedStackSize===false){this._issueEnabled=MMI.Settings.getSetting('issue','enabled',true);this._maxAjaxCompletedStackSize=MMI.Settings.getSetting('issue','store_ajax_requests',3);} 3064return this._issueEnabled;},logAjaxComplete:function(ajaxData,status,returnData){if(this.hasIssueManager()&&ajaxData.doNotLog!=true){var info={trackingId:returnData.trackingId,allErrorMessages:returnData.allErrorMessages,postData:returnData.postdata,result:returnData.result,user:returnData.user,login:returnData.login,logout:returnData.logout,pageItemData:returnData.pageItemData};this._ajaxCompletedStack.unshift(info);while(this._ajaxCompletedStack.length>this._maxAjaxCompletedStackSize){this._ajaxCompletedStack.pop();}}}}; 3065MMI.Util.namespace('MMI.App.Modules.Form');MMI.App.Modules.Form={getGenomeItemFieldByName:function(fieldName,scope){fieldName=this._getActualFieldname(fieldName,scope);var jqel;var selector='[data-field-name="'+fieldName+'"]';if(typeof(scope)!='undefined'){jqel=jQuery(scope).find(selector).find('.mmiFormFieldControl').find('[name^="item"]');}else{jqel=jQuery(selector).find('.mmiFormFieldControl').find('[name^="item"]');} 3066if(!jqel||jqel.length==0){if(typeof(scope)!='undefined'){jqel=jQuery(scope).find('input'+selector+', select'+selector+', textarea'+selector+', ul'+selector+' input[name^="item"]').filter('[name^="item"]');}else{jqel=jQuery('input'+selector+', select'+selector+', textarea'+selector+', ul'+selector+' input[name^="item"]').filter('[name^="item"]');}} 3067return jqel;},getGenomeFormFieldByName:function(fieldName,scope){fieldName=this._getActualFieldname(fieldName,scope);var jqel;var selector='[data-field-name="'+fieldName+'"]';if(typeof(scope)!='undefined'){jqel=jQuery(scope).find(selector).find('.mmiFormFieldControl').find('[name^="formdata"]');}else{jqel=jQuery(selector).find('.mmiFormFieldControl').find('[name^="formdata"]');} 3068if(!jqel||jqel.length===0){if(typeof(scope)!='undefined'){jqel=jQuery(scope).find('input'+selector+', select'+selector+', textarea'+selector+', ul'+selector+' input[name^="formdata"]').filter('[name^="formdata"]');}else{jqel=jQuery('input'+selector+', select'+selector+', textarea'+selector+', ul'+selector+' input[name^="formdata"]').filter('[name^="formdata"]');} 3069if(!jqel.length){fieldName='['+fieldName+']';fieldName=fieldName.replace(/[\[]+/g,'\[').replace(/[\]]+/g,'\]');selector='[name$="'+fieldName+'"]';if(typeof(scope)!='undefined'){jqel=jQuery(scope).find('input'+selector+', select'+selector+', textarea'+selector+', ul'+selector+' input[name^="formdata"]').filter('[name^="formdata"]');}else{jqel=jQuery('input'+selector+', select'+selector+', textarea'+selector+', ul'+selector+' input[name^="formdata"]').filter('[name^="formdata"]');}}} 3070return jqel;},getGenomeFormFieldByExternalName:function(externalName,scope){return this.getGenomeFormFieldByName(externalName,scope);},getFieldByName:function(fieldName,scope){var jqel;var escapedFieldName=fieldName.replace(/[\[]+/g,'\[').replace(/[\]]+/g,'\]');escapedFieldName=this._getActualFieldname(escapedFieldName,scope);var selector='[name="'+escapedFieldName+'"]';if(typeof(scope)!='undefined'){jqel=jQuery(scope).find(selector);}else{jqel=jQuery(selector);} 3071if(!jqel||jqel.length===0){if(typeof(scope)!='undefined'){jqel=jQuery(scope).find('[data-field-name="'+escapedFieldName+'"]');}else{jqel=jQuery('[data-field-name="'+escapedFieldName+'"]');}} 3072return jqel;},_getActualFieldname:function(fieldName,scope){var jqel_forms=jQuery();if(!typeof(scope)=='undefined'){jqel_forms=jQuery(scope);} 3073if(typeof(scope)=='undefined'||!jqel_forms.length){jqel_forms=jQuery('form');} 3074var fieldActualName=fieldName;jqel_forms.each(function(){var jqel_form=jQuery(this);var fieldsByName=jqel_form.mmiData('fieldVariableNames');if(fieldsByName){jQuery.each(fieldsByName,function(fieldReferenceName,fieldVariableName){if(fieldVariableName==fieldName){fieldActualName=fieldReferenceName;return false;}});}});return fieldActualName;},sendLogInRequest:function(username,password,successHandlerCallback,errorHandlerCallback){if(typeof(successHandlerCallback)!='function'){successHandlerCallback=function(){cwarn('MMI.App.Core.sendLogInRequest() requires a success handler callback.');};} 3075if(typeof(errorHandlerCallback)!='function'){errorHandlerCallback=function(){cwarn('MMI.App.Core.sendLogInRequest() requires an error handler callback.');};} 3076var loginSuccessHandler=function(response){if(typeof(response)=='object'){if(response.login_result){successHandlerCallback(response);}}else{errorHandlerCallback(response);}};return MMI.App.get().login({password:password,usernameOrEmail:username},{data:{id:'1'},mmiAjaxDone:loginSuccessHandler,mmiAjaxFail:errorHandlerCallback});},sendLogOutRequest:function(successHandlerCallback,errorHandlerCallback){if(typeof(successHandlerCallback)!='function'){successHandlerCallback=function(){cwarn('MMI.App.Core.sendLogOutRequest
3076() requires a success handler callback.');};} 3077if(typeof(errorHandlerCallback)!='function'){errorHandlerCallback=function(){cwarn('MMI.App.Core.tryLogout() requires an error handler callback.');};} 3078var logoutSuccessHandler=function(response){if(typeof(response)=='object'){if(response.logout_result){successHandlerCallback(response);}}else{errorHandlerCallback(response);}};return MMI.App.get().logout({},{mmiAjaxDone:logoutSuccessHandler,mmiAjaxFail:errorHandlerCallback});},openLogOutDialog:function(event,app,jqel,data){jQuery('<div id="mmi-logoutDialog">\n'+'<div id="mmi-logoutError" class="basicErrorMessage hidden">Error processing log out request. Please try again.</div>\n'+'<div id="mmi-logoutProcessing">Processing log out request. Please wait.</div>\n'+'</div>').smartBox({width:410,modal:true,cssClass:'mmi-logoutDialog'});app.sendLogOutRequest(function(){setTimeout(function(){var url=window.location.pathname;if(url.indexOf('mode=logout')>-1||url.indexOf('/mode/logout')>-1){window.location.href='/';}else{window.location.reload(true);}},200);},function(){jQuery('#mmi-logoutProcessing').slideUp();jQuery('#mmi-logoutError').slideDown();setTimeout(function(){jQuery('#mmi-logoutDialog').smartBox('close');},1600);});},openLogInDialog:function(event,app,jqel,data){var registerLinkHtml='';var forgotPasswordHtml='';if(data.showRegisterLink){var registerLink='/mode/edit/type=profile';var forgotPasswordLink='/mode/password_reset/view=request';if(data.registerLink){registerLink=data.registerLink;} 3079registerLinkHtml='<tr>'+'<td colspan="2" class="registerLink">'+'<a href="'+registerLink+'">Register Here</a> or...<div class="loginTitle">Login</div>'+'</td>'+'</tr>';forgotPasswordHtml='<tr>'+'<td colspan="2" class="forgotPasswordLink">'+'<a href="'+forgotPasswordLink+'">Click Here to Reset Your Password?</a>'+'</td>'+'</tr>';} 3080var loginDialogHtml='<div id="mmi-loginDialog">'+'<div id="mmi-loginMessageBox" class="alertBox"></div>'+'<form name="mmi-loginForm" class="live_submit" action="" method="post" data-live_submit_handler="attemptLogin">'+'<table align="center">'+ 3081registerLinkHtml+'<tr>'+'<td>Username:</td>'+'<td id="mmi-loginUsernameCell"></td>'+'</tr>'+'<tr>'+'<td>Password:</td>'+'<td id="mmi-loginPasswordCell"></td>'+'</tr>'+'<tr>'+'<td colspan="2" align="right"><input type="submit" value="Log In" /></td>'+'</tr>'+ 3082forgotPasswordHtml+'</table>'+'</form>'+'</div>';var lightboxOptions={width:410};if(!data.hasOwnProperty('dialogOptions')||!jQuery.isPlainObject(data.dialogOptions)){data.dialogOptions={};} 3083var dialogOptions=jQuery.extend({},lightboxOptions,data.dialogOptions);var jqel_dialog=MMI.App.getInstance().dialog(loginDialogHtml,dialogOptions);var jqel_usernameFieldTemplate=jQuery('#mmi-loginUsernameFieldTemplate');if(!jqel_usernameFieldTemplate.length){jqel_usernameFieldTemplate=jQuery('<input id="mmi-loginUsernameFieldTemplate" name="username" type="text" />');} 3084var jqel_passwordFieldTemplate=jQuery('#mmi-loginPasswordFieldTemplate');if(!jqel_passwordFieldTemplate.length){jqel_passwordFieldTemplate=jQuery('<input id="mmi-loginPasswordFieldTemplate" name="password" type="password" />');} 3085var jqel_usernameField=jqel_usernameFieldTemplate.clone().attr('id','mmi-loginUsername');var jqel_passwordField=jqel_passwordFieldTemplate.clone().attr('id','mmi-loginPassword');jQuery('#mmi-loginUsernameCell').append(jqel_usernameField);jQuery('#mmi-loginPasswordCell').append(jqel_passwordField);jqel_usernameField.focus();return jqel_dialog;},attemptLogin:function(event,app,jqel,data){var jqel_alertBox=jQuery('#mmi-loginMessageBox');jqel_alertBox.children().animate({opacity:0}
3085,{complete:function(){jQuery(this).remove();}});var usernameOrEmail=jQuery('#mmi-loginUsername').val();var password=jQuery('#mmi-loginPassword').val();if(!usernameOrEmail&&!password){app.alert({message:'Please enter your username and password.',type:'warning'},jqel_alertBox);return false;} 3086app.alert({message:'Please wait while we log you in.',type:'message'},jqel_alertBox);var ajaxData={mode:'login',view:'blank',id:'1',password:password};if(MMI.Util.isValidEmail(usernameOrEmail)){ajaxData.email=usernameOrEmail;}else{ajaxData.username=usernameOrEmail;} 3087var ajaxOptions={data:ajaxData,mmiAjaxDone:function(json,status,jqXhr,ajaxOptions){var app=MMI.App.getInstance();var jqel_alertBox=jQuery('#mmi-loginMessageBox');if(json.logged_in){app.alert({message:'You are now logged in.<br /><br />Please wait while the page reloads.',type:'success'},jqel_alertBox);var url=window.location.pathname;if(url.indexOf('mode=login')>-1||url.indexOf('/mode/login')>-1){window.location.href='/';}else{window.location.reload(true);}}else{app.alert({message:'Error logging in.<br /><br />Make sure you entered your username and password correctly.',type:'warning'},jqel_alertBox);jQuery('#mmi-loginUsername').focus();}}};app.ajax(ajaxOptions);return false;},attemptPasswordReset:function(event,app,jqel,data){var jqel_alertBox=jQuery('#mmi-passwordResetDialog .alertBox');jqel_alertBox.children().animate({opacity:0}
3087,{complete:function(){jQuery(this).remove();}});var username=jQuery('#mmi-passwordResetUsername').val();var email=jQuery('#mmi-passwordResetEmail').val();var resetTokenParameterName='';var resetTokenParameterValue='';if(!username&&!email){app.alert({message:'Please enter your username or e-mail.',type:'warning'},jqel_alertBox);return false;}else if(username){resetTokenParameterName='user';resetTokenParameterValue=username;}else{resetTokenParameterName='email';resetTokenParameterValue=email;} 3088var ajaxData={mode:'password_reset',view:'blank',password_reset:{confirm:1}};ajaxData['password_reset'][resetTokenParameterName]=resetTokenParameterValue;var ajaxOptions={data:ajaxData,mmiAjaxDone:function(json,status,jqXhr,ajaxOptions){var PASSWORD_RESET=100;var INVALID_USERNAME_AND_EMAIL=101;var EMAIL_NOT_REGISTERED=102;var UNKNOWN_ERROR=103;var NOT_SUBMITTED=104;var messageType='warning';switch(json.status_code){case PASSWORD_RESET:messageType='success';json.status_message='Your password has been reset.<br /><br />Please wait while we load the log-in page.';break;} 3089var app=MMI.App.getInstance();var jqel_alertBox=jQuery('#mmi-passwordResetDialog .alertBox');app.alert({message:json.status_message,type:messageType},jqel_alertBox);if(json.status_code==PASSWORD_RESET){window.location.href='/mode/login';}else{jQuery('#mmi-passwordResetUsername').focus();}}};app.alert({message:'Please wait while we attempt to reset your password.',type:'message'},jqel_alertBox);app.ajax(ajaxOptions);return false;},cloneItems:function(options){if(!jQuery.isPlainObject(options)){cwarn('MMI.App.cloneItems(options) where options should be of type `object`. You provided a parameter of type `'+(typeof(options))+'`.');} 3090var defaultOptions={itemIds:false,parentId:undefined,view:'blank',nextMode:'display',jqel:false,replaceContent:true,replaceElement:false,cloneDeep:false,cloneItemRefs:false,ajaxData:{},mmiAjaxDone:false};options=jQuery.extend(defaultOptions,options);if(!jQuery.isArray(options.itemIds)){cwarn('Invalid options.itemIds provided to MMI.App.cloneItems(). You provided the following options: ',options);return;} 3091var ajaxData={mode:'clone_multi',clone:{},id:1,view:options.view,next_mode:options.nextMode};jQuery.each(options.itemIds,function(index,itemId){ajaxData['clone'][itemId]={deep:options.cloneDeep?1:0,itemRefs:options.cloneItemRefs?1:0,parentId:options.parentId,confirm:1};});ajaxData=jQuery.extend(ajaxData,options.ajaxData);var ajaxOptions={jqel:options.jqel,replaceElement:options.replaceElement,replaceContent:options.replaceContent,data:ajaxData,loaderStyleTargets:options.loaderStyleTargets,mmiAjaxDone:options.mmiAjaxDone};this.ajax(ajaxOptions);},cloneItem:function(options){if(typeof(options)!='object'){this.displayErrorNotification('MMI.App.cloneItem(options) where options should be of type `object`. You provided a parameter of type `'+typeof(options)+'`.','MMI.App.cloneItem',{options:options});} 3092var defaultOptions={itemId:false,seoName:false,parentId:undefined,view:'blank',nextMode:'display',jqel:false,replaceContent:true,replaceElement:false,cloneDeep:false,cloneItemRefs:false,ajaxData:{},mmiAjaxDone:false,seoPrefix:'',seoSuffix:''};options=jQuery.extend(defaultOptions,options);var ajaxData={mode:'hyper_clone',confirm_clone:1,clone_deep:options.cloneDeep?1:0,clone_item_refs:options.cloneItemRefs?1:0,parent_id:options.parentId,view:options.view,next_mode:options.nextMode};if(options.seoPrefix){ajaxData.seo_prefix=options.seoPrefix;} 3093if(options.seoSuffix){ajaxData.seo_suffix=options.seoSuffix;} 3094if(options.itemId){ajaxData.id=options.itemId;} 3095if(options.seoName){ajaxData.seo_name=options.seoName;} 3096ajaxData=jQuery.extend(ajaxData,options.ajaxData);var ajaxOptions={jqel:options.jqel,replaceElement:options.replaceElement,replaceContent:options.replaceContent,data:ajaxData,loaderStyleTargets:options.loaderStyleTargets,mmiAjaxDone:options.mmiAjaxDone};this.ajax(ajaxOptions);},_old_deleteItem:function(options){if(typeof(options)!='object'){cwarn('MMI.App.deleteItem(options) where options should be of type `object`. You provided a parameter of type `'+typeof(options)+'`.');return;} 3097var defaultOptions={itemId:false,deleteChildren:false,itemTypeUiLabel:'Item',promptMessage:false,jqel:false,skipConfirmationPrompt:false,replaceContent:true,replaceElement:false,view:'blank',mmiAjaxDone:function(){}};options=jQuery.extend(defaultOptions,options);if(!jQuery.isArray(options.itemId)){options.itemId=[options.itemId];} 3098var prompt;if(options.promptMessage){prompt=options.promptMessage;}else{if(options.itemId.length>1){prompt='Are you sure you want to delete these '+options.itemId.length+' '+options.itemTypeUiLabel+'?';}else{prompt='Are you sure you want to delete this '+options.itemTypeUiLabel+'?';}} 3099var result=options.skipConfirmationPrompt?true:confirm(prompt);
3099if(result){var ajaxData={id:options.itemId[0],mode:'delete',view:options.view};jQuery.each(options.itemId,function(i,itemId){if(options.deleteChildren){ajaxData['delete['+itemId+'][children]']=1;} 3100ajaxData['delete['+itemId+'][confirm]']=1;});var jqel=jQuery(options.jqel);var ajaxOptions={data:ajaxData,replaceContent:options.replaceContent,replaceElement:options.replaceElement,loaderStyleTargets:jqel,mmiAjaxLoaderClass:'mmiAjaxLoader mmiAjaxDelete',mmiAjaxDone:options.mmiAjaxDone,done:jQuery.proxy(function(json,status,jqXhr,opts){var options=this;var jqel=jQuery(options.jqel);var app=MMI.App.getInstance();if(typeof(options.mmiAjaxDone)=='function'){options.mmiAjaxDone.apply(this,[json,status,jqXhr,options]);} 3101if(jQuery.inArray(options.itemId[0].toString(),json.deleted_items)!==-1||jQuery.inArray(parseInt(options.itemId[0],10),json.deleted_items)!==-1){jqel.trigger('deletesuccess',[json,options]);}else{jqel.trigger('deleteerror',[json,options]);} 3102if((options.replaceContent||options.replaceElement)&&options.jqel){options.jqel.find('.live_removing').trigger('removing');if(options.replaceElement){var jqel_temp=jQuery(json.result);options.jqel.replaceWith(jqel_temp);options.jqel=jqel_temp;}else{options.jqel.html(json.result);} 3103if(options.replaceElement){app._doInternetExplorerNonBubblingEventWorkarounds(options.jqel,true);options.jqel.trigger('creating');} 3104app._doInternetExplorerNonBubblingEventWorkarounds(options.jqel);app.initializeNewContent(options.jqel);}},options),fail:jQuery.proxy(function(json,jqXhr){var options=this;var jqel=jQuery(options.jqel);jqel.trigger('deleteerror',[json,options]);},options),mmiAjaxAlways:jQuery.proxy(function(json,status,jqXhr){var options=this;var jqel=jQuery(options.jqel);jqel.trigger('deletecomplete',[json,options]);},options)};jqel.trigger('beforedelete');return this.ajax(ajaxOptions);}else{return false;}}}; 3105MMI.Util.namespace('MMI.App.Modules.Login');MMI.App.Modules.Login={_alertLoginStatus:function(status,data){var message;var messageType;var loginType=data.loginType;var ajaxData={};var ajaxOptions={};if(status){if(loginType=='registration'){message='Your account has been created and you are now logged in';messageType='success';}else{message='You are now logged in';messageType='success';MMI.App.get()._displayLoginStatus('success');}}else{if(loginType=='registration'){message='An error has occurred, unable to login';messageType='warning';MMI.App.get()._displayLoginStatus('failed');}else{message='Invalid username or password';messageType='warning';MMI.App.get()._displayLoginStatus('failed');}} 3106this.alert({message:message,type:messageType});if(!status){return false;} 3107var currentUrl=window.location.pathname;var targetUrl=data.loginTargetUrl;var seo_name=data.item_seo_name;var item_id=data.item_id;if(targetUrl){window.location.href=targetUrl;cinfo('Using targetUrl: '+targetUrl);}else if(seo_name){window.location.href='/content/'+seo_name;cinfo('Using seo_name: '+seo_name);}else if(item_id){window.location.href='/page/'+item_id;cinfo('Using item_id: '+item_id);}else if(currentUrl.indexOf('mode=login')>-1||currentUrl.indexOf('/mode/login')>-1){window.location.href='/';cinfo('Returning to homepage');}else{window.location.reload(true);cinfo('Simply reloading page');}},_alertPasswordResetStatus:function(data,json){var ajaxData={};var ajaxOptions={};var status=json.passwordReset.status;if(!status){var errorMessage=json.passwordReset.error.message;this.alert({message:errorMessage,type:'warning'});return false;} 3108this.alert({message:'Your password has been reset, Please check your email.',type:'success'});window.location.href="/mode/login";},_displayLoginStatus:function(status){jQuery('body').alterClass('login-*','login-'+status);},login:function(loginOptions,ajaxOptions){var defaultLoginOptions={usernameOrEmail:false,email:false,username:false,password:false};loginOptions=Basix.extend({},defaultLoginOptions,loginOptions);if(loginOptions.password===false){cwarn('Login Error: No password provided');return false;} 3109var defaultAjaxOptions={data:{mode:'login',view:'blank'}};ajaxOptions=Basix.extend(Basix.EXTEND_RECURSIVE,{},defaultAjaxOptions,ajaxOptions);var hasUsername=false;if(loginOptions.username&&typeof(loginOptions.username)=='string'){hasUsername=true;ajaxOptions.data.username=loginOptions.username;} 3110if(!hasUsername&&loginOptions.email&&typeof(loginOptions.email)=='string'){if(MMI.Util.isValidEmail(loginOptions.email)){hasUsername=true;ajaxOptions.data.email=loginOptions.email;}else{cwarn('Error, invalid email');}} 3111if(!hasUsername&&loginOptions.usernameOrEmail&&typeof(loginOptions.usernameOrEmail)=='string'){if(MMI.Util.isValidEmail(loginOptions.usernameOrEmail)){hasUsername=true;ajaxOptions.data.email=loginOptions.usernameOrEmail;}else{hasUsername=true;ajaxOptions.data.username=loginOptions.usernameOrEmail;}} 3112if(!hasUsername){cwarn('Login Error: No value for email or username');return false;} 3113ajaxOptions.data.password=loginOptions.password;if(ajaxOptions.mmiAjaxDone){ajaxOptions.mmiAjaxLoginDone=ajaxOptions.mmiAjaxDone;} 3114if(ajaxOptions.mmiAjaxFail){ajaxOptions.mmiAjaxLoginFail=ajaxOptions.mmiAjaxFail;} 3115ajaxOptions.mmiAjaxDone=this.loginSuccess;ajaxOptions.mmiAjaxFail=this.loginFail;return MMI.App.get().ajax(ajaxOptions);},logout:function(options,ajaxOptions){var defaultAjaxOptions={data:{mode:'logout',view:'blank'}};ajaxOptions=Basix.extend(Basix.EXTEND_RECURSIVE,{},defaultAjaxOptions,ajaxOptions);if(ajaxOptions.mmiAjaxDone){ajaxOptions.mmiAjaxLogoutDone=ajaxOptions.mmiAjaxDone;} 3116if(ajaxOptions.mmiAjaxFail){ajaxOptions.mmiAjaxLogoutFail=ajaxOptions.mmiAjaxFail;} 3117ajaxOptions.mmiAjaxDone=this.logoutSuccess;ajaxOptions.mmiAjaxFail=this.logoutFail;return MMI.App.get().ajax(ajaxOptions);},loginSuccess:function(json,status,xhr,ajaxOptions){if(json.login.status==true){MMI.App.get().triggerEvent('loginsuccess',[json]);if(ajaxOptions.mmiAjaxLoginDone){ajaxOptions.mmiAjaxLoginDone.apply(ajaxOptions,[json,status,xhr,ajaxOptions]);}}else{MMI.App.get().loginFail.apply(ajaxOptions,[json,status,xhr,ajaxOptions]);}},loginFail:function(json,status,xhr,ajaxOptions){MMI.App.get().triggerEvent('loginfail',[json]);if(ajaxOptions.mmiAjaxLoginFail){ajaxOptions.mmiAjaxLoginFail.apply(ajaxOptions,[json,status,xhr,ajaxOptions]);}},logoutSuccess:function(json,status,xhr,ajaxOptions){if(json.logout.status==true){MMI.App.get().triggerEvent('logoutsuccess',[json]);if(typeof(ajaxOptions.mmiAjaxLogoutDone)=='function'){ajaxOptions.mmiAjaxLogoutDone.apply(ajaxOptions,[json,status,xhr,ajaxOptions]);}}else{MMI.App.get().logoutFail.apply(ajaxOptions,[json,status,xhr,ajaxOptions]);}},logoutFail:function(json,status,xhr,ajaxOptions){MMI.App.get().triggerEvent('logoutfail',[json]);if(typeof(ajaxOptions.mmiAjaxLogoutFail)=='function'){ajaxOptions.mmiAjaxLogoutFail.apply(ajaxOptions,[json,status,xhr,ajaxOptions]);}},loginViaFacebook:function(){document.location.href='/?view=util_facebook_login';}}; 3118MMI.Util.namespace('MMI.App.Modules.LiveEventSystem');MMI.App.Modules.LiveEventSystem={__construct:function(){this._shiftKeyDown=false;this._controlKeyDown=false;this._altKeyDown=false;this._metaKeyDown=false;this._handlerClasses=[];this._handlerClassNames={};this._liveEvents=[];this._eventStatusList={};this._loggingOptions={liveEvents:false,broadcastEvents:false};this._windowResizeTimeout=0;this._windowResizeUpdateDelayMilliseconds=100;this._debouncedTimers=new Map();},__documentReady:function(event,app,jqel,data){var standardLiveEvents=['resize','focusin','focusout','focus','blur','hover','click','touchstart','touchend','dblclick','scroll','change','creating','ajaxdone','ajaxalways','ajaxabort','ajaxfail','removing','submit','delete','deletesuccess','deleteerror','deletecomplete','beforedelete','beforesubmit','eco_form_submit_start','eco_form_submit_success','eco_form_submit_error','eco_form_submit_complete','eco_form_reset','tooltip','firstview','keydown',];this.registerLiveEvents(standardLiveEvents);var jqel_document=jQuery(document);var jqel_body=jQuery('body');jqel_document.on('keydown keyup',function(event){var app=MMI.App.get();
3118switch(event.key){case'Shift':app._shiftKeyDown=event.shiftKey;break;case'Control':app._controlKeyDown=event.ctrlKey;break;case'Alt':app._altKeyDown=event.altKey;break;case'Meta':app._metaKeyDown=event.metaKey;break;} 3119if(event.type==='keyup'){switch(event.key){case'Shift':app._shiftKeyDown=false;break;case'Control':app._controlKeyDown=false;break;case'Alt':app._altKeyDown=false;break;case'Meta':app._metaKeyDown=false;break;}} 3120var jqel_hoveredElements=jQuery('.live_hover.hover');var addClasses=[];var removeClasses=[];var bodyAddClasses=[];var bodyRemoveClasses=[];if(app._controlKeyDown){addClasses.push('controlKeyDown');bodyAddClasses.push('body_controlKeyDown');}else{removeClasses.push('controlKeyDown');bodyRemoveClasses.push('body_controlKeyDown');} 3121if(app._shiftKeyDown){addClasses.push('shiftKeyDown');bodyAddClasses.push('body_shiftKeyDown');}else{removeClasses.push('shiftKeyDown');bodyRemoveClasses.push('body_shiftKeyDown');} 3122if(app._altKeyDown){addClasses.push('altKeyDown');bodyAddClasses.push('body_altKeyDown');}else{removeClasses.push('altKeyDown');bodyRemoveClasses.push('body_altKeyDown');} 3123if(app._metaKeyDown){addClasses.push('metaKeyDown');bodyAddClasses.push('body_metaKeyDown');}else{removeClasses.push('metaKeyDown');bodyRemoveClasses.push('body_metaKeyDown');} 3124jqel_hoveredElements.alterClass(removeClasses,addClasses);jqel_body.alterClass(bodyRemoveClasses,bodyAddClasses);});jqel_document.on('scroll',function(event){MMI.App.get().triggerEvent('scroll',[event]);MMI.App.get().triggerEvent('firstview');});},isControlKeyDown:function(){return this._controlKeyDown;},isShiftKeyDown:function(){return this._shiftKeyDown;},isAltKeyDown:function(){return this._altKeyDown;},isMetaKeyDown:function(){return this._metaKeyDown;},enableLiveEventLogging:function(){this._loggingOptions.liveEvents=true;},disableLiveEventLogging:function(){this._loggingOptions.liveEvents=false;},_logLiveEvent:function(event){if(this._loggingOptions.liveEvents){console.log('Live Event: '+event.type,event);}},enableBroadcastEventLogging:function(){this._loggingOptions.broadcastEvents=true;},disableBroadcastEventLogging:function(){this._loggingOptions.broadcastEvents=false;},_logBroadcastEvent:function(eventName){if(this._loggingOptions.broadcastEvents){console.log('Event Broadcast: '+eventName);}},triggerEvent:function(eventName,additionalArguments,targetElement){this._logBroadcastEvent(eventName);eventName=eventName.toLowerCase();var fullEventName=eventName;var dotPosition=fullEventName.search(/\./);if(dotPosition>=0){eventName=fullEventName.substr(0,dotPosition);} 3125if(!this.isLiveEventRegistered(eventName)){this.registerLiveEvent(eventName,true);} 3126if(targetElement&&targetElement.length){targetElement.find('.live_'+eventName).trigger(fullEventName,additionalArguments);}else{jQuery('.live_'+eventName).trigger(fullEventName,additionalArguments);}},manuallyFireEvent:function(event,handler,jqel,data,customEventParams){return this._callEventHandler(event,handler,jqel,data,customEventParams);},wasEventCanceled:function(eventName){return(this._eventStatusList[eventName]=='canceled');},isEventRunning:function(eventName){return(this._eventStatusList[eventName]=='running');},setEventStatus:function(eventName,status){console.warn('MMI.App.Core.setEventStatus() is deprecated. You should just return boolean false from your method to cancel an event.');this._setEventStatus(eventName,status);},_setEventStatus:function(eventName,status){this._eventStatusList[eventName]=status;},resetEventStatus:function(eventName){console.warn('MMI.App.Core.resetEventStatus() is deprecated.');this._resetEventStatus(eventName);},_resetEventStatus:function(eventName){this._eventStatusList[eventName]=un
3126defined;},_doInternetExplorerNonBubblingEventWorkarounds:function(jqel,targetElementOnly){if(jQuery.browser.msie&&MMI.Util.compareVersions(jQuery.browser.version,'<','9')){if(targetElementOnly){jqel.filter('.live_change').removeClass('live_change').bind('change',this._handleLiveEvent);jqel.filter('.live_submit').removeClass('live_submit').bind('submit',this._handleLiveEvent);}else{jqel.find('.live_change').removeClass('live_change').bind('change',this._handleLiveEvent);jqel.find('.live_submit').removeClass('live_submit').bind('submit',this._handleLiveEvent);}}},registerHandlerClass:function(object,name){if(object&&typeof(object)=='object'&&!this._handlerClassNames.hasOwnProperty(name)){if(typeof(name)!='string'||name.length<1){name=MMI.Util.randomize(8);} 3127this._handlerClassNames[name]=this._handlerClasses.length;this._handlerClasses[this._handlerClasses.length]=object;return name;} 3128return'';},unregisterHandlerClass:function(name){if(this._handlerClassNames.hasOwnProperty(name)){delete this._handlerClasses[this._handlerClassNames[name]];delete this._handlerClassNames[name];return true;} 3129return false;},_bindLiveEvents:function(){var eventName='';for(var i in this._liveEvents){if(this._liveEvents.hasOwnProperty(i)){eventName=this._liveEvents[i].toLowerCase();if(typeof(eventName)=='string'){var jqelTarget=jQuery(document);var selector='.live_'+eventName;if(eventName!='hover'){jqelTarget.on(eventName,selector,[],this._handleLiveEvent);}else{jqelTarget.on('mouseenter',selector,[],this._handleHoverStartEvent).on('mouseleave',selector,[],this._handleHoverEndEvent);}}}}},_bindLiveEvent:function(eventName){eventName=eventName.toLowerCase();jQuery.event.special[eventName]={preDispatch:function(event){if(event.target.disabled===true){console.warn('Unable to trigger `'+eventName+'` event on a disabled element: ',event.target);}}};if(typeof(eventName)=='string'&&this._liveEvents.hasOwnProperty(eventName)){var jqelTarget=jQuery(document);var selector='.live_'+eventName;if(jQuery.inArray(eventName,['hover','tooltip'])==-1){jqelTarget.off(eventName,selector);jqelTarget.on(eventName,selector,[],this._handleLiveEvent);}else if(!this.isMobile()){switch(eventName.toLowerCase()){case'hover':jqelTarget.off('mouseenter',selector,[]).on('mouseenter',selector,[],this._handleHoverStartEvent).off('mouseleave',selector,[]).on('mouseleave',selector,[],this._handleHoverEndEvent);break;case'tooltip':jqelTarget.off('mouseenter',selector);jqelTarget.on('mouseenter',selector,[],this._handleTooltipCreateEvent);break;}}}},_handleNetworkStatusChange:function(event){var self=MMI.App.get();var online=navigator.onLine;var type=event.type;self.triggerEvent(type,[online]);self.triggerEvent('networkstatuschange',[online]);var add='networkStatus-'+(type=='offline'?'offline':'online');var remove='networkStatus-'+(type=='offline'?'online':'offline');jQuery(document.body).addClass(add).removeClass(remove);},_handleRealWindowResize:function(event){var self=MMI.App.get();clearTimeout(self._windowResizeTimeout);self._windowResizeTimeout=0;self._windowResizeTimeout=setTimeout(function(){var w=jQuery(window);jQuery('.live_resize').trigger('resize',[w.width(),w.height()]);},self._windowResizeUpdateDelayMilliseconds);},_handleTooltipCreateEvent:function(event){var jqel=jQuery(this);if(!this._hasQtip){if(this._hasQtip===false){return;} 3130if(typeof(jqel.qtip)=='function'){this._hasQtip=true;}else{return;}} 3131var qTipOptions=jqel.mmiData('qTipOptions');if(!jQuery.isPlainObject(qTipOptions)){qTipOptions={position:{viewport:jQuery(window)}};jqel.removeClass('live_tooltip');let tooltip=new ToolTip(jqel.get(0),qTipOptions);}else{if(!jQuery.isPlainObject(qTipOptions.position)){qTipOptions.position={};} 3132if(typeof(qTipOptions.position.viewport)=='undefined'){qTipOptions.position.viewport=jQuery(window);} 3133jqel.removeClass('live_tooltip');let tooltip=new ToolTip(jqel.get(0),qTipOptions);} 3134jqel.trigger('mouseenter');},_handleHoverStartEvent:function(event){var self=MMI.App.getInstance();var jqel=jQuery(this);var data=jqel.mmiData();var customHandler='';if(data.hasOwnProperty('live_hover_start_handler')){customHandler=data['live_hover_start_handler'];}else if(data.hasOwnProperty('live_hover_handler')){customHandler=data['live_hover_handler'];} 3135if(customHandler){customHandler=';'+customHandler+';';} 3136var handler='';if(customHandler.indexOf(';default;')){handler=customHandler.replace(';default;',';_defaultHandleHoverStart;').replace(/^;/,'').replace(/;$/,'');}else{handler='_defaultHandleHoverStart'+customHandler;} 3137jqel.data('_hoverActive',true);self._callEventHandler(event,handler,jqel,data);},_handleHoverEndEvent:function(event){var self=MMI.App.getInstance();var jqel=jQuery(this);var data=jqel.mmiData();var customHandler='';if(data.hasOwnProperty('live_hover_end_handler')){customHandler=data['live_hover_end_handler'];}else if(data.hasOwnProperty('live_hover_handler')){customHandler=data['live_hover_handler'];} 3138if(customHandler){customHandler=';'+customHandler+';';} 3139var handler='';if(customHandler.indexOf(';default;')){handler=customHandler.replace(';default;',';_defaultHandleHoverEnd;').replace(/^;/,'').replace(/;$/,'');}else{handler='_defaultHandleHoverEnd'+customHandler;} 3140jqel.data('_hoverActive',false);self._callEventHandler(event,handler,jqel,data);},_handleLiveEvent:function(event){MMI.App.getInstance()._logLiveEvent(event);var self=MMI.App.getInstance();var jqel=jQuery(this);var data=jQuery.extend({},jqel.data());var parents=jqel.parents();parents.each(function(index,ancestorDomElement){var ancestorData=jQuery.extend({},jQuery(ancestorDomElement).data());data=jQuery.extend(ancestorData,data);});if(event.type=='creating'){jqel.removeClass('live_creating');}else if(event.type=='removing'){jqel.removeClass('live_removing');}else if(event.type=='firstview'){if(!MMI.Util.isElementVisible(jqel)){return false;} 3141jqel.removeClass('live_firstview');} 3142var eventType=event.type;switch(eventType){case'focusin':eventType='focus';break;case'focusout':eventType='blur';break;} 3143var handler=data['live_'+eventType+'_handler'];
3143var customEventParams=[];for(var i=1;i<arguments.length;i++){if(arguments.hasOwnProperty(i)){customEventParams[customEventParams.length]=arguments[i];}} 3144var result=self._callEventHandler(event,handler,jqel,data,customEventParams);switch(eventType){case'creating':case'destroying':case'scroll':case'resize':setTimeout(function(){MMI.App.getInstance().triggerEvent('firstview',{},jqel);},100);} 3145if(event.type!='resize'){if(typeof(result)=='undefined'){return false;} 3146return result;} 3147return false;},_processSingleEventHandler:function(remainingHandlers,event,handler,jqel,data,customEventParams){var result=null;if(typeof(customEventParams)=='undefined'){customEventParams=[];} 3148var eventParams=[event,this,jqel,data];for(var i=0;i<customEventParams.length;i++){if(customEventParams.hasOwnProperty(i)){eventParams[eventParams.length]=customEventParams[i];}} 3149if(typeof(handler)=='string'&&handler!='undefined'){let args;if(handler.includes(':')){args=handler.split(':');handler=args.shift();} 3150if(Array.isArray(args)&&args.length){eventParams=eventParams.concat(args);} 3151if(handler=='delay'){var delayTime=parseInt(data.delay||args&&args[0]||'0',10);if(delayTime>0){try{}catch(e){} 3152var self=this;setTimeout(function(){self._callEventHandler(event,remainingHandlers,jqel,data,customEventParams);},delayTime);return false;} 3153console.warn('You defined a delay handler without specifying a data-delay value greater than 0 milliseconds.');} 3154if(handler==='debounce'){let jqelMap;let timer=false;if(this._debouncedTimers.has(jqel[0])){jqelMap=this._debouncedTimers.get(jqel[0]);if(jqelMap.has(event.type)){timer=jqelMap.get(event.type);}}else{jqelMap=new Map();this._debouncedTimers.set(jqel[0],jqelMap);} 3155if(timer){clearTimeout(timer);} 3156let debounceDelay=500;if(Array.isArray(args)){let argDelay=parseInt(args[0],10);if(!Number.isNaN(argDelay)){debounceDelay=argDelay;}}else{let dataDelay=parseInt(data.debounceDelay,10);if(!Number.isNaN(dataDelay)){debounceDelay=dataDelay;}} 3157const self=this;timer=setTimeout(function(){self._callEventHandler(event,remainingHandlers,jqel,data,customEventParams);jqelMap.delete(event.type);},debounceDelay);jqelMap.set(event.type,timer);return false;} 3158handler=handler.replace("\n",'');if(handler.search(/\./)!=-1){var handlerParts=handler.split('.');var handlerFunction=handler.pop();var handlerClass=MMI.Util.getNamespace(handlerParts.join('.'));if(jQuery.isPlainObject(handlerClass)&&typeof(handlerClass[handlerFunction])=='function'){result=handlerClass[handlerFunction].apply(window,eventParams);}else{result=false;}}else{var handlerPrefixes=['do_',''];if(jQuery.inArray(event.type,['ajaxdone','ajaxalways','ajaxfail'])>-1){handlerPrefixes.unshift('ajax_');} 3159var foundClassedHandler=false;var handlerWithPrefix='';var totalHandlers=this._handlerClasses.length-1;for(var i=totalHandlers;i>=0;i--){if(i in this._handlerClasses){for(var prefixKey in handlerPrefixes){if(handlerPrefixes.hasOwnProperty(prefixKey)){handlerWithPrefix=handlerPrefixes[prefixKey]+handler;if(typeof(this._handlerClasses[i][handlerWithPrefix])=='function'){result=this._handlerClasses[i][handlerWithPrefix].apply(this._handlerClasses[i],eventParams);foundClassedHandler=true;break;}}}} 3160if(foundClassedHandler){break;}} 3161if(!foundClassedHandler){if(typeof(this[handler])=='function'){result=this[handler].apply(window,eventParams);}else{if(typeof(handler)=='function'){handler='*anonymous*';}else if(typeof(handler)!='string'){handler='*unknown*';} 3162console.warn('Could not locate the handler method `'+handler+'` defined for `'+event.type+'` on:',jqel);}}}}else if(typeof(handler)=='function'){result=handler.apply(window,eventParams);} 3163if(result===false){this._setEventStatus(event.type,'canceled');}else{handler=this._getDefaultEventHandler(event.type);if(typeof(handler)=='function'){result=handler.apply(window,eventParams);} 3164this._resetEventStatus(event.type);} 3165return result;},_callEventHandler:function(event,handler,jqel,data,customEventParams){this._setEventStatus(event.type,'running');var handlers=[];if(typeof(handler)=='string'){handler.replace(/[;]+/,';').replace(/^[;]/,'').replace(/[;]$/,'');handlers=handler.split(';');}else if(typeof(handler)=='function'){handlers[handlers.length]=handler;}else if(handler instanceof Array){handlers=handler;if(handlers.length>0){handler=handlers[0];}else{return;}}else{return;} 3166if(typeof(handlers)=='object'&&handlers.length>1){var tmpResult;var remainingHandlers=handlers.slice();while(remainingHandlers.length){var tmpHandler=remainingHandlers.shift();tmpResult=this._processSingleEventHandler(remainingHandlers,event,tmpHandler,jqel,data,customEventParam
3166s);if(tmpResult===false){this._setEventStatus(event.type,'canceled');return false;}} 3167this._resetEventStatus(event.type);return tmpResult;} 3168return this._processSingleEventHandler(null,event,handler,jqel,data,customEventParams);},_getDefaultEventHandler:function(eventName){eventName=eventName.charAt(0).toUpperCase()+eventName.slice(1);return this['_defaultHandle'+eventName+'Event'];},_defaultHandleHoverStart:function(event,app,jqel,data){if(jqel.data('_hoverActive')!==true){return;} 3169var addClasses=['hover'];var removeClasses=[];if(event.ctrlKey){addClasses.push('controlKeyDown');}else{removeClasses.push('controlKeyDown');} 3170if(event.shiftKey){addClasses.push('shiftKeyDown');}else{removeClasses.push('shiftKeyDown');} 3171if(event.altKey){addClasses.push('altKeyDown');}else{removeClasses.push('altKeyDown');} 3172if(event.metaKey){addClasses.push('metaKeyDown');}else{removeClasses.push('metaKeyDown');} 3173jqel.alterClass(removeClasses,addClasses);},_defaultHandleHoverEnd:function(event,app,jqel,data){var addClasses=[];var removeClasses=['hover'];if(event.ctrlKey){addClasses.push('controlKeyDown');}else{removeClasses.push('controlKeyDown');} 3174if(event.shiftKey){addClasses.push('shiftKeyDown');}else{removeClasses.push('shiftKeyDown');} 3175if(event.altKey){addClasses.push('altKeyDown');}else{removeClasses.push('altKeyDown');} 3176if(event.metaKey){addClasses.push('metaKeyDown');}else{removeClasses.push('metaKeyDown');} 3177jqel.alterClass(removeClasses,addClasses);},setWindowResizeUpdateDelay:function(delayInMilliseconds){this._windowResizeUpdateDelayMilliseconds=delayInMilliseconds;},registerLiveEvent:function(eventName){eventName=eventName.toLowerCase();this._liveEvents[eventName]=eventName;this._bindLiveEvent(eventName);},registerLiveEvents:function(eventNameList){if(!jQuery.isArray(eventNameList)){eventNameList=Array.prototype.slice.call(arguments);} 3178for(var i in eventNameList){if(eventNameList.hasOwnProperty(i)){this.registerLiveEvent(eventNameList[i].toLowerCase(),false);}}},unRegisterLiveEvent:function(eventName){eventName=eventName.toLowerCase();if(this._liveEvents.hasOwnProperty(eventName)){delete this._liveEvents[eventName];}},unRegisterLiveEvents:function(eventNameList){for(var eventName in eventNameList){if(eventNameList.hasOwnProperty(eventName)){eventName=eventName.toLowerCase();if(eventNameList.hasOwnProperty(eventName)){this.unRegisterLiveEvent(eventNameList[eventName]);}}}},isLiveEventRegistered:function(eventName){return this._liveEvents.hasOwnProperty(eventName.toLowerCase());},initializeLiveScrollEvent:function(jqel){if(!(jqel instanceof jQuery)){jqel=jQuery('body');} 3179jqel.find('.live_scroll').add(jqel.filter('.live_scroll')).on('scroll',function(event){var app=MMI.App.getInstance();app._handleLiveEvent.apply(jqel,[event]);});},initializeLiveFocusEvents:function(jqel){if(!(jqel instanceof jQuery)){jqel=jQuery('body');} 3180jqel.find('.live_focus').add(jqel.filter('.live_focus')).off('focus.helix').on('focus.helix',function(event){var app=MMI.App.getInstance();app._handleLiveEvent.apply(jQuery(this),[event]);});jqel.find('.live_blur').add(jqel.filter('.live_blur')).off('blur.helix').on('blur.helix',function(event){var app=MMI.App.getInstance();app._handleLiveEvent.apply(jQuery(this),[event]);});jqel.find('.live_focusin').add(jqel.filter('.live_focusin')).off('focusin.helix').on('focusin.helix',function(event){var app=MMI.App.getInstance();app._handleLiveEvent.apply(jQuery(this),[event]);});jqel.find('.live_focusout').add(jqel.filter('.live_focusout')).off('focusout.helix').on('focusout.helix',function(event){var app=MMI.App.getInstance();app._handleLiveEvent.apply(jQuery(this),[event]);});},initializeNewContentAsync:async function(jqel){var app=MMI.App.getInstance();if(app&&app.hasOwnProperty('_registerImageLoadErrorHandlers')){app._registerImageLoadErrorHandlers();} 3181if((jqel instanceof jQuery)&&jqel.length){await this.runOrganismScanAsync(jqel);jqel.filter('.live_creating').trigger('creating');jqel.find('.live_creating').trigger('creating');jqel.filter('.live_updatepermissions').trigger('updatepermissions',[{'items':{},'types':{}},this._permissions]);jqel.find('.live_updatepermissions').trigger('updatepermissions',[{'items':{},'types':{}},this._permissions]);this.initializeLiveScrollEvent(jqel);this.initializeLiveFocusEvents(jqel);await this.runOrganismScanAsync(jqel);}else{await this.runOrganismScanAsync(jQuery('body'));jQuery('.live_creating').trigger('creating');jQuery('.live_updatepermissions').trigger('updatepermissions',[{'items':{},'types':{}},this._permissions]);this.initializeLiveScrollEvent();this.initializeLiveFocusEvents();await this.runOrganismScanAsync(jQuery('body'));} 3182jQuery(window).trigger('resize');},initializeNewContent:function(jqel){var app=MMI.App.getInstance();if(app&&app.hasOwnProperty('_registerImageLoadErrorHandlers')){app._registerImageLoadErrorHandlers();} 3183if((jqel instanceof jQuery)&&jqel.size()){this.runOrganismScanSync(jqel);jqel.filter('.live_creating').trigger('creating');jqel.find('.live_creating').trigger('creating');jqel.filter('.live_updatepermissions').trigger('updatepermissions',[{'items':{},'types':{}},this._permissions]);jqel.find('.live_updatepermissions').trigger('updatepermissions',[{'items':{},'types':{}},this._permissions]);this.initializeLiveScrollEvent(jqel);this.initializeLiveFocusEvents(jqel);this.runOrganismScanSync(jqel);}else{this.runOrganismScanSync(jQuery('body'));jQuery('.live_creating').trigger('creating');jQuery('.live_updatepermissions').trigger('updatepermissions',[{'items':{},'types':{}},this._permissions]);this.initializeLiveScrollEvent();this.initializeLiveFocusEvents();this.runOrganismScanSync(jQuery('body'));} 3184jQuery(window).trigger('resize');},runOrganismScanAsync:async function(contextEl){if(typeof(Eco)!='undefined'&&Basix.isPlainObject(Eco)&&Basix.isPlainObject(Eco.OrganismController)&&Basix.isFunction(Eco.OrganismController.scan)){const jqel=jQuery(contextEl);const organismScanPromises=[];for(const el of jqel.toArray()){organismScanPromises.push(Eco.OrganismController.scan(el));} 3185return Promise.all(organismScanPromises).then(results=>{const combinedResults=[];for(const result of results){combinedResults.push(...result);} 3186return combinedResults;});} 3187return Promise.resolve([]);},runOrganismScanSync:function(contextEl){if(typeof(Eco)!='undefined'&&Basix.isPlainObject(Eco)&&Basix.isPlainObject(Eco.OrganismController)&&Basix.isFunction(Eco.OrganismController.scanSync)){const jqel=jQuery(contextEl);const organisms=[];for(const el of jqel.toArray()){organisms.push(...Eco.OrganismController.scanSync(el));} 3188return organisms;} 3189return[];}}; 3190MMI.Util.namespace('MMI.App.Modules.FeatureSystem');MMI.App.Modules.FeatureSystem={__construct:function(){this._features={};},_getFeatureObject:function(featureName){return MMI.Util.getNamespace(this._features,featureName);},isFeatureEnabled:function(featureName){if(typeof(featureName)=='string'){var featureObject=this._getFeatureObject(featureName);if(!featureObject.hasOwnProperty('_enabled')){featureObject._enabled=false;} 3191return featureObject._enabled;} 3192return false;},enableFeature:function(featureName){if(typeof(featureName)=='string'){var featureObject=this._getFeatureObject(featureName);featureObject._enabled=true;}},enableFeatures:function(){var argsLength=arguments.length;for(var argIndex=0;argIndex<argsLength;argIndex++){var arg=arguments[argIndex];if(jQuery.isArray(arg)){this.enableFeatures.apply(this,arg);}
3192else if(typeof(arg)=='string'){this.enableFeature(arg);}}},disableFeature:function(featureName){if(typeof(featureName)=='string'){var featureObject=this._getFeatureObject(featureName);featureObject._enabled=false;}},disableFeatures:function(){var argsLength=arguments.length;for(var argIndex=0;argIndex<argsLength;argIndex++){var arg=arguments[argIndex];if(jQuery.isArray(arg)){this.disableFeatures(arg);}else if(typeof(arg)=='string'){this.disableFeature(arg);}}}}; 3193MMI.Util.namespace('MMI.App.Modules.Mobile');MMI.App.Modules.Mobile={__construct:function(){this._isIpad=(navigator.userAgent.match(/iPad/i)!=null);this._isIphone=(navigator.userAgent.match(/iPhone/i)!=null);this._isIpod=(navigator.userAgent.match(/iPod/i)!=null);this._isIos=(this.isIpad()||this.isIphone()||this.isIpod());this._isAndroid=(navigator.userAgent.match(/Android/i)!=null);this._isMobile=(this.isIos()||this.isAndroid());this._isTouchDevice=('ontouchstart'in document.documentElement);},__documentReady:function(){var jqel_body=jQuery('body');if(this.isTouchDevice()){jqel_body.addClass('touchDevice');}else{jqel_body.addClass('nonTouchDevice');}},isIpad:function(){return this._isIpad;},isIphone:function(){return this._isIphone;},isIpod:function(){return this._isIpod;},isIos:function(){return this._isIos;},isAndroid:function(){return this._isAndroid;},isMobile:function(){return this._isMobile;},isTouchDevice:function(){return this._isTouchDevice;}}; 3194MMI.Util.namespace('MMI.App.Modules.Genome');MMI.App.Modules.Genome={_api:null,__construct:function(){this.registerLiveEvents(['itemcreatestart','itemcreatesuccess','itemcreateerror','itemcreatedone']);this.registerLiveEvents(['itemupdatestart','itemupdatesuccess','itemupdateerror','itemupdatedone']);this.registerLiveEvents(['itemdeletestart','itemdeletesuccess','itemdeleteerror','itemdeletedone']);this.registerLiveEvents(['itemsortstart','itemsortsuccess','itemsorterror','itemsortdone']);this.registerLiveEvents(['eco_rapid_change']);},api:function(){if(this._api===null){this._api=new genomeJsApi.Http({baseURL:`${window.location.origin}/api/v3`,});} 3195return this._api;},_permissions:{items:{},types:{}},_permissionQueue:{items:{},types:{}},_permissionQueueTimer:0,assumeAlias:function(targetProfileId){var self=this;this.ajax({data:{mode:'alias',action:'assume',targetProfileId:targetProfileId},mmiAjaxDone:function(json){if(json&&json.mode&&json.mode.alias&&json.mode.alias.result===true){localStorage.setItem('alias',json.postdata.targetProfileId);Eco.OrganismController.create('Eco.Organism.Notification.Message','<div class="mod_success">',{options:{name:'assumeAlias.ajaxDoneSuccess',container:'default',icon:'eco eco-success',body:'You have assumed the access level of this user. <a href="/" target="_blank">Open a new tab</a> to see the effect. Return to this tab to drop the alias.',actions:[{label:'Dismiss',handler:'dismiss'},{label:'Drop Alias',handler:function(){self.dropAlias();}}]}});}else{var message='Unable to assume access as this user.';if(json&&json.mode&&json.mode.alias&&json.mode.alias.error.message){message=json.mode.alias.error.message;} 3196self.displayErrorNotification(message,'assumeAlias.ajaxDoneError');}}});var jqel=jQuery('#aliasToggleButton');if(jqel.text()==='Assume as Alias'){jqel.data('live_click_handler','dropAlias');jqel.text('Drop Alias');}},dropAlias:function(){var self=this;this.ajax({data:{mode:'alias',action:'drop'},mmiAjaxDone:function(json){if(json&&json.mode&&json.mode.alias&&json.mode.alias.result===true){localStorage.removeItem('alias');var notification=Eco.NotificationController.getMessageByName('assumeAlias.ajaxDoneSuccess');if(notification){notification.hide();} 3197var actions=[{label:'Dismiss',handler:'dismiss'}];var realProfileId=parseInt(json.mode.alias.realProfileId,10);var loadedProfileId=self.getProfileId();if(realProfileId!=self.getProfileId()){actions.push({label:'Reload Page',handler:function(){window.location.reload(true);}});} 3198Eco.OrganismController.create('Eco.Organism.Notification.Message','<div class="mod_success">',{options:{name:'dropAlias.ajaxDoneSuccess',container:'default',icon:'eco eco-success',body:'Alias dropped.',actions:actions}});}else{var message='Unable to drop the current alias.';if(json&&json.mode&&json.mode.alias&&json.mode.alias.error.message){message=json.mode.alias.error.message;} 3199self.displayErrorNotification(message,'dropAlias.ajaxDoneError');}}});var jqel=jQuery('#aliasToggleButton');if(jqel.text()==='Drop Alias'){jqel.data('live_click_handler','assumeAlias');jqel.text('Assume as Alias');}},reloadGi:function(jqel){var jqel_targetElement='';if(jqel.hasClass('itemContent')){jqel_targetElement=jqel;}else{jqel_targetElement=jqel.parents('.itemContent').first();} 3200if(!jqel_targetElement.size()){return false;}else{var elementData=jqel_targetElement.mmiData();var data={view:elementData.view,id:elementData.item_id,mode:elementData.mode||'display',attitude:'json'};var ajaxData={data:data,jqel:jqel_targetElement,replaceElement:true,replaceContent:false};this.ajax(ajaxData);return true;}},reloadGiByItemId:function(id){var jqel_containers=jQuery(".itemContent[data-item_id='"+id+"']");var app=this;jqel_containers.each(function(){app.reloadGi(jQuery(this));});},reloadGiByItemType:function(type){var jqel_containers=jQuery(".itemContent[data-item_type='"+type+"']");var app=this;jqel_containers.each(function(){app.reloadGi(jQuery(this));});},checkPermissionsById:function(permission,id){if(jQuery.isEmptyObject(this._permissions.items)){var jqel_permissionsBlock=jQuery('.mmiSitePermissions');if(jqel_permissionsBlock.size()){var cachedPermissions=jqel_permissionsBlock.data('permissions');if(!jQuery.isPlainObject(cachedPermissions)){cwarn('Cached permissions ignored because they are not an object!');return;} 3201this._permissions=cachedPermissions;jqel_permissionsBlock.remove();}} 3202if(!this._permissions['items'][permission]){this._permissions['items'][permission]={};} 3203if(this._permissions['items'][permission][id]!==undefined){var permissions={items:{}};permissions.items[permission]={};permissions.items[permission][id]=this._permissions['items'][permission][id];this.triggerEvent('updatepermissions',[permissions,this._permissions]);}else{this.queuePermissionCheckById(permission,id);}},queuePermissionCheckById:function(permission,id){if(id===0||id=='0'){return;} 3204if(!this._permissionQueue.items[permission]){this._permissionQueue.items[permission]=[];} 3205this._permissionQueue.items[permission].push(id);clearTimeout(this._permissionQueueTimer);this._permissionQueueTimer=setTimeout(function(){var app=MMI.App.get();app.sendPermissionQueue();},250);},sendPermissionQueue:function(){var ajaxData={view:'access_permissions',permissions:this._permissionQueue,id:1};this.ajax({data:ajaxData,mmiAjaxDone:function(json,result,xHr){var app=MMI.App.get();app.storePermissionData(json.permissions);}});this._permissionQueue={items:{},types:{}};},storePermissionData:function(permissions){var app=this;var changed=false;jQuery.each(permissions,function(type,permissions){if(!app._permissions[type]){app._permissions[type]={};} 3206jQuery.each(permissions,function(permission,ids){if(!app._permissions[type][permission]){app._permissions[type][permission]={};}
3207jQuery.each(ids,function(id,permissionAllowed){if(app._permissions[type][permission][id]===undefined||app._permissions[type][permission][id]!=permissionAllowed){app._permissions[type][permission][id]=permissionAllowed;changed=true;}});});});if(changed){app.triggerEvent('updatepermissions',[permissions,app._permissions]);}},createItem:function(itemType,itemData,callback,context,ajaxOptions){if(!Basix.isString(itemType)){throw new Error('Invalid item type provided. Must provide a string.');} 3208if(Basix.isUndefined(callback)||callback===false){callback=function(status,itemType,itemData,json,ajaxOptions){};}else if(!Basix.isFunction(callback)){throw new Error('A callback was provided but the callback is not a valid function.');} 3209var itemsData={};var randomHash=Basix.getRandomString(12);if(Basix.isString(itemData.item_hash)){randomHash=itemData.item_hash;delete itemData.item_hash;} 3210itemsData[randomHash]=itemData;var ajaxData={mode:'edit',type:itemType,item:itemsData};if(Basix.isNumeric(itemData.item_parent)&&itemData.item_parent>0){ajaxData.parent_id=itemData.item_parent;} 3211this.triggerEvent('itemcreatestart',[itemType,itemData]);var app=this;if(Basix.isUndefined(context)||context===false){context=app;} 3212var defaultAjaxOptions={data:ajaxData,mmiAjaxDone:function(json,status,xhr){if(!json.server.status){app.triggerEvent('itemcreateerror',[itemType,itemData,json]);callback.apply(context,['error',0,itemType,itemData,json,ajaxOptions]);return;} 3213itemData.item_id=parseInt(json.id,10);app.triggerEvent('itemcreatesuccess',[json.id,itemType,itemData,json]);callback.apply(context,['success',itemData.item_id,itemType,itemData,json,ajaxOptions]);},mmiAjaxFail:function(json,status,xhr){app.triggerEvent('itemcreateerror',[itemType,itemData,json]);callback.apply(context,['error',0,itemType,itemData,json,ajaxOptions]);},mmiAjaxAlways:function(json,status,xhr){app.triggerEvent('itemcreatedone',[itemType,itemData,json]);callback.apply(context,['done',0,itemType,itemData,json,ajaxOptions]);}};ajaxOptions=Basix.extend(Basix.EXTEND_RECURSIVE,defaultAjaxOptions,ajaxOptions);return this.ajax(ajaxOptions);},updateItems:function(itemsData,callback,scope,ajaxOptions){if(!Basix.isArray(itemsData)&&!Basix.isList(itemsData)){throw new Error('Invalid item data array provided. Must provide a valid, non-empty array.');} 3214if(itemsData.length<1){return false;} 3215if(Basix.isUndefined(callback)||callback===false){callback=function(status,itemsDataObject,json,serverOperations,ajaxOptions){};}else if(!Basix.isFunction(callback)){throw new Error('A callback was provided but the callback is not a valid function.');} 3216itemsData=new Basix.List(itemsData);var itemsDataObject={};var itemId=0;var itemIds=[];itemsData.each(function(index,itemData){itemId=itemData.item_id;itemsDataObject[itemId]=itemData;itemIds.push(itemId);});var ajaxData={mode:'edit',id:itemId,item:itemsDataObject};var refreshList={};for(var key in itemsDataObject){if(itemsDataObject.hasOwnProperty(key)){var item=itemsDataObject[key];this.triggerEvent('itemupdatestart',[item,itemsDataObject]);var jqel_fields=jQuery('.itemContent.item-'+item.item_id+' .itemField, .itemField.item-'+item.item_id);if(jqel_fields.size()){jqel_fields.each(function(){var jqel_replaceField=jQuery(this);var fieldName=jqel_replaceField.data('field_name');var hasField=item.hasOwnProperty(fieldName);if(jqel_replaceField.mmiData('item_id')!=item.item_id||!hasField){return;} 3217var uniqueClass='replaceContent_'+MMI.Util.randomize(12);jqel_replaceField.addClass(uniqueClass);refreshList[item.item_id]={id:item.item_id,field:fieldName,options:jqel_replaceField.data('gf_options'),selectorClass:uniqueClass};});}}} 3218ajaxData.refresh_list=refreshList;var app=this;if(Basix.isUndefined(scope)||scope===false){scope=app;} 3219var defaultAjaxOptions={queueByXhrId:true,xhrId:'helix-update-items-'+itemIds.join(','),data:ajaxData,mmiAjaxDone:function(json,status,xhr){for(var key in itemsDataObject){if(itemsDataObject.hasOwnProperty(key)){var itemData=itemsDataObject[key];var itemId=itemData.item_id;itemData=Basix.extend(itemData,json.items[itemId]);if(json.server.operations[itemId]&&!json.server.operations[itemId].status){app.triggerEvent('itemupdateerror',[itemData,itemsDataObject,json,json.server.operations[itemId]]);callback.apply(scope,['error',itemData,itemsDataObject,json,json.server.operations[itemId],ajaxOptions]);}else{app.triggerEvent('itemupdatesuccess',[itemData,itemsDataObject,json,json.server.operations[itemId]]);callback.apply(scope,['success',itemData,itemsDataObject,json,json.server.operations[itemId],ajaxOptions]);}}} 3220if(json.server.status&&Basix.isObject(json.refresh_list)){jQuery.each(json.refresh_list,function(itemId,itemFields){jQuery.each(itemFields,function(uniqueClass,content){jQuery('.'+uniqueClass).html(content).removeClass(uniqueClass);});});app.initializeNewContent();}},mmiAjaxFail:function(json,status,xhr){for(var key in itemsDataObject){if(itemsDataObject.hasOwnProperty(key)){var item=itemsDataObject[ke
3220y];app.triggerEvent('itemupdateerror',[item,itemsDataObject,json,false]);callback.apply(scope,['error',item,itemsDataObject,json,false,ajaxOptions]);}}},mmiAjaxAlways:function(json,status,xhr){for(var key in itemsDataObject){if(itemsDataObject.hasOwnProperty(key)){var item=itemsDataObject[key];app.triggerEvent('itemupdatedone',[item,itemsDataObject,json,false]);callback.apply(scope,['done',item,itemsDataObject,json,false,ajaxOptions]);}}}};ajaxOptions=Basix.extend(Basix.EXTEND_RECURSIVE,defaultAjaxOptions,ajaxOptions);callback.apply(scope,['start',item,itemsDataObject,null,null,ajaxOptions]);return this.ajax(ajaxOptions);},updateItem:function(itemId,itemData,callback,context,ajaxOptions){if(!Basix.isObject(itemData)){throw new Error('Invalid item data provided. Must provide an object.');} 3221itemData.item_id=itemId;var itemsData=[itemData];return this.updateItems(itemsData,callback,context,ajaxOptions);},sortItems:function(itemIds,callback,scope,ajaxOptions){if(!Basix.isArray(itemIds)&&!Basix.isList(itemIds)){throw new Error('Invalid item ids array provided. Must provide a valid array.');} 3222if(Basix.isUndefined(callback)||callback===false){callback=function(status,itemIds,json,ajaxOptions){};}else if(!Basix.isFunction(callback)){throw new Error('A callback was provided but the callback is not a valid function.');} 3223var itemsData={};itemIds=new Basix.List(itemIds);itemIds.each(function(index,value){itemsData[value]={item_sort_order:parseInt(index,10)+1};});var ajaxData={mode:'edit',id:itemIds.last(),item:itemsData};this.triggerEvent('itemsortstart',[itemIds]);var app=this;if(Basix.isUndefined(scope)||scope===false){scope=app;} 3224var defaultAjaxOptions={xhrId:'helix-sort-items-'+itemIds.join(','),data:ajaxData,mmiAjaxDone:function(json,status,xhr){if(!json.server.status){app.triggerEvent('itemsorterror',[itemIds,json,ajaxOptions]);callback.apply(scope,['error',itemIds,json,ajaxOptions]);return;} 3225app.triggerEvent('itemsortsuccess',[itemIds,json,ajaxOptions]);callback.apply(scope,['success',itemIds,json,ajaxOptions]);},mmiAjaxFail:function(json,status,xhr){app.triggerEvent('itemsorterror',[itemIds,json,ajaxOptions]);callback.apply(scope,['error',itemIds,json,ajaxOptions]);},mmiAjaxAlways:function(json,status,xhr){app.triggerEvent('itemsortdone',[itemIds,json,ajaxOptions]);callback.apply(scope,['done',itemIds,json,ajaxOptions]);}};ajaxOptions=Basix.extend(Basix.EXTEND_RECURSIVE,defaultAjaxOptions,ajaxOptions);return this.ajax(ajaxOptions);},deleteItemsUsingPromise:function(itemIds,deleteChildren,ajaxOptions){if(!Basix.isArray(itemIds)&&!Basix.isList(itemIds)){throw new Error('Invalid items array provided. Must provide a valid, non-empty array.');} 3226if(itemIds.length<1){return Promise.resolve();} 3227if(!deleteChildren){deleteChildren=false;} 3228if(!ajaxOptions){ajaxOptions={};} 3229itemIds=new Basix.List(itemIds);let itemsDeleteObject={};let itemId=itemIds.at(-1);itemIds.forEach(id=>{clog('adding id to list: '+id);itemsDeleteObject[id]={confirm:1,children:deleteChildren};});clog('items to delete',itemsDeleteObject);if(!ajaxOptions.xhrId){ajaxOptions.xhrId='helix-delete-items-with-promise-'+itemIds.join(',');} 3230const requestData={mode:'delete',id:itemId,'delete':itemsDeleteObject};return this.ajaxUsingPromise(requestData,ajaxOptions).then((json,status,xhr)=>{const response={itemIds:itemIds,deleteChildren:deleteChildren,ajaxOptions:ajaxOptions,};if(json.server.operations[itemId]&&!json.server.operations[itemId].status){return new Promise.reject(response);} 3231return response;});},deleteItems:function(itemIds,deleteChildren,callback,scope,ajaxOptions){if(!Basix.isArray(itemIds)&&!Basix.isList(itemIds)){throw new Error('Invalid items array provided. Must provide a valid, non-empty array.');} 3232if(itemIds.length<1){return false;} 3233if(Basix.isUndefined(callback)||callback===false){callback=function(success,itemId,itemsDeleteObject,json,serverOperations,ajaxOptions){};}else if(!Basix.isFunction(callback)){throw new Error('A callback was provided but the callback is not a valid function.');} 3234itemIds=new Basix.List(itemIds);var itemsDeleteObject={};var itemId=0;itemIds.each(function(index,id){itemsDeleteObject[id]={confirm:1,children:deleteChildren};itemId=id;});var ajaxData={mode:'delete',id:itemId,'delete':itemsDeleteObject};for(var key in itemsDeleteObject){if(itemsDeleteObject.hasOwnProperty(key)){this.triggerEvent('itemdeletestart',[itemsDeleteObject[ke
3234y],itemsDeleteObject]);}} 3235var app=this;if(Basix.isUndefined(scope)||scope===false){scope=app;} 3236var defaultAjaxOptions={xhrId:'helix-delete-items-'+itemIds.join(','),data:ajaxData,mmiAjaxDone:function(json,status,xhr){for(var key in itemsDeleteObject){if(itemsDeleteObject.hasOwnProperty(key)){var itemId=key;if(json.server.operations[itemId]&&!json.server.operations[itemId].status){var callbackAllowContinue=callback.apply(scope,['error',itemId,itemsDeleteObject,json,json.server.operations[itemId],ajaxOptions]);if(callbackAllowContinue!==false){app.triggerEvent('itemdeleteerror',[itemId,itemsDeleteObject,json,json.server.operations[itemId]]);}}else{var callbackAllowContinue=callback.apply(scope,['success',itemId,itemsDeleteObject,json,json.server.operations[itemId],ajaxOptions]);if(callbackAllowContinue!==false){app.triggerEvent('itemdeletesuccess',[itemId,itemsDeleteObject,json,json.server.operations[itemId]]);}}}}},mmiAjaxFail:function(json,status,xhr){for(var key in itemsDeleteObject){if(itemsDeleteObject.hasOwnProperty(key)){var itemId=key;var callbackAllowContinue=callback.apply(scope,['error',itemId,itemsDeleteObject,json,false,ajaxOptions]);if(callbackAllowContinue!==false){app.triggerEvent('itemdeleteerror',[itemId,itemsDeleteObject,json,false]);}}}},mmiAjaxAlways:function(json,status,xhr){for(var key in itemsDeleteObject){if(itemsDeleteObject.hasOwnProperty(key)){var itemId=key;var callbackAllowContinue=callback.apply(scope,['done',itemId,itemsDeleteObject,json,false,ajaxOptions]);if(callbackAllowContinue!==false){app.triggerEvent('itemdeletedone',[itemId,itemsDeleteObject,json,false]);}}}}};ajaxOptions=Basix.extend(Basix.EXTEND_RECURSIVE,defaultAjaxOptions,ajaxOptions);return this.ajax(ajaxOptions);},restoreItems:function(itemIds,restoreChildren,callback,scope,ajaxOptions){if(restoreChildren===true){cwarn('restoreChildren feature not yet implemented.');} 3237if(!Basix.isArray(itemIds)&&!Basix.isList(itemIds)){throw new Error('Invalid items array provided. Must provide a valid, non-empty array.');} 3238if(itemIds.length<1){return false;} 3239if(Basix.isUndefined(callback)||callback===false){callback=function(success,itemId,itemsDeleteObject,json,serverOperations,ajaxOptions){};}else if(!Basix.isFunction(callback)){throw new Error('A callback was provided but the callback is not a valid function.');} 3240itemIds=new Basix.List(itemIds);var itemsRestoreObject={};var itemId=0;itemIds.each(function(index,id){itemsRestoreObject[id]={confirm:1,children:restoreChildren};itemId=id;});var ajaxData={mode:'delete',id:itemId,'undelete':itemsRestoreObject};for(var key in itemsRestoreObject){if(itemsRestoreObject.hasOwnProperty(key)){this.triggerEvent('itemrestorestart',[itemsRestoreObject[key],itemsRestoreObject]);}} 3241var app=this;if(Basix.isUndefined(scope)||scope===false){scope=app;} 3242var defaultAjaxOptions={xhrId:'helix-restore-items-'+itemIds.join(','),data:ajaxData,mmiAjaxDone:function(json,status,xhr){for(var key in itemsRestoreObject){if(itemsRestoreObject.hasOwnProperty(key)){var itemId=key;if(json.server.operations[itemId]&&!json.server.operations[itemId].status){app.triggerEvent('itemrestoreerror',[itemId,itemsRestoreObject,json,json.server.operations[itemId]]);callback.apply(scope,['error',itemId,itemsRestoreObject,json,json.server.operations[itemId],ajaxOptions]);}else{app.triggerEvent('itemrestoresuccess',[itemId,itemsRestoreObject,json,json.server.operations[itemId]]);callback.apply(scope,['success',itemId,itemsRestoreObject,json,json.server.operations[itemId],ajaxOptions]);}}}},mmiAjaxFail:function(json,status,xhr){for(var key in itemsRestoreObject){if(itemsRestoreObject.hasOwnProperty(key)){var itemId=key;app.triggerEvent('itemrestoreerror',[itemId,itemsRestoreObject,json,false]);callback.apply(scope,['error',itemId,itemsRestoreObject,json,false,ajaxOptions]);}}},mmiAjaxAlways:function(json,status,xhr){for(var key in itemsRestoreObject){if(itemsRestoreObject.hasOwnProperty(key)){var itemId=key;app.triggerEvent('itemrestoredone',[itemId,itemsRestoreObject,json,false]);callback.apply(scope,['done',itemId,itemsRestoreObject,json,false,ajaxOptions]);}}}};ajaxOptions=Basix.extend(Basix.EXTEND_RECURSIVE,defaultAjaxOptions,ajaxOptions);return this.ajax(ajaxOptions);},deleteItem:function(itemId,deleteChildren,callback,scope,ajaxOptions){if(!Basix.isNumeric(itemId)||itemId<1){if(arguments.length<2&&Basix.isObject(itemId)){return this._old_deleteItem(itemId);} 3243throw new Error('Invalid item id provided. Must provide an integer > 0.');} 3244var itemIds=[itemId];return this.deleteItems(itemIds,deleteChildren,callback,scope,ajaxOptions);},deleteItemPromise:function(itemId){return this.api().delete(`/items/item/${itemId}`)},restoreItem:function(itemId,restoreChildren,callback,scope,ajaxOptions){if(!Basix.isNumeric(itemId)||itemId<1){throw new Error('Invalid item id provided. Must provide an integer > 0.');} 3245var itemIds=[itemId];return this.restoreItems(itemIds,restoreChildren,callback,scope,ajaxOptions);},importNextBatch:function(itemId,jqel){var ajaxData={id:itemId,view:'ajax_process_alpha'};var ajaxOptions={data:ajaxData,mmiAjaxDone:function(json,status,jqXhr,ajaxOptions){if(!json.returnData){throw Error('Missing json.returnData from aja
3245x_process_alpha template for batch import.');} 3246if(json.returnData.importComplete===true){return;} 3247setTimeout(function(){MMI.App.get().importNextBatch(itemId,jqel);},10);},jqel:jqel};this.ajax(ajaxOptions);},redirectInsteadOfReload:function(){if(window.location.pathname.indexOf('/mode/login')===0||window.location.pathname.indexOf('/mode/logout')===0||window.location.pathname.indexOf('/sign-in')===0||window.location.pathname.indexOf('/sign-out')===0){window.location.href='/';return true;} 3248return false;}}; 3249MMI.Util.namespace('MMI.App.Modules.Eco');MMI.App.Modules.Eco={_ecoFormLiveEvents:['formstart','dataprocessor','formsuccess','formerror','formcomplete'],ecoForm_handleSubmitPromise:function(formOrganism,promise){this.registerLiveEvents(this._ecoFormLiveEvents);formOrganism.onSubmitStart();let app=this;let request,response;return promise.then(rsp=>{response=rsp;request=rsp.request;let json=rsp.data;let status=rsp.status;let xhr=rsp.request;let ajaxData=JSON.parse(rsp.config.data);app.ecoForm_processEvent(formOrganism.getFormElement(),'formsuccess',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormSuccess);return{request,response};},err=>{request=err.request;response=err.response;let json=err.response.data;let status=err.response.status;let xhr=err.request;let ajaxData=JSON.parse(err.config.data);app.ecoForm_processEvent(formOrganism.getFormElement(),'formerror',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormError);return{request,response};}).finally((...args)=>{if(request||response){let json=response?.data;let status=response?.status;let xhr=request;let ajaxData=JSON.parse(response?.config?.data);app.ecoForm_processEvent(formOrganism.getFormElement(),'formcomplete',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormComplete);return{request,response};}else{formOrganism.onSubmitComplete();return{request:null,response:null};}});},ecoForm_validateForm:function(event,formOrganism){if(!(formOrganism instanceof Eco.Organism.Form)){permaclog(formOrganism);cwarn('Invalid eco form organism ^^^ supplied to ecoForm_submitForm');return false;} 3250this.registerLiveEvents(this._ecoFormLiveEvents);formOrganism.validate();var errors=formOrganism.getErrors();if(errors.length){return false;} 3251return true;}
3251,ecoForm_submitForm:function(formOrganism,returnPromise=false){if(!(formOrganism instanceof Eco.Organism.Form)){permaclog(formOrganism);cwarn('Invalid eco form organism ^^^ supplied to ecoForm_submitForm');if(returnPromise){return Promise.reject();} 3252return false;} 3253this.registerLiveEvents(this._ecoFormLiveEvents);var jqel_form=formOrganism.jqel_form;formOrganism.validate();var errors=formOrganism.getErrors();if(errors.length){if(returnPromise){return Promise.reject();} 3254return false;} 3255var url=jqel_form.attr('action');if(!url){url='/';} 3256var app=this;var ajaxData=formOrganism.getAllValues();var jqel_fileFields=jqel_form.find('input:file');this.ecoForm_processEvent(jqel_form,'dataprocessor',[ajaxData],function(){});if(jqel_form.data('ecoSubmitFormViaGet')===true){if(jqel_fileFields.size()){permaclog(jqel_form,jqel_fileFields);cerror('You cannot use GET to submit that form ^^^ because it contains those ^^^ file fields! Remove the eco-submit-form-via-get data attribute from the form to submit as a POST request.');if(returnPromise){return Promise.reject();} 3257return false;} 3258var params=jQuery.param(ajaxData);var regex=new RegExp(/\/(content\/[\w-]*|page\/[\w-]*)(?:\/?)(.*)/);var matches=url.match(regex);if(matches instanceof Array){if(matches[2]!==''){url+='&';}else if(url[url.length-1]!=='/'){url+='/';}}else{url+='?';} 3259url+=params;window.location.href=url;if(returnPromise){return Promise.reject();} 3260return false;}else if(jqel_form.data('ecoSubmitFormViaPost')===true){var postForm=document.createElement('form');postForm.setAttribute('method','post');postForm.setAttribute('action',url);var dataField=document.createElement('input');dataField.setAttribute('name','json_formdata');dataField.setAttribute('type','hidden');dataField.setAttribute('value',JSON.stringify(ajaxData));postForm.appendChild(dataField);document.querySelector('body').appendChild(postForm);postForm.submit();if(returnPromise){return Promise.reject();} 3261return false;} 3262var ajaxOptions={queueByXhrId:true,xhrId:'eco-form-submit',data:ajaxData,url:url,mmiAjaxDone:function(json,status,ajaxOptions,xhr){if(jQuery.isPlainObject(json)&&jQuery.isPlainObject(json.server)&&json.server.status===true){app.ecoForm_processEvent(jqel_form,'formsuccess',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormSuccess);}else{app.ecoForm_processEvent(jqel_form,'formerror',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormError);}},mmiAjaxFail:function(json,status,xhr){app.ecoForm_processEvent(jqel_form,'formerror',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormError);},mmiAjaxAlways:function(json,status,xhr){app.ecoForm_processEvent(jqel_form,'formcomplete',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormComplete);}};if(jqel_fileFields.size()){ajaxOptions.cache=false;ajaxOptions.contentType=false;ajaxOptions.processData=false;var initialFormData=ajaxOptions.data;var data=new FormData();jQuery.each(initialFormData,function(dataKey,dataValue){if(jqel_fileFields.filter('[name="'+dataKey+'"]').size()===0){data.append(dataKey,dataValue);}});jqel_fileFields.each(function(){var jqel_fileField=jQuery(this);var fieldName=jqel_fileField.attr('name');jQuery.each(jqel_fileField[0].files,function(i,file){data.append(fieldName+'[]',file);});});ajaxOptions.data=data;} 3263if(returnPromise){ajaxData=ajaxOptions.data;delete ajaxOptions.data;delete ajaxOptions.mmiAjaxDone;delete ajaxOptions.mmiAjaxFail;delete ajaxOptions.mmiAjaxAlways;const submitPromise=this.ajaxUsingPromise(ajaxData,ajaxOptions).then((json,status,xhr,ajaxOptions)=>{if(jQuery.isPlainObject(json)&&jQuery.isPlainObject(json.server)&&json.server.status===true){app.ecoForm_processEvent(jqel_form,'formsuccess',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormSuccess);}else{app.ecoForm_processEvent(jqel_form,'formerror',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormError);}}).catch(()=>{app.ecoForm_processEvent(jqel_form,'formerror',[{},null,null,ajaxData,formOrganism],app.ecoForm_defaultFormError);}).finally(()=>{app.ecoForm_processEvent(jqel_form,'formcomplete',[{},null,null,ajaxData,formOrganism],app.ecoForm_defaultFormComplete);});this.ecoForm_processEvent(jqel_form,'formstart',[{},'start',submitPromise,ajaxData,formOrganism],app.ecoForm_defaultFormStart);return submitPromise;}else{const jqXhr=this.ajax(ajaxOptions);this.ecoForm_processEvent(jqel_form,'formstart',[{},'start',jqXhr,ajaxData,formOrganism],app.ecoForm_defaultFormStart);}},ecoForm_submitFormWithFiles:function(formOrganism){cwarn('ecoForm_submitFormWithFiles is deprecated. Use ecoForm_submitForm instead.');
3263if(!(formOrganism instanceof Eco.Organism.Form)){permaclog(formOrganism);cwarn('Invalid eco form organism ^^^ supplied to ecoForm_submitFormWithFiles');return false;} 3264this.registerLiveEvents(this._ecoFormLiveEvents);var jqel_form=formOrganism.jqel_form;formOrganism.validate();var errors=formOrganism.getErrors();if(errors.length){return false;} 3265var url=jqel_form.attr('action');if(!url){url='/';} 3266var app=this;var ajaxData=formOrganism.getAllValues();if(jqel_form.data('ecoSubmitFormViaGet')===true){var params=jQuery.param(ajaxData);var regex=new RegExp(/\/(content\/[\w-]*|page\/[\w-]*)(?:\/?)(.*)/);var matches=url.match(regex);if(matches instanceof Array){if(matches[2]!==''){url+='&';}}else{url+='?';} 3267url+=params;window.location.href=url;return false;} 3268var ajaxOptions={queueByXhrId:true,xhrId:'eco-form-submit',data:ajaxData,url:url,success:function(json,status,xhr){if(jQuery.isPlainObject(json)&&jQuery.isPlainObject(json.server)&&json.server.status===true){app.ecoForm_processEvent(jqel_form,'formsuccess',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormSuccess);}else{app.ecoForm_processEvent(jqel_form,'formerror',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormError);}},error:function(json,status,xhr){app.ecoForm_processEvent(jqel_form,'formerror',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormError);},complete:function(json,status,xhr){app.ecoForm_processEvent(jqel_form,'formcomplete',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultFormComplete);}};ajaxOptions['cache']=false;ajaxOptions['contentType']=false;ajaxOptions['processData']=false;ajaxOptions['type']='POST';var oldFormData=ajaxOptions.data;var data=new FormData();jQuery.each(oldFormData,function(dataKey,dataValue){data.append(dataKey,dataValue);});data.append('attitude','json');var jqel_formElement=formOrganism.jqel;var fields=jqel_formElement.find('input:file');fields.each(function(){var fieldName=jQuery(this).attr('name');jQuery.each(jQuery(this)[0].files,function(i,file){data.append(fieldName+'[]',file);});});window.testData=data;ajaxOptions.data=data;var jqXhr=jQuery.ajax(ajaxOptions);this.ecoForm_processEvent(jqel_form,'formstart',[{},'start',jqXhr,ajaxData,formOrganism],app.ecoForm_defaultFormStart);},_ecoForm_saveItemIntermediary:function(formOrganism){if(formOrganism.areDependencyChecksComplete()){this._ecoForm_saveItem(formOrganism);}else{var self=this;setTimeout(function(){self._ecoForm_saveItemIntermediary(formOrganism);},500);}},ecoForm_saveItem:function(formOrganism){clog('ecoForm_saveItem');if(!(formOrganism instanceof Eco.Organism.Form)){permaclog(formOrganism);cwarn('Invalid eco form organism ^^^ supplied to ecoForm_saveItem');return false;} 3269this.registerLiveEvents(this._ecoFormLiveEvents);this._ecoForm_saveItemIntermediary(formOrganism);},_ecoForm_saveItem:function(formOrganism){var jqel_form=formOrganism.jqel_form;formOrganism.validate();var errors=formOrganism.getErrors();if(errors.length){return false;} 3270var formData=jQuery.extend({},formOrganism.getAllValues());var ajaxData={mode:'edit',item:{}};var item_id=this.ecoForm_getItemIdOrHash(formOrganism,false);if(!item_id){permaclog(formOrganism);cwarn('You are trying to save a Genome item form ^^^ but have not supplied an item_hash or item_id. Add an item_id or item_hash field or data attribute to the form.');return false;} 3271ajaxData['id']=item_id;var item_type='';if(isNaN(item_id)){if(formData.item_type){ajaxData.type=item_type;}else if(jqel_form.data('item_type')){ajaxData.type=jqel_form.data('item_type');}else{permaclog(formOrganism);cwarn('You are trying to save a new item form ^^^ without specifying a type. Add an item_type field or item_type data entry to the form.');return false;} 3272if(formOrganism.hasValueByName('item_parent')){ajaxData.parent_id=formData.item_parent;}else if(jqel_form.data().hasOwnProperty('item_parent')){ajaxData.parent_id=jqel_form.data('item_parent');}else{permaclog(formOrganism);cwarn('Saving a new item form ^^^ with no item_parent field and no item_parent data attribute. Was this intentional?');}}else{} 3273if(formData.view){ajaxData.view=formData.view;}else if(jqel_form.data('view')){ajaxData.view=jqel_form.data('view');}else{ajaxData.view='blank';} 3274if(formData){delete formData.item_id;delete formData.view;delete formData.mode;delete formData.item_hash;for(var fieldName in formData){if(!formData.hasOwnProperty(fieldName)){continue;} 3275if(Eco.Util.toCamelCase(fieldName,{})===fieldName){ajaxData[fieldName]=formData[fieldName];delete formData[fieldName];}}} 3276var jqel_fieldListOrganisms=formOrganism.jqel.find("[class*='organism_'][data-field-list]");if(jqel_fieldListOrganisms.size()){var alternateFieldLists={};alternateFieldLists[item_id]={};var fieldListsSet=false;jqel_fieldListOrganisms.each(function(){var jqel_checkField=jQuery(this);var fieldList=jqel_checkField.data('fieldList');
3276if(fieldList&&fieldList!=='fieldList'&&fieldList!=='fieldlist'){var fieldOrganism=jqel_checkField.data('organism');if(fieldOrganism){var organismName=fieldOrganism.getOwnEntityName();if(organismName){var organismValue=fieldOrganism.getValue();delete formData[organismName];delete formData[organismName.toLowerCase()];if(!alternateFieldLists[item_id][fieldList]){alternateFieldLists[item_id][fieldList]={};} 3277alternateFieldLists[item_id][fieldList][organismName]=organismValue;fieldListsSet=true;}}}});if(fieldListsSet){ajaxData.fieldLists=alternateFieldLists;}} 3278const jqel_extraFieldOrganisms=formOrganism.jqel.find("[class*='organism_'][data-extra-field]");if(jqel_extraFieldOrganisms.length){const extraFields={};jqel_extraFieldOrganisms.each(function(){const jqel_field=jQuery(this);const fieldOrganism=jqel_field.data('organism');if(fieldOrganism){const name=fieldOrganism.getOwnEntityName();if(name){const attachedTo=jqel_field.data('extraField');const val=fieldOrganism.getValue();delete formData[name];delete formData[name.toLowerCase()];const unprefixedName=name.replace(`${attachedTo}--`,'');extraFields[attachedTo]={...extraFields[attachedTo],[unprefixedName]:val}}}});if(Object.keys(extraFields).length){formData.extra_fields=extraFields;}} 3279ajaxData.item[item_id]=formData;this.ecoForm_processEvent(jqel_form,'dataprocessor',[ajaxData],function(){});var app=this;var ajaxOptions={queueByXhrId:true,xhrId:'eco-save-item-'+item_id,data:ajaxData,mmiAjaxDone:function(json,status,xhr){if(jQuery.isPlainObject(json)&&jQuery.isPlainObject(json.server)&&json.server.status===true){app.ecoForm_processEvent(jqel_form,'formsuccess',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultSaveItemFormSuccess);}else{app.ecoForm_processEvent(jqel_form,'formerror',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultSaveItemFormError);}},mmiAjaxFail:function(json,status,xhr){app.ecoForm_processEvent(jqel_form,'formerror',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultSaveItemFormError);},mmiAjaxAlways:function(json,status,xhr){app.ecoForm_processEvent(jqel_form,'formcomplete',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultSaveItemFormComplete);}};var jqXhr=this.ajax(ajaxOptions);this.ecoForm_processEvent(jqel_form,'formstart',[{},'start',jqXhr,ajaxData,formOrganism],app.ecoForm_defaultSaveItemFormStart);return true;}
3279,ecoForm_submitFormData:function(formOrganism){if(!(formOrganism instanceof Eco.Organism.Form)){permaclog(formOrganism);cwarn('Invalid eco form organism ^^^ supplied to ecoForm_submitFormData');return false;} 3280this.registerLiveEvents(this._ecoFormLiveEvents);var formData={};if(formOrganism.jqel.ecoData('submitPartialFormData')){formData=jQuery.extend({},formOrganism.getAllChangedValues());var requiredFormDataFields=formOrganism.jqel.ecoData('requiredFormDataFields');if(requiredFormDataFields&&requiredFormDataFields.length){jQuery.each(requiredFormDataFields,function(n,field){if(!formData.hasOwnProperty(field)){formData[field]=formOrganism.getValue(field);}})} 3281if(jQuery.isEmptyObject(formData)){formData={placeholderValueForSave:true};}}else{formData=jQuery.extend({},this.cleanDuplicateVariableDataFromEcoForm(formOrganism,formOrganism.getAllValues()));} 3282var ajaxData={mode:'form',formdata:{}};var jqel_form=formOrganism.jqel_form;var item_id=this.ecoForm_getItemIdOrHash(formOrganism,true);if(!item_id){permaclog(formOrganism.jqel_form);cwarn('You are trying to save a Genome form but have not supplied an item_id. Add an item_id field or data element to the form.');return;} 3283ajaxData.id=item_id;ajaxData.formdata[item_id]=formData;var viewOverride=formOrganism.jqel.ecoData('form_view');if(viewOverride){ajaxData.view=viewOverride;} 3284this.ecoForm_processEvent(jqel_form,'dataprocessor',[ajaxData],function(){});var app=this;var ajaxOptions={queueByXhrId:true,xhrId:'eco-submit-form-data-'+item_id,data:ajaxData,mmiAjaxDone:function(json,status,xhr){if(json.error){app.ecoForm_processEvent(jqel_form,'formerror',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultSubmitFormDataError);}else{app.ecoForm_processEvent(jqel_form,'formsuccess',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultSubmitFormDataSuccess);}},mmiAjaxFail:function(json,status,xhr){app.ecoForm_processEvent(jqel_form,'formerror',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultSubmitFormDataError);},mmiAjaxAlways:function(json,status,xhr){app.ecoForm_processEvent(jqel_form,'formcomplete',[json,status,xhr,ajaxData,formOrganism],app.ecoForm_defaultSubmitFormDataComplete);}};var jqXhr=this.ajax(ajaxOptions);this.ecoForm_processEvent(jqel_form,'formstart',[{},'start',jqXhr,ajaxData,formOrganism],app.ecoForm_defaultSubmitFormDataStart);return false;},cleanDuplicateVariableDataFromEcoForm:function(formOrganism,origFormData){const formData=Basix.extend(Basix.EXTEND_RECURSIVE,{},origFormData);const organisms=formOrganism.getChildOrganisms();const fieldNames=[];const variableNames=[];for(const organism of organisms.values()){if(typeof(organism.getOwnEntityName)==='function'){var name=organism.getOwnEntityName();fieldNames.push(name);var fieldData=organism.jqel.data();if(fieldData.hasOwnProperty('external_name')){variableNames.push(fieldData.external_name);}}} 3285const purgeList=['columns'];for(const v of variableNames.values()){if(fieldNames.indexOf(v)===-1){if(v!=='sort'&&v!=='data'){purgeList.push(v);}}} 3286return this.removeKeysRecursive(formData,purgeList);},removeKeysRecursive:function(obj,ignoreKeys){if(typeof(obj)!=='object'||obj===null){return obj;} 3287const objectValue={};Object.entries(obj).map(([key,value])=>{if(ignoreKeys.indexOf(key)===-1){if(typeof(value)==='object'&&!Array.isArray(value)){objectValue[key]=this.removeKeysRecursive(value,ignoreKeys);}else{objectValue[key]=value;}}});return objectValue;},ecoForm_getItemIdOrHash:function(formOrganism,itemIdOnly){var jqel_form=formOrganism.jqel_form;var formData=formOrganism.getAllValues();if(!formData){formData={};} 3288if(formData.item_id){return formData.item_id;} 3289if(jqel_form.data('item_id')){return jqel_form.data('item_id');} 3290if(!itemIdOnly&&formData.item_hash){return formData.item_hash;} 3291if(!itemIdOnly&&jqel_form.data('item_hash')){return jqel_form.data('item_hash');} 3292if(jqel_form.ecoData('item_id')){return jqel_form.ecoData('item_id');} 3293if(!itemIdOnly&&jqel_form.mmiData('item_hash')){return jqel_form.ecoData('item_hash');} 3294return false;},ecoForm_processEvent:function(jqel_form,eventName,params,defaultHandler){var eventClass='live_'+eventName.toLowerCase();var jqel_triggers=jqel_form.find('.'+eventClass).addBack('.'+eventClass);if(jqel_triggers.size()){var event=jQuery.Event(eventName,{defaultHandler:defaultHandler});jqel_triggers.trigger(event,params);}else{if(!Basix.isFunction(defaultHandler)){permaclog(defaultHandler);cwarn('Invalid default handler ^^^ for event '+eventName+'. Must be a valid callback handler for Eco callbacks.');return;} 3295defaultHandler.apply(jqel_form,params);}},ecoForm_defaultFormStart:function(json,status,xhr,ajaxData,formOrganism){formOrganism.onSubmitStart({arguments:arguments});},ecoForm_defaultFormSuccess:function(json,status,xhr,ajaxData,formOrganism){formOrganism.onSubmitSuccess({arguments:arguments});},ecoForm_defaultFormError:function(json,status,xhr,ajaxData,formOrganism){let app=MMI.App.get();formOrganism.onSubmitError({arguments:arguments});formOrganism.onSubmitError();let message='';if(Basix.getValue(json,'api')===true){app._api_processServerSystemErrors({data:json},json.debug.key,'API Form Submit Request: '+jQuery.param(ajaxData));if(json.errors&&json.errors.length){message=json.errors[0];}}else{message=Basix.getValue(json,'server.error.message');} 3296if(!message){message='We were unable to process your request. Please try again.';} 3297formOrganism.jqel.find('.atom_form-error-message').html(message);setTimeout(function(){formOrganism.scrollToFirstError();},25);},ecoForm_defaultFormComplete:function(json,status,xhr,ajaxData,formOrganism){formOrganism.onSubmitComplete({arguments:arguments});},ecoForm_defaultSaveItemFormStart:function(json,status,xhr,ajaxData,formOrganism){formOrganism.onSubmitStart({arguments:arguments});},ecoForm_defaultSaveItemFormSuccess:function(json,status,xhr,ajaxData,formOrganism){formOrganism.onSubmitSuccess({arguments:arguments});},ecoForm_defaultSaveItemFormError:function(json,status,xhr,ajaxData,formOrganism){formOrganism.onSubmitError({arguments:arguments});var serverOperations=Basix.getValue(json,'server.operations');if(serverOperations){var response=false;jQuery.each(serverOperations,function(key,val){response=val;return false;});} 3298if(response){var fieldErrors=response.fieldErrors;if(fieldErrors){var jqel_form=formOrganism.jqel;jQuery.each(fieldErrors,function(fieldName,fieldErrorList){if(fieldErrorList){var jqel_organism=jqel_form.find('[data-name='+fieldName+']');var fieldOrganism=jqel_organism.ecoData('organism');if(!fieldOrganism){return;} 3299fieldOrganism.showErrors({'messages':fieldErrorList});}});}} 3300var message=Basix.getValue(json,'server.error.message');
3300if(!message){message='There was an error saving your data. Please try again.';} 3301formOrganism.jqel.find('.atom_form-error-message').html(message);setTimeout(function(){formOrganism.scrollToFirstError();},25);},ecoForm_defaultSaveItemFormComplete:function(json,status,xhr,ajaxData,formOrganism){formOrganism.onSubmitComplete({arguments:arguments});},ecoForm_defaultSubmitFormDataStart:function(json,status,xhr,ajaxData,formOrganism){formOrganism.onSubmitStart({arguments:arguments});},ecoForm_defaultSubmitFormDataSuccess:function(json,status,xhr,ajaxData,formOrganism){formOrganism.onSubmitSuccess({arguments:arguments});},ecoForm_defaultSubmitFormDataError:function(json,status,xhr,ajaxData,formOrganism){formOrganism.onSubmitError({arguments:arguments});var message=Basix.getValue(json,'server.error.message');if(!message){message='There was an error saving your data. Please try again.';} 3302formOrganism.jqel.find('.atom_form-error-message').html(message);},ecoForm_defaultSubmitFormDataComplete:function(json,status,xhr,ajaxData,formOrganism){formOrganism.onSubmitComplete({arguments:arguments});},ecoGrid_resizeAllVisible:function(){var jqel_grids=jQuery('.atom_grid:visible');jqel_grids.each(function(){var jqel_grid=jQuery(this);var organism=jqel_grid.ecoData('organism');if(organism&&organism.loadGridData){organism.grid.resizeCanvas();}});return true;}
3302,ecoGrid_reloadAllVisible:function(){var jqel_grids=jQuery('.atom_grid');jqel_grids.each(function(){var organism=jQuery(this).ecoData('organism');if(organism&&organism.loadGridData){organism.loadGridData();}});return true;}}; 3303MMI.Util.namespace('MMI.App.Modules');(function(){var appCode={__coreModuleNames:[],__applicationModuleNames:[],_version:2.0};jQuery.each(MMI.App.Modules,function(moduleName,moduleCode){appCode.__coreModuleNames.push(moduleName);if(moduleCode.hasOwnProperty('__construct')){moduleCode['__'+moduleName+'ConstructHelix']=moduleCode.__construct;delete moduleCode.__construct;} 3304if(moduleCode.hasOwnProperty('__appReady')){moduleCode['__'+moduleName+'AppReadyHelix']=moduleCode.__appReady;delete moduleCode.__appReady;} 3305if(moduleCode.hasOwnProperty('__documentReady')){moduleCode['__'+moduleName+'DocumentReadyHelix']=moduleCode.__documentReady;delete moduleCode.__documentReady;} 3306appCode=jQuery.extend(appCode,moduleCode);});appCode.__construct=function(){this.__CoreConstructHelix();var app=this;jQuery.each(this.__coreModuleNames,function(index,moduleName){if(jQuery.inArray(moduleName.toLowerCase(),['core'])==-1){var pseudoConstructorName='__'+moduleName+'ConstructHelix';if(typeof(app[pseudoConstructorName])=='function'){app[pseudoConstructorName]();}}});this.__ready();};MMI.App.Core=MMI.stdClass.extend(appCode);})(); 3307MMI.Util.namespace('MMI.Core.LiveEventHandlers.Login');MMI.Core.LiveEventHandlers.Login={handleAppInstanceCreated:function(app){app.registerHandlerClass(MMI.Core.LiveEventHandlers.Login);},do_loginResults:function(event,app,jqel,data,json){var status=json.login.status;app._alertLoginStatus(status,data);},do_passwordResetResults:function(event,app,jqel,data,json){app._alertPasswordResetStatus(data,json);},do_openSignInDialog:function(event,app,jqel,data){clog('data.signInOptions',data.signInOptions);app.openSignInDialog(null,null,data.signInOptions);return false;},do_loginFromForm:function(event,app,jqel,data){}};MMI.App.registerInitCallback(MMI.Core.LiveEventHandlers.Login.handleAppInstanceCreated); 3308MMI.Util.namespace('MMI.Core.LiveEventHandlers.Genome');MMI.Core.LiveEventHandlers.Genome={handleAppInstanceCreated:function(app){app.registerHandlerClass(MMI.Core.LiveEventHandlers.Genome);},do_copyValue:function(event,app,jqel,data){app.copyToClipboard(data.valueToCopy);},do_debugNextAjaxRequest:function(event,app,jqel,data){app._debugNextAjaxRequest=true;},do_debugAjaxRequestByXhrId:function(event,app,jqel,data){app.addAjaxXhrIdToDebugList(prompt('XHR ID: '));},do_debugBannerShowErrorsForUiDetails:function(event,app,jqel,data){let jqel_details=jqel.parents('.errorsForUiNotification').find('.errorForUiDetails');let jqel_detailsClone=jqel_details.clone();const wrappedDialogContent=new HelixWrappedDialogContentData({title:'Errors',content:jqel_detailsClone,});let dialog=app.wrappedDialog({modal:true,width:'css',height:'css',classes:['errorsForUiDetailsDialog'],themes:['eco'],minimize:false,maximize:false,title:false});dialog.content(wrappedDialogContent).open();dialog.getContentPromise().then(contentData=>{contentData.content.removeClass('mod_hidden');});},do_addServerRoleNotificationCookie:function(event,app,jqel,data){var cookieOptions={name:'hideServerRoleNotification',value:'hideServerRoleNotification',path:'/'};MMI.Util.writeCookie(cookieOptions);},do_sendPasswordResetEmail:function(event,app,jqel,data){var form=data.organism_form;if(!form||!form.getValue('profile_email')){app.displayErrorNotification('Unable to send a password reset email. Could not find an email address.');return;} 3309var dialogOptions={width:550,height:400,themes:['eco','eco-prompt'],minimize:false,maximize:false,title:'Sending Password Reset Email',modal:true,closeCallbacks:[function(){}]};var defaultContent=Be.Fancy.generateSpinner(true);var jqel_dialogContent=app.dialog(defaultContent,dialogOptions);var email=form.getValue('profile_email');app.ajax({data:{mode:'password_reset',email:email,sendEmail:true},mmiAjaxDone:function(json){if(json&&json.mode&&json.mode.password_reset&&json.mode.password_reset.sendEmail&&json.mode.password_reset.sendEmail.attempted&&json.mode.password_reset.sendEmail.status){jqel_dialogContent.html('<div class="mod_flex-column" style="align-items: center;"><div class="eco eco-check-circle mod_icon-large mod_color-success"></div><div class="atom_spacer-v-10"></div><div class="mod_text-center">Password reset email sent to:<div class="mod_color-aluminum">'+json.mode.password_reset.sendEmail.email+'</div></div></div>');}else{jqel_dialogContent.html('<div class="mod_flex-column" style="align-items: center;"><div class="eco eco-error mod_icon-large mod_color-error"></div><p class="mod_text-center">Unable to send email.</p></div>');}}});}
3309,do_sendVerificationEmail:function(event,app,jqel,data){var form=data.organism_form;if(!form||!form.getValue('profile_email')){app.displayErrorNotification('Unable to send a verification email. Could not find an email address.');return;} 3310var dialogOptions={width:550,height:400,themes:['eco','eco-prompt'],minimize:false,maximize:false,title:'Sending Verification Email',modal:true,closeCallbacks:[function(){}]};var defaultContent=Be.Fancy.generateSpinner(true);var jqel_dialogContent=app.dialog(defaultContent,dialogOptions);var email=form.getValue('profile_email');app.ajax({data:{mode:'verify',email:email,sendEmail:true},mmiAjaxDone:function(json){if(json&&json.mode&&json.mode.verify&&json.mode.verify.sendEmail&&json.mode.verify.sendEmail.attempted&&json.mode.verify.sendEmail.status){jqel_dialogContent.html('<div class="mod_flex-column" style="align-items: center;"><div class="eco eco-check-circle mod_icon-large mod_color-success"></div><div class="atom_spacer-v-30"></div><div class="mod_text-center">Verification email sent to:<div class="mod_color-aluminum">'+json.mode.verify.sendEmail.email+'</div></div></div>');}else{jqel_dialogContent.html('<div class="mod_flex-column" style="align-items: center;"><div class="eco eco-error mod_icon-large mod_color-error"></div><p class="mod_text-center">Unable to send email.</p></div>');}}});},do_cloneItem:function(event,app,jqel,data){var dialogOptions={width:500,height:400,themes:['eco','eco-prompt'],minimize:false,maximize:false,title:'Cloning Item',modal:true,closeCallbacks:[function(){app.ecoGrid_reloadAllVisible();}]};var defaultContent=Be.Fancy.generateSpinner(true);var jqel_dialogContent=app.dialog(defaultContent,dialogOptions);var jqel_dialog=jqel_dialogContent.smartBox('getDialog');if(!Basix.isObject(data.cloneOptions)){app.displayErrorNotification('data.cloneOptions is not an object.','MMI.App.do_cloneItem',{options:data.cloneOptions});} 3311var options=Basix.extend(Basix.EXTEND_RECURSIVE,{},data.cloneOptions);options.jqel=jqel_dialog.smartBox('getDialogContent');options.mmiAjaxDone=function(json,status,xhr,ajaxOptions){if(json.server.status===true){jqel_dialog.smartBox('setTitle','<div class="eco eco-check-o mod_color-success"></div> Clone Success');options.jqel.html('<div style="padding: 20px 40px;">The clone operation is complete.</div>');}else{jqel_dialog.smartBox('setTitle','<div class="eco eco-error mod_color-error"></div> Clone Error');options.jqel.html('<div style="padding: 20px 40px;">'+json.allErrorMessages.join("<br>")+'</div>');}};app.cloneItem(options);},do_adminOpenPartialDialog:function(event,app,jqel,data){app.adminOpenPartialDialog(data.item_id);},do_openStyleHelperDialog:function(event,app,jqel,data){let themeNameString=jQuery('#dialogThemeName').ecoData('organism').val();let themeNames=themeNameString.split(' ');let defaultDialogOptions={classes:[],position:'css',width:'css',height:'css',close:true,minimize:false,maximize:false,restore:false,resizable:false,draggable:false};if(!data.dialogOptions){data.dialogOptions={};} 3312data.dialogOptions.themes=themeNames;data.dialogOptions=Basix.extend({},defaultDialogOptions,data.dialogOptions);app.wrappedDialog(data.dialogOptions).spin().content(data.content).open();},do_assumeAlias:function(event,app,jqel,data){app.assumeAlias(data.targetProfileId);},do_dropAlias:function(event,app,jqel,data){app.dropAlias();},do_boomTestHard:function(event,app,jqel,data){app.forceOverrideAjaxView('boom');app.displaySuccessNotification('Boom test set to hard fail for all server requests.');},do_boomTestSoft:function(event,app,jqel,data){app.forceOverrideAjaxView('boom_soft');app.displaySuccessNotification('Boom test set to soft fail for all server requests.');},do_clearBoomTest:function(event,app,jqel,data){app.forceOverrideAjaxView(null);app.displaySuccessNotification('Boom test cleared.');},do_openItemPreviewDialog:function(event,app,jqel,data){app.openItemPreviewDialog(data.item_id);},do_signOutViaPageLoad:function(event,app,jqel,data){window.location.href='/mode/logout';},do_restoreVersion:function(event,app,jqel,data){const jqel_tooltip=jqel.parents('.be_tooltip');if(jqel_tooltip.hasClass('mod_restoring')){return;} 3313jqel_tooltip.addClass('mod_restoring');const tooltipApi=jqel_tooltip.ecoData('tooltip');var ajaxData={version:data.versionId,view:'ajax_restore_version'};app.ajax({data:ajaxData,mmiAjaxDone:function(json){if(!json||!json.returnData||!json.returnData.versionRestoreStatus){app.displayErrorNotification('We were unable to restore that version.','restoreVersion.aja
3313xDone');tooltipApi?.destroy();return;} 3314if(app.triggerEvent('itemrestoreversionsuccess',[json.id,json.returnData.versionRestoreStatus,json,json.server.operations[json.id]])){app.displaySuccessNotification('This item has been restored.');} 3315tooltipApi?.destroy();}});},do_showAllVersionsInList:function(event,app,jqel,data){var jqel_parent=jqel.parent();var jqel_hidden=jqel_parent.parent().find('.mod_hidden');var jqel_children=jqel_hidden.children();jqel_children.detach();jqel_parent.remove();jqel_hidden.after(jqel_children);},do_siteRoleClicked:function(event,app,jqel,data){jqel.hide();},do_ecoTriggerSubmit:function(event,app,jqel,data){if(jqel.hasClass('mod_disabled')){return false;} 3316var formOrganism=this._getFormOrganism(jqel);formOrganism.jqel_form.trigger('submit');},do_ecoValidateForm:function(event,app,jqel,data){var formOrganism=this._getFormOrganism(jqel);if(formOrganism instanceof Eco.Organism.Form){return app.ecoForm_validateForm(formOrganism);}else{permaclog(jqel);cwarn('The form being submitted does not use eco and is not supported by do_ecoValidateForm. Canceling form submit event.');} 3317return false;},do_throw:function(event,app,jqel,data){throw'Test Error';},do_promise:function(event,app,jqel,data){const args=[].slice.call(arguments,4).join(':');const methods=args.match(/^((?<runType>(series|parallel)):)?\[(?<awaits>[\w\d,:' ]+)\](then\[(?<then>[\w\d,:' ]+)\])?(catch\[(?<catch>[\w\d,:' ]+)\])?(finally\[(?<finally>[\w\d,:' ]+)\])?/).groups;const runType=methods?.runType??'series';new Promise(function(resolve,reject){const awaits=methods.awaits.split(',');if(runType==='series'){const responses=[];function seriesLoop(){const next=awaits.shift();if(next){const[method,...methodArgs]=next.split(':');const rtn=app.manuallyFireEvent(event,method,jqel,data,methodArgs);if(rtn===undefined||rtn===true){responses.push(rtn);seriesLoop();}else if(rtn instanceof Promise){rtn.then((val)=>{responses.push(val);seriesLoop();},reject);}}else{resolve(responses);}} 3318seriesLoop();}else if(runType==='parallel'){const promises=[];awaits.forEach((methodName)=>{const[method,...methodArgs]=methodName.split(':');promises.push(app.manuallyFireEvent(event,method,jqel,data,methodArgs));});Promise.all(promises).then(resolve,reject);}else{throw`you shouldn't be able to get here without editing the regex for the args`;}}).then((responses)=>{if(methods.then){app.manuallyFireEvent(event,methods.then.replaceAll(',',';'),jqel,data,[responses]);}}).catch(function(err){if(methods.catch){app.manuallyFireEvent(event,methods.catch.replaceAll(',',';'),jqel,data,err);}}).finally(function(){if(methods.finally){app.manuallyFireEvent(event,methods.finally.replaceAll(',',';'),jqel,data);}});return false;},do_ecoSubmitForm:function(event,app,jqel,data){var formOrganism=this._getFormOrganism(jqel);if(formOrganism instanceof Eco.Organism.Form){app.ecoForm_submitForm(formOrganism);}else{permaclog(jqel);cwarn('The form being submitted does not use eco and is not supported by do_ecoSubmitForm. Canceling form submit event.');} 3319return false;},do_ecoSubmitFormWithFiles:function(event,app,jqel,data){var formOrganism=this._getFormOrganism(jqel);if(formOrganism instanceof Eco.Organism.Form){app.ecoForm_submitFormWithFiles(formOrganism);}else{permaclog(jqel);cwarn('The form being submitted does not use eco and is not supported by do_ecoSubmitFormWithFiles. Canceling form submit event.');} 3320return false;},do_ecoSubmitFormViaGet:function(event,app,jqel,data){var formOrganism=this._getFormOrganism(jqel);if(formOrganism instanceof Eco.Organism.Form){formOrganism.jqel_form.data('ecoSubmitFormViaGet',true);app.ecoForm_submitForm(formOrganism);}else{permaclog(jqel);cwarn('The form being submitted does not use eco and is not supported by do_ecoSubmitFormViaGet. Canceling form submit event.');} 3321return false;},do_ecoSaveItem:function(event,app,jqel,data){var formOrganism=this._getFormOrganism(jqel);if(formOrganism instanceof Eco.Organism.Form){new Promise(resolve=>{setTimeout(()=>{resolve();},500)}).then(()=>{if(Be.Genome.Item.Layout.Expressions){let watcherPromise=Be.Genome.Item.Layout.Expressions.waitForWatcherQueue();watcherPromise.then(()=>{app.ecoForm_saveItem(formOrganism);});}else{app.ecoForm_saveItem(formOrganism);}});}else{permaclog(jqel);cwarn('The form being submitted does not use eco and is not supported by do_saveItem. Canceling form submit event.');} 3322return false;},do_ecoDeleteItem:function(event,app,jqel,data){let message=data.item_name;if(data.dialogOverrideText){message=data.dialogOverrideText;} 3323const dialog=new HelixWrappedDialog({});dialog.applyOptionsSet(HelixWrappedDialog.OPTIONS_DEFAULTS).addTheme('helix-wrapped-dialog--button-bar-footer');if(data.item_name){dialog.header('Archive this item?');} 3324dialog.content(`<p class="mod_text-center">${message}</p>`).footer('<div class="atom_button live_click mod_inverse" data-live_click_handler="closeWrappedDialog">Cancel</div><div class="atom_button live_click mod_destructive" data-live_click_handler="resolveWrappedDialog">Archive It</div>').open().then(()=>{const dialog=new HelixWrappedDialog({titleBar:false,});dialog.applyOptionsSet(HelixWrappedDialog.OPTIONS_DEFAULTS).addTheme('helix-wrapped-dialog--button-bar-footer').header('Archiving item…').spin().open();const itemsDeleteObject={[data.item_id]:{confirm:1,children:true,},};app.triggerEvent('itemdeletestart',[data.item_id],itemsDeleteObject);return app.deleteItemPromise(data.item_id).then(rsp=>{dialog.content('Archived Successfully!');app.triggerEvent('itemdeletesuccess',[data.item_id,itemsDeleteObject]);}).catch(error=>{app.displayErrorNotification('Unable to archive this item.');app.triggerEvent('itemdeleteerror',[data.item_id,itemsDeleteObject]);}).finally(()=>{dialog.closeImmediately();app.triggerEvent('itemdeletedone',[data.item_id,itemsDeleteObject]);});}).catch((err)=>{console.error(err);});},do_ecoRestoreItem:function(event,app,jqel,data){var message='Are you sure you want to restore this item?';if(data.item_name){message='Are you sure you want to restore '+data.item_name+'?';} 3325if(data.dialogOverrideText){message=data.dialogOverrideText;} 3326app.confirm({message:message,callback:function(result,options){switch(result.id){case'ok':app.restoreItem(data.item_id,true);break;case'cancel':default:break;}}});return true;},do_ecoSubmitFormData:function(event,app,jqel,data){var formOrganism=this._getFormOrganism(jqel);if(formOrganism instanceof Eco.Organism.Form){new Promise(resolve=>{setTimeout(()=>{resolve();},500)}).then(()=>
3326{if(Be.Genome.Item.Layout.Expressions){let watcherPromise=Be.Genome.Item.Layout.Expressions.waitForWatcherQueue();watcherPromise.then(()=>{app.ecoForm_submitFormData(formOrganism);});}else{app.ecoForm_submitFormData(formOrganism);}});}else{permaclog(jqel);cwarn('The form being submitted does not use eco and is not supported by do_ecoSubmitFormData. Canceling form submit event.');} 3327return false;},do_ecoResetFormState:function(event,app,jqel,data){var organismForm=data.organism_form;if(organismForm instanceof Eco.Organism.Form){organismForm.resetFormState();}},do_nothing:function(event,app,jqel,data,json,status,xhr,ajaxData){return true;},do_default:function(event,app,jqel,data,json,status,xhr,ajaxData){var args=Array.prototype.slice.call(arguments);args=args.slice(4);if(Basix.isFunction(event.defaultHandler)){event.defaultHandler.apply(jqel,args);} 3328return true;},do_closeAncestorDialog:function(event,app,jqel,data){cwarn('closeAncestorDialog is depreciated. Use closeDialog instead.');jqel.smartBox('close');return true;},_getFormOrganism:function(jqel){var formOrganism=jqel.parents('.organism_form').addBack('.organism_form').data('organism');if(!(formOrganism instanceof Eco.Organism.Form)){var jqel_dialog=jqel.smartBox('getDialog');if(!jqel_dialog.size()){permaclog(jqel);throw'Unable to locate a dialog to assist in locating a form for this ^^^ element.';} 3329var jqel_form=jqel_dialog.find('.organism_form');if(!jqel_form.size()){permaclog(jqel);throw'Unable to locate a form organism inside of the dialog to use for this ^^^ element.';} 3330formOrganism=jqel_form.data('organism');if(!(formOrganism instanceof Eco.Organism.Form)){permaclog(jqel,jqel_form);throw'The form organism instance was not available from this ^^^ element on behalf of a target element ^^^!^^^.';}} 3331return formOrganism;},do_cancelFormChanges:function(event,app,jqel,data){var formOrganism=this._getFormOrganism(jqel);if(formOrganism instanceof Eco.Organism.Form){if(formOrganism.hasChangedValues()){var message='You have unsaved changes.';Eco.OrganismController.create('Eco.Organism.Notification.Message','<div class="mod_warning">',{options:{container:'default',icon:'eco eco-warning',body:message,actions:[{label:'Discard',formOrganism:formOrganism,handler:function(action){this.hide();action.formOrganism.jqel.smartBox('close');}},{label:'Save',formOrganism:formOrganism,handler:function(action){this.hide();var initialValidationErrorsSetting=formOrganism.areValidationErrorsEnabled();formOrganism.enableValidationErrors();var errors=formOrganism.validate();if(!initialValidationErrorsSetting){formOrganism.disableValidationErrors();} 3332if(errors&&errors.length){}else{action.formOrganism.jqel_form.trigger('submit');action.formOrganism.jqel.smartBox('hide');}}}]}});return false;}}},do_cancelIfDifferentItem:function(event,app,jqel,data,itemId){if(event.type!='itemdeletesuccess'){return true;} 3333if(data.item_id!=itemId){return false;} 3334return true;},do_closeDialog:function(event,app,jqel,data){jqel.smartBox('close');return true;},do_clog:function(event,app,jqel,data){clog(event.type,arguments);},do_clogValue:function(event,app,jqel,data){clog(event.type,data.organism.getValue());},do_debugger:function(event,app,jqel,data){debugger},do_keyFilter:function(jqEvent,app,jqel,data,...arguments){const event=jqEvent.originalEvent;let keys=[' ','Enter'];let meta=[];if(arguments[0].startsWith('[')&&arguments[0].endsWith(']')){const tmpKeys=arguments.shift();keys=JSON.parse(tmpKeys);if(arguments[0].startsWith('[')&&arguments[0].endsWith(']')){const tmpMeta=arguments.shift();meta=JSON.parse(tmpMeta);}} 3335if(!keys.length){throw'No keys provided to the keys handler';} 3336if(keys.includes(event.key)){if(meta.length&&!meta.every(prop=>event[prop])){return true;} 3337arguments.forEach(method=>app.manuallyFireEvent(jqEvent,method,jqel,data));return false;}else{return true;}},do_alert:function(event,app,jqel,data){alert(data.alert||'empty alert');},do_closeAncestorDialogAfterPause:function(event,app,jqel,data){cwarn('closeAncestorDialogAfterPause is depreciated. Use closeDialogAfterPause instead.');setTimeout(function(){jqel.smartBox('close');},data.pauseLength?data.pauseLength:250);return true;},do_closeDialogAfterPause:function(event,app,jqel,data){var pauseLength=data.pauseLength?data.pauseLength:1000;setTimeout(function(){jqel.smartBox('close');},pauseLength);return true;},do_stop:function(event,app,jqel_form,data,json,status,xhr,ajaxData,formOrganism){return false;},do_reloadPage:function(event,app,jqel,data,json,status,xhr,ajaxData){if(app.redirectInsteadOfReload()){return true;} 3338window.location.reload();return false;},do_loadUrl:function(event,app,jqel,data,json,status,xhr,ajaxData){if(!data.url){permaclog(jqel);cwarn('loadUrl method used as callback for '+event.type+' but no data-url attribute defined on or above this element ^^^.');return true;} 3339window.location.href=data.url;return false;},do_loadHomePage:function(event,app,jqel_form,data,json,status,xhr,ajaxData,formOrganism){window.location.href='/';return true;},do_displaySavedItem:function(event,app,jqel,data,json,status,xhr,ajaxData){if(json.pageItemData.item_seo_name){var url='/content/'+json.pageItemData.item_seo_name;if(data.displayParams){var params=[];for(var name in data.displayParams){if(data.displayParams.hasOwnProperty(name)){params.push(name+'='+data.displayParams[name]);}} 3340url+='/'+params.join('&');} 3341window.location.href=url;} 3342return true;},do_replacePageContentCenter:function(event,app,jqel,data,json,status,xhr,ajaxData){var jqel_pageContentCenter=jQuery('.pageContentCenter');if(json.result){jqel_pageContentCenter.html(json.result);}else{if(json.server.system){jqel_pageContentCenter.html('');jQuery.each(json.server.system,function(index,value){jqel_pageContentCenter.append('<div class="atom_notification atom_error">'+value+'</div>');});}else{jqel_pageContentCenter.html('<div class="atom_notification atom_error">We detected an empty response from the server.</div>');}} 3343app.initializeNewContent(jqel_pageContentCenter);return true;},do_reloadGrid:function(event,app,jqel,data,json,status,xhr,ajaxData){if(data.grid_organism instanceof Eco.Organism.Grid){data.grid_organism.loadGridData();}else{permaclog(data,jqel);cwarn('MMI.Core.LiveEventHandlers.Genome.do_reloadGrid() was not able to located the data.grid_organism property on this element ^^^. It will now update ALL grids in the page b
3343y reloading their data.');app.ecoGrid_reloadAllVisible();} 3344return true;},do_resizeVisibleGrids:function(event,app,jqel,data,json,status,xhr,ajaxData){app.ecoGrid_resizeAllVisible();return true;},do_reloadVisibleGrids:function(event,app,jqel,data,json,status,xhr,ajaxData){app.ecoGrid_reloadAllVisible();return true;},do_logValues:function(event,app,jqel,data){console.log(data.organism_form.getAllValues());},do_clearDeletedItemsFromGrid:function(event,app,jqel,data,deleteData){var deletedItems=[];if(typeof(deleteData)==='object'){jQuery.each(deleteData,function(id,info){deletedItems.push(id);});}else if(typeof(deleteData)=='string'||typeof(deleteData)==='number'){deletedItems.push(deleteData);} 3345if(deletedItems&&deletedItems.length){jQuery('.molecule_grid').each(function(){var organism=jQuery(this).data('organism');if(organism){if(organism.removeItemById){organism.removeItemById(deletedItems);}}});} 3346return true;},do_openImporterDialog:function(event,app,jqel,data){app.openDisplayItemDialog(data.item_id);},do_importNextBatch:function(event,app,jqel,data){app.importNextBatch(data.item_id,jqel);},do_displayDateTime:function(event,app,jqel,data){var isoDateTimeString=jqel.attr('datetime');var formatString=data.format;var displayModule=data.module;switch(displayModule){case'luxon':default:var dateTime=window.luxon.DateTime.fromISO(isoDateTimeString);jqel.text(dateTime.toFormat(formatString).replace('AM','am').replace('PM','pm'));break;}},do_initializeEditButton:function(event,app,jqel,data){var permission=data.permission;if(!permission){permission='edit';} 3347app.checkPermissionsById(permission,data.item_id);},do_enableEditButtonByIdAndPermission:function(event,app,jqel,data,permissionData){var permission=data.permission;if(!permission){permission='edit';} 3348if(permissionData['items']){if(permissionData['items'][permission]){if(permissionData['items'][permission][parseInt(data.item_id,10)]){jqel.find('.editGi, .editGiInline').not(jqel.find('.itemContent .editGi, .itemContent .editGiInline')).removeClass('forceHidden');}}}},do_editGi:function(event,app,jqel,data){var dialogOptions=data.dialogOptions;var editOptions=data.editOptions;if(!editOptions){editOptions={};} 3349var defaultEditOptions={id:data.item_id};editOptions=jQuery.extend({editGi:true},defaultEditOptions,editOptions);if(!dialogOptions){dialogOptions={};} 3350var defaultDialogOptions={width:900,modal:true,themes:['eco-admin']};dialogOptions=jQuery.extend({},defaultDialogOptions,dialogOptions);app.adminOpenPartialDialog(editOptions.id,editOptions,{},dialogOptions);},do_openEditDialog:function(event,app,jqel,data){MMI.Core.LiveEventHandlers.Genome.do_editGi(event,app,jqel,data);},do_discussionGi:function(event,app,jqel,data){var dialogOptions=data.dialogOptions;var discussionOptions=data.discussionOptions;if(!discussionOptions){discussionOptions={};} 3351var defaultDiscussionOptions={id:data.item_id,view:'discussion'};discussionOptions=jQuery.extend({},defaultDiscussionOptions,discussionOptions);if(!dialogOptions){dialogOptions={};} 3352var defaultDialogOptions={width:900,height:600,modal:true};dialogOptions=jQuery.extend({},defaultDialogOptions,dialogOptions);var dialog=app.dialog('',dialogOptions);var ajaxOptions={jqel:dialog,data:discussionOptions};app.ajax(ajaxOptions);return dialog;},do_editDialogSaveSuccess:function(event,app,jqel,data,json){var jqel_smartBox=jqel.parents('.smartBox').first();if(jqel_smartBox){jqel_smartBox.smartBox('close');return true;} 3353var jqel_oldContent=jqel.parents('.itemContent').first();var jqel_newContent=jQuery(json.result);jqel_oldContent.after(jqel_newContent);jqel_oldContent.remove();MMI.App.get().triggerEvent('creating',jqel_newContent);return true;},do_reloadElement:function(event,app,jqel,data){app.reloadGi(jqel);},do_itemsDeletedDefaultCallback:function(event,app,jqel,data,json){clog('item delete callback is happening');jqel.parents('.smartBox').first().smartBox('close');jQuery.each(json.deleted_items,function(n,id){clog('deleting',id);jQuery('.itemContent.item-'+id).remove();});},do_testAlert1:async function(event,app,jqel,data){let result=await app.alert('<b>Testing</b><br>This is the message.','The Title Here');console.log('Alert returned: ',result);},do_testConfirm1:async function(event,app,jqel,data){let result=await app.confirm('Are you sure?','Yes or No - Choose Now!').catch(e=>e);console.log('Confirm returned: ',result);}
3353,do_testPrompt1:async function(event,app,jqel,data){app.prompt({promptLabel:'Enter your name:',}).header('Some fancy header').then(r=>{console.log('Prompt returned: ',r);}).catch(e=>{console.warn('User canceled prompt.','Prompt returned: ',e);});},};MMI.App.registerInitCallback(MMI.Core.LiveEventHandlers.Genome.handleAppInstanceCreated); 3354MMI.Util.namespace('MMI.Core.LiveEventHandlers.Issue');MMI.Core.LiveEventHandlers.Issue={handleAppInstanceCreated:function(app){app.registerHandlerClass(MMI.Core.LiveEventHandlers.Issue);},do_issueReportingButtonClicked:function(event,app,jqel,data){var jqel_dialog=jQuery('.issueReportDialogContent');if(jqel_dialog.size()){jqel_dialog.parents('.smartBox').smartBox('close');return;} 3355var defaultIssueCategory='';if(data.defaultIssueCategory){defaultIssueCategory=data.defaultIssueCategory;} 3356app.openIssueReportingDialog(defaultIssueCategory);},do_checkIssueType:function(event,app,jqel,data){var issueTypeField=jQuery('#issue_category');if(issueTypeField.val()==''){jQuery('.additionalInfo').addClass('hidden');}else{jQuery('.additionalInfo').removeClass('hidden');} 3357if(issueTypeField.find(':selected').data('is_a_bug')){jQuery('.issueBugInfo').removeClass('hidden');}else{jQuery('.issueBugInfo').addClass('hidden');} 3358jQuery(window).trigger('resize');},do_submitIssueReport:function(event,app,jqel,data){var jqel_issueForm=jqel.parents('.issueReportDialogContent').first();var ajaxData={mode:'issue',view:'blank',report_issue:true};jQuery.each(['email','name','category','option','description','expected','steps'],function(optionNum,option){ajaxData[option]=jqel_issueForm.find('#issue_'+option).val();});if(!jQuery.trim(ajaxData.description)){app.alert({message:'Please enter a comment/description for this issue.',messageType:'error'});return;};if(!jQuery.trim(ajaxData.email)){app.alert({message:'Please enter a valid email address.',messageType:'error'});return;} 3359if(MMI.Settings.getSetting('issue','store_page_html')){ajaxData['page_html']=document.documentElement.innerHTML;} 3360ajaxData['page_url']=document.location.href;var variables={_version:app._version};var additional=jQuery.trim(MMI.Settings.getSetting('issue','store_variables'));if(additional){var variableList=additional.split(',');jQuery.each(variableList,function(varNum,variableDeclaration){var val=null;try{val=eval(variableDeclaration);}catch(e){} 3361if(val!==null){variables[variableDeclaration]=val;}});} 3362ajaxData['variables']=variables;ajaxData['ajax_stack']=app._ajaxCompletedStack;var ajaxOptions={data:ajaxData};app.ajax(ajaxOptions);app.alert({message:"Thank you for your feedback"});jqel.parents('.smartBox').smartBox('close');}};MMI.App.registerInitCallback(MMI.Core.LiveEventHandlers.Issue.handleAppInstanceCreated); 3363MMI.Util.namespace('MMI.Core.LiveEventHandlers.Search');MMI.Core.LiveEventHandlers.Search={handleAppInstanceCreated:function(app){app.registerHandlerClass(MMI.Core.LiveEventHandlers.Search);},do_tagSearchKeywords:function(event,app,jqel,data){var keywords=data.keywords;jQuery.each(keywords,function(keywordNum,keyword){jqel.find('.itemField').each(function(){var html=jQuery(this).html();var regex=new RegExp('('+keyword+')','gi');html=html.replace(regex,"<span class='searchKeyword'>$1</span>");if(jQuery(this).html()!=html){jQuery(this).html(html);}});});},};MMI.App.registerInitCallback(MMI.Core.LiveEventHandlers.Search.handleAppInstanceCreated); 3364MMI.Util.namespace('MMI.Core.LiveEventHandlers.Eco');MMI.Core.LiveEventHandlers.Eco={handleAppInstanceCreated:function(app){app.registerHandlerClass(MMI.Core.LiveEventHandlers.Eco);},do_makeIntoFieldGroup:function(event,app,jqel,data){jqel.find('.molecule_children').addClass('molecule_fieldGroup');},do_hideNotification:function(event,app,jqel,data){var organism=data.organism;if(organism instanceof Eco.Organism.Notification.Message){organism.hide();}},do_closeWrappedDialog:function(event,app,jqel,data,json){let e=new CustomEvent('dialog.close',{bubbles:true,detail:{}});event.target.dispatchEvent(e);},do_resolveWrappedDialog:function(event,app,jqel,data,json){let e=new CustomEvent('dialog.resolve',{bubbles:true,detail
3364:null,});event.target.dispatchEvent(e);},do_resolveWrappedDialogWithValues:function(event,app,jqel,data,json){if(!(data.organism instanceof Eco.OrganismDataStore)){const $form=document.querySelector(data.valuesTarget);if($form){const formData=jQuery($form).ecoData();if(formData.organism_form instanceof Eco.OrganismDataStore){data.organism=formData.organism;}} 3365if(!(data.organism instanceof Eco.OrganismDataStore)){throw new Error('Invalid Eco.OrganismDataStore instance when attempting to resolve a wrapped dialog with values.');}} 3366let e=new CustomEvent('dialog.resolveWithValues',{bubbles:true,detail:data.organism.getAllValues()});event.target.dispatchEvent(e);},do_setDisabled:function(event,app,jqel,data,disabledish){const disabled=disabledish==='true';const el=jqel[0];el.classList.toggle('mod_disabled',disabled);el.disabled=disabled;const organism=jqel.ecoData('organism');if(organism&&organism.disable){organism.disable(disabled);}},};MMI.App.registerInitCallback(MMI.Core.LiveEventHandlers.Eco.handleAppInstanceCreated); 3367Eco.Util.initializeNamespace('Be.Fancy');Be.Fancy={legacyGenerateSpinner:function(highResolution,flexCenter,classes,options){var html='';if(typeof flexCenter==='undefined'){flexCenter=true;} 3368if(typeof options==='undefined'){options={};} 3369var defaultOptions={includeLoadingClasses:true,altText:'loading',};options=jQuery.extend({},defaultOptions,options);var loadingClasses='';if(options.includeLoadingClasses===true){loadingClasses=' mod_show-on-submit mod_show-on-loading';} 3370if(flexCenter===true){html+='<div class="mod_flex-column mod_grow mod_center-content-h mod_center-content-v molecule_spinner'+loadingClasses+'">';} 3371html+=`<div class="beFancy_spinner beFancy_rotate ${loadingClasses} ${highResolution ? 'hr' : ''} ${classes}"><span class="sr-only">${options.altText}</span></div>`;if(flexCenter===true){html+='</div>';} 3372return jQuery(html);},generateSpinner:function(options){if(arguments.length<1||Basix.isBoolean(options)){return this.legacyGenerateSpinner(arguments[0],arguments[1],arguments[2],arguments[3]);} 3373var defaultOptions={returnAsHtml:false,autoCenter:false,tag:'div',classes:'',wrapperTag:'div',wrapperClasses:'',resolution:'normal',color:'blue',size:null,showOnLoading:false,showOnSubmit:false,rotationDirection:'normal',altText:'loading',};options=Basix.extend({},defaultOptions,options);var jqel_wrapper=this._buildWrapperElement(options);var jqel_spinner=this._buildSpinnerElement(options);var jqel_result=jqel_spinner;if(jqel_wrapper instanceof jQuery){jqel_wrapper.append(jqel_spinner);jqel_result=jqel_wrapper;} 3374if(options.returnAsHtml){var jqel_container=jQuery('<div>');jqel_container.append(jqel_result);return jqel_container.html();} 3375return jqel_result;},_buildWrapperElement:function(options){if(options.autoCenter!==true){return null;} 3376var jqel=jQuery('<'+options.wrapperTag+'></'+options.wrapperTag+'>');jqel.addClass('molecule_spinner mod_flex-column mod_grow mod_center-content-h mod_center-content-v '+options.wrapperClasses);if(options.showOnLoading===true){jqel.addClass('mod_show-on-loading');} 3377if(options.showOnSubmit===true){jqel.addClass('mod_show-on-submit');} 3378return jqel;},_buildSpinnerElement:function(options){let jqel=jQuery('<'+options.tag+'></'+options.tag+'>');jqel.addClass('beFancy_spinner '+options.classes);switch(options.rotationDirection){case'reverse':jqel.addClass('beFancy_rotateCounterClockwise');break;case'normal':default:jqel.addClass('beFancy_rotate');} 3379switch(options.resolution){case'high':jqel.addClass('hr');if(options.size===null){options.size=120;} 3380break;case'custom':break;case'normal':default:if(options.size===null){options.size=60;}} 3381switch(options.color){case'white':jqel.addClass('mod_color-white');break;case'blue':default:break;} 3382if(options.autoCenter===false){if(options.showOnLoading===true){jqel.addClass('mod_show-on-loading');} 3383if(options.showOnSubmit===true){jqel.addClass('mod_show-on-submit');}} 3384if(options.size){jqel.width(options.size).height(options.size);} 3385if(options.altText){jqel.append(`<span class="sr-only">${options.altText}</span>`);} 3386return jqel;},toggleIconWithSpinner:function(jqelFontIcon,options){var defaultOptions={color:'blue'};options=Basix.extend({},defaultOptions,options);switch(options.color){case'white':case'blue':break;default:options.color='blue';break;} 3387if(jqelFontIcon.hasClass('beFancy_spinnerIcon')){jqelFontIcon.removeClass('beFancy_spinnerIcon beFancy_rotate mod_color-'+options.color);}else{jqelFontIcon.addClass('beFancy_spinnerIcon beFancy_rotate mod_color-'+options.color);}},generateSpinnerButton:function(){return jQuery('<div class="atom_button mod_spinner"><div class="beFancy_spinner beFancy_rotate mod_center"></div></div>');},toggleSpinnerOnButton:function(jqelButton,options){var defaultOptions={color:'blue'};options=Basix.extend({},defaultOptions,options);switch(options.color){case'white':case'blue':break;default:options.color='blue';break;} 3388if(!jqelButton.data('buttonLabel')){jqelButton.data('buttonLabel',jqelButton.html());var paddingTop=parseInt(jqelButton.css('padding-top'),10);var paddingBottom=parseInt(jqelButton.css('padding-bottom'),10);var buttonHeight=jqelButton.outerHeight(false);
3388jqelButton.data('buttonLabelSize',buttonHeight-(paddingTop+paddingBottom));} 3389if(jqelButton.data('spinnerActive')===true){jqelButton.data('spinnerActive',false);jqelButton.html(jqelButton.data('buttonLabel'));}else{jqelButton.data('spinnerActive',true);jqelButton.css({display:'flex','justify-content':'center'});var buttonLabelSize=jqelButton.data('buttonLabelSize');buttonLabelSize-=2;jqelButton.html('<div class="beFancy_spinner beFancy_rotate mod_center mod_color-'+options.color+'" style="width: '+buttonLabelSize+'px; height: '+buttonLabelSize+'px;"></div>');}}}; 3390Eco.Util.initializeNamespace('Eco.Organism.Be.Fancy.Collapsible');Eco.Organism.Be.Fancy.Collapsible=Eco.Organism.extend({_state:'collapsed',_jqelControl:null,_jqelTarget:null,_closing:false,STATE_EXPANDED:'expanded',STATE_COLLAPSED:'collapsed',__construct:function(jqel_organism){this._parent(jqel_organism);this._jqelControl=this._getControlElement();this._jqelTarget=this._getTargetElement();if(this._jqelControl.size()){var self=this;this._jqelControl.on('click',function(event){return!self._closing&&self.onTargetClick(event);});this._jqelTarget.on('focusin',function(){if(self._closing){clearTimeout(self._closing);self._closing=false;} 3391if(self._state!==self.STATE_EXPANDED){self.expand();}});this._jqelTarget.on('focusout',function(){if(self._state!==self.STATE_COLLAPSED){self._closing=setTimeout(function(){self.collapse();},100);}});} 3392jqel_organism.addClass('molecule_beFancyCollapsible');this._initializeState();},_initializeState:function(){var initialState=this.jqel.data('beFancyCollapsibleState');if(initialState===this.STATE_EXPANDED){this._state=this.STATE_EXPANDED;this.jqel.alterClass('mod_beFancyCollapsible_collapse','mod_beFancyCollapsible_expand');}else{this._state=this.STATE_COLLAPSED;this.jqel.alterClass('mod_beFancyCollapsible_expand','mod_beFancyCollapsible_collapse');}},_getControlElement:function(){var jqel_control=this.jqel.find('.atom_beFancyCollapsible-control');if(!jqel_control.size()){this._warn('Unable to locate a collapsible toggle control element for this ^^^ collapsible organism.\nFor default behavior, at least one element inside your organism must have the class: atom_beFancyCollapsible-control\nYou may also control the toggle behavior from an external system.');} 3393return jqel_control;},_getTargetElement:function(){var jqel_control=this.jqel.find('.atom_beFancyCollapsible-target');if(!jqel_control.size()){this._error('Unable to locate a collapsible toggle target element for this ^^^ collapsible organism.\nAt least one element inside your organism must have the class: atom_beFancyCollapsible-target');} 3394return jqel_control;},onTargetClick:function(event){this.toggle(event);},toggle:function(event){switch(this._state){case this.STATE_COLLAPSED:this.expand(event);break;case this.STATE_EXPANDED:this.collapse(event);break;default:}},syncStateFromDom:function(){if(this.jqel.get(0).classList.contains('mod_beFancyCollapsible_expand')){this._state=this.STATE_EXPANDED;}else{this._state=this.STATE_COLLAPSED;}},isExpanded:function(){return this._state===this.STATE_EXPANDED;},isCollapsed:function(){return this._state===this.STATE_COLLAPSED;},expand:function(event){this._state=this.STATE_EXPANDED;var renderBuffer=50;var self=this;this._jqelTarget.height('auto');const expandEvent=new CustomEvent('expand',{detail:{percent:0,originalEvent:event}});self.jqel.get(0).dispatchEvent(expandEvent);setTimeout(function(){self.jqel.alterClass('mod_beFancyCollapsible_collapse','mod_beFancyCollapsible_expand');const expandEvent=new CustomEvent('expand',{detail:{percent:100,originalEvent:event}});self.jqel.get(0).dispatchEvent(expandEvent);},renderBuffer);},collapse:function(event){this._state=this.STATE_COLLAPSED;var renderBuffer=50;var beFancyCollapsibleTransitionTime=200-renderBuffer;var self=this;setTimeout(function(){self.jqel.addClass('mod_beFancyCollapsible_collapse');self._closing=false;},beFancyCollapsibleTransitionTime);this._jqelTarget.height(this._jqelTarget.height());const collapseEvent=new CustomEvent('collapse',{detail:{percent:0,originalEvent:event}});self.jqel.get(0).dispatchEvent(collapseEvent);setTimeout(function(){self.jqel.alterClass('mod_beFancyCollapsible_expand','mod_beFancyCollapsible_collapse');
vendor: 3,982 bytes, lines 3394-3405
3394const collapseEvent=new CustomEvent('collapse',{detail:{percent:100,originalEvent:event}});self.jqel.get(0).dispatchEvent(collapseEvent);},renderBuffer);}}); 3395(function(factory){if(typeof define==="function"&&define.amd){define(["jquery","./core","./mouse","./widget"],factory);}else{factory(jQuery);}}(function($){return $.widget("ui.sortable",$.ui.mouse,{version:"@VERSION",widgetEventPrefix:"sort",ready:false,options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1000,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(x,reference,size){return(x>=reference)&&(x<(reference+size));},_isFloating:function(item){return(/left|right/).test(item.css("float"))||(/inline|table-cell/).test(item.css("display"));},_create:function(){this.containerCache={};this._addClass("ui-sortable");this.refresh();this.offset=this.element.offset();this._mouseInit();this._setHandleClassName();this.ready=true;},_setOption:function(key,value){this._super(key,value);if(key==="handle"){this._setHandleClassName();}},_setHandleClassName:function(){var that=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle");$.each(this.items,function(){that._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle");});},_destroy:function(){this._mouseDestroy();for(var i=this.items.length-1;i>=0;i--){this.items[i].item.removeData(this.widgetName+"-item");} 3396return this;},_mouseCapture:function(event,overrideHandle){var currentItem=null,validHandle=false,that=this;if(this.reverting){return false;} 3397if(this.options.disabled||this.options.type==="static"){return false;} 3398this._refreshItems(event);$(event.target).parents().each(function(){if($.data(this,that.widgetName+"-item")===that){currentItem=$(this);return false;}});if($.data(event.target,that.widgetName+"-item")===that){currentItem=$(event.target);} 3399if(!currentItem){return false;} 3400if(this.options.handle&&!overrideHandle){$(this.options.handle,currentItem).find("*").addBack().each(function(){if(this===event.target){validHandle=true;}});if(!validHandle){return false;}} 3401this.currentItem=currentItem;this._removeCurrentsFromItems();return true;},_mouseStart:function(event,overrideHandle,noActivation){var i,body,o=this.options;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(event);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");this.originalPosition=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;(o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt));this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!==this.currentItem[0]){this.currentItem.hide();} 3402this._createPlaceholder();if(o.containment){this._setContainment();} 3403if(o.cursor&&o.cursor!=="auto"){body=this.document.find("body");this.storedCursor=body.css("cursor");body.css("cursor",o.cursor);this.storedStylesheet=$("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(body);} 3404if(o.opacity){if(this.helper.css("opacity")){this._storedOpacity=this.helper.css("opacity");} 3405this.helper.css("opacity",o.opacity);}
vendor: 11,279 bytes, lines 3406-3445
3406if(o.zIndex){if(this.helper.css("zIndex")){this._storedZIndex=this.helper.css("zIndex");} 3407this.helper.css("zIndex",o.zIndex);} 3408if(this.scrollParent[0]!==this.document[0]&&this.scrollParent[0].tagName!=="HTML"){this.overflowOffset=this.scrollParent.offset();} 3409this._trigger("start",event,this._uiHash());if(!this._preserveHelperProportions){this._cacheHelperProportions();} 3410if(!noActivation){for(i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("activate",event,this._uiHash(this));}} 3411if($.ui.ddmanager){$.ui.ddmanager.current=this;} 3412if($.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event);} 3413this.dragging=true;this._addClass(this.helper,"ui-sortable-helper");this._mouseDrag(event);return true;},_mouseDrag:function(event){var i,item,itemElement,intersection,o=this.options,scrolled=false;this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs;} 3414if(this.options.scroll){if(this.scrollParent[0]!==this.document[0]&&this.scrollParent[0].tagName!=="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity){this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop+o.scrollSpeed;}else if(event.pageY-this.overflowOffset.top<o.scrollSensitivity){this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop-o.scrollSpeed;} 3415if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity){this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft+o.scrollSpeed;}else if(event.pageX-this.overflowOffset.left<o.scrollSensitivity){this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft-o.scrollSpeed;}}else{if(event.pageY-this.document.scrollTop()<o.scrollSensitivity){scrolled=this.document.scrollTop(this.document.scrollTop()-o.scrollSpeed);}else if(this.window.height()-(event.pageY-this.document.scrollTop())<o.scrollSensitivity){scrolled=this.document.scrollTop(this.document.scrollTop()+o.scrollSpeed);} 3416if(event.pageX-this.document.scrollLeft()<o.scrollSensitivity){scrolled=this.document.scrollLeft(this.document.scrollLeft()-o.scrollSpeed);}else if(this.window.width()-(event.pageX-this.document.scrollLeft())<o.scrollSensitivity){scrolled=this.document.scrollLeft(this.document.scrollLeft()+o.scrollSpeed);}} 3417if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event);}} 3418this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!=="y"){this.helper[0].style.left=this.position.left+"px";} 3419if(!this.options.axis||this.options.axis!=="x"){this.helper[0].style.top=this.position.top+"px";} 3420for(i=this.items.length-1;i>=0;i--){item=this.items[i];itemElement=item.item[0];intersection=this._intersectsWithPointer(item);if(!intersection){continue;} 3421if(item.instance!==this.currentContainer){continue;} 3422if(itemElement!==this.currentItem[0]&&this.placeholder[intersection===1?"next":"prev"]()[0]!==itemElement&&!$.contains(this.placeholder[0],itemElement)&&(this.options.type==="semi-dynamic"?!$.contains(this.element[0],itemElement):true)){this.direction=intersection===1?"down":"up";if(this.options.tolerance==="pointer"||this._intersectsWithSides(item)){this._rearrange(event,item);}else{break;} 3423this._trigger("change",event,this._uiHash());break;}} 3424this._contactContainers(event);if($.ui.ddmanager){$.ui.ddmanager.drag(this,event);} 3425this._trigger("sort",event,this._uiHash());this.lastPositionAbs=this.positionAbs;return false;},_mouseStop:function(event,noPropagation){if(!event){return;} 3426if($.ui.ddmanager&&!this.options.dropBehaviour){$.ui.ddmanager.drop(this,event);} 3427if(this.options.revert){var that=this,cur=this.placeholder.offset(),axis=this.options.axis,animation={};if(!axis||axis==="x"){animation.left=cur.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft);} 3428if(!axis||axis==="y"){animation.top=cur.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop);} 3429this.reverting=true;$(this.helper).animate(animation,parseInt(this.options.revert,10)||500,function(){that._clear(event);});}else{this._clear(event,noPropagation);} 3430return false;},cancel:function(){if(this.dragging){this._mouseUp({target:null});if(this.options.helper==="original"){this.currentItem.css(this._storedCSS);this._removeClass(this.currentItem,"ui-sortable-helper");}else{this.currentItem.show();} 3431for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("deactivate",null,this._uiHash(this));if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",null,this._uiHash(this));this.containers[i].containerCache.over=0;}}} 3432if(this.placeholder){if(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0]);} 3433if(this.options.helper!=="original"&&this.helper&&this.helper[0].parentNode){this.helper.remove();} 3434$.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){$(this.domPosition.prev).after(this.currentItem);}else{$(this.domPosition.parent).prepend(this.currentItem);}} 3435return this;},serialize:function(o){var items=this._getItemsAsjQuery(o&&o.connected),str=[];o=o||{};$(items).each(function(){var res=($(o.item||this).attr(o.attribute||"id")||"").match(o.expression||(/(.+)[\-=_](.+)/));if(res){str.push((o.key||res[1]+"[]")+"="+(o.key&&o.expression?res[1]:res[2]));}});if(!str.length&&o.key){str.push(o.key+"=");} 3436return str.join("&");},toArray:function(o){var items=this._getItemsAsjQuery(o&&o.connected),ret=[];o=o||{};items.each(function(){ret.push($(o.item||this).attr(o.attribute||"id")||"");});return ret;},_intersectsWith:function(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height,l=item.left,r=l+item.width,t=item.top,b=t+item.height,dyClick=this.offset.click.top,dxClick=this.offset.click.left,isOverElementHeight=(this.options.axis==="x")||((y1+dyClick)>t&&(y1+dyClick)<b),isOverElementWidth=(this.options.axis==="y")||((x1+dxClick)>l&&(x1+dxClick)<r),isOverElement=isOverElementHeight&&isOverElementWidth;if(this.options.tolerance==="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!=="pointer"&&this.helperProportions[this.floating?"width":"height"]>item[this.floating?"width":"height"])){return isOverElement;}else{return(l<x1+(this.helperProportions.width / 2)&&x2-(this.helperProportions.width / 2)<r&&t<y1+(this.helperProportions.height / 2)&&y2-(this.helperProportions.height / 2)<b);}},_intersectsWithPointer:function(item){var isOverElementHeight=(this.options.axis==="x")||this._isOverAxis(this.positionAbs.top+this.offset.click.top,item.top,item.height),isOverElementWidth=(this.options.axis==="y")||this._isOverAxis(this.positionAbs.left+this.offset.click.left,item.left,item.width),isOverElement=isOverElementHeight&&isOverElementWidth,verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(!isOverElement){return false;} 3437return this.floating?(((horizontalDirection&&horizontalDirection==="right")||verticalDirection==="down")?2:1):(verticalDirection&&(verticalDirection==="down"?2:1));},_intersectsWithSides:function(item){var isOverBottomHalf=this._isOverAxis(this.positionAbs.top+this.offset.click.top,item.top+(item.height/2),item.height),isOverRightHalf=this._isOverAxis(this.positionAbs.left+this.offset.click.left,item.left+(item.width/2),item.width),verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(this.floating&&horizontalDirection){return((horizontalDirection==="right"&&isOverRightHalf)||(horizontalDirection==="left"&&!isOverRightHalf));}else{return verticalDirection&&((verticalDirection==="down"&&isOverBottomHalf)||(verticalDirection==="up"&&!isOverBottomHalf));}},_getDragVerticalDirection:function(){var delta=this.positionAbs.top-this.lastPositionAbs.top;return delta!==0&&(delta>0?"down":"up");},_getDragHorizontalDirection:function(){var delta=this.positionAbs.left-this.lastPositionAbs.left;return delta!==0&&(delta>0?"right":"left");},refresh:function(event){this._refreshItems(event);this._setHandleClassName();this.refreshPositions();return this;},_connectWith:function(){var options=this.options;return options.connectWith.constructor===String?[options.connectWith]:options.connectWith;},_getItemsAsjQuery:function(connected){var i,j,cur,inst,items=[],queries=[],connectWith=this._connectWith();if(connectWith&&connected){for(i=connectWith.length-1;i>=0;i--){cur=$(connectWith[i],this.document[0]);for(j=cur.length-1;j>=0;j--){inst=$.data(cur[j],this.widgetFullName);if(inst&&inst!==this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element):$(inst.options.items,inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),inst]);}}}} 3438queries.push([$.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);function addItems(){items.push(this);} 3439for(i=queries.length-1;i>=0;i--){queries[i][0].each(addItems);} 3440return $(items);},_removeCurrentsFromItems:function(){var list=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=$.grep(this.items,function(item){for(var j=0;j<list.length;j++){if(list[j]===item.item[0]){return false;}} 3441return true;});},_refreshItems:function(event){this.items=[];this.containers=[this];var i,j,cur,inst,targetData,_queries,item,queriesLength,items=this.items,queries=[[$.isFunction(this.options.items)?this.options.items.call(this.element[0],event,{item:this.currentItem}):$(this.options.items,this.element),this]],connectWith=this._connectWith();if(connectWith&&this.ready){for(i=connectWith.length-1;i>=0;i--){cur=$(connectWith[i],this.document[0]);for(j=cur.length-1;j>=0;j--){inst=$.data(cur[j],this.widgetFullName);if(inst&&inst!==this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element[0],event,{item:this.currentItem}):$(inst.options.items,inst.element),inst]);this.containers.push(inst);}}}} 3442for(i=queries.length-1;i>=0;i--){targetData=queries[i][1];_queries=queries[i][0];for(j=0,queriesLength=_queries.length;j<queriesLength;j++){item=$(_queries[j]);item.data(this.widgetName+"-item",targetData);items.push({item:item,instance:targetData,width:0,height:0,left:0,top:0});}}},refreshPositions:function(fast){this.floating=this.items.length?this.options.axis==="x"||this._isFloating(this.items[0].item):false;if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset();} 3443var i,item,t,p;for(i=this.items.length-1;i>=0;i--){item=this.items[i];if(item.instance!==this.currentContainer&&this.currentContainer&&item.item[0]!==this.currentItem[0]){continue;} 3444t=this.options.toleranceElement?$(this.options.toleranceElement,item.item):item.item;if(!fast){item.width=t.outerWidth();item.height=t.outerHeight();} 3445p=t.offset();item.left=p.left;item.top=p.top;}
vendor: 1,324 bytes, lines 3446-3449
3446if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this);}else{for(i=this.containers.length-1;i>=0;i--){p=this.containers[i].element.offset();this.containers[i].containerCache.left=p.left;this.containers[i].containerCache.top=p.top;this.containers[i].containerCache.width=this.containers[i].element.outerWidth();this.containers[i].containerCache.height=this.containers[i].element.outerHeight();}} 3447return this;},_createPlaceholder:function(that){that=that||this;var className,o=that.options;if(!o.placeholder||o.placeholder.constructor===String){className=o.placeholder;o.placeholder={element:function(){var nodeName=that.currentItem[0].nodeName.toLowerCase(),element=$("<"+nodeName+">",that.document[0]);that._addClass(element,"ui-sortable-placeholder",className||that.currentItem[0].className)._removeClass(element,"ui-sortable-helper");if(nodeName==="tbody"){that._createTrPlaceholder(that.currentItem.find("tr").eq(0),$("<tr>",that.document[0]).appendTo(element));}else if(nodeName==="tr"){that._createTrPlaceholder(that.currentItem,element);}else if(nodeName==="img"){element.attr("src",that.currentItem.attr("src"));} 3448if(!className){element.css("visibility","hidden");} 3449return element;},update:function(container,p){if(className&&!o.forcePlaceholderSize){return;}
vendor: 8,964 bytes, lines 3450-3488
3450if(!p.height()){p.height(that.currentItem.innerHeight()-parseInt(that.currentItem.css("paddingTop")||0,10)-parseInt(that.currentItem.css("paddingBottom")||0,10));} 3451if(!p.width()){p.width(that.currentItem.innerWidth()-parseInt(that.currentItem.css("paddingLeft")||0,10)-parseInt(that.currentItem.css("paddingRight")||0,10));}}};} 3452that.placeholder=$(o.placeholder.element.call(that.element,that.currentItem));that.currentItem.after(that.placeholder);o.placeholder.update(that,that.placeholder);},_createTrPlaceholder:function(sourceTr,targetTr){var that=this;sourceTr.children().each(function(){$("<td> </td>",that.document[0]).attr("colspan",$(this).attr("colspan")||1).appendTo(targetTr);});},_contactContainers:function(event){var i,j,dist,itemWithLeastDistance,posProperty,sizeProperty,cur,nearBottom,floating,axis,innermostContainer=null,innermostIndex=null;for(i=this.containers.length-1;i>=0;i--){if($.contains(this.currentItem[0],this.containers[i].element[0])){continue;} 3453if(this._intersectsWith(this.containers[i].containerCache)){if(innermostContainer&&$.contains(this.containers[i].element[0],innermostContainer.element[0])){continue;} 3454innermostContainer=this.containers[i];innermostIndex=i;}else{if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",event,this._uiHash(this));this.containers[i].containerCache.over=0;}}} 3455if(!innermostContainer){return;} 3456if(this.containers.length===1){if(!this.containers[innermostIndex].containerCache.over){this.containers[innermostIndex]._trigger("over",event,this._uiHash(this));this.containers[innermostIndex].containerCache.over=1;}}else{dist=10000;itemWithLeastDistance=null;floating=innermostContainer.floating||this._isFloating(this.currentItem);posProperty=floating?"left":"top";sizeProperty=floating?"width":"height";axis=floating?"clientX":"clientY";for(j=this.items.length-1;j>=0;j--){if(!$.contains(this.containers[innermostIndex].element[0],this.items[j].item[0])){continue;} 3457if(this.items[j].item[0]===this.currentItem[0]){continue;} 3458cur=this.items[j].item.offset()[posProperty];nearBottom=false;if(event[axis]-cur>this.items[j][sizeProperty]/ 2){nearBottom=true;} 3459if(Math.abs(event[axis]-cur)<dist){dist=Math.abs(event[axis]-cur);itemWithLeastDistance=this.items[j];this.direction=nearBottom?"up":"down";}} 3460if(!itemWithLeastDistance&&!this.options.dropOnEmpty){return;} 3461if(this.currentContainer===this.containers[innermostIndex]){if(!this.currentContainer.containerCache.over){this.containers[innermostIndex]._trigger("over",event,this._uiHash());this.currentContainer.containerCache.over=1;} 3462return;} 3463itemWithLeastDistance?this._rearrange(event,itemWithLeastDistance,null,true):this._rearrange(event,null,this.containers[innermostIndex].element,true);this._trigger("change",event,this._uiHash());this.containers[innermostIndex]._trigger("change",event,this._uiHash(this));this.currentContainer=this.containers[innermostIndex];this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[innermostIndex]._trigger("over",event,this._uiHash(this));this.containers[innermostIndex].containerCache.over=1;}},_createHelper:function(event){var o=this.options,helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event,this.currentItem])):(o.helper==="clone"?this.currentItem.clone():this.currentItem);if(!helper.parents("body").length){$(o.appendTo!=="parent"?o.appendTo:this.currentItem[0].parentNode)[0].appendChild(helper[0]);} 3464if(helper[0]===this.currentItem[0]){this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};} 3465if(!helper[0].style.width||o.forceHelperSize){helper.width(this.currentItem.width());} 3466if(!helper[0].style.height||o.forceHelperSize){helper.height(this.currentItem.height());} 3467return helper;},_adjustOffsetFromHelper:function(obj){if(typeof obj==="string"){obj=obj.split(" ");} 3468if($.isArray(obj)){obj={left:+obj[0],top:+obj[1]||0};} 3469if("left"in obj){this.offset.click.left=obj.left+this.margins.left;} 3470if("right"in obj){this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;} 3471if("top"in obj){this.offset.click.top=obj.top+this.margins.top;} 3472if("bottom"in obj){this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top;}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.cssPosition==="absolute"&&this.scrollParent[0]!==this.document[0]&&$.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop();} 3473if(this.offsetParent[0]===this.document[0].body||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()==="html"&&$.ui.ie)){po={top:0,left:0};} 3474return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition==="relative"){var p=this.currentItem.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()};}else{return{top:0,left:0};}},_cacheMargins:function(){this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)};},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};},_setContainment:function(){var ce,co,over,o=this.options;if(o.containment==="parent"){o.containment=this.helper[0].parentNode;} 3475if(o.containment==="document"||o.containment==="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,o.containment==="document"?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,(o.containment==="document"?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];} 3476if(!(/^(document|window|parent)$/).test(o.containment)){ce=$(o.containment)[0];co=$(o.containment).offset();over=($(ce).css("overflow")!=="hidden");this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top];}},_convertPositionTo:function(d,pos){if(!pos){pos=this.position;} 3477var mod=d==="absolute"?1:-1,scroll=this.cssPosition==="absolute"&&!(this.scrollParent[0]!==this.document[0]&&$.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);return{top:(pos.top+ 3478this.offset.relative.top*mod+ 3479this.offset.parent.top*mod- 3480((this.cssPosition==="fixed"?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod)),left:(pos.left+ 3481this.offset.relative.left*mod+ 3482this.offset.parent.left*mod- 3483((this.cssPosition==="fixed"?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod))};},_generatePosition:function(event){var top,left,o=this.options,pageX=event.pageX,pageY=event.pageY,scroll=this.cssPosition==="absolute"&&!(this.scrollParent[0]!==this.document[0]&&$.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);if(this.cssPosition==="relative"&&!(this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0])){this.offset.relative=this._getRelativeOffset();} 3484if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0]){pageX=this.containment[0]+this.offset.click.left;} 3485if(event.pageY-this.offset.click.top<this.containment[1]){pageY=this.containment[1]+this.offset.click.top;} 3486if(event.pageX-this.offset.click.left>this.containment[2]){pageX=this.containment[2]+this.offset.click.left;} 3487if(event.pageY-this.offset.click.top>this.containment[3]){pageY=this.containment[3]+this.offset.click.top;}} 3488if(o.grid){top=this.originalPageY+Math.round((pageY-this.originalPageY)/ o.grid[1])*o.grid[1];pageY=this.containment?((top-this.offset.click.top>=this.containment[1]&&top-this.offset.click.top<=this.containment[3])?top:((top-this.offset.click.top>=this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;
3488left=this.originalPageX+Math.round((pageX-this.originalPageX)/ o.grid[0])*o.grid[0];pageX=this.containment?((left-this.offset.click.left>=this.containment[0]&&left-this.offset.click.left<=this.containment[2])?left:((left-this.offset.click.left>=this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}} 3489return{top:(pageY- 3490this.offset.click.top- 3491this.offset.relative.top- 3492this.offset.parent.top+ 3493((this.cssPosition==="fixed"?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop())))),left:(pageX- 3494this.offset.click.left- 3495this.offset.relative.left- 3496this.offset.parent.left+ 3497((this.cssPosition==="fixed"?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())))};},_rearrange:function(event,i,a,hardRefresh){a?a[0].appendChild(this.placeholder[0]):i.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction==="down"?i.item[0]:i.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var counter=this.counter;this._delay(function(){if(counter===this.counter){this.refreshPositions(!hardRefresh);}});},_clear:function(event,noPropagation){this.reverting=false;var i,delayedTriggers=[];if(!this._noFinalSort&&this.currentItem.parent().length){this.placeholder.before(this.currentItem);} 3498this._noFinalSort=null;if(this.helper[0]===this.currentItem[0]){for(i in this._storedCSS){if(this._storedCSS[i]==="auto"||this._storedCSS[i]==="static"){this._storedCSS[i]="";}} 3499this.currentItem.css(this._storedCSS);this._removeClass(this.currentItem,"ui-sortable-helper");}else{this.currentItem.show();} 3500if(this.fromOutside&&!noPropagation){delayedTriggers.push(function(event){this._trigger("receive",event,this._uiHash(this.fromOutside));});} 3501if((this.fromOutside||this.domPosition.prev!==this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!==this.currentItem.parent()[0])&&!noPropagation){delayedTriggers.push(function(event){this._trigger("update",event,this._uiHash());});} 3502if(this!==this.currentContainer){if(!noPropagation){delayedTriggers.push(function(event){this._trigger("remove",event,this._uiHash());});delayedTriggers.push((function(c){return function(event){c._trigger("receive",event,this._uiHash(this));};}).call(this,this.currentContainer));delayedTriggers.push((function(c){return function(event){c._trigger("update",event,this._uiHash(this));};}).call(this,this.currentContainer));}} 3503function delayEvent(type,instance,container){return function(event){container._trigger(type,event,instance._uiHash(instance));};} 3504for(i=this.containers.length-1;i>=0;i--){if(!noPropagation){delayedTriggers.push(delayEvent("deactivate",this,this.containers[i]));} 3505if(this.containers[i].containerCache.over){delayedTriggers.push(delayEvent("out",this,this.containers[i]));this.containers[i].containerCache.over=0;}} 3506if(this.storedCursor){this.document.find("body").css("cursor",this.storedCursor);this.storedStylesheet.remove();} 3507if(this._storedOpacity){this.helper.css("opacity",this._storedOpacity);} 3508if(this._storedZIndex){this.helper.css("zIndex",this._storedZIndex==="auto"?"":this._storedZIndex);} 3509this.dragging=false;if(!noPropagation){this._trigger("beforeStop",event,this._uiHash());} 3510this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(!this.cancelHelperRemoval){if(this.helper[0]!==this.currentItem[0]){this.helper.remove();} 3511this.helper=null;} 3512if(!noPropagation){for(i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event);} 3513this._trigger("stop",event,this._uiHash());} 3514this.fromOutside=false;return!this.cancelHelperRemoval;},_trigger:function(){if($.Widget.prototype._trigger.apply(this,arguments)===false){this.cancel();}},_uiHash:function(_inst){var inst=_inst||this;return{helper:inst.helper,placeholder:inst.placeholder||$([]),position:inst.position,originalPosition:inst.originalPosition,offset:inst.positionAbs,item:inst.currentItem,sender:_inst?_inst.element:null};}});})); 3515;(function(root,init){if(typeof define=='function'&&define.amd){define(['exports'],function(exports){init(root,exports)})}else if(typeof exports!=='undefined'){init(root,exports)}else{init(root,root.fd=root.fd||{})}})(this,function(root,global){global.randomID=function(prefix){return(prefix||'fd')+'_'+(Math.random()*10000).toFixed()} 3516global.uniqueID=function(prefix){do{var id=global.randomID(prefix)}while(global.byID(id)) 3517return id} 3518global.byID=function(id){return global.isTag(id)?id:document.getElementById(id)} 3519global.isTag=function(element,tag){return typeof element=='object'&&element&&element.nodeType==1&&(!tag||element.tagName.toUpperCase()==tag.toUpperCase())} 3520global.newXHR=function(){try{return new XMLHttpRequest}catch(e){var activex=['MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP'] 3521for(var i=0;i<activex.length;i++){try{return new ActiveXObject(activex[i])}catch(e){}}} 3522throw'Cannot create XMLHttpRequest.'} 3523global.isArray=function(value){return Object.prototype.toString.call(value)==='[object Array]'} 3524global.toArray=function(value,skipFirst){if(value===null||typeof value=='undefined'){return[]}else if(!global.isArray(value)&&(typeof value!='object'||!('callee'in value))){value=[value]} 3525return Array.prototype.slice.call(value,skipFirst||0)} 3526global.addEvent=function(element,type,callback){if(element&&type&&callback){if(element.attachEvent){element['e'+type+callback]=callback 3527element[type+callback]=function(){element['e'+type+callback](window.event)} 3528element.attachEvent('on'+type,element[type+callback])}else{element.addEventListener(type,callback,false)}} 3529return element} 3530global.stopEvent=function(event){event.cancelBubble=true 3531event.returnValue=false 3532event.stopPropagation&&event.stopPropagation() 3533event.preventDefault&&event.preventDefault() 3534return event} 3535global.setClass=function(element,className,append){if((element=global.byID(element))&&className!=null){if(typeof append!='undefined'&&!append){element.className=element.className.replace(global.classRegExp(className),' ')}else if(!global.hasClass(element,className)){element.className+=' '+className}} 3536return element} 3537global.hasClass=function(element,className){return global.classRegExp(className).test((global.byID(element)||{}).className)} 3538global.classRegExp=function(className){if(className==''||typeof className=='object'){return /$o_O/}else{return new RegExp('(^|\\s+)'+className+'(\\s+|$)','gi')}
3538} 3539global.extend=function(child,base,overwrite){child=child||{} 3540base=base||{} 3541for(var prop in base){if(overwrite||typeof child[prop]=='undefined'){child[prop]=base[prop]}} 3542return child} 3543global.callAll=function(list,args,obj){var res 3544args=global.toArray(args) 3545typeof list=='function'&&(list=[list]) 3546if(global.isArray(list)){for(var i=0;i<list.length;i++){if(typeof list[i]=='function'){res=list[i].apply(obj||this,args) 3547if(res!=null){break}}}}else if(list){throw'FileDrop event list must be either an Array, Function, undefined or'+' null but '+(typeof list)+' was given.'} 3548return res} 3549global.callAllOfObject=function(obj,event,args){if(global.logging&&global.hasConsole){var handlers=obj.events[event]?obj.events[event].length||0:0} 3550var preview=[global.onObjectCall].concat(obj.events.any) 3551var res=global.callAll(preview,[event].concat(global.toArray(args)),obj) 3552return res!=null?res:global.callAll(obj.events[event],args,obj)} 3553global.appendEventsToObject=function(events,funcs){if(global.addEventsToObject(this,false,arguments)){return this} 3554switch(arguments.length){case 0:return global.extend({},this.events) 3555case 1:if(events===null){this.events={} 3556return this}else if(global.isArray(events)){var res={} 3557for(var i=0;i<events.length;i++){res[events[i]]=global.toArray(this.events[events[i]])} 3558return res}else if(typeof events=='function'){return global.funcNS(events)}else if(typeof events=='string'){return global.toArray(this.events[events])} 3559case 2:events=global.toArray(events) 3560if(funcs===null){for(var i=0;i<events.length;i++){var ns=global.splitNS(events[i]) 3561if(!ns[0]){for(var event in this.events){arguments.callee.call(this,[event+':'+ns[1]],null)}}else if(!ns[1]){this.events[ns[0]]=[]}else if(this.events[ns[0]]){for(var fi=this.events[ns[0]].length-1;fi>=0;fi--){if(global.funcNS(this.events[ns[0]][fi])==ns[1]){this.events[ns[0]].splice(fi,1)}}}} 3562return this}} 3563throw'Bad parameters for FileDrop event().'} 3564global.previewToObject=function(events,funcs){if(global.addEventsToObject(this,true,arguments)){return this}else{throw'Bad parameters for FileDrop preview().'}} 3565global.addEventsToObject=function(obj,prepend,args){var events=args[0] 3566var funcs=args[1] 3567switch(args.length){case 1:if(events&&typeof events=='object'&&!global.isArray(events)){for(var event in events){arguments.callee(obj,prepend,[event,events[event]])} 3568return true} 3569case 2:if(typeof funcs=='function'||global.isArray(funcs)){events=global.toArray(events) 3570funcs=global.toArray(funcs) 3571var pusher=prepend?'unshift':'push' 3572for(var i=0;i<events.length;i++){var ns=global.splitNS(events[i]) 3573for(var fi=0;fi<funcs.length;fi++){global.funcNS(funcs[fi],ns[1])} 3574obj.events[ns[0]]=obj.events[ns[0]]||[] 3575obj.events[ns[0]][pusher].apply(obj.events[ns[0]],funcs)} 3576return true}}} 3577global.funcNS=function(func,ns){if(typeof func!='function'){return func}else if(arguments.length==1){return(func[global.nsProp]||'').toString()}else{func[global.nsProp]=(ns||'').toString() 3578return func}} 3579global.splitNS=function(str){return(str||'').match(/^([^:]*):?(.*)$/).slice(1)} 3580global.extend(global,{logging:true,hasConsole:'console'in window&&console.log&&console.dir,onObjectCall:null,all:[],isIE6:/*@cc_on/*@if(@_jscript_version<=5.7)true@else@*/ false/*@end@*/,isIE9:/*@cc_on/*@if(@_jscript_version<=9)true@else@*/ false/*@end@*/,isChrome:(navigator.vendor||'').indexOf('Google')!=-1,nsProp:'_fdns'}) 3581global.DropHandle=function(zone,opt){var self=this 3582self.el=zone=global.byID(zone) 3583if(!zone){throw'Cannot locate DOM node given to new FileDrop class.'} 3584self.opt={zoneClass:'fd-zone',inputClass:'fd-file',iframe:{url:'',callbackParam:'fd-callback',fileParam:'fd-file'},input:null,recreateInput:true,fullDocDragDetect:false,multiple:false,dropEffect:'copy'} 3585global.all.push(self) 3586self.filedrop=null 3587var iframe=self.opt.iframe 3588global.extend(self.opt,opt,true) 3589global.extend(self.opt.iframe,iframe) 3590global.isChrome&&(self.opt.fullDocDragDetect=true) 3591self.events={any:[],dragEnter:[],dragLeave:[],dragOver:[],dragEnd:[],dragExit:[],upload:[],uploadElsewhere:[],inputSetup:[],iframeSetup:[],iframeDone:[]} 3592self.on=self.events 3593self.zone=self.el 3594self.hook=function(zoneNode){if(self.opt.input!=false){self.opt.input=self.opt.input||self.prepareInput(zoneNode) 3595self.opt.input&&global.callAllOfObject(self,'inputSetup',self.opt.input)}
3596self.hookDragOn(zoneNode) 3597self.hookDropOn(zoneNode)} 3598self.hookDragOn=function(zoneNode){if(self.opt.fullDocDragDetect){self.delegate(document.body,'dragEnter') 3599global.addEvent(document,'dragleave',function(e){if((e.clientX==0&&e.clientY==0)||global.isTag(e.relatedTarget,'html')){global.stopEvent(e) 3600global.callAllOfObject(self,'dragLeave',e)}})}else{self.delegate(zoneNode,'dragEnter') 3601self.delegate(zoneNode,'dragLeave')} 3602self.delegate(zoneNode,'dragOver') 3603self.delegate(zoneNode,'dragEnd') 3604self.delegate(zoneNode,'dragExit')} 3605self.hookDropOn=function(zoneNode){global.isIE9||self.delegate(zoneNode,'drop','upload')} 3606self.delegate=function(zoneNode,domEvent,selfEvent){global.addEvent(zoneNode,domEvent.toLowerCase(),function(e){global.stopEvent(e) 3607global.callAllOfObject(self,selfEvent||domEvent,e)})} 3608self.prepareInput=function(parent){var file=self.findInputRecursive(parent)||self.createInputAt(parent) 3609if(file){var form=file.parentNode 3610while(form&&!global.isTag(form,'form')){form=form.parentNode} 3611if(!form){throw'FileDrop file input has no parent form element.'} 3612var target=form?form.getAttribute('target'):'' 3613if(target&&global.isTag(global.byID(target),'iframe')){return{file:file,form:form}}} 3614return false} 3615self.findInputRecursive=function(parent){for(var i=0;i<parent.childNodes.length;i++){var node=parent.childNodes[i] 3616if(global.isTag(node,'input')&&node.getAttribute('type')=='file'&&global.hasClass(node,self.opt.inputClass)){return node}else if(node=arguments.callee(node)){return node}}} 3617self.createInputAt=function(parent){do{var id=global.randomID()}while(global.byID(id)) 3618var cont=document.createElement('div') 3619cont.innerHTML='<iframe src="javascript:false" name="'+id+'"></iframe>'+'<form method="post" enctype="multipart/form-data">'+'<input type="hidden" name="'+self.opt.iframe.callbackParam+'" />'+'<input type="file" name="'+self.opt.iframe.fileParam+'" />'+'</form>' 3620cont.firstChild.setAttribute('id',id) 3621cont.firstChild.style.display='none' 3622cont.lastChild.setAttribute('target',id) 3623var nextChild=parent.firstChild 3624while(nextChild&&(!global.isTag(nextChild)||global.isTag(nextChild,'legend'))){nextChild=nextChild.nextSibling} 3625if(nextChild){parent.insertBefore(cont,nextChild)}else{parent.appendChild(cont)} 3626return cont.lastChild.lastChild} 3627self.abortIFrame=function(){if(self.opt.input.form){var iframe=global.byID(self.opt.input.form.getAttribute('target')) 3628iframe&&iframe.setAttribute('src','javascript:false')}} 3629self.sendViaIFrame=function(url){url=url||self.opt.iframe.url 3630var form=(self.opt.input||{}).form 3631if(url&&form){do{var callback=global.randomID()}while(callback in window) 3632window[callback]=function(resp){if(typeof resp!='object'){resp={response:resp,responseXML:'',responseText:(resp||'').toString(),readyState:4,status:200,statusText:'OK',getAllResponseHeaders:function(){return''},getResponseHeader:function(){return''},setRequestHeader:function(){return this},statusCode:function(){return this},abort:function(){return this}}} 3633global.extend(resp,{iframe:true,url:url}) 3634global.callAllOfObject(self,'iframeDone',resp)} 3635var cbInput=form.firstChild 3636while(cbInput&&(!global.isTag(cbInput,'input')||cbInput.name!=self.opt.iframe.callbackParam)){cbInput=cbInput.nextSibling} 3637if(cbInput){cbInput.value=callback}else{url=url.replace(/[?&]+$/,'')+ 3638(url.indexOf('?')==-1?'?':'&')+ 3639self.opt.iframe.callbackParam+'='+callback} 3640form.setAttribute('action',url) 3641global.callAllOfObject(self,'iframeSetup',form) 3642form.submit() 3643setTimeout(self.resetForm,300) 3644return true}} 3645self.resetForm=function(){var input=self.opt.input&&self.opt.input.file 3646if(input){input.value='' 3647if(self.opt.recreateInput){var clone=self.opt.input.file=input.cloneNode(true) 3648input.parentNode.replaceChild(clone,input) 3649global.callAllOfObject(self,'inputSetup',[self.opt.input,input])}}} 3650self.multiple=function(enable){if(self.opt.input&&typeof enable!='undefined'){enable?self.opt.input.file.setAttribute('multiple','multiple'):self.opt.input.file.removeAttribute('multiple')} 3651return self.opt.input&&!!self.opt.input.file.getAttribute('multiple')} 3652self.event=function(events,funcs){return global.appendEventsToObject.apply(self,arguments)} 3653self.preview=function(events,funcs){return global.previewToObject.apply(self,arguments)} 3654self.onInputSetup=function(input,oldInput){if(oldInput){input.file.clearAttributes&&input.file.clearAttributes() 3655input.file.mergeAttributes&&input.file.mergeAttributes(oldInput)}else{self.multiple(self.opt.multiple)} 3656global.setClass(input.file,self.opt.inputClass) 3657self.delegate(input.file,'change','upload') 3658var parent=input.file.parentNode 3659if(parent&&parent.style.display.match(/^(static)?$/)){parent.style.position='relative'} 3660if(global.isTag(zone,'fieldset')){var div=document.createElement('div') 3661div.style.position='relative' 3662div.style.overflow='hidden' 3663zone.parentNode.insertBefore(div,zone) 3664div.appendChild(zone)}} 3665self.onDragOver=function(e){global.stopEvent(e) 3666e.dataTransfer&&(e.dataTransfer.dropEffect=self.opt.dropEffect)} 3667self.onUpload=function(){for(var i=0;i<global.all.length;i++){if(global.all[i]!==self&&global.all[i].events){global.callAllOfObject(global.all[i],'uploadElsewhere',self)}}} 3668self.event({inputSetup:self.onInputSetup,dragOver:self.onDragOver,upload:self.onUpload}) 3669global.setClass(zone,self.opt.zoneClass) 3670self.hook(zone)} 3671global.FileDrop=function(zone,opt){var self=this 3672zone=global.byID(zone) 3673self.handle=new global.DropHandle(zone,opt) 3674self.handle.filedrop=self 3675global.extend(self.handle.opt,{dragOverClass:'over'}) 3676global.extend(self.handle.opt.iframe,{force:false}) 3677global.extend(self.handle.events,{send:[],fileSetup:[]}) 3678self.onUpload=function(e){var files=!self.opt.iframe.force&&self.eventFiles(e,true)
3679if(!files){if(!self.handle.sendViaIFrame()&&global.hasConsole){console.warn('FileDrop fallback upload triggered but iframe options'+' were not configured - doing nothing.')}}else if(files.length>0){global.callAllOfObject(self,'send',[files])}} 3680self.eventFiles=function(e,orFalse){var result=new global.FileList(e) 3681if(e.dataTransfer&&(e.dataTransfer.length||e.dataTransfer.files)){var list=e.dataTransfer}else{var list=(e.target&&e.target.files)||(e.srcElement&&e.srcElement.files)} 3682if(list){var entries=list.items||[] 3683list.files&&(list=list.files) 3684var names={} 3685for(var i=0;i<list.length;i++){var file=new global.File(list[i]) 3686if(!names[file.name]||file.name=='image.jpg'){names[file.name]=true 3687file.setNativeEntry(entries[i]) 3688global.callAllOfObject(self,'fileSetup',file) 3689if(file.size>0||file.nativeEntry){result.push(file)}}}}else if(orFalse){result=false} 3690return result} 3691global.extend(self,self.handle) 3692function dragClassChanger(isHovered){return function(){global.setClass(zone,self.opt.dragOverClass,isHovered)}} 3693self.event({upload:self.onUpload,send:self.resetForm,dragEnter:dragClassChanger(true),dragLeave:dragClassChanger(false),uploadElsewhere:dragClassChanger(false)}) 3694self.preview({upload:dragClassChanger(false)})} 3695global.FileList=function(event){var self=this 3696self.dropEffect=(event&&event.dropEffect)||'' 3697self.length=0 3698event=null 3699self.push=function(file){self[self.length++]=file 3700return self} 3701self.pop=function(){if(self.length>0){var file=self.last() 3702delete self[--self.length] 3703return file}} 3704self.first=function(){return self[0]} 3705self.last=function(){return self[self.length-1]} 3706self.remove=function(i){for(;i<self.length-1;i++){self[i]=self[i+1]} 3707se.f.pop() 3708return self} 3709self.clear=function(){for(var i=0;i<self.length;i++){delete self[i]} 3710self.length=0 3711return self} 3712self.reverse=function(){for(var i=0;i<Math.floor(self.length / 2);i++){self[i]=self[self.length-i-1]} 3713return self} 3714self.concat=function(list){var copy=new global.FileList 3715for(var i=0;i<self.length;i++){copy[i]=self[i]} 3716for(var i=0;list&&i<list.length;i++){copy[self.length+i+1]=list[i]} 3717copy.length=self.length+(list||[]).length 3718return self} 3719self.sort=function(func,cx){for(var i=0;i<self.length;i++){for(var j=0;j<self.length;j++){if(func.call(cx||this,self[i],self[j],i,j)<0){var temp=self[i] 3720self[i]=self[j] 3721self[j]=temp}}} 3722return self} 3723self.sortBy=function(func,cx){var list=[] 3724for(var i=0;i<self.length;i++){list.push([i,func.call(cx||this,self[i],i)])} 3725list.sort(function(a,b){return a[1]>b[1]?+1:(a[1]<b[1]?-1:0)}) 3726for(var i=0;i<list.length;i++){self[i]=list[i][0]} 3727return self} 3728self.find=function(func,cx){for(var i=0;i<self.length;i++){var res=func.call(cx||this,self[i],i) 3729if(res!=null){return self[i]}}} 3730self.each=function(func,cx){self.find(function(){func.apply(this,arguments)},cx) 3731return self} 3732self.invoke=function(method,arg_1){var args=global.toArray(arguments,1) 3733return this.each(function(file){file[method].apply(file,args)})} 3734self.abort=function(){return this.invoke('abort')} 3735self.findCompare=function(func,cx){var file,value=null,res 3736self.each(function(f){if(value==null||value<(res=func.call(cx,file))){file=f}},cx) 3737return file} 3738self.filter=function(func,cx){var list=new global.FileList 3739self.each(function(f){func.apply(this,arguments)&&list.push(f)},cx) 3740return list} 3741self.largest=function(){return self.findCompare(function(f){return f.size})} 3742self.smallest=function(){return self.findCompare(function(f){return-f.size})} 3743self.oldest=function(){return self.findCompare(function(f){return-f.modDate.getTime()})} 3744self.newest=function(){return self.findCompare(function(f){return f.modDate})} 3745self.ofType=function(mime){mime+=mime.indexOf('/')==-1?'/':'$' 3746mime=new RegExp('^'+mime,'i') 3747return self.filter(function(f){return mime.test(f.type)})} 3748self.images=function(){return self.ofType('image')} 3749self.named=function(name){if(typeof name=='string'){return self.find(function(f){return f.name==name})}else{return self.filter(function(f){return name.test(f.name)})}}} 3750global.FileList.prototype.length=0 3751global.FileList.prototype.splice=Array.prototype.splice 3752global.File=function(file){var self=this 3753self.nativeFile=file 3754self.nativeEntry=null 3755self.name=file.fileName||file.name||'' 3756self.size=file.fileSize||file.size||0 3757self.type=self.mime=file.fileType||file.type||'' 3758self.modDate=file.lastModifiedDate||new Date 3759self.xhr=null 3760self.opt={extraHeaders:true,xRequestedWith:true,method:'POST'} 3761self.events={any:[],xhrSetup:[],xhrSend:[],progress:[],done:[],error:[]} 3762self.events.sendXHR=self.events.xhrSend 3763self.abort=function(){self.xhr&&self.xhr.abort&&self.xhr.abort() 3764return self} 3765self.sendTo=function(url,opt){opt=global.extend(opt,self.opt) 3766opt.url=url 3767if(!self.size){global.hasConsole&&console.warn('Trying to send an empty FileDrop.File.')}else if(window.FileReader){var reader=new FileReader 3768reader.onload=function(e){self.sendDataReadyTo(opt,e)} 3769reader.onerror=function(e){global.callAllOfObject(self,'error',[e])} 3770reader.readAsArrayBuffer(self.nativeFile)}else{self.sendDataReadyTo(opt)} 3771return self} 3772self.sendDataReadyTo=function(opt,e){self.abort() 3773self.xhr=global.newXHR() 3774self.hookXHR(self.xhr) 3775self.xhr.open(opt.method,opt.url,true) 3776self.xhr.overrideMimeType&&self.xhr.overrideMimeType('application/octet-stream') 3777self.xhr.setRequestHeader('Content-Type','application/octet-stream') 3778if(opt.extraHeaders){self.xhr.setRequestHeader('X-File-Name',encodeURIComponent(self.name)) 3779self.xhr.setRequestHeader('X-File-Size',self.size) 3780self.xhr.setRequestHeader('X-File-Type',self.type) 3781self.xhr.setRequestHeader('X-File-Date',self.modDate.toGMTString()) 3782var reqWith=opt.xRequestedWith 3783if(reqWith===true){var api=window.FileReader?'FileAPI':'Webkit' 3784reqWith='FileDrop-XHR-'+api} 3785reqWith&&self.xhr.setRequestHeader('X-Requested-With',reqWith)} 3786global.callAllOfObject(self,'xhrSetup',[self.xhr,opt]) 3787var data=(e&&e.target&&e.target.result)?e.target.result:self.nativeFile 3788global.callAllOfObject(self,'xhrSend',[self.xhr,data,opt]) 3789return self.xhr} 3790self.hookXHR=function(xhr){var evtHost=xhr.upload||xhr 3791xhr.onreadystatechange=function(e){if(xhr.readyState==4){try{var event=xhr.status==200?'done':'error'}catch(e){var event='error'} 3792var args=event=='error'?[e,xhr]:[xhr,e] 3793global.callAllOfObject(self,event,args)}}
3794evtHost.onprogress=function(e){var current=e.lengthComputable?e.loaded:null 3795global.callAllOfObject(self,'progress',[current,e.total||null,xhr,e])}} 3796self.readData=function(onDone,onError,func){return self.read({onDone:onDone,onError:onError,func:func})} 3797self.readDataURL=function(onDone,onError){return self.readData(onDone,onError||false,'uri')} 3798self.readDataURI=self.readDataURL;self.read=function(opt){function error(reason,e){typeof e=='object'||(e.message=e) 3799e.fdError=reason 3800if(opt.onError!==false){(opt.onError||opt.onDone).apply(this,arguments)}} 3801global.extend(opt,{onDone:new Function,onError:null,blob:self.nativeFile,func:'',start:0,end:null,mime:''}) 3802if(!window.FileReader){return error('support',e)} 3803if(opt.start>0||opt.end!=null&&opt.end){if(opt.blob.slice){opt.end==null&&(opt.end=opt.blob.size||opt.blob.fileSize) 3804opt.blob=opt.blob.slice(opt.start,opt.end,opt.mime)}else if(global.hasConsole){console.warn('File Blob/slice() are unsupported - operating on entire File.')}} 3805var reader=new FileReader 3806reader.onerror=function(e){error('read',e)} 3807reader.onload=function(e){if(e.target&&e.target.result){if(opt.func=='readAsBinaryString'){e.target.result=String.fromCharCode.apply(null,new Uint8Array(e.target.result))} 3808opt.onDone(e.target.result)}else{reader.onerror(e)}} 3809var func=opt.func 3810if(global.isArray(func)){var name=func[0] 3811func[0]=opt.blob 3812return reader[name].apply(reader,func)}else{if(!func||func=='bin'){func='readAsBinaryString'}else if(func=='url'||func=='uri'||func=='src'){func='readAsDataURL'}else if(func=='array'){func='readAsArrayBuffer'}else if(func=='text'){func='readAsText'}else if(func.substr(0,4)!='read'){return reader.readAsText(opt.blob,func)} 3813func=='readAsBinaryString'&&(func='readAsArrayBuffer') 3814return reader[func](opt.blob)}} 3815self.listEntries=function(onDone,onError){if(self.nativeEntry&&self.nativeEntry.isDirectory){onError=onError||new Function 3816var reader=self.nativeEntry.createReader() 3817var files=new global.FileList 3818var enqueued=0 3819function dequeue(count){enqueued-=count 3820if(enqueued==0&&onDone){onDone(files) 3821onDone=null}} 3822reader.readEntries(function(list){for(var i=0;i<list.length;i++){var nativeEntry=list[i] 3823if(nativeEntry.file){enqueued++ 3824nativeEntry.file(function(nativeFile){var file=new global.File(nativeFile) 3825file.setNativeEntry(nativeEntry) 3826files.push(file) 3827dequeue(1)},function(){files.push(global.File.fromEntry(nativeEntry)) 3828dequeue(1) 3829onError.apply(this,arguments)})}else{files.push(global.File.fromEntry(nativeEntry))}} 3830i?reader.readEntries(arguments.callee,onError):dequeue(0)},onError) 3831return true}} 3832self.setNativeEntry=function(item){self.nativeEntry=item&&item.webkitGetAsEntry&&item.webkitGetAsEntry()} 3833self.event=function(events,funcs){return global.appendEventsToObject.apply(self,arguments)} 3834self.preview=function(events,funcs){return global.previewToObject.apply(self,arguments)} 3835self.onXhrSend=function(xhr,data){xhr.send(data)} 3836self.event({xhrSend:self.onXhrSend})} 3837global.File.fromEntry=function(nativeEntry){var file=new global.File(nativeEntry) 3838file.setNativeEntry(nativeEntry) 3839file.nativeFile=null 3840return file} 3841global.jQuery=function($){$=$||jQuery||window.jQuery 3842if(!$){throw'No window.jQuery object to integrate FileDrop into.'} 3843$.fn.filedrop=function(options){function delegate(prefix,firstArgs){return function(event){var args=(firstArgs||[]).concat(global.toArray(arguments,1)) 3844return $node.triggerHandler((prefix+event).toLowerCase(),args)}} 3845var $node=this 3846var host=this.data('filedrop') 3847if(typeof options=='string'){if(!host){$.error("$.filedrop('comment') needs an initialized FilrDrop on this element.")}else if(typeof host[options]=='undefined'){$.error("There's no method or property FileDrop."+options+".")}else{var value=host[options] 3848if(typeof value=='function'){return value.apply(host,global.toArray(arguments,1))}else{return value}}}else if(!options||typeof options=='object'){if(!host){var zone=new FileDrop(this[0],options) 3849zone.$el=$(this) 3850this.first().data('filedrop',zone) 3851zone.event('any',delegate('fd')) 3852zone.on.fileSetup.push(function(file){file.event('any',delegate('file',[file]))})}else if(!options){return host}else{global.extend(host.opt,options,true)}}else{$.error('Invalid $.filedrop() parameter - expected nothing (creates new zone),'+' a string (property to access) or an object (custom zone options).')} 3853return $node}} 3854root.FileDrop=global.FileDrop}); 3855MMI.Util.namespace('MMI.Filedrop');MMI.Filedrop={initialize:function(){fd.jQuery();},enableFiledrop:function(jqel,options){if(!options){options={};} 3856var app=MMI.App.get();app.registerLiveEvent('filedroppedonelement');app.registerLiveEvent('filedroppedinpage');app.registerLiveEvent('filedropdone');app.registerLiveEvent('filedroperror');app.registerLiveEvent('filedropprogress');jqel=jQuery(jqel);if(jqel.size()){jqel.filedrop(options).off('fdsend').off('filedone').off('fileprogress').off('fileerror').on('fdsend',MMI.Filedrop.fdsend).on('filedone',MMI.Filedrop.done).on('fileprogress',MMI.Filedrop.progress).on('fileerror',MMI.Filedrop.error);}},fdsend:function(event,files){var jqel_dropElement=jQuery(event.currentTarget);jqel_dropElement.trigger('filedroppedonelement',[files]);jqel_dropElement.find('.live_filedroppedonelement').trigger('filedroppedonelement',[files]);MMI.App.get().triggerEvent('filedroppedinpage',[files]);},done:function(event,file,XMLHttpRequest,eventObject){var jqel_dropElement=jQuery(event.currentTarget);var response=JSON.parse(XMLHttpRequest.responseText);jqel_dropElement.trigger('filedropdone',[file,response]);jqel_dropElement.find('.live_filedropdone').trigger('filedropdone',[file,response]);},progress:function(event,file,sentBytes,totalBytes,XMLHttpRequest,eventObject){var jqel_dropElement=jQuery(event.currentTarget);jqel_dropElement.trigger('filedropprogress',[file,sentBytes,totalBytes]);jqel_dropElement.find('.live_filedropprogress').trigger('filedropprogress',[file,sentBytes,totalBytes]);},error:function(event,file,eventObject,XMLHttpRequest){var jqel_dropElement=jQuery(event.currentTarget);jqel_dropElement.trigger('filedroperror',[file]);jqel_dropElement.find(".live_filedroperror").trigger('filedroperror',[file,XMLHttpRequest.status+', '+XMLHttpRequest.statusText]);}};MMI.Filedrop.initialize(); 3857(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'){factory(require('jquery'));}else{factory(jQuery);}})(function($){'use strict';$.support.htmlMenuitem=('HTMLMenuItemElement'in window);$.support.htmlCommand=('HTMLCommandElement'in window);$.support.eventSelectstart=('onselectstart'in document.documentElement);if(!$.ui||!$.widget){$.cleanData=(function(orig){return function(elems){var events,elem,i;for(i=0;elems[i]!=null;i++){elem=elems[i];try{events=$._data(elem,'events');if(events&&events.remove){$(elem).triggerHandler('remove');}}catch(e){}} 3858orig(elems);};})($.cleanData);} 3859var
vendor: 36,623 bytes, lines 3860-4027
3860$currentTrigger=null,initialized=false,$win=$(window),counter=0,namespaces={},menus={},types={},defaults={selector:null,appendTo:null,trigger:'right',autoHide:false,delay:200,reposition:true,hideOnSecondTrigger:false,selectableSubMenu:false,classNames:{hover:'context-menu-hover',disabled:'context-menu-disabled',visible:'context-menu-visible',notSelectable:'context-menu-not-selectable',icon:'context-menu-icon',iconEdit:'context-menu-icon-edit',iconCut:'context-menu-icon-cut',iconCopy:'context-menu-icon-copy',iconPaste:'context-menu-icon-paste',iconDelete:'context-menu-icon-delete',iconAdd:'context-menu-icon-add',iconQuit:'context-menu-icon-quit',iconLoadingClass:'context-menu-icon-loading'},determinePosition:function($menu){if($.ui&&$.ui.position){$menu.css('display','block').position({my:'center top',at:'center bottom',of:this,offset:'0 5',collision:'fit'}).css('display','none');}else{var offset=this.offset();offset.top+=this.outerHeight();offset.left+=this.outerWidth()/ 2-$menu.outerWidth()/ 2;$menu.css(offset);}},position:function(opt,x,y){var offset;if(!x&&!y){opt.determinePosition.call(this,opt.$menu);return;}else if(x==='maintain'&&y==='maintain'){offset=opt.$menu.position();}else{var offsetParentOffset=opt.$menu.offsetParent().offset();offset={top:y-offsetParentOffset.top,left:x-offsetParentOffset.left};} 3861var bottom=$win.scrollTop()+$win.height(),right=$win.scrollLeft()+$win.width(),height=opt.$menu.outerHeight(),width=opt.$menu.outerWidth();if(offset.top+height>bottom){offset.top-=height;} 3862if(offset.top<0){offset.top=0;} 3863if(offset.left+width>right){offset.left-=width;} 3864if(offset.left<0){offset.left=0;} 3865opt.$menu.css(offset);},positionSubmenu:function($menu){if(typeof $menu==='undefined'){return;} 3866if($.ui&&$.ui.position){$menu.css('display','block').position({my:'left top-5',at:'right top',of:this,collision:'flipfit fit'}).css('display','');}else{var offset={top:-9,left:this.outerWidth()-5};$menu.css(offset);}},zIndex:1,animation:{duration:50,show:'slideDown',hide:'slideUp'},events:{show:$.noop,hide:$.noop,activated:$.noop},callback:null,items:{}},hoveract={timer:null,pageX:null,pageY:null},zindex=function($t){var zin=0,$tt=$t;while(true){zin=Math.max(zin,parseInt($tt.css('z-index'),10)||0);$tt=$tt.parent();if(!$tt||!$tt.length||'html body'.indexOf($tt.prop('nodeName').toLowerCase())>-1){break;}} 3867return zin;},handle={abortevent:function(e){e.preventDefault();e.stopImmediatePropagation();},contextmenu:function(e){var $this=$(this);if(e.data.trigger==='right'){e.preventDefault();e.stopImmediatePropagation();} 3868if((e.data.trigger!=='right'&&e.data.trigger!=='demand')&&e.originalEvent){return;} 3869if(typeof e.mouseButton!=='undefined'&&e.data){if(!(e.data.trigger==='left'&&e.mouseButton===0)&&!(e.data.trigger==='right'&&e.mouseButton===2)){return;}} 3870if($this.hasClass('context-menu-active')){return;} 3871if(!$this.hasClass('context-menu-disabled')){$currentTrigger=$this;if(e.data.build){var built=e.data.build($currentTrigger,e);if(built===false){return;} 3872e.data=$.extend(true,{},defaults,e.data,built||{});if(!e.data.items||$.isEmptyObject(e.data.items)){if(window.console){(console.error||console.log).call(console,'No items specified to show in contextMenu');} 3873throw new Error('No Items specified');} 3874e.data.$trigger=$currentTrigger;op.create(e.data);} 3875op.show.call($this,e.data,e.pageX,e.pageY);}},click:function(e){e.preventDefault();e.stopImmediatePropagation();$(this).trigger($.Event('contextmenu',{data:e.data,pageX:e.pageX,pageY:e.pageY}));},mousedown:function(e){var $this=$(this);if($currentTrigger&&$currentTrigger.length&&!$currentTrigger.is($this)){$currentTrigger.data('contextMenu').$menu.trigger('contextmenu:hide');} 3876if(e.button===2){$currentTrigger=$this.data('contextMenuActive',true);}},mouseup:function(e){var $this=$(this);if($this.data('contextMenuActive')&&$currentTrigger&&$currentTrigger.length&&$currentTrigger.is($this)&&!$this.hasClass('context-menu-disabled')){e.preventDefault();e.stopImmediatePropagation();$currentTrigger=$this;$this.trigger($.Event('contextmenu',{data:e.data,pageX:e.pageX,pageY:e.pageY}));} 3877$this.removeData('contextMenuActive');},mouseenter:function(e){var $this=$(this),$related=$(e.relatedTarget),$document=$(document);if($related.is('.context-menu-list')||$related.closest('.context-menu-list').length){return;} 3878if($currentTrigger&&$currentTrigger.length){return;} 3879hoveract.pageX=e.pageX;hoveract.pageY=e.pageY;hoveract.data=e.data;$document.on('mousemove.contextMenuShow',handle.mousemove);hoveract.timer=setTimeout(function(){hoveract.timer=null;$document.off('mousemove.contextMenuShow');$currentTrigger=$this;$this.trigger($.Event('contextmenu',{data:hoveract.data,pageX:hoveract.pageX,pageY:hoveract.pageY}));},e.data.delay);},mousemove:function(e){hoveract.pageX=e.pageX;hoveract.pageY=e.pageY;},mouseleave:function(e){var $related=$(e.relatedTarget);if($related.is('.context-menu-list')||$related.closest('.context-menu-list').length){return;} 3880try{clearTimeout(hoveract.timer);}catch(e){} 3881hoveract.timer=null;},layerClick:function(e){var $this=$(this),root=$this.data('contextMenuRoot'),button=e.button,x=e.pageX,y=e.pageY,fakeClick=x===undefined,target,offset;e.preventDefault();setTimeout(function(){if(fakeClick){if(root!==null&&typeof root!=='undefined'&&root.$menu!==null&&typeof root.$menu!=='undefined'){root.$menu.trigger('contextmenu:hide');} 3882return;} 3883var $window;var triggerAction=((root.trigger==='left'&&button===0)||(root.trigger==='right'&&button===2));if(document.elementFromPoint&&root.$layer){root.$layer.hide();target=document.elementFromPoint(x-$win.scrollLeft(),y-$win.scrollTop());if(target.isContentEditable){var range=document.createRange(),sel=window.getSelection();range.selectNode(target);range.collapse(true);sel.removeAllRanges();sel.addRange(range);} 3884$(target).trigger(e);root.$layer.show();} 3885if(root.hideOnSecondTrigger&&triggerAction&&root.$menu!==null&&typeof root.$menu!=='undefined'){root.$menu.trigger('contextmenu:hide');return;} 3886if(root.reposition&&triggerAction){if(document.elementFromPoint){if(root.$trigger.is(target)){root.position.call(root.$trigger,root,x,y);return;}}else{offset=root.$trigger.offset();$window=$(window);offset.top+=$window.scrollTop();if(offset.top<=e.pageY){offset.left+=$window.scrollLeft();if(offset.left<=e.pageX){offset.bottom=offset.top+root.$trigger.outerHeight();if(offset.bottom>=e.pageY){offset.right=offset.left+root.$trigger.outerWidth();if(offset.right>=e.pageX){root.position.call(root.$trigger,root,x,y);return;}}}}}} 3887if(target&&triggerAction){root.$trigger.one('contextmenu:hidden',function(){$(target).contextMenu({x:x,y:y,button:button});});} 3888if(root!==null&&typeof root!=='undefined'&&root.$menu!==null&&typeof root.$menu!=='undefined'){root.$menu.trigger('contextmenu:hide');}},50);},keyStop:function(e,opt){if(!opt.isInput){e.preventDefault();} 3889e.stopPropagation();},key:function(e){var opt={};if($currentTrigger){opt=$currentTrigger.data('contextMenu')||{};} 3890if(typeof opt.zIndex==='undefined'){opt.zIndex=0;} 3891var targetZIndex=0;var getZIndexOfTriggerTarget=function(target){if(target.style.zIndex!==''){targetZIndex=target.style.zIndex;}else{if(target.offsetParent!==null&&typeof target.offsetParent!=='undefined'){getZIndexOfTriggerTarget(target.offsetParent);} 3892else if(target.parentElement!==null&&typeof target.parentElement!=='undefined'){getZIndexOfTriggerTarget(target.parentElement);}}};getZIndexOfTriggerTarget(e.target);if(opt.$menu&&parseInt(targetZIndex,10)>parseInt(opt.$menu.css("zIndex"),10)){return;} 3893switch(e.keyCode){case 9:case 38:handle.keyStop(e,opt);if(opt.isInput){if(e.keyCode===9&&e.shiftKey){e.preventDefault();if(opt.$selected){opt.$selected.find('input, textarea, select').blur();} 3894if(opt.$menu!==null&&typeof opt.$menu!=='undefined'){opt.$menu.trigger('prevcommand');} 3895return;}else if(e.keyCode===38&&opt.$selected.find('input, textarea, select').prop('type')==='checkbox'){e.preventDefault();return;}}else if(e.keyCode!==9||e.shiftKey){if(opt.$menu!==null&&typeof opt.$menu!=='undefined'){opt.$menu.trigger('prevcommand');} 3896return;} 3897break;case 40:handle.keyStop(e,opt);if(opt.isInput){if(e.keyCode===9){e.preventDefault();if(opt.$selected){opt.$selected.find('input, textarea, select').blur();} 3898if(opt.$menu!==null&&typeof opt.$menu!=='undefined'){opt.$menu.trigger('nextcommand');} 3899return;}else if(e.keyCode===40&&opt.$selected.find('input, textarea, select').prop('type')==='checkbox'){e.preventDefault();return;}}else{if(opt.$menu!==null&&typeof opt.$menu!=='undefined'){opt.$menu.trigger('nextcommand');} 3900return;} 3901break;case 37:handle.keyStop(e,opt);if(opt.isInput||!opt.$selected||!opt.$selected.length){break;} 3902if(!opt.$selected.parent().hasClass('context-menu-root')){var $parent=opt.$selected.parent().parent();opt.$selected.trigger('contextmenu:blur');opt.$selected=$parent;return;} 3903break;case 39:handle.keyStop(e,opt);if(opt.isInput||!opt.$selected||!opt.$selected.length){break;} 3904var itemdata=opt.$selected.data('contextMenu')||{};if(itemdata.$menu&&opt.$selected.hasClass('context-menu-submenu')){opt.$selected=null;itemdata.$selected=null;itemdata.$menu.trigger('nextcommand');return;} 3905break;case 35:case 36:if(opt.$selected&&opt.$selected.find('input, textarea, select').length){return;}else{(opt.$selected&&opt.$selected.parent()||opt.$menu).children(':not(.'+opt.classNames.disabled+', .'+opt.classNames.notSelectable+')')[e.keyCode===36?'first':'last']().trigger('contextmenu:focus');e.preventDefault();return;} 3906break;case 13:handle.keyStop(e,opt);if(opt.isInput){if(opt.$selected&&!opt.$selected.is('textarea, select')){e.preventDefault();return;} 3907break;} 3908if(typeof opt.$selected!=='undefined'&&opt.$selected!==null){opt.$selected.trigger('mouseup');} 3909return;case 32:case 33:case 34:handle.keyStop(e,opt);return;case 27:handle.keyStop(e,opt);if(opt.$menu!==null&&typeof opt.$menu!=='undefined'){opt.$menu.trigger('contextmenu:hide');} 3910return;default:var k=(String.fromCharCode(e.keyCode)).toUpperCase();if(opt.accesskeys&&opt.accesskeys[k]){opt.accesskeys[k].$node.trigger(opt.accesskeys[k].$menu?'contextmenu:focus':'mouseup');return;} 3911break;} 3912e.stopPropagation();if(typeof opt.$selected!=='undefined'&&opt.$selected!==null){opt.$selected.trigger(e);}},prevItem:function(e){e.stopPropagation();var opt=$(this).data('contextMenu')||{};var root=$(this).data('contextMenuRoot')||{};if(opt.$selected){var $s=opt.$selected;opt=opt.$selected.parent().data('contextMenu')||{};opt.$selected=$s;} 3913var $children=opt.$menu.children(),$prev=!opt.$selected||!opt.$selected.prev().length?$children.last():opt.$selected.prev(),$round=$prev;while($prev.hasClass(root.classNames.disabled)||$prev.hasClass(root.classNames.notSelectable)||$prev.is(':hidden')){if($prev.prev().length){$prev=$prev.prev();}else{$prev=$children.last();} 3914if($prev.is($round)){return;}} 3915if(opt.$selected){handle.itemMouseleave.call(opt.$selected.get(0),e);} 3916handle.itemMouseenter.call($prev.get(0),e);var $input=$prev.find('input, textarea, select');if($input.length){$input.focus();}},nextItem:function(e){e.stopPropagation();var opt=$(this).data('contextMenu')||{};var root=$(this).data('contextMenuRoot')||{};if(opt.$selected){var $s=opt.$selected;opt=opt.$selected.parent().data('contextMenu')||{};opt.$selected=$s;} 3917var $children=opt.$menu.children(),$next=!opt.$selected||!opt.$selected.next().length?$children.first():opt.$selected.next(),$round=$next;while($next.hasClass(root.classNames.disabled)||$next.hasClass(root.classNames.notSelectable)||$next.is(':hidden')){if($next.next().length){$next=$next.next();}else{$next=$children.first();} 3918if($next.is($round)){return;}} 3919if(opt.$selected){handle.itemMouseleave.call(opt.$selected.get(0),e);} 3920handle.itemMouseenter.call($next.get(0),e);var $input=$next.find('input, textarea, select');if($input.length){$input.focus();}},focusInput:function(){var $this=$(this).closest('.context-menu-item'),data=$this.data(),opt=data.contextMenu,root=data.contextMenuRoot;root.$selected=opt.$selected=$this;root.isInput=opt.isInput=true;},blurInput:function(){var $this=$(this).closest('.context-menu-item'),data=$this.data(),opt=data.contextMenu,root=data.contextMenuRoot;root.isInput=opt.isInput=false;},menuMouseenter:function(){var root=$(this).data().contextMenuRoot;root.hovering=true;},menuMouseleave:function(e){var root=$(this).data().contextMenuRoot;if(root.$layer&&root.$layer.is(e.relatedTarget)){root.hovering=false;}},itemMouseenter:function(e){var $this=$(this),data=$this.data(),opt=data.contextMenu,root=data.contextMenuRoot;root.hovering=true;if(e&&root.$layer&&root.$layer.is(e.relatedTarget)){e.preventDefault();e.stopImmediatePropagation();} 3921(opt.$menu?opt:root).$menu.children('.'+root.classNames.hover).trigger('contextmenu:blur').children('.hover').trigger('contextmenu:blur');if($this.hasClass(root.classNames.disabled)||$this.hasClass(root.classNames.notSelectable)){opt.$selected=null;return;} 3922$this.trigger('contextmenu:focus');},itemMouseleave:function(e){var $this=$(this),data=$this.data(),opt=data.contextMenu,root=data.contextMenuRoot;if(root!==opt&&root.$layer&&root.$layer.is(e.relatedTarget)){if(typeof root.$selected!=='undefined'&&root.$selected!==null){root.$selected.trigger('contextmenu:blur');} 3923e.preventDefault();e.stopImmediatePropagation();root.$selected=opt.$selected=opt.$node;return;} 3924if(opt&&opt.$menu&&opt.$menu.hasClass('context-menu-visible')){return;} 3925$this.trigger('contextmenu:blur');},itemClick:function(e){var $this=$(this),data=$this.data(),opt=data.contextMenu,root=data.contextMenuRoot,key=data.contextMenuKey,callback;if(!opt.items[key]||$this.is('.'+root.classNames.disabled+', .context-menu-separator, .'+root.classNames.notSelectable)||($this.is('.context-menu-submenu')&&root.selectableSubMenu===false)){return;} 3926e.preventDefault();e.stopImmediatePropagation();if($.isFunction(opt.callbacks[key])&&Object.prototype.hasOwnProperty.call(opt.callbacks,key)){callback=opt.callbacks[key];}else if($.isFunction(root.callback)){callback=root.callback;}else{return;} 3927if(callback.call(root.$trigger,key,root,e)!==false){root.$menu.trigger('contextmenu:hide');}else if(root.$menu.parent().length){op.update.call(root.$trigger,root);}},inputClick:function(e){e.stopImmediatePropagation();},hideMenu:function(e,data){var root=$(this).data('contextMenuRoot');op.hide.call(root.$trigger,root,data&&data.force);},focusItem:function(e){e.stopPropagation();var $this=$(this),data=$this.data(),opt=data.contextMenu,root=data.contextMenuRoot;if($this.hasClass(root.classNames.disabled)||$this.hasClass(root.classNames.notSelectable)){return;} 3928$this.addClass([root.classNames.hover,root.classNames.visible].join(' ')).parent().find('.context-menu-item').not($this).removeClass(root.classNames.visible).filter('.'+root.classNames.hover).trigger('contextmenu:blur');opt.$selected=root.$selected=$this;if(opt&&opt.$node&&opt.$node.hasClass('context-menu-submenu')){opt.$node.addClass(root.classNames.hover);} 3929if(opt.$node){root.positionSubmenu.call(opt.$node,opt.$menu);}},blurItem:function(e){e.stopPropagation();var $this=$(this),data=$this.data(),opt=data.contextMenu,root=data.contextMenuRoot;if(opt.autoHide){$this.removeClass(root.classNames.visible);} 3930$this.removeClass(root.classNames.hover);opt.$selected=null;}},op={show:function(opt,x,y){var $trigger=$(this),css={};$('#context-menu-layer').trigger('mousedown');opt.$trigger=$trigger;if(opt.events.show.call($trigger,opt)===false){$currentTrigger=null;return;} 3931var hasVisibleItems=op.update.call($trigger,opt);if(hasVisibleItems===false){$currentTrigger=null;return;} 3932opt.position.call($trigger,opt,x,y);if(opt.zIndex){var additionalZValue=opt.zIndex;if(typeof opt.zIndex==='function'){additionalZValue=opt.zIndex.call($trigger,opt);} 3933css.zIndex=zindex($trigger)+additionalZValue;} 3934op.layer.call(opt.$menu,opt,css.zIndex);opt.$menu.find('ul').css('zIndex',css.zIndex+1);opt.$menu.css(css)[opt.animation.show](opt.animation.duration,function(){$trigger.trigger('contextmenu:visible');op.activated(opt);opt.events.activated(opt);});$trigger.data('contextMenu',opt).addClass('context-menu-active');$(document).off('keydown.contextMenu').on('keydown.contextMenu',handle.key);if(opt.autoHide){$(document).on('mousemove.contextMenuAutoHide',function(e){var pos=$trigger.offset();pos.right=pos.left+$trigger.outerWidth();pos.bottom=pos.top+$trigger.outerHeight();if(opt.$layer&&!opt.hovering&&(!(e.pageX>=pos.left&&e.pageX<=pos.right)||!(e.pageY>=pos.top&&e.pageY<=pos.bottom))){setTimeout(function(){if(!opt.hovering&&opt.$menu!==null&&typeof opt.$menu!=='undefined'){opt.$menu.trigger('contextmenu:hide');}},50);}});}},hide:function(opt,force){var $trigger=$(this);if(!opt){opt=$trigger.data('contextMenu')||{};} 3935if(!force&&opt.events&&opt.events.hide.call($trigger,opt)===false){return;} 3936$trigger.removeData('contextMenu').removeClass('context-menu-active');if(opt.$layer){setTimeout((function($layer){return function(){$layer.remove();};})(opt.$layer),10);try{delete opt.$layer;}catch(e){opt.$layer=null;}} 3937$currentTrigger=null;opt.$menu.find('.'+opt.classNames.hover).trigger('contextmenu:blur');opt.$selected=null;opt.$menu.find('.'+opt.classNames.visible).removeClass(opt.classNames.visible);$(document).off('.contextMenuAutoHide').off('keydown.contextMenu');if(opt.$menu){opt.$menu[opt.animation.hide](opt.animation.duration,function(){if(opt.build){opt.$menu.remove();$.each(opt,function(key){switch(key){case'ns':case'selector':case'build':case'trigger':return true;default:opt[key]=undefined;try{delete opt[key];}catch(e){} 3938return true;}});} 3939setTimeout(function(){$trigger.trigger('contextmenu:hidden');},10);});}},create:function(opt,root){if(typeof root==='undefined'){root=opt;} 3940opt.$menu=$('<ul class="context-menu-list"></ul>').addClass(opt.className||'').data({'contextMenu':opt,'contextMenuRoot':root});$.each(['callbacks','commands','inputs'],function(i,k){opt[k]={};if(!root[k]){root[k]={};}});if(!root.accesskeys){root.accesskeys={};} 3941function createNameNode(item){var $name=$('<span></span>');if(item._accesskey){if(item._beforeAccesskey){$name.append(document.createTextNode(item._beforeAccesskey));} 3942$('<span></span>').addClass('context-menu-accesskey').text(item._accesskey).appendTo($name);if(item._afterAccesskey){$name.append(document.createTextNode(item._afterAccesskey));}}else{if(item.isHtmlName){if(typeof item.accesskey!=='undefined'){throw new Error('accesskeys are not compatible with HTML names and cannot be used together in the same item');} 3943$name.html(item.name);}else{$name.text(item.name);}} 3944return $name;} 3945$.each(opt.items,function(key,item){var $t=$('<li class="context-menu-item"></li>').addClass(item.className||''),$label=null,$input=null;$t.on('click',$.noop);if(typeof item==='string'||item.type==='cm_separator'){item={type:'cm_seperator'};} 3946item.$node=$t.data({'contextMenu':opt,'contextMenuRoot':root,'contextMenuKey':key});if(typeof item.accesskey!=='undefined'){var aks=splitAccesskey(item.accesskey);for(var i=0,ak;ak=aks[i];i++){if(!root.accesskeys[ak]){root.accesskeys[ak]=item;var matched=item.name.match(new RegExp('^(.*?)('+ak+')(.*)$','i'));if(matched){item._beforeAccesskey=matched[1];item._accesskey=matched[2];item._afterAccesskey=matched[3];} 3947break;}}} 3948if(item.type&&types[item.type]){types[item.type].call($t,item,opt,root);$.each([opt,root],function(i,k){k.commands[key]=item;if($.isFunction(item.callback)&&(typeof k.callbacks[key]==='undefined'||typeof opt.type==='undefined')){k.callbacks[key]=item.callback;}});}else{if(item.type==='cm_seperator'){$t.addClass('context-menu-separator '+root.classNames.notSelectable);}else if(item.type==='html'){$t.addClass('context-menu-html '+root.classNames.notSelectable);}else if(item.type!=='sub'&&item.type){$label=$('<label></label>').appendTo($t);createNameNode(item).appendTo($label);$t.addClass('context-menu-input');opt.hasTypes=true;$.each([opt,root],function(i,k){k.commands[key]=item;k.inputs[key]=item;});}else if(item.items){item.type='sub';} 3949switch(item.type){case'cm_seperator':break;case'text':$input=$('<input type="text" value="1" name="" />').attr('name','context-menu-input-'+key).val(item.value||'').appendTo($label);break;case'textarea':$input=$('<textarea name=""></textarea>').attr('name','context-menu-input-'+key).val(item.value||'').appendTo($label);if(item.height){$input.height(item.height);} 3950break;case'checkbox':$input=$('<input type="checkbox" value="1" name="" />').attr('name','context-menu-input-'+key).val(item.value||'').prop('checked',!!item.selected).prependTo($label);break;case'radio':$input=$('<input type="radio" value="1" name="" />').attr('name','context-menu-input-'+item.radio).val(item.value||'').prop('checked',!!item.selected).prependTo($label);break;case'select':$input=$('<select name=""></select>').attr('name','context-menu-input-'+key).appendTo($label);if(item.options){$.each(item.options,function(value,text){$('<option></option>').val(value).text(text).appendTo($input);});$input.val(item.selected);} 3951break;case'sub':createNameNode(item).appendTo($t);item.appendTo=item.$node;$t.data('contextMenu',item).addClass('context-menu-submenu');item.callback=null;if('function'===typeof item.items.then){op.processPromises(item,root,item.items);}else{op.create(item,root);} 3952break;case'html':$(item.html).appendTo($t);break;default:$.each([opt,root],function(i,k){k.commands[key]=item;if($.isFunction(item.callback)&&(typeof k.callbacks[key]==='undefined'||typeof opt.type==='undefined')){k.callbacks[key]=item.callback;}});createNameNode(item).appendTo($t);break;} 3953if(item.type&&item.type!=='sub'&&item.type!=='html'&&item.type!=='cm_seperator'){$input.on('focus',handle.focusInput).on('blur',handle.blurInput);if(item.events){$input.on(item.events,opt);}} 3954if(item.icon){if($.isFunction(item.icon)){item._icon=item.icon.call(this,this,$t,key,item);}else{if(typeof(item.icon)==='string'&&(item.icon.substring(0,4)==='fab '||item.icon.substring(0,4)==='fas '||item.icon.substring(0,4)==='far '||item.icon.substring(0,4)==='fal ')){$t.addClass(root.classNames.icon+' '+root.classNames.icon+'--fa5');item._icon=$('<i class="'+item.icon+'"></i>');}else if(typeof(item.icon)==='string'&&item.icon.substring(0,3)==='fa-'){item._icon=root.classNames.icon+' '+root.classNames.icon+'--fa fa '+item.icon;}else{item._icon=root.classNames.icon+' '+root.classNames.icon+'-'+item.icon;}} 3955if(typeof(item._icon)==="string"){$t.addClass(item._icon);}else{$t.prepend(item._icon);}}} 3956item.$input=$input;item.$label=$label;$t.appendTo(opt.$menu);if(!opt.hasTypes&&$.support.eventSelectstart){$t.on('selectstart.disableTextSelect',handle.abortevent);}});if(!opt.$node){opt.$menu.css('display','none').addClass('context-menu-root');} 3957opt.$menu.appendTo(opt.appendTo||document.body);},resize:function($menu,nested){var domMenu;$menu.css({position:'absolute',display:'block'});$menu.data('width',(domMenu=$menu.get(0)).getBoundingClientRect?Math.ceil(domMenu.getBoundingClientRect().width):$menu.outerWidth()+1);$menu.css({position:'static',minWidth:'0px',maxWidth:'100000px'});$menu.find('> li > ul').each(function(){op.resize($(this),true);});if(!nested){$menu.find('ul').addBack().css({position:'',display:'',minWidth:'',maxWidth:''}).outerWidth(function(){return $(this).data('width');});}},update:function(opt,root){var $trigger=this;if(typeof root==='undefined'){root=opt;op.resize(opt.$menu);} 3958var hasVisibleItems=false;opt.$menu.children().each(function(){var $item=$(this),key=$item.data('contextMenuKey'),item=opt.items[key],disabled=($.isFunction(item.disabled)&&item.disabled.call($trigger,key,root))||item.disabled===true,visible;if($.isFunction(item.visible)){visible=item.visible.call($trigger,key,root);}else if(typeof item.visible!=='undefined'){visible=item.visible===true;}else{visible=true;} 3959if(visible){hasVisibleItems=true;} 3960$item[visible?'show':'hide']();$item[disabled?'addClass':'removeClass'](root.classNames.disabled);if($.isFunction(item.icon)){$item.removeClass(item._icon);var iconResult=item.icon.call(this,$trigger,$item,key,item);if(typeof(iconResult)==="string"){$item.addClass(iconResult);}else{$item.prepend(iconResult);}} 3961if(item.type){$item.find('input, select, textarea').prop('disabled',disabled);switch(item.type){case'text':case'textarea':item.$input.val(item.value||'');break;case'checkbox':case'radio':item.$input.val(item.value||'').prop('checked',!!item.selected);break;case'select':item.$input.val((item.selected===0?"0":item.selected)||'');break;}} 3962if(item.$menu){var subMenuHasVisibleItems=op.update.call($trigger,item,root);if(subMenuHasVisibleItems){hasVisibleItems=true;}}});return hasVisibleItems;},layer:function(opt,zIndex){var $layer=opt.$layer=$('<div id="context-menu-layer"></div>').css({height:$win.height(),width:$win.width(),display:'block',position:'fixed','z-index':zIndex,top:0,left:0,opacity:0,filter:'alpha(opacity=0)','background-color':'#000'}).data('contextMenuRoot',opt).insertBefore(this).on('contextmenu',handle.abortevent).on('mousedown',handle.layerClick);if(typeof document.body.style.maxWidth==='undefined'){$layer.css({'position':'absolute','height':$(document).height()});} 3963return $layer;},processPromises:function(opt,root,promise){opt.$node.addClass(root.classNames.iconLoadingClass);function completedPromise(opt,root,items){if(typeof items==='undefined'){errorPromise(undefined);} 3964finishPromiseProcess(opt,root,items);} 3965function errorPromise(opt,root,errorItem){if(typeof errorItem==='undefined'){errorItem={"error":{name:"No items and no error item",icon:"context-menu-icon context-menu-icon-quit"}};if(window.console){(console.error||console.log).call(console,'When you reject a promise, provide an "items" object, equal to normal sub-menu items');}}else if(typeof errorItem==='string'){errorItem={"error":{name:errorItem}};} 3966finishPromiseProcess(opt,root,errorItem);} 3967function finishPromiseProcess(opt,root,items){if(typeof root.$menu==='undefined'||!root.$menu.is(':visible')){return;} 3968opt.$node.removeClass(root.classNames.iconLoadingClass);opt.items=items;op.create(opt,root,true);op.update(opt,root);root.positionSubmenu.call(opt.$node,opt.$menu);} 3969promise.then(completedPromise.bind(this,opt,root),errorPromise.bind(this,opt,root));},activated:function(opt){var $menu=opt.$menu;var $menuOffset=$menu.offset();var winHeight=$(window).height();var winScrollTop=$(window).scrollTop();var menuHeight=$menu.height();if(menuHeight>winHeight){$menu.css({'height':winHeight+'px','overflow-x':'hidden','overflow-y':'auto','top':winScrollTop+'px'});}else if(($menuOffset.top<winScrollTop)||($menuOffset.top+menuHeight>winScrollTop+winHeight)){$menu.css({'top':winScrollTop+'px'});}}};function splitAccesskey(val){var t=val.split(/\s+/);var keys=[];for(var i=0,k;k=t[i];i++){k=k.charAt(0).toUpperCase();keys.push(k);} 3970return keys;} 3971$.fn.contextMenu=function(operation){var $t=this,$o=operation;if(this.length>0){if(typeof operation==='undefined'){this.first().trigger('contextmenu');}else if(typeof operation.x!=='undefined'&&typeof operation.y!=='undefined'){this.first().trigger($.Event('contextmenu',{pageX:operation.x,pageY:operation.y,mouseButton:operation.button}));}else if(operation==='hide'){var $menu=this.first().data('contextMenu')?this.first().data('contextMenu').$menu:null;if($menu){$menu.trigger('contextmenu:hide');}}else if(operation==='destroy'){$.contextMenu('destroy',{context:this});}else if($.isPlainObject(operation)){operation.context=this;$.contextMenu('create',operation);}else if(operation){this.removeClass('context-menu-disabled');}else if(!operation){this.addClass('context-menu-disabled');}}else{$.each(menus,function(){if(this.selector===$t.selector){$o.data=this;$.extend($o.data,{trigger:'demand'});}});handle.contextmenu.call($o.target,$o);} 3972return this;};$.contextMenu=function(operation,options){if(typeof operation!=='string'){options=operation;operation='create';} 3973if(typeof options==='string'){options={selector:options};}else if(typeof options==='undefined'){options={};} 3974var o=$.extend(true,{},defaults,options||{});var $document=$(document);var $context=$document;var _hasContext=false;if(!o.context||!o.context.length){o.context=document;}else{$context=$(o.context).first();o.context=$context.get(0);_hasContext=!$(o.context).is(document);} 3975switch(operation){case'update':if(_hasContext){op.update($context);}else{for(var menu in menus){if(menus.hasOwnProperty(menu)){op.update(menus[menu]);}}} 3976break;case'create':if(!o.selector){throw new Error('No selector specified');} 3977if(o.selector.match(/.context-menu-(list|item|input)($|\s)/)){throw new Error('Cannot bind to selector "'+o.selector+'" as it contains a reserved className');} 3978if(!o.build&&(!o.items||$.isEmptyObject(o.items))){throw new Error('No Items specified');} 3979counter++;o.ns='.contextMenu'+counter;if(!_hasContext){namespaces[o.selector]=o.ns;} 3980menus[o.ns]=o;if(!o.trigger){o.trigger='right';} 3981if(!initialized){var itemClick=o.itemClickEvent==='click'?'click.contextMenu':'mouseup.contextMenu';var contextMenuItemObj={'contextmenu:focus.contextMenu':handle.focusItem,'contextmenu:blur.contextMenu':handle.blurItem,'contextmenu.contextMenu':handle.abortevent,'mouseenter.contextMenu':handle.itemMouseenter,'mouseleave.contextMenu':handle.itemMouseleave};contextMenuItemObj[itemClick]=handle.itemClick;$document.on({'contextmenu:hide.contextMenu':handle.hideMenu,'prevcommand.contextMenu':handle.prevItem,'nextcommand.contextMenu':handle.nextItem,'contextmenu.contextMenu':handle.abortevent,'mouseenter.contextMenu':handle.menuMouseenter,'mouseleave.contextMenu':handle.menuMouseleave},'.context-menu-list').on('mouseup.contextMenu','.context-menu-input',handle.inputClick).on(contextMenuItemObj,'.context-menu-item');initialized=true;} 3982$context.on('contextmenu'+o.ns,o.selector,o,handle.contextmenu);if(_hasContext){$context.on('remove'+o.ns,function(){$(this).contextMenu('destroy');});} 3983switch(o.trigger){case'hover':$context.on('mouseenter'+o.ns,o.selector,o,handle.mouseenter).on('mouseleave'+o.ns,o.selector,o,handle.mouseleave);break;case'left':$context.on('click'+o.ns,o.selector,o,handle.click);break;case'touchstart':$context.on('touchstart'+o.ns,o.selector,o,handle.click);break;} 3984if(!o.build){op.create(o);} 3985break;case'destroy':var $visibleMenu;if(_hasContext){var context=o.context;$.each(menus,function(ns,o){if(!o){return true;} 3986if(!$(context).is(o.selector)){return true;} 3987$visibleMenu=$('.context-menu-list').filter(':visible');if($visibleMenu.length&&$visibleMenu.data().contextMenuRoot.$trigger.is($(o.context).find(o.selector))){$visibleMenu.trigger('contextmenu:hide',{force:true});} 3988try{if(menus[o.ns].$menu){menus[o.ns].$menu.remove();} 3989delete menus[o.ns];}catch(e){menus[o.ns]=null;} 3990$(o.context).off(o.ns);return true;});}else if(!o.selector){$document.off('.contextMenu .contextMenuAutoHide');$.each(menus,function(ns,o){$(o.context).off(o.ns);});namespaces={};menus={};counter=0;initialized=false;$('#context-menu-layer, .context-menu-list').remove();}else if(namespaces[o.selector]){$visibleMenu=$('.context-menu-list').filter(':visible');if($visibleMenu.length&&$visibleMenu.data().contextMenuRoot.$trigger.is(o.selector)){$visibleMenu.trigger('contextmenu:hide',{force:true});} 3991try{if(menus[namespaces[o.selector]].$menu){menus[namespaces[o.selector]].$menu.remove();} 3992delete menus[namespaces[o.selector]];}catch(e){menus[namespaces[o.selector]]=null;} 3993$document.off(namespaces[o.selector]);} 3994break;case'html5':if((!$.support.htmlCommand&&!$.support.htmlMenuitem)||(typeof options==='boolean'&&options)){$('menu[type="context"]').each(function(){if(this.id){$.contextMenu({selector:'[contextmenu='+this.id+']',items:$.contextMenu.fromMenu(this)});}}).css('display','none');} 3995break;default:throw new Error('Unknown operation "'+operation+'"');} 3996return this;};$.contextMenu.setInputValues=function(opt,data){if(typeof data==='undefined'){data={};} 3997$.each(opt.inputs,function(key,item){switch(item.type){case'text':case'textarea':item.value=data[key]||'';break;case'checkbox':item.selected=data[key]?true:false;break;case'radio':item.selected=(data[item.radio]||'')===item.value;break;case'select':item.selected=data[key]||'';break;}});};$.contextMenu.getInputValues=function(opt,data){if(typeof data==='undefined'){data={};} 3998$.each(opt.inputs,function(key,item){switch(item.type){case'text':case'textarea':case'select':data[key]=item.$input.val();break;case'checkbox':data[key]=item.$input.prop('checked');break;case'radio':if(item.$input.prop('checked')){data[item.radio]=item.value;} 3999break;}});return data;};function inputLabel(node){return(node.id&&$('label[for="'+node.id+'"]').val())||node.name;} 4000function menuChildren(items,$children,counter){if(!counter){counter=0;} 4001$children.each(function(){var $node=$(this),node=this,nodeName=this.nodeName.toLowerCase(),label,item;if(nodeName==='label'&&$node.find('input, textarea, select').length){label=$node.text();$node=$node.children().first();node=$node.get(0);nodeName=node.nodeName.toLowerCase();} 4002switch(nodeName){case'menu':item={name:$node.attr('label'),items:{}};counter=menuChildren(item.items,$node.children(),counter);break;case'a':case'button':item={name:$node.text(),disabled:!!$node.attr('disabled'),callback:(function(){return function(){$node.get(0).click();};})()};break;case'menuitem':case'command':switch($node.attr('type')){case undefined:case'command':case'menuitem':item={name:$node.attr('label'),disabled:!!$node.attr('disabled'),icon:$node.attr('icon'),callback:(function(){return function(){$node.get(0).click();};})()};break;case'checkbox':item={type:'checkbox',disabled:!!$node.attr('disabled'),name:$node.attr('label'),selected:!!$node.attr('checked')};break;case'radio':item={type:'radio',disabled:!!$node.attr('disabled'),name:$node.attr('label'),radio:$node.attr('radiogroup'),value:$node.attr('id'),selected:!!$node.attr('checked')};break;default:item=undefined;} 4003break;case'hr':item='-------';break;case'input':switch($node.attr('type')){case'text':item={type:'text',name:label||inputLabel(node),disabled:!!$node.attr('disabled'),value:$node.val()};break;case'checkbox':item={type:'checkbox',name:label||inputLabel(node),disabled:!!$node.attr('disabled'),selected:!!$node.attr('checked')};break;case'radio':item={type:'radio',name:label||inputLabel(node),disabled:!!$node.attr('disabled'),radio:!!$node.attr('name'),value:$node.val(),selected:!!$node.attr('checked')};break;default:item=undefined;break;} 4004break;case'select':item={type:'select',name:label||inputLabel(node),disabled:!!$node.attr('disabled'),selected:$node.val(),options:{}};$node.children().each(function(){item.options[this.value]=$(this).text();});break;case'textarea':item={type:'textarea',name:label||inputLabel(node),disabled:!!$node.attr('disabled'),value:$node.val()};break;case'label':break;default:item={type:'html',html:$node.clone(true)};break;} 4005if(item){counter++;items['key'+counter]=item;}});return counter;} 4006$.contextMenu.fromMenu=function(element){var $this=$(element),items={};menuChildren(items,$this.children());return items;};$.contextMenu.defaults=defaults;$.contextMenu.types=types;$.contextMenu.handle=handle;$.contextMenu.op=op;$.contextMenu.menus=menus;}); 4007/*! jQuery UI - v1.12.1 - 2016-09-16 4008 * http://jqueryui.com 4009 * Includes: position.js 4010 * Copyright jQuery Foundation and other contributors; Licensed MIT */ 4011(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory);}else{factory(jQuery);}}(function($){$.ui=$.ui||{};var version=$.ui.version="1.12.1";/*! 4012 * jQuery UI Position 1.12.1 4013 * http://jqueryui.com 4014 * 4015 * Copyright jQuery Foundation and other contributors 4016 * Released under the MIT license. 4017 * http://jquery.org/license 4018 * 4019 * http://api.jqueryui.com/position/ 4020 */ 4021(function(){var cachedScrollbarWidth,max=Math.max,abs=Math.abs,rhorizontal=/left|center|right/,rvertical=/top|center|bottom/,roffset=/[\+\-]\d+(\.[\d]+)?%?/,rposition=/^\w+/,rpercent=/%$/,_position=$.fn.position;function getOffsets(offsets,width,height){return[parseFloat(offsets[0])*(rpercent.test(offsets[0])?width / 100:1),parseFloat(offsets[1])*(rpercent.test(offsets[1])?height / 100:1)];} 4022function parseCss(element,property){return parseInt($.css(element,property),10)||0;} 4023function getDimensions(elem){var raw=elem[0];if(raw.nodeType===9){return{width:elem.width(),height:elem.height(),offset:{top:0,left:0}};} 4024if($.isWindow(raw)){return{width:elem.width(),height:elem.height(),offset:{top:elem.scrollTop(),left:elem.scrollLeft()}};} 4025if(raw.preventDefault){return{width:0,height:0,offset:{top:raw.pageY,left:raw.pageX}};} 4026return{width:elem.outerWidth(),height:elem.outerHeight(),offset:elem.offset()};} 4027$.position={scrollbarWidth:function(){if(cachedScrollbarWidth!==undefined){return cachedScrollbarWidth;}
vendor: 5,628 bytes, lines 4028-4044
4028var w1,w2,div=$("<div "+"style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>"+"<div style='height:100px;width:auto;'></div></div>"),innerDiv=div.children()[0];$("body").append(div);w1=innerDiv.offsetWidth;div.css("overflow","scroll");w2=innerDiv.offsetWidth;if(w1===w2){w2=div[0].clientWidth;} 4029div.remove();return(cachedScrollbarWidth=w1-w2);},getScrollInfo:function(within){var overflowX=within.isWindow||within.isDocument?"":within.element.css("overflow-x"),overflowY=within.isWindow||within.isDocument?"":within.element.css("overflow-y"),hasOverflowX=overflowX==="scroll"||(overflowX==="auto"&&within.width<within.element[0].scrollWidth),hasOverflowY=overflowY==="scroll"||(overflowY==="auto"&&within.height<within.element[0].scrollHeight);return{width:hasOverflowY?$.position.scrollbarWidth():0,height:hasOverflowX?$.position.scrollbarWidth():0};},getWithinInfo:function(element){var withinElement=$(element||window),isWindow=$.isWindow(withinElement[0]),isDocument=!!withinElement[0]&&withinElement[0].nodeType===9,hasOffset=!isWindow&&!isDocument;return{element:withinElement,isWindow:isWindow,isDocument:isDocument,offset:hasOffset?$(element).offset():{left:0,top:0},scrollLeft:withinElement.scrollLeft(),scrollTop:withinElement.scrollTop(),width:withinElement.outerWidth(),height:withinElement.outerHeight()};}};$.fn.position=function(options){if(!options||!options.of){return _position.apply(this,arguments);} 4030options=$.extend({},options);var atOffset,targetWidth,targetHeight,targetOffset,basePosition,dimensions,target=$(options.of),within=$.position.getWithinInfo(options.within),scrollInfo=$.position.getScrollInfo(within),collision=(options.collision||"flip").split(" "),offsets={};dimensions=getDimensions(target);if(target[0].preventDefault){options.at="left top";} 4031targetWidth=dimensions.width;targetHeight=dimensions.height;targetOffset=dimensions.offset;basePosition=$.extend({},targetOffset);$.each(["my","at"],function(){var pos=(options[this]||"").split(" "),horizontalOffset,verticalOffset;if(pos.length===1){pos=rhorizontal.test(pos[0])?pos.concat(["center"]):rvertical.test(pos[0])?["center"].concat(pos):["center","center"];} 4032pos[0]=rhorizontal.test(pos[0])?pos[0]:"center";pos[1]=rvertical.test(pos[1])?pos[1]:"center";horizontalOffset=roffset.exec(pos[0]);verticalOffset=roffset.exec(pos[1]);offsets[this]=[horizontalOffset?horizontalOffset[0]:0,verticalOffset?verticalOffset[0]:0];options[this]=[rposition.exec(pos[0])[0],rposition.exec(pos[1])[0]];});if(collision.length===1){collision[1]=collision[0];} 4033if(options.at[0]==="right"){basePosition.left+=targetWidth;}else if(options.at[0]==="center"){basePosition.left+=targetWidth / 2;} 4034if(options.at[1]==="bottom"){basePosition.top+=targetHeight;}else if(options.at[1]==="center"){basePosition.top+=targetHeight / 2;} 4035atOffset=getOffsets(offsets.at,targetWidth,targetHeight);basePosition.left+=atOffset[0];basePosition.top+=atOffset[1];return this.each(function(){var collisionPosition,using,elem=$(this),elemWidth=elem.outerWidth(),elemHeight=elem.outerHeight(),marginLeft=parseCss(this,"marginLeft"),marginTop=parseCss(this,"marginTop"),collisionWidth=elemWidth+marginLeft+parseCss(this,"marginRight")+ 4036scrollInfo.width,collisionHeight=elemHeight+marginTop+parseCss(this,"marginBottom")+ 4037scrollInfo.height,position=$.extend({},basePosition),myOffset=getOffsets(offsets.my,elem.outerWidth(),elem.outerHeight());if(options.my[0]==="right"){position.left-=elemWidth;}else if(options.my[0]==="center"){position.left-=elemWidth / 2;} 4038if(options.my[1]==="bottom"){position.top-=elemHeight;}else if(options.my[1]==="center"){position.top-=elemHeight / 2;} 4039position.left+=myOffset[0];position.top+=myOffset[1];collisionPosition={marginLeft:marginLeft,marginTop:marginTop};$.each(["left","top"],function(i,dir){if($.ui.position[collision[i]]){$.ui.position[collision[i]][dir](position,{targetWidth:targetWidth,targetHeight:targetHeight,elemWidth:elemWidth,elemHeight:elemHeight,collisionPosition:collisionPosition,collisionWidth:collisionWidth,collisionHeight:collisionHeight,offset:[atOffset[0]+myOffset[0],atOffset[1]+myOffset[1]],my:options.my,at:options.at,within:within,elem:elem});}});if(options.using){using=function(props){var left=targetOffset.left-position.left,right=left+targetWidth-elemWidth,top=targetOffset.top-position.top,bottom=top+targetHeight-elemHeight,feedback={target:{element:target,left:targetOffset.left,top:targetOffset.top,width:targetWidth,height:targetHeight},element:{element:elem,left:position.left,top:position.top,width:elemWidth,height:elemHeight},horizontal:right<0?"left":left>0?"right":"center",vertical:bottom<0?"top":top>0?"bottom":"middle"};if(targetWidth<elemWidth&&abs(left+right)<targetWidth){feedback.horizontal="center";} 4040if(targetHeight<elemHeight&&abs(top+bottom)<targetHeight){feedback.vertical="middle";} 4041if(max(abs(left),abs(right))>max(abs(top),abs(bottom))){feedback.important="horizontal";}else{feedback.important="vertical";} 4042options.using.call(this,props,feedback);};} 4043elem.offset($.extend(position,{using:using}));});};$.ui.position={fit:{left:function(position,data){var within=data.within,withinOffset=within.isWindow?within.scrollLeft:within.offset.left,outerWidth=within.width,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=withinOffset-collisionPosLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-withinOffset,newOverRight;if(data.collisionWidth>outerWidth){if(overLeft>0&&overRight<=0){newOverRight=position.left+overLeft+data.collisionWidth-outerWidth- 4044withinOffset;position.left+=overLeft-newOverRight;}else if(overRight>
40440&&overLeft<=0){position.left=withinOffset;}else{if(overLeft>overRight){position.left=withinOffset+outerWidth-data.collisionWidth;}else{position.left=withinOffset;}}}else if(overLeft>0){position.left+=overLeft;}else if(overRight>0){position.left-=overRight;}else{position.left=max(position.left-collisionPosLeft,position.left);}},top:function(position,data){var within=data.within,withinOffset=within.isWindow?within.scrollTop:within.offset.top,outerHeight=data.within.height,collisionPosTop=position.top-data.collisionPosition.marginTop,overTop=withinOffset-collisionPosTop,overBottom=collisionPosTop+data.collisionHeight-outerHeight-withinOffset,newOverBottom;if(data.collisionHeight>outerHeight){if(overTop>0&&overBottom<=0){newOverBottom=position.top+overTop+data.collisionHeight-outerHeight- 4045withinOffset;position.top+=overTop-newOverBottom;}else if(overBottom>0&&overTop<=0){position.top=withinOffset;}else{if(overTop>overBottom){position.top=withinOffset+outerHeight-data.collisionHeight;}else{position.top=withinOffset;}}}else if(overTop>0){position.top+=overTop;}else if(overBottom>0){position.top-=overBottom;}else{position.top=max(position.top-collisionPosTop,position.top);}}},flip:{left:function(position,data){var within=data.within,withinOffset=within.offset.left+within.scrollLeft,outerWidth=within.width,offsetLeft=within.isWindow?within.scrollLeft:within.offset.left,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=collisionPosLeft-offsetLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-offsetLeft,myOffset=data.my[0]==="left"?-data.elemWidth:data.my[0]==="right"?data.elemWidth:0,atOffset=data.at[0]==="left"?data.targetWidth:data.at[0]==="right"?-data.targetWidth:0,offset=-2*data.offset[0],newOverRight,newOverLeft;if(overLeft<0){newOverRight=position.left+myOffset+atOffset+offset+data.collisionWidth- 4046outerWidth-withinOffset;if(newOverRight<0||newOverRight<abs(overLeft)){position.left+=myOffset+atOffset+offset;}}else if(overRight>0){newOverLeft=position.left-data.collisionPosition.marginLeft+myOffset+ 4047atOffset+offset-offsetLeft;if(newOverLeft>0||abs(newOverLeft)<overRight){position.left+=myOffset+atOffset+offset;}}},top:function(position,data){var within=data.within,withinOffset=within.offset.top+within.scrollTop,outerHeight=within.height,offsetTop=within.isWindow?within.scrollTop:within.offset.top,collisionPosTop=position.top-data.collisionPosition.marginTop,overTop=collisionPosTop-offsetTop,overBottom=collisionPosTop+data.collisionHeight-outerHeight-offsetTop,top=data.my[1]==="top",myOffset=top?-data.elemHeight:data.my[1]==="bottom"?data.elemHeight:0,atOffset=data.at[1]==="top"?data.targetHeight:data.at[1]==="bottom"?-data.targetHeight:0,offset=-2*data.offset[1],newOverTop,newOverBottom;if(overTop<0){newOverBottom=position.top+myOffset+atOffset+offset+data.collisionHeight- 4048outerHeight-withinOffset;if(newOverBottom<0||newOverBottom<abs(overTop)){position.top+=myOffset+atOffset+offset;}}else if(overBottom>0){newOverTop=position.top-data.collisionPosition.marginTop+myOffset+atOffset+ 4049offset-offsetTop;if(newOverTop>0||abs(newOverTop)<overBottom){position.top+=myOffset+atOffset+offset;}}}},flipfit:{left:function(){$.ui.position.flip.left.apply(this,arguments);$.ui.position.fit.left.apply(this,arguments);},top:function(){$.ui.position.flip.top.apply(this,arguments);$.ui.position.fit.top.apply(this,arguments);}}};})();var position=$.ui.position;})); 4050Eco.Organism.Container=Eco.OrganismDataStore.extend({_containerData:null,_maskData:false,_childProperties:null,__construct:function(jqel_organism){this._parent(jqel_organism);this._containerData={};this._childProperties=[];if(jqel_organism.data('maskData')){this._maskData=true;}},_initializeOwnEntityName:function(){var name=this.jqel.data('name');if(!name){permaclog(this.jqel);throw Error('Invalid or missing container name `'+name+'` for the ^^^ container organism.');} 4051return name;},initializeValue:function(valuesByReference,isRootNodeOfInitializationCall){if(this._hasInitializedValue!==true){var passThroughValuesByReference=valuesByReference;if(this._maskData){passThroughValuesByReference={};Eco.Util.setNestedKey(valuesByReference,this.getOwnEntityName(),passThroughValuesByReference);} 4052this._parent(passThroughValuesByReference);if(this._maskData){if(!this._containerData){this._containerData={};} 4053this._containerData=Basix.extend(Basix.EXTEND_RECURSIVE,{},passThroughValuesByReference,this._containerData);}}else{this._parent(valuesByReference,isRootNodeOfInitializationCall);}},setValueFromInput:function(value,sourceOrganism,name,originalSourceOrganism,inputSourceOrganism){if(this._maskData){if(this.getOwnEntityName()!==name&&name){let newValue=value.getCleanValue();if(this._containerData[name]===newValue){return;} 4054if(typeof(newValue)=='object'){if(JSON.stringify(newValue)===JSON.stringify(this._containerData[name])){return;}} 4055this._containerData[name]=value.getCleanValue();this._parent(value,sourceOrganism,name,originalSourceOrganism,inputSourceOrganism);}else{clog("force setting full values",this.jqel.data('external_name'));this._containerData=value.getCleanValue();} 4056var duplicateData=Basix.extend({},this._containerData);this._parent(new Eco.OrganismValue(duplicateData,duplicateData),this,this.getOwnEntityName(),originalSourceOrganism,inputSourceOrganism);}else{if(this.getOwnEntityName()!==name&&name){if(this._childProperties.indexOf(name)===-1){this._childProperties.push(name);}} 4057this._parent(value,sourceOrganism,name,originalSourceOrganism,inputSourceOrganism);}},getValue:function(name){if(this._maskData){if(!name||name===this.getOwnEntityName()){var duplicateData=Basix.extend({},this._containerData);return duplicateData;} 4058if(this._containerData.hasOwnProperty(name)){return this._containerData[name];} 4059return null;}else{if(this.getOwnEntityName()==name||!name){var values={};for(var i=0;i<this._childProperties.length;i++){var prop=this._childProperties[i];values[prop]=this._parent(prop);} 4060return values;} 4061return this._parent(name);}},readDomValue:function(){return undefined;},val:function(value){if(value===undefined){return this.getValue();}else{if(jQuery.isPlainObject(value)){var self=this;jQuery.each(value,function(subName,subValue){var jqel_subElement=self.jqel.find('[data-name='+subName+']');if(jqel_subElement.size()){var organism=jqel_subElement.data('organism');if(organism){if(!organism.val){cwarn('Organism does not have a val() function. Organism: '+organism.getOwnEntityName(),organism);}else{organism.val(subValue);}}else{cwarn('Trying to set sub value '+subName+' in a val() call on container '+self.getOwnEntityName()+'. The element was found but the organism could not be found.');}}else{cwarn('Trying to set sub value '+subName+' in a val() call on container '+self.getOwnEntityName()+' but the element can not be found.');}});}else{cwarn('val() called on a container but a non object based value was passed. Entity: ',this.getOwnEntityName,value);}}},focus:function(onlyIfSingle){var jqel_fields=this.jqel.find('[class*=molecule_field-]').not(this.jqel.find('.molecule_field-hidden'));if(jqel_fields.length===1||!onlyIfSingle){var jqel_firstField=jqel_fields.first();if(jqel_firstField&&jqel_firstField.length){var organism=jqel_firstField.data('organism');clog('organism',jqel_firstField,organism);if(organism){organism.focus();}}}}}); 4062MMI.Util.namespace('Be.Genome.Item.Layout.Edit');Be.Genome.Item.Layout.Edit={_pageStructure:[],_scrollToItem:false,_scrollTimer:0,_layoutEditorSettings:{},_listOfFields:[],_currentCutElement:false,_currentCutData:{},_treeScrollTop:0,ACTIVE_CLASS:'htmlEditorActive',_jqel:false,_pageRootScrollingElement:jQuery("html, body"),createLayoutTree:function(jqel){this._listOfFields=[];this._jqel=jqel;this._pageStructure=this.refreshLayoutData();var self=this;var jqel_tree=jQuery('<ul class="hasChildren treeRoot"></ul>');var depth=1;
4062jQuery.each(this._pageStructure,function(n,item){jqel_tree.append(self.generateLayoutTreeNode(item,depth));});jqel_tree.data('live_click_handler','beLayoutEditTreeNodeClick');jqel_tree.data('live_hover_handler','beLayoutEditTreeNodeHover');jqel.html('');jqel.append(jqel_tree);this.initializeContextMenu();},getFlatListOfFieldnames:function(){return this._listOfFields;},duplicateField:function(jqel_target){alert('Not yet implemented');},setCurrentCutElement:function(jqel_node){this._currentCutElement=jqel_node;var jqel_tree;if(jqel_node){jqel_tree=jqel_node.parents('.treeRoot').first();this._currentCutData=jqel_node.data();}else{jqel_tree=jQuery('.treeRoot').first();this._currentCutData={};} 4063jqel_tree.find('.currentCutItem').removeClass('currentCutItem');jqel_tree.find('.canNotPaste').removeClass('canNotPaste');jqel_tree.find('.pasteContainer').removeClass('pasteContainer');if(jqel_node){jqel_node.addClass('currentCutItem');var data=jqel_node.ecoData();var organismType=data.organismType;var jqel_containers=jqel_tree.find('.canHaveChildren');jqel_containers.each(function(){var jqel=jQuery(this);var allowed=jqel.ecoData('allowedChildren');if(allowed&&allowed.hasOwnProperty(organismType)){jqel.removeClass('canNotPaste');jqel.addClass('pasteContainer');}else{jqel.addClass('canNotPaste');jqel.removeClass('pasteContainer');jqel.find('.nodeChildren').first().children('.node').addClass('canNotPaste');}});}},initializeContextMenu:function(){var self=this;jQuery.contextMenu({selector:'.be_pageLayoutEditorToolsPanel .node',items:{scrollTo:{name:'Scroll To',callback:function(key,opt){var trigger=opt.$trigger;var data=trigger.ecoData();jQuery('.be_layoutEdit_hover').removeClass('be_layoutEdit_hover');data.jqel.addClass('be_layoutEdit_hover');self.scrollToItem(data.jqel);},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-menu"></i> '+opt.name);} 4064return'';},disabled:false},insertNewBefore:{name:'New Item Before',callback:function(key,opt){var targetNode=opt.$trigger;var parentNode=targetNode.parents('.node').first();if(!parentNode){cwarn('Somehow insertNewBefore was called on the top level of the menu. This should never happen, check the disabled callback logic.');return;} 4065var targetNodeData=targetNode.data();var parentNodeData=parentNode.data();var organismType=parentNodeData.organismType;var jqel_targetNode=targetNodeData.jqel;var jqel_parentNode=parentNodeData.jqel;Be.Genome.Item.Layout.Edit.addOrganismToLayoutDialog(jqel_parentNode,organismType,{target:jqel_targetNode,placement:'before'});},disabled:function(key,opt){var relativeBasisItem=opt.$trigger;var data=relativeBasisItem.data();var jqel_target=data.jqel;if(jqel_target.hasClass('ecoLayoutEditableContainer')){return true;} 4066return false;},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-add-o"></i> '+opt.name);} 4067return'';}},insertNewAfter:{name:'New Item After',callback:function(key,opt){var targetNode=opt.$trigger;var parentNode=targetNode.parents('.node').first();if(!parentNode){cwarn('Somehow insertNewAfter was called on the top level of the menu. This should never happen, check the disabled callback logic.');return;} 4068var targetNodeData=targetNode.data();var parentNodeData=parentNode.data();var organismType=parentNodeData.organismType;var jqel_targetNode=targetNodeData.jqel;var jqel_parentNode=parentNodeData.jqel;Be.Genome.Item.Layout.Edit.addOrganismToLayoutDialog(jqel_parentNode,organismType,{target:jqel_targetNode,placement:'after'});},disabled:function(key,opt){var relativeBasisItem=opt.$trigger;var data=relativeBasisItem.data();var jqel_target=data.jqel;if(jqel_target.hasClass('ecoLayoutEditableContainer')){return true;} 4069return false;},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-add-o"></i> '+opt.name);} 4070return'';}},edit:{name:'Edit This Item',callback:function(key,opt){var trigger=opt.$trigger;var data=trigger.ecoData();self.selectOrganism(data.jqel,data,trigger);},disabled:function(key,opt){return(self._currentCutElement!==false);},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-edit"></i> '+opt.name);} 4071return'';}},delete:{name:'Delete This Item',callback:function(key,opt){var jqel_trigger=opt.$trigger;var data=jqel_trigger.ecoData();clog(jqel_trigger,data,data.id);var jqel_element=jQuery('[name='+data.id+'],[data-name='+data.id+']');clog('el to delete',jqel_element);if(!jqel_element.size()){return;} 4072var jqel_treeRoot=jqel_trigger.parents('.treeRoot');jqel_treeRoot.find('.selected').removeClass('selected');jqel_trigger.addClass('selected');Be.Genome.Item.Layout.Edit.deleteOrganismFromLayout(jqel_element);},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-trash-can"></i> '+opt.name);} 4073return'';}}
4073,cut:{name:'Move this item to...',callback:function(key,opt){var trigger=opt.$trigger;self.setCurrentCutElement(trigger);},visible:function(key,opt){return(self._currentCutElement===false);},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-external-link"></i> '+opt.name);} 4074return'';},disabled:false},paste:{name:"Place Item Inside",callback:function(key,opt){var trigger=opt.$trigger;self.moveItem(self._currentCutElement,trigger,'inside');},visible:function(key,opt){if(self._currentCutElement===false){return false;} 4075return true;},disabled:function(key,opt){var trigger=opt.$trigger;if(trigger.hasClass('pasteContainer')){return false;} 4076return true;},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-input"></i> '+opt.name);} 4077return'';}},pasteBefore:{name:"Place Item Before",callback:function(key,opt){var trigger=opt.$trigger;self.moveItem(self._currentCutElement,trigger,'before');},visible:function(key,opt){if(self._currentCutElement===false){return false;} 4078return true;},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-arrow-fancy-left"></i> '+opt.name);} 4079return'';},disabled:function(key,opt){var trigger=opt.$trigger;if(trigger.parents('.node').first().hasClass('pasteContainer')){return false;}else{return true;}}},pasteAfter:{name:"Place Item After",callback:function(key,opt){var trigger=opt.$trigger;self.moveItem(self._currentCutElement,trigger,'after');},visible:function(key,opt){if(self._currentCutElement===false){return false;} 4080return true;},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-arrow-fancy-right"></i> '+opt.name);} 4081return'';},disabled:function(key,opt){var trigger=opt.$trigger;if(trigger.parents('.node').first().hasClass('pasteContainer')){return false;}else{return true;}}},open:{name:'Open Container',callback:function(key,opt){var trigger=opt.$trigger;trigger.addClass('open');self.recordTreeStates();},visible:function(key,opt){var trigger=opt.$trigger;if(trigger.hasClass('canHaveChildren')){if(!trigger.hasClass('open')){return true;}} 4082return false;},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-chevron-down"></i> '+opt.name);} 4083return'';},disabled:false},close:{name:'Close Container',callback:function(key,opt){var trigger=opt.$trigger;trigger.removeClass('open');self.recordTreeStates();},visible:function(key,opt){var trigger=opt.$trigger;if(trigger.hasClass('canHaveChildren')){if(trigger.hasClass('open')){return true;}} 4084return false;},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-chevron-up"></i> '+opt.name);} 4085return'';},disabled:false},cancel:{name:'Cancel Cut/Paste',callback:function(key,opt){self.setCurrentCutElement(false);},visible:function(key,opt){return(self._currentCutElement!==false);},icon:function(opt,$itemElement,itemKey,item){if(opt.name){$itemElement.html('<i class="eco eco-clear-o"></i> '+opt.name);} 4086return'';},disabled:false}}});},moveItem:function(jqel_movingItem,jqel_pasteLocationItem,position){var depth=1;if(jqel_movingItem.length){var jqel_movingElement=jqel_movingItem.data("jqel");} 4087if(!jqel_movingElement){jqel_movingElement=this._currentCutData.jqel;} 4088var jqel_pasteLocationElement=jqel_pasteLocationItem.data("jqel");switch(position){case'before':jqel_movingItem.detach();jqel_movingItem.insertBefore(jqel_pasteLocationItem);jqel_movingElement.detach();jqel_movingElement.insertBefore(jqel_pasteLocationElement);depth=jqel_pasteLocationItem.data('depth');break;case'after':jqel_movingItem.detach();jqel_movingItem.insertAfter(jqel_pasteLocationItem);jqel_movingElement.detach();jqel_movingElement.insertAfter(jqel_pasteLocationElement);depth=jqel_pasteLocationItem.data('depth');break;case'content':let jqel_children=jqel_pasteLocationItem.find('.nodeChildren').first();var jqel_fromChildren=jqel_movingItem.find('.nodeChildren').first();var jqel_movingFromChildContainer=jqel_movingElement.children('.molecule_children').first();var jqel_movingToChildContainer=jqel_pasteLocationElement.children('.molecule_children').first();var childrenToMove=jqel_movingFromChildContainer.children().detach();jqel_movingToChildContainer.append(childrenToMove);var jqel_childItemsToMove=jqel_fromChildren.children().detach();jqel_children.append(jqel_childItemsToMove);break;default:if(!jqel_pasteLocationItem){cwarn('invalid paste location');}else{let jqel_children=jqel_pasteLocationItem.find('.nodeChildren').first();jqel_movingItem.detach();jqel_children.append(jqel_movingItem);var jqel_elementChildren=jqel_pasteLocationElement.find('.molecule_children').first();if(jqel_elementChildren.size()===0){jqel_elementChildren=jQuery('<div class="molecule_children"></div>');jqel_pasteLocationElement.find('label').first().after(jqel_elementChildren);} 4089jqel_movingElement.detach();jqel_movingElement.appendTo(jqel_elementChildren);depth=jqel_pasteLocationItem.data('depth')+1;} 4090break;} 4091jqel_movingItem.data('jqel',jqel_movingElement);this.setCurrentCutElement(false);this.saveLayoutStructure(jqel_movingElement);},recordTreeStates:function(){var classesToWatch=['selected','open'];
4091var jqel_tree=jQuery('.be_pageLayoutEditTree');this._treeScrollTop=jqel_tree.scrollTop();var jqel_nodes=this._jqel.find('.node');var states={};jqel_nodes.each(function(){var jqel_node=jQuery(this);var id=jqel_node.data('id');states[id]=[];jQuery.each(classesToWatch,function(n,className){if(jqel_node.hasClass(className)){states[id].push(className);}});});this._treeStates=states;var preferenceName='layoutTree_'+this._jqel.ecoData('item_id');var app=MMI.App.get();app.setPreference(preferenceName,states);},restoreTreeStates:function(){var states=this._treeStates;var jqel_tree=jQuery('.be_pageLayoutEditTree');if(!states){this._jqel.ecoData('item_id');var preferenceName='layoutTree_'+this._jqel.ecoData('item_id');var app=MMI.App.get();states=app.getPreference(preferenceName);if(!states){states={};}} 4092var jqel_nodes=this._jqel.find('.node');jqel_nodes.each(function(n,node){var jqel_node=jQuery(this);var id=jqel_node.data('id');var classes=states[id];if(classes){if(classes.length){jqel_node.addClass(classes.join(' '));}}});jqel_tree.scrollTop(this._treeScrollTop);},updateLayoutTree:function(){if(this._jqel){this.recordTreeStates();this.createLayoutTree(this._jqel);this.restoreTreeStates();}},generateLayoutTreeNode:function(nodeData,depth){depth=parseInt(depth,10);var jqel_node=jQuery('<li class="node live_click live_hover" id="node_'+nodeData.id+'"></li>');jQuery.each(nodeData,function(key,val){if(key!=='children'){jqel_node.data(key,val);}});var jqel_title=jQuery('<div class="nodeTitle"></div>');jqel_title.append('<div class="nodeText" title="'+nodeData.externalName+'">'+nodeData.text+'</div>');for(var i=0;i<depth;i++){jqel_title.prepend('<div class="depthSpacer"><div class="line"></div></div>');} 4093var icon='eco eco-input';switch(nodeData.organismType){case'equation':icon='betool betool-function';break;case'container':case'repeat_container':icon='betool betool-folder-open-o';break;case'tabs':case'tabs_progress':icon='betool betool-tab';break;case'repeat_field':case'repeat':icon='betool betool-arrow-repeat';break;case'page':case'form':icon='betool betool-file-o';break;case'error':icon='eco eco-error-o';break;case'content':icon='betool betool-file-text-o';break;default:} 4094if(icon){jqel_title.find('.depthSpacer').last().append('<i class="'+icon+'"></i>');}else{jqel_title.find('.depthSpacer').last().append('<div class="dot"></div>');} 4095jqel_title.find('.depthSpacer').last().find('.line').remove();jqel_node.append(jqel_title);if(nodeData.jqel.hasClass('mod-force_hidden')){jqel_title.find('.nodeText').addClass('elementIsHidden');}else{jqel_title.find('.nodeText').removeClass('elementIsHidden');} 4096var settings=Be.Genome.Item.Layout.Edit.getSettings();var allowedChildren=settings.allowedChildren;var organismType=nodeData.organismType;var self=this;if((nodeData.children&&nodeData.children.length)||allowedChildren[organismType]){if(depth===1){jqel_node.addClass('open');} 4097if(nodeData.children.length){jqel_node.addClass('hasChildren');} 4098jqel_title.append('<div class="openClose live_click" data-live_click_handler="toggleEditLayoutTreeNode"><i class="eco eco-chevron-down"></i></div>');var jqel_ul=jQuery('<ul class="nodeChildren"></ul>');jQuery.each(nodeData.children,function(childNum,child){var jqel_child=self.generateLayoutTreeNode(child,depth+1);jqel_ul.append(jqel_child);});jqel_node.append(jqel_ul);} 4099if(allowedChildren[organismType]){jqel_node.data('canHaveChildren',true);jqel_node.addClass('canHaveChildren');jqel_node.data('allowedChildren',allowedChildren[organismType]);jqel_node.find('.nodeChildren').first().data('allowedChildren',allowedChildren[organismType]);jqel_node.find('.nodeTitle').first().append('<div class="addNewItem live_click" data-live_click_handler="editLayoutAddNewChildToNode"><i class="eco eco-add-outline"></i></div>');} 4100jqel_node.data("depth",depth);jqel_node.addClass('depth_'+depth);if(depth>1){jqel_node.addClass('canBeMoved');} 4101return jqel_node;},getSettings:function(){return Be.Genome.Item.Layout.Edit._layoutEditorSettings;},refreshLayoutData:function(){var data=[];var jqel_roots=jQuery('.ecoLayoutEditableContainer');var self=this;if(jqel_roots.size()){jqel_roots.each(function(){var jqel_item=jQuery(this);var thisItem=self.makeDataFromOrganism(jQuery(this));thisItem.item_id=jqel_item.mmiData('item_id');if(!thisItem.item_id){thisItem.item_id=jqel_item.mmiData('page_item_id');} 4102thisItem.isLayout=true;jqel_item.data('isLayout',true);thisItem.layout_field=jqel_item.mmiData('layout_field');thisItem.item_name=jqel_item.mmiData('item_name');if(thisItem.item_name){thisItem.text=thisItem.item_name;} 4103data.push(thisItem);});} 4104return data;},makeDataFromOrganism:function(jqel,usedIds){if(!usedIds){usedIds=[];} 4105var self=this;var name=jqel.data('name');if(!name){name=jqel.attr('name');} 4106if(!name){name='organism_'+Eco.Util.getRandomString(16);jqel.attr('name',name);} 4107var type='';var classes=jqel.attr('class').split(' ');jQuery.each(classes,function(n,c){var parts=c.split('_');
4107if(parts.shift()=='organism'){type=parts.join('_');}});var organismType=jqel.data('ecoFieldType');if(!organismType){var parts=type.split('-');if(parts[0]=='field'){parts.shift();} 4108organismType=parts.join('-');} 4109if(usedIds.indexOf(name)>-1){if(name.indexOf('_ref')===-1){cwarn("ERROR: Trying to make data from organism stack but this name/id has already been used.",name);return false;}} 4110usedIds.push(name);var nameParts=name.split('_');nameParts.shift();var fieldName=nameParts.join('_');var fieldType='input';if(jqel.hasClass('ecoLayoutEditableContainer')){fieldType='page';}else if(type.indexOf('container')!=-1){fieldType='container';} 4111var label=jQuery.trim(jqel.find('label').not(jqel.find('[class*=organism_] label')).first().text());if(!label){label=jqel.find('[data-label]').addBack('[data-label]').first().data('label');} 4112if(!label){if(jqel.hasClass('molecule_button')){label=jqel.find('input').val();}} 4113if(!label){label=Be.Genome.Item.Layout.Edit.getFieldTypeName(type);} 4114var externalName=jqel.data('external_name');var data={id:name,text:label,icon:'',type:fieldType,organismType:organismType,jqel:jqel,children:[],externalName:externalName,data:{itemId:jqel.mmiData('item_id'),fieldName:fieldName}};var notChildren=jqel.find('[class*=organism_] [class*=organism_]');var jqel_children=jqel.find('[class*=organism_]').not(notChildren).not('.eco_hideFromEditor').not('.eco_hideFromEditor [class*=organism_]');if(jqel_children.size()){jqel_children.each(function(){var childData=self.makeDataFromOrganism(jQuery(this),usedIds);if(childData){data.children.push(childData);}});} 4115jqel.addClass('isLayoutEditable');self._listOfFields=usedIds;return data;},getFieldTypeName:function(type){switch(type){default:var parts=type.split('-');return parts.join(' ');}},selectOrganism:function(jqel,data,jqel_treeNode){jQuery('body').addClass('be_layoutEditor_organismIsActive');jQuery('.notActiveOrganism').removeClass('notActiveOrganism');var jqel_bottomElements=jQuery('.isLayoutEditable:not('+':has(".isLayoutEditable")'+')');jqel_bottomElements.addClass('notActiveOrganism');jqel.removeClass('notActiveOrganism');jqel.find('.isLayoutEditable').removeClass('notActiveOrganism');Be.Genome.Item.Layout.Edit.scrollToItem(jqel);jQuery('.be_pageLayoutEditorToolsPanel_structure').addClass('forceClose');setTimeout(function(){jQuery('.be_pageLayoutEditorToolsPanel_structure').removeClass('forceClose');},1000);jQuery('.be_pageLayoutEditTree li').removeClass('selected');jqel_treeNode.addClass('selected');var jqel_panel=jQuery('.be_pageLayoutEditorTools');jqel_panel.removeClass('wideScreenEdit');this.loadEcoElementEditor(data,jqel.data());this.scrollToItem(jqel);},deselectOrganism:function(){jQuery('body').removeClass('be_layoutEditor_organismIsActive');jQuery('.notActiveOrganism').removeClass('notActiveOrganism');jQuery('.be_pageLayoutEditTree li').removeClass('selected');jQuery('.wideScreenEdit').removeClass('wideScreenEdit');var jqel_editor=jQuery('.be_pageLayoutEditorToolsPanel_organism').first();MMI.App.get().triggerEvent('be_layout_panel_editor_before_unload',[],jqel_editor);jqel_editor.alterClass('mod_panel-*','mod_panel-loading');jqel_editor.find('.molecule_editorTarget').html('');},loadEcoElementEditor:function(data,localData){var item_id=data.item_id;if(item_id){var ajaxData={id:item_id,is_layout:localData.isLayout,organism:localData.name,view:'layout_organism',mode:'edit'};} 4116if(data.organismType=='repeat_container'){let repeatContainerName=data.jqel.ecoData('repeatFieldContainerName');if(repeatContainerName){ajaxData.organism=repeatContainerName;}} 4117var jqel_editor=jQuery('.be_pageLayoutEditorToolsPanel_organism').first();jqel_editor.alterClass('mod_panel-*','mod_panel-loading');var ajaxOptions={data:ajaxData,jqel:jqel_editor.find('.molecule_editorTarget'),mmiAjaxDone:function(json){MMI.App.get().triggerEvent('be_layout_panel_editor_after_load',[],jqel_editor);jqel_editor.alterClass('mod_panel-*','mod_panel-loaded');}};MMI.App.get().ajax(ajaxOptions);},scrollToItemAfterDelay:function(jqel){Be.Genome.Item.Layout.Edit._scrollToItem=jqel;var timerLength=300;clearTimeout(Be.Genome.Item.Layout.Edit._scrollTimer);Be.Genome.Item.Layout.Edit._scrollTimer=setTimeout(Be.Genome.Item.Layout.Edit.scrollToItem,timerLength);},scrollToItem:function(jqel){if(!jqel){jqel=Be.Genome.Item.Layout.Edit._scrollToItem;} 4118var offset=jQuery('.pageHead').height();if(isNaN(offset)){offset=0;} 4119Eco.Util.scrollElementIntoView(jqel,{offsetTop:offset});},cancelScrollToDelay:function(){clearTimeout(Be.Genome.Item.Layout.Edit._scrollTimer);},saveItemData:function(item_id,formData,formOrganism){var self=this;var app=MMI.App.get();app.updateItem(item_id,formData,function(status,item,itemsDataObject,json,serverMessages,ajaxOptions){switch(status){case'start':formOrganism.onSubmitStart({arguments:arguments});break;case'success':formOrganism.onSubmitSuccess({arguments:arguments});setTimeout(function(){Be.Genome.Item.Layout.Edit.deselectOrganism();},1000);var jqel_editableContainer=jQuery('.ecoLayoutEditableContainer[data-item_id="'+item_id+'"]');jqel_editableContainer.data('item_name',json.items[item_id]['item_name']);self.updateLayoutTree();break;case'done':break;case'error':default:setTimeout(function(){Be.Genome.Item.Layout.Edit.deselectOrganism();},1000);break;}},this,{data:{view:'layout_item',mode:'edit'}});},saveFieldData:function(item_id,layout_field,field_id,formData,formOrganism,callbackFunction){var editCells={};var self=this;editCells[item_id]={};editCells[item_id]['fieldList']={};editCells[item_id]['fieldList'][layout_field]={};editCells[item_id]['fieldList'][layout_field][field_id]=formData;var ajaxData={mode:'layout',organism:field_id,id:item_id,'edit-cells':editCells,view:'layout_organism'};
4119if(formOrganism){formOrganism.onSubmitStart({arguments:arguments});} 4120var ajaxOptions={data:ajaxData,mmiAjaxDone:function(json,status,xhr,ajaxOptions){if(json.server.status!==true){MMI.App.get().displayErrorNotification(json,'Be.Genome.Item.Layout.saveFieldData.mmiAjaxDone');return;} 4121if(formOrganism){formOrganism.onSubmitSuccess({arguments:arguments});} 4122setTimeout(function(){Be.Genome.Item.Layout.Edit.deselectOrganism();},1000);if(json.returnData){var newHtml=json.returnData.renderedField;if(newHtml){var fieldId=json.postdata.organism;var jqel_organism=jQuery('[data-name="'+fieldId+'"]');var jqel_parents=jqel_organism.parents();var organism_form=jqel_organism.mmiData('organism_form');if(organism_form){jqel_organism.mmiData('organism_form').removeEntityByName(fieldId);} 4123jqel_organism.replaceWith(newHtml);MMI.App.get().initializeNewContent();MMI.App.get().triggerEvent('be_layout_child_content_updated',[],jqel_parents);} 4124if(callbackFunction){callbackFunction.apply();}} 4125self.updateLayoutTree();},mmiAjaxAlways:function(json,status,xhr,ajaxOptions){if(formOrganism){formOrganism.onSubmitComplete({arguments:arguments});}},mmiAjaxFail:function(json,status,xhr,ajaxOptions){if(formOrganism){formOrganism.onSubmitError({arguments:arguments});}}};MMI.App.get().ajax(ajaxOptions);},formatChildrenForSave:function(rawChildren,usedFieldIds){var children=[];if(!usedFieldIds){usedFieldIds=[];} 4126jQuery.each(rawChildren,function(n,child){var id=child.id;if(usedFieldIds.indexOf(id)>-1){if(id.indexOf('_ref')===-1){cwarn('WARNING: Layout is trying to save but found a duplicate field id in use. This field will be skipped',id);return true;}} 4127usedFieldIds.push(id);var childData={name:id,fieldType:child.organismType};if(child.organismType==='content'&&!child.jqel.find('.ecoContent').html()){var newContent=child.jqel.find('.ecoNewContent').html();if(!newContent){newContent='<p>Placeholder Content</p>';} 4128childData.default=newContent;} 4129if(child.children){if(child.children.length){if(child.organismType.toLowerCase().includes('repeat')&&!child.organismType.toLowerCase().includes('container')){var repeatContainerName=child.jqel.data("repeatFieldContainerName");if(repeatContainerName&&repeatContainerName!=child.children[0].id){cwarn("This is not the right name:"+repeatContainerName+" "+child.children[0].id+" So we are going to change it");child.children[0].id=repeatContainerName;}} 4130childData.children=Be.Genome.Item.Layout.Edit.formatChildrenForSave(child.children,usedFieldIds);}} 4131children.push(childData);return true;});return children;},getLayoutStructure:function(jqel_item){var self=this;var thisItem=self.makeDataFromOrganism(jqel_item);var usedFieldIds=[];var saveData={version:'1.0.0',fieldType:thisItem.organismType,structure:'eco',children:Be.Genome.Item.Layout.Edit.formatChildrenForSave(thisItem.children,usedFieldIds)};return saveData;},saveLayoutStructure:function(jqel,idToLoad,callback,callbackData){var jqel_container;if(jqel.hasClass('ecoLayoutEditableContainer')){jqel_container=jqel;}else{jqel_container=jqel.parents('.ecoLayoutEditableContainer').first();if(jqel_container.size()===0){cwarn('Invalid container for layout save found for element',jqel);return false;}} 4132var structure=Be.Genome.Item.Layout.Edit.getLayoutStructure(jqel_container);var fieldId=jqel_container.mmiData('layout_field');var itemId=jqel_container.mmiData('item_id');var ajaxData={mode:"layout",'arrange-cells':{},id:itemId,organism:idToLoad,view:'layout_organism'};ajaxData['arrange-cells'][itemId]={};ajaxData['arrange-cells'][itemId]['fieldList']={};ajaxData['arrange-cells'][itemId]['fieldList'][fieldId]=structure;var self=this;var ajaxOptions={data:ajaxData,mmiAjaxDone:function(json){if(json.error){MMI.App.get().alert(json.allErrorMessages.pop());return;} 4133if(json.returnData){var newHtml=json.returnData.renderedField;if(newHtml&&idToLoad){let fieldId=json.postdata.organism;var jqel_organism=jQuery('[data-name="'+fieldId+'"]');jqel_organism.replaceWith(newHtml);var jqel_parents=jqel_organism.parents();MMI.App.get().initializeNewContent();MMI.App.get().triggerEvent('be_layout_child_content_updated',[],jqel_parents);}} 4134self.updateLayoutTree();if(newHtml&&idToLoad){let fieldId=json.postdata.organism;var jqel_treeNode=jQuery('#node_'+fieldId);if(jqel_treeNode.size()){jqel_treeNode.trigger('click');}} 4135if(callback){callback.call(Be.Genome.Item.Layout.Edit,callbackData);}}};MMI.App.get().ajax(ajaxOptions);return true;},deleteOrganismFromLayout:function(jqel_element){var app=MMI.App.get();app.confirm({message:'Are you sure you want to delete this element and any children? This can not be undone.',buttons:[{id:'yes',label:'Yes',classes:['mod_destructive']},{id:'no',label:'No',classes:['mod_inverse']}],callback:function(returnData,options){if(returnData.id==='yes'){Be.Genome.Item.Layout.Edit.destroyInlineEditing(jqel_element,jqel_element.ecoData('organism'));var jqel_parent=jqel_element.parents('[class*=organism_]').first();if(jqel_element.filter('[class*=organism_]').size()){jqel_parent=jqel_element;} 4136var organismName=jqel_element.mmiData('name');var jqel_container=jqel_element.parents('.ecoLayoutEditableContainer').first();var itemId=jqel_container.mmiData('item_id');var fieldId=jqel_container.mmiData('layout_field');var deleteCells={};deleteCells[itemId]={};deleteCells[itemId]['fieldList']={};deleteCells[itemId]['fieldList'][fieldId]=[organismName];var ajaxData={"organism":organismName,"delete-cells":deleteCells,mode:"layout",view:"blank",id:itemId};jqel_parent.remove();MMI.App.get().ajax({data:ajaxData});Be.Genome.Item.Layout.Edit.updateLayoutTree();Be.Genome.Item.Layout.Edit.deselectOrganism();}}});},addOrganismToLayoutDialog:function(jqel_organism,parentType,locationInLayout){var settings=Be.Genome.Item.Layout.Edit.getSettings();var allowedChildren=settings.allowedChildren;if(!allowedChildren){permaclog(jqel_organism);cwarn('No allowed children defined on this ^^^ organism.');return;} 4137var childTypes=allowedChildren[parentType];
4137if(!childTypes){cwarn('No Child types defined for type '+parentType+'. Why are we even seeing this button?');return;} 4138if(childTypes=='ajax'){var jqel_placeholder=jQuery("<div class='childSelectDialog'></div>");var options={smartBox:{classes:['helix-confirm-dialog'],modal:true,close:true,minimize:false,restore:false,maximize:false,resizable:false,draggable:true},width:600,height:500};jqel_placeholder.smartBox(options);jqel_placeholder.data('parent_organism_element',jqel_organism);var ajaxData={view:'ajax_layout_children',id:jqel_organism.ecoData('item_id'),parent_type:parentType};var ajaxOptions={data:ajaxData,jqel:jqel_placeholder};MMI.App.get().ajax(ajaxOptions);}else{var childOptions=[];jQuery.each(childTypes,function(childOptionValue,childOptionLabel){childOptions.push({value:childOptionValue,label:childOptionLabel});});childOptions.sort(function(a,b){if(a.label>b.label){return 1;}else if(b.label>a.label){return-1;} 4139return 0;});var app=MMI.App.get();app.prompt({smartBox:{height:320},message:"What type of element do you want to add?",placeholderText:'Choose an element type',buttons:[{id:'cancel',label:'Cancel'},{id:'ok',label:'OK'}],jqel_target:jqel_organism,callback:function(response,dialogOptions){if(response.id=='ok'){var newType=response.value;if(jQuery('body').hasClass('userIsSuperAdmin')){var newId=Eco.Util.getRandomString(32);var newTarget=dialogOptions.jqel_target;app.prompt({smartBox:{height:320},message:"Enter an ID for this field.",placeholderText:newId,defaultValue:newId,buttons:[{id:'cancel',label:'Cancel'},{id:'ok',label:'OK'}],jqel_target:jqel_organism,callback:function(response,dialogOptions){if(response.id=='ok'){var newId=response.value;newId=newId.replace(/ /g,'_');if(newId!==''&&jQuery('[data-name='+newId+']').length>0){MMI.App.get().alert({message:'Error - Field name already exists in this form'});}else{Be.Genome.Item.Layout.Edit.generatePlaceholderInLayout(newType,newId,newTarget,null,locationInLayout);}}},scope:this});}else{Be.Genome.Item.Layout.Edit.generatePlaceholderInLayout(newType,'',dialogOptions.jqel_target,null,locationInLayout);}}},scope:this,fieldType:'select',options:childOptions});}},generatePlaceholderInLayout:function(type,id,jqel_target,content,locationInLayout){if(!id){id=Eco.Util.getRandomString(32);} 4140if(!content){content='';} 4141var placeHolderHtml='<div class="organism_'+type+' placeholder isLayoutEditable" data-name="'+id+'" data-eco-field-type="'+type+'">'+content+'</div>';var jqel_placeholder=jQuery(placeHolderHtml);Be.Genome.Item.Layout.Edit.addOrganismToLayout(jqel_target,jqel_placeholder,id,locationInLayout);},cloneFieldAndChangeToEquation:function(jqel_organism,jqel_element){var data=jqel_organism.ecoData();var id=data.item_id;var field_id=data.field_id;var organism=jqel_organism.parents('.molecule_form').ecoData('organism');var values=organism.getAllValues();var newFieldId=field_id.substring(0,200)+"_input";var fieldType=values.fieldType;var placeHolderHtml='<div class="organism_'+fieldType+' placeholder isLayoutEditable" data-name="'+newFieldId+'" data-eco-field-type="'+fieldType+'">New Field</div>';var jqel_placeholder=jQuery(placeHolderHtml);jqel_element.before(jqel_placeholder);jqel_element.data('ecoFieldType','equation');var callbackData={id:id,field_id:field_id,new_field_id:newFieldId,field_data:values,layout_field:data.layout_field,form_organism:organism};Be.Genome.Item.Layout.Edit.saveLayoutStructure(jqel_placeholder,id,this.updateFieldsAfterCloning,callbackData);},updateFieldsAfterCloning:function(callbackData){var data=callbackData.field_data;var rawCCFieldName=data.external_name;var ccFieldName=rawCCFieldName.substring(0,rawCCFieldName.indexOf("_"))+"cc"+rawCCFieldName.substring(rawCCFieldName.indexOf("_"),rawCCFieldName.length);var oldFieldData={fieldType:'equation',equation:"=IF(\nInstalledAsPermitted_F_XXX == \"NOT-IN-SCOPE\",\n\"\",\nIF(\nInstalledAsPermitted_F_XXX == \"Yes\",\n"+ccFieldName+",\n"+data.external_name+"_input\n)\n)",external_name:data.external_name,label:data.label+' Equation',validators:[]};data.external_name=data.external_name+"_input";var additionalFields={};additionalFields[callbackData.new_field_id]=data;var callbackFunction=function(){Be.Genome.Item.Layout.Edit.saveFieldData(callbackData.id,callbackData.layout_field,callbackData.new_field_id,data);};Be.Genome.Item.Layout.Edit.saveFieldData(callbackData.id,callbackData.layout_field,callbackData.field_id,oldFieldData,callbackData.form_organism,callbackFunction);},cloneField:function(jqel_organism,jqel_element){var data=jqel_organism.ecoData();var id=data.item_id;var field_id=data.field_id;var organism=jqel_organism.parents('.molecule_form').ecoData('organism');var values=organism.getAllValues();var newFieldId=Eco.Util.getRandomString(16);var fieldType=values.fieldType;values.fieldType=fieldType;var placeHolderHtml='<div class="organism_'+fieldType+' placeholder isLayoutEditable" data-name="'+newFieldId+'" data-eco-field-type="'+fieldType+'">New Field</div>';var jqel_placeholder=jQuery(placeHolderHtml);jqel_element.before(jqel_placeholder);var callbackData={id:id,field_id:field_id,new_field_id:newFieldId,field_data:values,layout_field:data.layout_field,form_organism:organism};Be.Genome.Item.Layout.Edit.saveLayoutStructure(jqel_placeholder,id,this.updateNewFieldAfterCloning,callbackData);},updateNewFieldAfterCloning:function(callbackData){var data=callbackData.field_data;Be.Genome.Item.Layout.Edit.saveFieldData(callbackData.id,callbackData.layout_field,callbackData.new_field_id,data,callbackData.form_organism);},addOrganismToLayout:function(jqel_organism,jqel_placeholder,id,locationInLayout){if(locationInLayout&&locationInLayout.hasOwnProperty('target')&&locationInLayout.target instanceof jQuery&&locationInLayout.hasOwnProperty('placement')){switch(locationInLayout.placement){case'before':locationInLayout.target.before(jqel_placeholder);break;case'after':default:locationInLayout.target.after(jqel_placeholder);break;}}else{var jqel_childrenContainer=jqel_organism.find('.molecule_children').first();if(!jqel_childrenContainer.size()){jqel_childrenContainer=jQuery('<div class="molecule_children"></div>');jqel_organism.append(jqel_childrenContainer);} 4142var jqel_forcedSubmitButton=jqel_childrenContainer.children('.eco_hideFromEditor.molecule_button');if(jqel_forcedSubmitButton.size()){jqel_forcedSubmitButton.first().before(jqel_placeholder);}else{jqel_childrenContainer.append(jqel_placeholder);}} 4143jqel_organism.parents('.ecoLayout--empty').addBack().removeClass('ecoLayout--empty');Be.Genome.Item.Layout.Edit.saveLayoutStructure(jqel_organism,id);},setLayoutEditorSettings:function(settings){Be.Genome.Item.Layout.Edit._layoutEditorSettings=settings;},initializeSortable:function(jqel_tree){var pages=jqel_tree.find('.depth_1');jQuery.each(pages,function(){var jqel_pageNode=jQuery(this);var jqel_sortables=jqel_pageNode.children('.nodeChildren');jqel_sortables=jqel_sortables.add(jqel_pageNode.find('.canHaveChildren>.nodeChildren'));jqel_sortables.sortable({'connectWith':jqel_sortables,tolerance:'pointer',helper:'clone',delay:200,axis:'y',start:function(event,ui){var jqel_item=ui.item;var organismType=jqel_item.data('organismType');jqel_sortables.each(function(){var jqel_sortable=jQuery(this);var allowedChildren=jqel_sortable.data('allowedChildren');if(allowedChildren&&allowedChildren[organismType]){jqel_sortable.addClass('allowedDrop');}});},stop:function(event,ui){jQuery('.allowedDrop').removeClass('allowedDrop');var jqel_item=ui.item;var jqel_target=jqel_item.parents('.nodeChildren').first();var jqel_node=jqel_target.parents('.node').first();var depth=jqel_node.data('depth')+1;var jqel_nodeTitle=jqel_item.children('.nodeTitle');var spacer='<div class="depthSpacer"><div class="line"></div></div>';while(depth>jqel_nodeTitle.find('.depthSpacer').size()){jqel_nodeTitle.prepend(spacer);} 4144while(depth<jqel_nodeTitle.find('.depthSpacer').size()){jqel_nodeTitle.find('.depthSpacer').first().remove();} 4145var data=jqel_item.data();var elementToMove=data.jqel;
4145var jqel_previousSibling=jqel_item.prev('.node');if(jqel_previousSibling.size()){var jqel_beforeItem=jqel_previousSibling.data('jqel');elementToMove.detach().insertAfter(jqel_beforeItem);}else{var jqel_parent=jqel_target.parents('.node').first();var jqel_containerElement=jqel_parent.data('jqel');elementToMove.detach();var jqel_children=jqel_containerElement.find('.molecule_children').first();if(jqel_children.size()===0){jqel_children=jQuery('<div class="molecule_children"></div>');jqel_containerElement.append(jqel_children);} 4146jqel_children.prepend(elementToMove);} 4147Be.Genome.Item.Layout.Edit.saveLayoutStructure(elementToMove);},receive:function(event,ui){var jqel_item=ui.item;var jqel_target=jQuery(event.target);var organismType=jqel_item.ecoData('organismType');var allowed=jqel_target.ecoData('allowedChildren');if(allowed.hasOwnProperty(organismType)){}else{ui.sender.sortable('cancel');}}})});},startDragElement:function(){},initializeInlineEditing:function(jqel_organism,editorOrganism){if(!Be.Genome.Item.Layout.Edit._htmlEditorHasInitialized){var styles=(editorOrganism.jqel.ecoData('htmlEditorStyles')||[]).concat(jqel_organism.ecoData('htmlEditorStyles')||[]);if(styles.length){let styleObjects=styles.map(([name,cssClass,appliesTo])=>new ContentTools.Style(name,cssClass,appliesTo));ContentTools.StylePalette.add(styleObjects);} 4148let customHeadingStart=jqel_organism.ecoData('htmlEditorHeadingStart')||editorOrganism.jqel.ecoData('htmlEditorHeadingStart');if(customHeadingStart>=1){if(customHeadingStart>4){cerror(`htmlEditorHeadingStart has to be <= 4 since there's only 6 headings`);}else{['Heading','Subheading','SmallHeading'].forEach((toolName)=>{ContentTools.Tools[toolName].tagName=`h${customHeadingStart}`;customHeadingStart++;});}} 4149Be.Genome.Item.Layout.Edit._htmlEditorHasInitialized=true;} 4150this.destroyInlineEditing(jqel_organism);var editor=ContentTools.EditorApp.get();jqel_organism.data('editorOrganism',editorOrganism);jqel_organism.data('editorClass',editor);var editableRegions=jqel_organism.find('.ecoContent').first();editableRegions.children('div').each(function(){var jqel_element=jQuery(this);if(!jqel_element.attr('class')){var html=jqel_element.html();jqel_element.after(html);jqel_element.remove();}});editor.init(editableRegions,'id',null,false);editor.addEventListener('saved',function(ev){var regionData=ev._detail.regions;if(Basix.isEmptyObject(regionData)){return;} 4151var changedId=false;jQuery.each(regionData,function(id,data){changedId=id;});if(!changedId){return;} 4152var currentHtml=regionData[changedId];if(currentHtml||currentHtml===''){if(currentHtml==editorOrganism.getValue()){}else{editorOrganism.setValue(currentHtml,editorOrganism.getOwnEntityName());var organism_form=editorOrganism.jqel_field.mmiData('organism_form');if(!organism_form){clog('Can not find organism_form',editorOrganism.jqel_field);}else{organism_form.triggerValueChangeFromExternalSystem(editorOrganism.getOwnEntityName());}}}else{}});editor.addEventListener('start',function(ev){var _this=this;function autoSave(){_this.save(true);} 4153this.autoSaveTimer=setInterval(autoSave,1500);});editor.addEventListener('stop',function(ev){clearInterval(this.autoSaveTimer);});setTimeout(function(){editor.start();editor.toolbox().show();editor.inspector().show();window._initializingEditor=false;editor.toolbox().tools(Be.Genome.Item.Layout.Edit.DEFAULT_CONTENT_TOOLS);},500);window.removeEventListener('beforeunload',editor._handleBeforeUnload);editor.addEventListener('revert',function(ev){ev.preventDefault();if(this.history){this.revertToSnapshot(this.history.goTo(0),false);this.history.stopWatching();} 4154if(this._toolbox){this._toolbox.hide();} 4155if(this._inspector){this._inspector.hide();} 4156this._history=null;this._regions={};this._state='ready';if(ContentEdit.Root.get().focused()){this._allowEmptyRegions=function(){ContentEdit.Root.get().focused().blur();}}});jqel_organism.addClass(Be.Genome.Item.Layout.Edit.ACTIVE_CLASS);},destroyInlineEditing:function(jqel_organism){jqel_organism.removeClass(Be.Genome.Item.Layout.Edit.ACTIVE_CLASS);var editor=jqel_organism.data('editorClass');if(!editor){return;} 4157if(editor.history===null){return;} 4158editor.stop(true);editor.destroy();},cancel:function(){var activeItem=jQuery('.'+Be.Genome.Item.Layout.Edit.ACTIVE_CLASS);if(activeItem.length===0){return;} 4159var editor=activeItem.data('editorClass');editor.revert();Be.Genome.Item.Layout.Edit.deselectOrganism();Be.Genome.Item.Layout.Edit.destroyInlineEditing(activeItem);}}; 4160MMI.Util.namespace('Be.Genome.Item.Layout.Edit.LiveEventHandlers');Be.Genome.Item.Layout.Edit.LiveEventHandlers={handleAppInstanceCreated:function(app){app.registerHandlerClass(Be.Genome.Item.Layout.Edit.LiveEventHandlers);},do_initializeLayoutStructureTree:function(event,app,jqel,data){Be.Genome.Item.Layout.Edit.createLayoutTree(jqel);Be.Genome.Item.Layout.Edit.restoreTreeStates();}
4160,do_beLayoutEditTreeNodeHover:function(event,app,jqel,data){const repeat_filter_organism=jQuery('[data-name="repeat_filter"]').ecoData('organism');let repeat_instances=jQuery(`[data-name=${data.id}]`);if(event.originalEvent.type=='mouseover'){if(jqel.parent().hasClass('treeRoot')){return;} 4161var jqel_node=jQuery(event.target);if(!jqel_node.hasClass('node')){jqel_node=jqel_node.parents('.node:first');} 4162if(jQuery.contains(jqel.get(0),jqel_node.get(0))){return;} 4163jQuery('.be_layoutEdit_hover').removeClass('be_layoutEdit_hover');if(repeat_filter_organism){let repeat_filter_value=repeat_filter_organism._values.repeat_filter;let instance_data=repeat_instances[repeat_filter_value];repeat_instances.addClass('be_layoutEdit_hover');Be.Genome.Item.Layout.Edit.scrollToItemAfterDelay(instance_data);} 4164else{data.jqel.addClass('be_layoutEdit_hover');Be.Genome.Item.Layout.Edit.scrollToItemAfterDelay(data.jqel);}}else{if(repeat_filter_organism){repeat_instances.removeClass('be_layoutEdit_hover');Be.Genome.Item.Layout.Edit.cancelScrollToDelay();} 4165else{data.jqel.removeClass('be_layoutEdit_hover');Be.Genome.Item.Layout.Edit.cancelScrollToDelay();}} 4166event.preventDefault();return true;},do_beLayoutEditTreeNodeClick:function(event,app,jqel,data){Be.Genome.Item.Layout.Edit.selectOrganism(data.jqel,data,jqel);},do_toggleLayoutEditorSection:function(event,app,jqel,data){var jqel_parent=jqel.parents('.be_layoutEditor_itemSection').first();var organism=jqel_parent.data('organism');var sectionId=data.section_id;if(jqel_parent.hasClass('open')){organism.collapse();jqel_parent.removeClass('open');app.setPreference('section_panel_open_'+sectionId,false);}else{organism.expand();jqel_parent.addClass('open');app.setPreference('section_panel_open_'+sectionId,true);}},do_initializeLayoutEditorSection:function(event,app,jqel,data){var jqel_parent=jqel.parents('.be_layoutEditor_itemSection').first();if(jqel_parent.hasClass('open')){var jqel_sectionContent=jqel_parent.find('.sectionContent');}},do_cancelLayoutDetailEdits:function(event,app,jqel,data){Be.Genome.Item.Layout.Edit.deselectOrganism();var fieldId=data.field_id;var jqel_control=jQuery('[data-name='+fieldId+']');if(jqel_control.data('ecoFieldType')=='content'){var ajaxData={id:data.item_id,organism:fieldId,view:'layout_organism'};var ajaxOptions={data:ajaxData,jqel:jqel_control,replaceElement:true};app.ajax(ajaxOptions);}},do_removeInvalidFieldFromLayout:function(event,app,jqel,data){Be.Genome.Item.Layout.Edit.deselectOrganism();var fieldId=data.field_id;var jqel_control=jQuery('[data-name='+fieldId+']');var ajaxData={id:data.item_id,invalidFieldId:fieldId,fieldList:data.fieldList,view:'layout_remove_invalid_field'};var ajaxOptions={data:ajaxData,jqel:jqel_control,replaceElement:true};app.ajax(ajaxOptions);},do_saveLayoutItemFormData:function(event,app,jqel,data){var organism=data.organism;if(organism instanceof Eco.Organism.Form){var formData=organism.getAllValues();Be.Genome.Item.Layout.Edit.saveItemData(data.item_id,formData,organism);return false;} 4167permaclog(jqel);cwarn('Layout item form data cannot be saved. No form organism available on this ^^^ element.');return false;},do_saveLayoutFieldFormData:function(event,app,jqel,data){var organism=data.organism;if(organism instanceof Eco.Organism.Form){if(!organism.hasChangedValues()){event.preventDefault();event.stopPropagation();event.stopImmediatePropagation();jqel.find('input').addClass('disabled');return false;} 4168app.triggerEvent('be_layout_panel_editor_before_save',[]);var formData=organism.getAllValues();Be.Genome.Item.Layout.Edit.saveFieldData(data.item_id,data.layout_field,data.field_id,formData,organism);return false;} 4169permaclog(jqel);cwarn('Layout field form data cannot be saved. No form organism available on this ^^^ element.');return false;},do_renameField:function(event,app,jqel,data){clog('data',data);var fieldId=data.field_id;;var self=this;let formId=data.item_id;let layoutField=data.layout_field;MMI.App.get().prompt({message:'Please enter a new name for this field',callback:function(promptData){var newFieldName=(''+promptData.value).trim();if(!newFieldName||newFieldName===fieldId||promptData.id!=='ok'){return;} 4170let existingFields=Be.Genome.Item.Layout.Edit.getFlatListOfFieldnames();if(existingFields.indexOf(newFieldName)>-1){alert("Unable to rename field. "+newFieldName+" is already in use. ");return;} 4171let ajaxData={'rename-cells':{},id:formId,mode:'layout',view:'layout_organism',organism:newFieldName,};ajaxData['rename-cells'][formId]={fieldList:{}};ajaxData['rename-cells'][formId]['fieldList'][layoutField]={};ajaxData['rename-cells'][formId]['fieldList'][layoutField][fieldId]=newFieldName;let ajaxOptions={data:ajaxData,mmiAjaxDone:function(json,status,xhr,ajaxOptions){if(json.server.status!==true){MMI.App.get().displayErrorNotification(json,'Be.Genome.Item.Layout.saveFieldData.mmiAjaxDone');return;} 4172setTimeout(function(){Be.Genome.Item.Layout.Edit.deselectOrganism();},1000);if(json.returnData){var newHtml=json.returnData.renderedField;if(newHtml){var jqel_organism=jQuery('[data-name="'+fieldId+'"]');var jqel_parents=jqel_organism.parents();var organism_form=jqel_organism.mmiData('organism_form');if(organism_form){jqel_organism.mmiData('organism_form').removeEntityByName(fieldId);} 4173jqel_organism.replaceWith(newHtml);MMI.App.get().initializeNewContent();MMI.App.get().triggerEvent('be_layout_child_content_updated',[],jqel_parents);}} 4174Be.Genome.Item.Layout.Edit.updateLayoutTree();}};MMI.App.get().ajax(ajaxOptions);},defaultValue:fieldId,buttons:[{id:'ok',label:'OK'},{id:'cancel',label:'Cancel'}]});},do_toggleEditLayoutTreeNode:function(event,app,jqel,data){var jqel_parent=jqel.parents('.node').first();var jqel_content=jqel_parent.find('.nodeChildren').first();var contentHeight=jqel_content[0].scrollHeight;if(jqel_parent.hasClass('open')){jqel_parent.removeClass('open');}else{jqel_parent.addClass('open');} 4175Be.Genome.Item.Layout.Edit.recordTreeStates();},do_initializeBeLayoutEditorSettings:function(event,app,jqel,data){Be.Genome.Item.Layout.Edit.setLayoutEditorSettings(data.layoutEditorSettings);},do_editLayoutAddNewChildToNode:function(event,app,jqel,data){var organismType=data.organismType;var jqel_element=data.jqel;Be.Genome.Item.Layout.Edit.addOrganismToLayoutDialog(jqel_element,organismType);},do_toggleContentEditorFullScreen:function(event,app,jqel,data){var jqel_panel=jqel.parents('.be_pageLayoutE
4175ditorTools').first();if(jqel_panel.hasClass('wideScreenEdit')){jqel_panel.removeClass('wideScreenEdit');}else{jqel_panel.addClass('wideScreenEdit');}},do_deleteLayoutOrganism:function(event,app,jqel,data){var jqel_element=jQuery('[name='+data.field_id+'],[data-name='+data.field_id+']');Be.Genome.Item.Layout.Edit.deleteOrganismFromLayout(jqel_element);},do_uploadNewImageForReferenceFieldDone:function(event,app,jqel,data,file,response){jqel.removeClass('disabled');var id=response.id;if(id){var name=response.pageItemData.item_name;var jqel_select=jqel.prev('.molecule_field-select');var organism=jqel_select.data('organism');if(organism){organism.insertNewSelectOption(id,name,true);}}},do_uploadNewImageForReferenceFieldSend:function(event,app,jqel,data,files){var images=files.images();jqel.addClass('disabled');jQuery.each(files,function(fn,file){var fileName=file.name;var extension=fileName.split('.').pop().toLowerCase();var size=file.size;var app=MMI.App.get();if(!size){app.alert({type:'error',message:"File is empty. Please pick a valid file to upload. "+file.name});} 4176var objectType='';var types=['jpg','png'];jQuery.each(types,function(n,ext){if(ext=='*'||ext==extension){objectType=data.type;return false;}});if(!objectType){app.alert({type:'error',message:"Invalid file type for "+file.name});return;} 4177var url='/';var id='file_'+MMI.Util.randomize(16);url+='?size='+data.size+'&attitude=json&view=blank&mode=edit&item['+id+'][file_path]=2&item['+id+'][item_parent]='+data.item_id;url+='&type='+objectType;file.sendTo(url);});}
4177,do_setupUploadNewImageForReferenceField:function(event,app,jqel,data){fd.jQuery();MMI.Filedrop.enableFiledrop(jqel);},do_contentBlockEditorInitialize:function(event,app,jqel,data){var jqel_organism=jQuery('#'+data.field_id).parent();var editorOrganism=data.organism;if(jqel_organism.size()){Be.Genome.Item.Layout.Edit.initializeInlineEditing(jqel_organism,editorOrganism);}},do_contentBlockEditorDestroy:function(event,app,jqel,data){var jqel_organism=jQuery('#'+data.field_id).parent();if(jqel_organism.size()){Be.Genome.Item.Layout.Edit.destroyInlineEditing(jqel_organism);}},do_updateTabButtons:function(event,app,jqel,data){var organism=data.organism;try{organism.updateTabs();}catch(e){}},do_filterLayoutStructure:function(event,app,jqel,data){let searchByReference=jQuery('[data-name=search_by_reference]');var searchText=jqel.val().toLowerCase();var jqel_panel=jqel.parents('.be_pageLayoutEditorToolsPanel').first();var jqel_nodes=jqel_panel.find('.node');jqel_nodes.each(function(){var jqel_node=jQuery(this);var nodeData=jqel_node.data();var fieldName=nodeData.id;var externalName=nodeData.externalName;if(!externalName){externalName='';} 4178var equation=nodeData.jqel.context.dataset.equation;if(!equation){equation='';} 4179var dependency=nodeData.jqel.context.dataset.dependencies;if(!dependency){dependency='';} 4180var optionDependency=nodeData.jqel.context.dataset.option_dependencies;if(!optionDependency){optionDependency='';} 4181var doSearchByReference=false;if(searchByReference){if(searchByReference.data('organism')){doSearchByReference=Boolean(searchByReference.data('organism').val());}} 4182if(!searchText||nodeData.text.toLowerCase().indexOf(searchText)>-1||fieldName.toLowerCase().indexOf(searchText)>-1||externalName.toLowerCase().indexOf(searchText)>-1||(doSearchByReference&&equation.toLowerCase().indexOf(searchText)>-1)||(doSearchByReference&&dependency.toLowerCase().indexOf(searchText)>-1)||(doSearchByReference&&optionDependency.toLowerCase().indexOf(searchText)>-1)){jqel_node.removeClass('mod_hidden');jqel_node.parents('.node').removeClass('mod_hidden');}else{jqel_node.addClass('mod_hidden');}});},do_cloneFieldAndChangeToEquation:function(event,app,jqel,data){if(!confirm('Are you sure you want to clone this field and change the original to an equation?')){return false;} 4183var jqel_element=jQuery('[data-name="'+data.field_id+'"]');Be.Genome.Item.Layout.Edit.cloneFieldAndChangeToEquation(jqel,jqel_element);jqel.replaceWith(Be.Fancy.generateSpinnerButton());},do_cloneField:function(event,app,jqel,data){var jqel_element=jQuery('[data-name="'+data.field_id+'"]');Be.Genome.Item.Layout.Edit.cloneField(jqel,jqel_element);jqel.replaceWith(Be.Fancy.generateSpinnerButton());},do_updateBlockLayoutClasses:function(event,app,jqel,data){var jqel_organism=jQuery('[data-name='+data.field_id+']');var value=data.organism.getValue();var options=data.layoutClassLookup;jQuery.each(options,function(id,className){var stringId=id+'';var fullClassName='mod_custom_'+className;if(value.indexOf(stringId)==-1){jqel_organism.removeClass(fullClassName);}else{jqel_organism.addClass(fullClassName);}});},do_toggleInlineAdminTools:function(event,app,jqel,data){var jqel_body=jQuery('body');jQuery('.inlineHighlightedField').removeClass('inlineHighlightedField');if(jqel_body.hasClass('layoutInlineAdminToolsEnabled')){jqel_body.removeClass('layoutInlineAdminToolsEnabled');return;}else{jqel_body.addClass('layoutInlineAdminToolsEnabled');} 4184var excludedTypes=['form','container-repeat','tabs','tabs-progress','button','button-smart','button_smart'];var jqel_organisms=jQuery('[class*=organism_]');let unique_internal_id='';jqel_organisms.each(function(){var jqel_organism=jQuery(this);unique_internal_id=jqel_organism.data('unique_internal_id');var organismType=jqel_organism.data('ecoFieldType');if(excludedTypes.indexOf(organismType)===-1){if(!jqel_organism.children('.inlineLayoutHelper').length){var helperHtml=`<div class="inlineLayoutHelper"><i class="eco eco-eye live_click" data-live_click_handler="openInlineLayoutHelper" data-unique_internal_id="${unique_internal_id}"></i></div>`;jqel_organism.prepend(helperHtml);}}});},do_openInlineLayoutHelper:function(event,app,jqel,data){let referenceField=data.unique_internal_id;let organismName=data.name;let itemId=data.item_id;let jqelField=jqel.parent();let externalName=data.external_name;let fields=jQuery('[data-name='+organismName+']');let repeat_index=0;fields.each(function(){if(jQuery(this).data('unique_internal_id')==referenceField){return false;} 4185repeat_index++;});let jqelExisting=jQuery('.sb-theme-inlineEditTools');if(jqelExisting.length){jqelExisting.smartBox('close');} 4186let dialogOptions={themes:[app.getDialogDefaultTheme(),'eco','inline
4186EditTools'],title:'',minimize:false,maximize:false,modal:false,width:600,height:450,closeCallbacks:[]};let ajaxOptions={data:{id:itemId,view:'ajax_inline_edit_field',organism:organismName,repeatIndex:repeat_index}};let jqelDialog=app.ajaxDialog(ajaxOptions,'',dialogOptions);jqelDialog.data('referenceField',jqelField);jqelDialog.data('referenceOrganism',data.organism);jqelDialog.data('referenceOrganismName',organismName);},do_nextRepeatInstance:function(event,app,jqel,data){let jqelField=data.referenceField;let fieldData=jqelField.ecoData();let name=fieldData.name;let fields=jQuery('[data-name='+name+']');let internalId=fieldData.unique_internal_id;jQuery('.inlineHighlightedField').removeClass('inlineHighlightedField');let next=false;if(fields.length>1){fields.each(function(){if(next){let jqelCurrent=jQuery(this);jqel.ecoData('referenceField',jqelCurrent);jqelCurrent.addClass('inlineHighlightedField');jqelCurrent[0].scrollIntoView({behavior:"smooth",block:"start"});next=false;return false;}else{if(jQuery(this).data('unique_internal_id')==internalId){next=true;let repeatElement=jQuery('.repeatIndex');let repeatIndex=repeatElement.text();repeatIndex=parseInt(repeatIndex);repeatIndex++;if(repeatIndex>=fields.length){repeatIndex=0;} 4187repeatElement.text(repeatIndex);}}});} 4188if(fields.length==1||next){fields.first().addClass('inlineHighlightedField');fields[0].scrollIntoView({behavior:"smooth",block:"start"});jqel.ecoData('referenceField',fields.first());}},do_highlightInlineElement:function(event,app,jqel,data){let fields=jQuery('[data-name='+data.field+']');jQuery('.inlineHighlightedField').removeClass('inlineHighlightedField');fields.addClass('inlineHighlightedField');fields[0].scrollIntoView({behavior:"smooth",block:"start"});},do_testRunInlineEquation:function(event,app,jqel,data){var organism=data.referenceOrganism;clog('----- Starting Test Equation',data.fieldName,'-----');let oldSetting=window.showEquationData;if(MMI.Expressions._version>=1){let oldSetting=MMI.Expressions._outputDebug;MMI.Expressions.outputDebug(true);}else{window.showEquationData=3;} 4189var result=organism._solve(false,false,true);clog('----- Equation Data : -----');clog(result);clog('----- End Test Equation ',data.fieldName,'-----');if(MMI.Expressions._version>=1){MMI.Expressions.outputDebug(oldSetting);}else{window.showEquationData=oldSetting;} 4190jqel.parents('.calculations_equation').find('.result').html('Result: '+result.answer);},do_testRunInlineDependency:function(event,app,jqel,data){clog('dep',Be.Genome.Item.Layout.Dependencies._fieldReferences,data,data.fieldName);var dependency=Be.Genome.Item.Layout.Dependencies._fieldReferences[data.fieldName];if(!dependency){clog("No dependencies found for ",data.fieldName);return;} 4191var organism=data.referenceOrganism;clog('----- Starting Test Dependency ',data.fieldName,'-----');let oldSetting=window.showEquationData;if(MMI.Expressions._version>=1){oldSetting=MMI.Expressions._outputDebug;MMI.Expressions.outputDebug(true);}else{window.showEquationData=3;} 4192var result=Be.Genome.Item.Layout.Dependencies.setOrganismVisibility(dependency,false,true);clog('----- Equation Data : -----');clog(result);clog('----- End Test Dependency ',data.fieldName,'-----');if(MMI.Expressions._version>=1){MMI.Expressions.outputDebug(oldSetting);}else{window.showEquationData=oldSetting;} 4193jqel.parents('.calculations_dependencies').find('.result').html('Result: '+result.answer);},do_updateInlineFieldValues:function(event,app,jqel,data){let organism=jqel.parents('form').first().ecoData('organism');let formValues=organism.getAllValues();let itemId=data.page_item_id;let organismId=data.referenceOrganismName;jqel.smartBox('close');let formLayout=data.layoutField;if(!formLayout){formLayout='form_layout';} 4194Be.Genome.Item.Layout.Edit.saveFieldData(itemId,formLayout,organismId,formValues,organism);},do_openFieldForEdit:function(event,app,jqel,data){clog('openFieldForEdit');let jqelField=data.referenceField;jQuery('body').addClass('be_layoutEditor_organismIsActive');data.name=data.referenceOrganismName;data.item_id=data.page_item_id;Be.Genome.Item.Layout.Edit.loadEcoElementEditor(data,data);jqel.smartBox('close');},do_checkInlineOptionsBlock:function(event,app,jqel,data){}};MMI.App.registerInitCallback(Be.Genome.Item.Layout.Edit.LiveEventHandlers.handleAppInstanceCreated); 4195MMI.Util.namespace('MMI.Settings.LiveEventHandlers');MMI.Settings.LiveEventHandlers={applet:MMI.Settings,handleAppInstanceCreated:function(app){app.registerHandlerClass(MMI.Settings.LiveEventHandlers);},do_loadGroupSettings:function(event,app,jqel,data){var ajaxData={view:'admpanel_subtab_settings_list',group:data.name,mode:'admin'};app.ajax({jqel:jQuery('.rightColumn'),data:ajaxData});jQuery('.groupName').removeClass('selected');jqel.addClass('selected');},do_searchSettings:function(event,app,jqel,data){if(jqel.val()==''){return;}
4196var ajaxData={view:'admpanel_subtab_settings_list',keywords:jqel.val(),mode:'admin'};app.ajax({jqel:jQuery('.rightColumn'),data:ajaxData});jQuery('.groupName').removeClass('selected');},do_settingValueChanged:function(event,app,jqel,data){var value;if(jqel.attr('type')=='checkbox'){value=jqel.is(':checked');}else if(jqel.attr('type')=='radio'){value=jqel.parents('.settingsRow:first').find('input:checked').val();}else if(jqel.get(0).tagName.toLowerCase()=='ul'){var jqel_checkboxes=jqel.find('input:checked');console.log(jqel_checkboxes);value=[];jqel_checkboxes.each(function(){var jqel_cb=jQuery(this);var name=jqel_cb.attr('name');var part=name.split('[').pop().split(']').shift();value[value.length]=part;});}else{value=jqel.val();} 4197var ajaxData={mode:'site_setting'};var prop='settings[site]['+data.group+']['+data.settingName+']';ajaxData[prop]=value;app.ajax({data:ajaxData,mmiAjaxDone:function(json){var app=MMI.App.get();if(json.error){app.alert({message:'Error saving setting. '+json.errors.join(', '),messageType:'error'});}else{app.alert({message:'Setting Saved Successfully',messageType:'success'});}}});}};MMI.App.registerInitCallback(MMI.Settings.LiveEventHandlers.handleAppInstanceCreated); 4198class BeSiteToolsSections{#container;#sections;#statuses;#storeStatusDataServerConfigDebounced;constructor(){this.#container=document.querySelector('.be_siteToolsMenuSections');if(!this.#container){return;} 4199this.#sections=this.#container.querySelectorAll('section');this.#storeStatusDataServerConfigDebounced=Eco.Util.debounce(this.#storeStatusDataServerConfig_debounceTarget,250);this.#loadStatuses();this.#updateUiFromStatuses();this.#listenForUiStatusUpdates();}#getId(section){return section.dataset.sectionId;}#setStatus(section,status){const id=this.#getId(section);this.#statuses[id]=status;}#getStatus(section){const id=this.#getId(section);if(this.#statuses.hasOwnProperty(id)){return this.#statuses[id];} 4200return'collapsed';}#loadStatuses(){const configData=this.#readServerConfigStatusData();const localData=this.#readLocalStatusData();let statuses;if(configData&&localData){if(configData.time>=localData.time){statuses=configData.statuses;}else{statuses=localData.statuses;this.#storeStatusDataServerConfig(localData);}}else if(configData){statuses=configData.statuses;}else if(localData){statuses=localData.statuses;this.#storeStatusDataServerConfig(localData);}else{statuses={};} 4201this.#statuses=statuses;}#readServerConfigStatusData(){const preferencesString=document.querySelector('body').dataset.profilePreferences;if(preferencesString){try{const preferences=JSON.parse(preferencesString);if(preferences['site-tools-sections']){return preferences['site-tools-sections'];}}catch(e){}} 4202return null;}#readLocalStatusData(){const rawValue=window.localStorage.getItem('site-tools-sections');if(rawValue!==null){try{return JSON.parse(rawValue);}catch(e){window.localStorage.removeItem('site-tools-section');}} 4203return null;}#updateUiFromStatuses(){for(const section of this.#sections){const status=this.#getStatus(section);switch(status){case'expanded':section.classList.remove('mod_beFancyCollapsible_collapse');section.classList.add('mod_beFancyCollapsible_expand');break;case'collapsed':default:section.classList.remove('mod_beFancyCollapsible_expand');section.classList.add('mod_beFancyCollapsible_collapse');break;} 4204const organism=jQuery(section).data('organism');if(organism instanceof Eco.Organism.Be.Fancy.Collapsible){organism.syncStateFromDom();}}}#listenForUiStatusUpdates(){for(const section of this.#sections){section.addEventListener('expand',(event)=>{if(event.detail.percent===0){this.#setStatus(section,'expanded');if(!event.detail.originalEvent||(!event.detail.originalEvent.ctrlKey&&!event.detail.originalEvent.metaKey)){for(const targetSection of this.#sections){if(targetSection!==section){const organism=jQuery(targetSection).data('organism');if(organism instanceof Eco.Organism.Be.Fancy.Collapsible&&organism.isExpanded()){organism.collapse();}}}} 4205this.#storeStatusData();}});section.addEventListener('collapse',(event)=>{if(event.detail.percent===0){this.#setStatus(section,'collapsed');this.#storeStatusData();}});}}#storeStatusDataLocal(data){window.localStorage.setItem('site-tools-sections',JSON.stringify(data));}#storeStatusDataServerConfig(data){const blob=new Blob([JSON.stringify({'site-tools-sections':data})],{type:'application/json; charset=UTF-8'});navigator.sendBeacon('/api/v3/user-preferences',blob);}#storeStatusDataServerConfig_debounceTarget(data){this.#storeStatusDataServerConfig(data);}#storeStatusData(){const data={time:Math.floor((new Date()).getTime()/ 1000),statuses:this.#statuses,};this.#storeStatusDataLocal(data);this.#storeStatusDataServerConfigDebounced(data);}} 4206MMI.Util.namespace('Be.SiteTools');Be.SiteTools={_userBackInitialized:false,_userBackInstance:false,_userBackTextareaInterval:false,userbackLogoUrl:'//'+window.location.hostname+'/images/email/logo.png',_userSnapInitialized:false,_userSnapInstance:false,_userSnapEmbedded:false,_issueReportSystem:'userback',_issueReportCustomData:null,_customIssueReportCallbackConfiguration:false,reportError:function(customPayload,configuration){Be.SiteTools._issueReportCustomData=customPayload;clog('custom data is',customPayload);Be.SiteTools._customIssueReportCallbackConfiguration=configuration;switch(this._issueReportSystem){case'userback':if(!this._userBackInstance){this._embedUserBack();}else{this._userBackInstance.open();} 4207break;default:if(!this._userSnapInstance){this._embedUserSnap();}else{this._userSnapInstance.open();}}},getCustomData:function(){var pageData=jQuery('body').data();pageData['profilePreferences']='';var debugKeys=[];jQuery.each(MMI.Debug._serverDebugHistory,function(n,debugData){debugKeys.push({debugKey:debugData.debugKey,mode:debugData.mode,initialPageLoad:debugData.initialPageLoad});});var asanaId=MMI.Settings.getSetting('userback','asana_project','');var customData={customPayload:Be.SiteTools._issueReportCustomData,debugKeys:debugKeys,pageData:pageData,asanaId:asanaId};if(MMI&&MMI.App){var app=MMI.App.get();if(app){if(app.getCustomDataForIssueReports){var appCustomData=app.getCustomDataForIssueReports();if(appCustomData&&typeof(appCustomData)=='object'){customData=jQuery.extend(customData,appCustomData);}}}} 4208return customData;},_embedUserBack:function(){if(this._userBackEmbedded){return;} 4209window.Userback=window.Userback||{};var accessToken=MMI.Settings.getSetting('userback','access_token','');if(accessToken==undefined||accessToken===''){accessToken='9760|18992|F6SDgZcdyTo4AXdphX3F5GE8MGtO1W6NtBs4tMwG8F10rCAkt6';} 4210Userback.access_token=accessToken;Userback.is_live=true;Userback.on_load=function(){clog('user back loaded');Be.SiteTools.userBackHasLoaded();};Userback.on_open=function(){Be.SiteTools.userBackOpened();jQuery('body').addClass('userbackOpen');};Userback.on_close=()=>{if(this._userBackTextareaInterval){clearInterval(this._userBackTextareaInterval);this._userBackTextareaInterval=null;} 4211setTimeout(function(){jQuery('body').removeClass('userbackOpen');},1000);};Userback.after_send=function(){jQuery('body').removeClass('userbackOpen');};var email=jQuery('.be_siteToolsContainer').data('profile_email');if(email){Userback.email=email;} 4212Userback.widget_settings={main_button_text:"Send",main_button_background_colour:"#296fb8",main_button_text_colour:"#ffffff",autohide:true,rating_type:'',logo:Be.SiteTools.userbackLogoUrl};(function(id){if(document.getElementById(id)){return;} 4213var s=document.createElement('script');s.id=id;s.src='https://static.userback.io/widget/v1.js';var parent_node=document.head||document.body;parent_node.appendChild(s);})('userback-sdk');this._userBackEmbedded=true;},userBackHasLoaded:function(){this._userBackInstance=window.Userback;this._userBackInstance.open();},userBackOpened:function(){Userback.setData({payload:JSON.stringify(Be.SiteTools.getCustomData())});this._userBackTextareaInterval=setInterval(()=>{let jqel_control=jQuery('.userback-controls textarea');if(jqel_control.is(':visible')){jqel_control.val("What Happened:\n\n\nWhat Was Expected:\n\n\nSteps to Reproduce:\n");clearInterval(this._userBackTextareaInterval);this._userBackTextareaInterval=null;}},250);document.querySelector('.userback-controls textarea').value="What Happened:\n\n\nWhat Was Expected:\n\n\nSteps to Reproduce:\n";},_userBackOnLoad:function(){clog('UserBack onload is using default empty handler method.');},_userSnapOnLoad:function(){clog('UserSnap onload is using default empty handler method.');},_embedUserSnap:function(){if(this._userSnapEmbedded){return;} 4214var s=document.createElement("script");s.async=true;s.src='//api.usersnap.com/load/'+'995bd79b-064c-48ff-b30d-64aae03ef085.js?onload=onUserSnapLoad';document.getElementsByTagName('head')[0].appendChild(s);this._userSnapEmbedded=true;},userSnapHasLoaded:function(api){permaclog('UserSnap has loaded. Performing custom configuration.');this._userSnapInstance=api;this._userSnapInstanceInitialize();this._userSnapSetCallbacks();this._userSnapInstance.open();},_userSnapInstanceInitialize:function(){var api=this._userSnapInstance;api.init({colors:this._getUserSnapColorConfiguration(),fields:this._getUserSnapFieldConfiguration(),button:null,consoleRecorder:true,consoleRecorderCfg:{maxMessages:50,maxExceptions:50,logObjectSize:20480}});},_userSnapSetCallbacks:function(){this._userSnapInstance.on('open',function(event){var pageData=jQuery('body').data();pageData['profilePreferences']='';var debugKeys=[];jQuery.each(MMI.Debug._serverDebugHistory,function(n,debugData){debugKeys.push({debugKey:debugData.debugKey,mode:debugData.mode,initialPageLoad:debugData.initialPageLoad});});var customData={customPayload:Be.SiteTools._issueReportCustomData,debugKeys:debugKeys,pageData:pageData};event.api.setValue('customData',JSON.stringify(customData));});this._userSnapInstance.on('submit',function(event){var configuration=Be.SiteTools._customIssueReportCallbackConfiguration;if(configuration&&configuration.hasOwnProperty('onSubmit')&&configuration.onSubmit instanceof Function){configuration.onSubmit(event);}});},_getUserSnapFieldConfiguration:function(){var fields={title:{label:"Issue",required:true},email:{defaultValue:jQuery('.be_siteToolsContainer').data('profile_email'),label:"Your Email",required:true},comment:{label:"Info and Steps to Reproduce",required:true,defaultValue:"Expected:\n\nWhat Happened:\n\nSteps to reproduce:\n"},assignee:null,label:{label:"Issue Type",required:true,defaultValue:'bug'}};return fields;},_getUserSnapColorConfiguration:function(){var primaryColor=MMI.Settings.getSetting('usersnap','color_primary','#3c768d');if(!primaryColor||primaryColor=='false'){primaryColor='#3c768d';} 4215if(primaryColor.substring(0,1)!=='#'){primaryColor='#'+primaryColor;} 4216var secondaryColor=MMI.Settings.getSetting('usersnap','secondary_color','#107581');if(!secondaryColor||secondaryColor=='false'){secondaryColor='#107581';} 4217if(secondaryColor.substring(0,1)!=='#'){secondaryColor='#'+secondaryColor;} 4218clog('colors',{primary:primaryColor,secondary:secondaryColor});return{primary:primaryColor,secondary:secondaryColor};}
4218,togglePageLayoutEditor:function(){var jqel_layouts=jQuery('.ecoLayoutEditableContainer');if(!jqel_layouts.length){cwarn('No layouts found. Exiting editor');return;} 4219var jqel_editor=jQuery('.be_pageLayoutEditorTools');var jqel_body=jQuery('body');var swapDelay=0;if(jqel_editor.length===0){jqel_editor=jQuery('<div class="be_pageLayoutEditorTools"></div>');jqel_body.append(jqel_editor);swapDelay=1000;var ajaxData={mode:'edit',view:'layout',id:jqel_body.mmiData('page_item_id')};var ajaxOptions={data:ajaxData,jqel:jqel_editor,mmiAjaxDone:function(){}};MMI.App.get().ajax(ajaxOptions);} 4220if(jqel_body.hasClass('be_pageLayoutEditorToolsOpen')){Be.Genome.Item.Layout.Edit.cancel();jqel_body.removeClass('be_pageLayoutEditorToolsOpen');}else{setTimeout(function(){jqel_body.addClass('be_pageLayoutEditorToolsOpen');},swapDelay);}},initializeImportWordToContent:function(jqel){if(!jqel){cwarn('No jqel element specified');return;} 4221MMI.Filedrop.enableFiledrop(jqel,{multiple:false});},handleDroppedFiles:function(fileDropObject,jqel,data){if(!jqel){cwarn('No jqel element specified');return;} 4222var extensions=['docx'];var allowedFiles=Be.SiteTools._getValidFiles(fileDropObject,extensions);var fileCount=allowedFiles.length;if(fileCount<1){MMI.App.get().displayWarningNotification('Please select a valid document. Allowed file types include '+extensions.join(', '));}else if(fileCount>0){allowedFiles.each(function(file){var url='/site/core/public/remote-helpers/word-to-html/api.php?command=word-to-html';file.sendTo(url);});}},uploadProgressDone:function(jqel,fileObject,response){var jqel_container=jqel.parents('.be_pageLayoutEditorToolsPanel_structure').first();if(response.message==='ok'){var content='<div class="ecoNewContent">'+response.result+'</div>';var jqel_target=jqel_container.find('.addNewItem').first().mmiData('jqel');var id=MMI.Util.randomize(16);Be.Genome.Item.Layout.Edit.generatePlaceholderInLayout('content',id,jqel_target,content)}},_getValidFiles:function(fileDropObject,extensions){var allFiles=false;var ext=[];jQuery.each(extensions,function(n,extension){var lowerCaseExtension=extension.toLowerCase().replace(/\./g,'');if(ext.indexOf(lowerCaseExtension)===-1){ext.push(lowerCaseExtension);} 4223if(lowerCaseExtension==='*'){allFiles=true;}});return fileDropObject.filter(function(f){var parts=f.name.split('.');var myExt=parts.pop();return(allFiles||ext.indexOf(myExt.toLowerCase())>-1);});}};window.onUserSnapLoad=function(api){Be.SiteTools.userSnapHasLoaded(api);}; 4224MMI.Util.namespace('Be.SiteTools.LiveEventHandlers');Be.SiteTools.LiveEventHandlers={handleAppInstanceCreated:function(app){app.registerHandlerClass(Be.SiteTools.LiveEventHandlers);app.registerLiveEvents(['keyup']);},do_keyboardToClick:function(event,app,jqel,data){jqel.find('.be_siteToolsMenuItem.live_click').on('keyup',function(e){if(e.key.toUpperCase()==='ENTER'){jQuery(this).trigger('click');return false;} 4225return true;});},do_initializeSiteTools:function(event,app,jqel,data){jQuery('body').addClass('hasSiteTools');var url=window.location.href.replace(window.location.origin,'');jQuery('.be_siteToolsContainer .toolButton').each(function(){var jqel=jQuery(this);if(jqel.attr('href')==url){jqel.addClass('selected');}});new BeSiteToolsSections();},do_toggleSiteToolsMenu:function(event,app,jqel,data){const toolsContainer=jqel.get(0).closest('.be_siteToolsContainer');if(toolsContainer.classList.contains('open')){toolsContainer.classList.remove('open');jqel.removeClass('selected');const collapseEvent=new CustomEvent('collapse',{detail:{percent:100,originalEvent:event}});toolsContainer.dispatchEvent(collapseEvent);}else{toolsContainer.classList.add('open');jqel.addClass('selected');const searchInput=toolsContainer.querySelector('[name="organism_menuSearch"] [name="menuSearch"]');jQuery(searchInput).focus();const expandEvent=new CustomEvent('expand',{detail:{percent:100,originalEvent:event}});toolsContainer.dispatchEvent(expandEvent);} 4226return false;},do_checkLinkSelected:function(event,app,jqel,data){const $element=(jqel.get(0)instanceof HTMLAnchorElement)?jqel.get(0):jqel.get(0).querySelector('a');const url=new URL($element.href,window.location.origin);if((url.pathname==='/'&&document.querySelector('body').dataset.page_item_type==='home'&&!document.querySelector('body').classList.contains('be_itemListPage'))||(url.pathname!=='/'&&url.pathname===window.location.pathname)){jqel.addClass('selected');}},do_openSiteToolsMenuToSection:function(event,app,jqel,data){var jqel_menuToOpen=jQuery('.be_siteToolsMenuSection[data-menu_section="'+data.menu_section+'"]');var jqel_menuToOpenContents=jqel_menuToOpen.find('.be_siteToolsMenuSectionContents');jQuery('.be_siteToolsContainer').addClass('open');jQuery('.be_siteToolsMenuSection:not([data-menu_section="'+data.menu_section+'"])').removeClass('open mod_beFancyCollapsible_expand').addClass('mod_beFancyCollapsible_collapse');jQuery('.be_siteToolsMenuSectionContents').css('height','0px');jqel_menuToOpen.addClass('open mod_beFancyCollapsible_expand').removeClass('mod_beFancyCollapsible_collapse');jqel_menuToOpenContents.css('height','auto');}
4226,do_showSettings:function(event,app,jqel,data){app.alert({message:'This method has not been implemented yet: '+arguments.callee.name.toString()});return false;},do_showLayoutHtmlEditor:function(event,app,jqel,data){var jql_editPanelHtmlEditor=jQuery('.be_layoutEditor_itemSection>.sectionContent>.organism_field-textarea.mod_hidden');if(jql_editPanelHtmlEditor.length>0){jql_editPanelHtmlEditor.show();}else{alert('You need to be in Edit mode of a Content element in the Layout panel to use this.');}},do_showResaveItemsPrompt:function(event,app,jqel,data){app.prompt({message:'What item type? (example: page)',callback:function(response,dialogOptions){switch(response.id){case'ok':window.open('/?mode=maintenance&attitude=simple&command=resave&limit=20&offset=0&type='+response.value+'&autopilot=1');break;}}});},do_showResaveItemPrompt:function(event,app,jqel,data){app.prompt({message:'What item id?',callback:function(response,dialogOptions){switch(response.id){case'ok':window.open('/?mode=maintenance&attitude=simple&command=resave&limit=1&offset='+(response.value-1)+'&autopilot=0');break;}}});},do_showSiteVersionData:function(event,app,jqel,data){MMI.App.get().displaySiteRevisionData();},do_showGenomeDebugData:function(event,app,jqel,data){MMI.Debug.showDebugData();},do_loadDebugDataByDebugKey:function(event,app,jqel,data){MMI.Debug.loadDebugDataByDebugKey();},do_loadDebugDataByForDebugKey:function(event,app,jqel,data){let debugKey=data.debugKey;if(!debugKey){if(!debugKey){app.alert('Unable to load debug data. No debug key provided.');return;}} 4227window.open(MMI.Debug.getDebugDataUrlForKey(debugKey));},do_loadDebugDataForInitialPageLoad:function(event,app,jqel,data){MMI.Debug.loadDebugDataForInitialPageLoad();},do_loadDebugForLastRequest:function(event,app,jqel,data){MMI.Debug.loadDebugForLastRequest();},do_loadDebugForLastRequestByMode:function(event,app,jqel,data){MMI.Debug.loadDebugForLastRequestByMode(data.mode);},do_loadDebugForLastItemSaveRequest:function(event,app,jqel,data){MMI.Debug.loadDebugForLastItemSaveRequest();},do_loadWebDebugPage:function(){MMI.Debug.loadWebDebugPage();},do_loadDeploymentDebugPage:function(){MMI.Debug.loadDeploymentDebugPage();},do_showLoadedPackages:function(){var packagesHash=jQuery('body').data('packagesHash');if(!packagesHash){return;} 4228var app=MMI.App.get();if(app){var ajaxOptions={mmiAjaxDone:function(json,status,jqXhr,ajaxOptions){if(json.returnData&&json.returnData.packagesForHash){var jqel_dialog=ajaxOptions.jqel.smartBox('getDialog');jqel_dialog.find('.sb-window-content').html('<pre id="packages-for-hash-json-view"></pre>');jQuery('#packages-for-hash-json-view').jsonViewer(json.returnData.packagesForHash);}}};let dialogOptions=app._getSiteDialogOptionsForUseInCore('showLoadedPackages',{themes:['eco'],width:700,height:800});app.openDisplayItemDialog({id:app.getPageItemId()||1,view:'ajax_list_packages_for_hash',packagesHash:packagesHash},dialogOptions,ajaxOptions);}},do_toggleDebug:function(event,app,jqel,data){var enabled=data.debugEnabled;if(enabled=='null'){enabled=false;} 4229enabled=!enabled;jqel.data('debugEnabled',enabled);data.debugEnabled=enabled;var ajaxData={mode:'debug'};if(enabled){ajaxData.debug='enable';}else{ajaxData.debug='disable';} 4230app.ajax({data:ajaxData});Be.SiteTools.LiveEventHandlers.do_checkDebugStatus(event,app,jqel,data);},do_checkDebugStatus:function(event,app,jqel,data){var enabled=data.debugEnabled;var jqel_iconContainer=jqel.find('.be_siteToolsMenuItemIcon');var jqel_textContainer=jqel.find('.be_siteToolsMenuItemText');if(enabled){jqel_iconContainer.html('<i class="eco eco-toggle-on"></i>');jqel_textContainer.html('Disable Debug');}else{jqel_iconContainer.html('<i class="eco eco-toggle-off"></i>');jqel_textContainer.html('Enable Debug');}},do_showSiteItems:function(event,app,jqel,data){if(data.isSuperAdmin){var message='Dear Developer; Your users will not see this alert but instead of setting a click handler of showSiteItems and passing a list of item types, set the href property of the menu item and use be_site_tools_util::getItemListUrl([\''+data.itemTypes.join('\', \'')+'\'])';app.alert({message:message});return;}else{cwarn('do_showSiteItems is depreciated.');} 4231var types=data.itemTypes;var queryString='id=0&view=item_list';if(types){jQuery.each(types,function(n,type){queryString+='&item_types[]='+encodeURIComponent(type);});} 4232document.location.href='/?'+queryString;}
4232,do_showSiteNavigation:function(event,app,jqel,data){app.alert({message:'This method has not been implemented yet: '+arguments.callee.name.toString()});},do_showSiteStatistics:function(event,app,jqel,data){app.alert({message:'This method has not been implemented yet: '+arguments.callee.name.toString()});},do_showSiteSettings:function(event,app,jqel,data){app.alert({message:'This method has not been implemented yet: '+arguments.callee.name.toString()});},do_closeSiteToolsMenu:function(event,app,jqel,data){if(app.isMetaKeyDown()){return true;} 4233var jqel_toolsContainer=jQuery('.be_siteToolsContainer').first();var preferenceName="siteToolsMenuOpen_toolsMenu";jqel_toolsContainer.removeClass('open');jqel.removeClass('selected');if(preferenceName){app.setLocalValue(preferenceName,false);} 4234return true;},do_reportIssue:function(event,app,jqel,data){Be.SiteTools.reportError();},do_initializeUserSnap:function(event,app,jqel,data){Be.SiteTools.initializeUserSnap();},do_filterSiteTools:function(event,app,jqel,data){var jqel_searchOrganism=jQuery('[name=organism_menuSearch]');if(jqel_searchOrganism.length){var filterText=jQuery.trim(jqel_searchOrganism.find('input').val()).toLowerCase();var jqel_menuContainer=jQuery('.be_siteToolsMenuContainer');var jqel_options=jqel_menuContainer.find('.entry');jqel_options.removeClass('mod-force_hidden');if(filterText!==''){jqel_menuContainer.addClass('mod_beFancyCollapsible_force_expand');jqel_options.each(function(){var jqel_option=jQuery(this);var text=jqel_option.text().toLowerCase();if(text.indexOf(filterText)==-1){jqel_option.addClass('mod-force_hidden');}});}else{jqel_menuContainer.removeClass('mod_beFancyCollapsible_force_expand');} 4235var jqel_sections=jqel_menuContainer.find('section');jqel_sections.removeClass('mod-force_hidden');jqel_sections.each(function(){var jqel_section=jQuery(this);if(!jqel_section.find('.entry').filter(':visible').length){jqel_section.addClass('mod-force_hidden');}});var groupEndSelector='.entry-type--heading';var jqel_groupHeadings=jqel_menuContainer.find(groupEndSelector);jqel_groupHeadings.removeClass('mod-force_hidden');jqel_groupHeadings.each(function(){var $t=jQuery(this);var jqel_groupItems=$t.nextUntil(groupEndSelector);if(!jqel_groupItems.filter(':visible').length){$t.addClass('mod-force_hidden');}});}},do_initializeImportWordToContent:function(event,app,jqel,data){Be.SiteTools.initializeImportWordToContent(jqel);},do_siteToolsWordDocUploadSelected:function(event,app,jqel,data,fileDropObject){Be.SiteTools.handleDroppedFiles(fileDropObject,jqel,data);},do_siteToolsWordDocUploadDone:function(event,app,jqel,data,fileDropObject,response){Be.SiteTools.uploadProgressDone(jqel,fileDropObject,response);},do_siteToolsAddNew:function(event,app,jqel,data){document.location.href='/mode/edit/view=create&type=page';},do_togglePageLayoutEditor:function(event,app,jqel,data){if(jqel.hasClass('disabled')||jqel.parent().hasClass('disabled')){return;} 4236Be.SiteTools.togglePageLayoutEditor();},do_showSiteTeamPermissions:function(event,app,jqel,data){app.alert({message:'This method has not been implemented yet: '+arguments.callee.name.toString()});},do_enablePageLayoutEditorButton:function(event,app,jqel,data){const editableAreasCount=jQuery('.ecoLayoutEditableContainer').size();const $el=jqel.get(0);if(!editableAreasCount||jQuery('body').width()<800){$el.classList.add('disabled');}else{$el.classList.remove('disabled');}},do_onMitosisCartToggleChange:function(event,app,jqel,data){var value=data.organism.val();var xhrId='mitosisCartUpdate_'+data.item_id;MMI.App.get().ajax({xhrId:xhrId,data:{id:data.item_id,cartIds:value,view:'ajax_mitosis_cart_update'},mmiAjaxDone:function(){data.organism._setInitialValue(value);}});},do_openFormResultsFilterDialog:function(event,app,jqel,data){var ajaxData={id:data.item_id,view:'ajax_export_filter'};var dialogOptions={title:'Customize the Download',modal:true,width:630,height:650};var ajaxOptions={};app.openDisplayItemDialog(ajaxData,dialogOptions,ajaxOptions);}};MMI.App.registerInitCallback(Be.SiteTools.LiveEventHandlers.handleAppInstanceCreated); 4237/*! 4238 Copyright 2018 Google Inc. All Rights Reserved. 4239 Licensed under the Apache License, Version 2.0 (the "License");
4240 you may not use this file except in compliance with the License. 4241 You may obtain a copy of the License at 4242 4243 http://www.apache.org/licenses/LICENSE-2.0 4244 4245 Unless required by applicable law or agreed to in writing, software 4246 distributed under the License is distributed on an "AS IS" BASIS, 4247 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 4248 See the License for the specific language governing permissions and 4249 limitations under the License. 4250*/ 4251 4252/*! lifecycle.es5.js v0.1.1 */!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.lifecycle=t()}(this,function(){"use strict";var e=void 0;try{new EventTarget,e=!1}catch(t){e=!1}var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},a=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},s=function(){function e(){n(this,e),this._registry={}}return i(e,[{key:"addEventListener",value:function(e,t){this._getRegistry(e).push(t)}},{key:"removeEventListener",value:function(e,t){var n=this._getRegistry(e),i=n.indexOf(t);i>-1&&n.splice(i,1)}},{key:"dispatchEvent",value:function(e){return e.target=this,Object.freeze(e),this._getRegistry(e.type).forEach(function(t){return t(e)}),!0}},{key:"_getRegistry",value:function(e){return this._registry[e]=this._registry[e]||[]}}]),e}(),o=e?EventTarget:s,u=e?Event:function e(t){n(this,e),this.type=t},f=function(e){function t(e,i){n(this,t);var r=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.newState=i.newState,r.oldState=i.oldState,r.originalEvent=i.originalEvent,r}return r(t,u),t}(),c="active",h="passive",d="hidden",l="frozen",p="terminated",v="object"===("undefined"==typeof safari?"undefined":t(safari))&&safari.pushNotification,y=["focus","blur","visibilitychange","freeze","resume","pageshow","onpageshow"in self?"pagehide":"unload"],g=function(e){return e.preventDefault(),e.returnValue="Are you sure?"},_=[[c,h,d,p],[c,h,d,l],[d,h,c],[l,d],[l,c],[l,h]].map(function(e){return e.reduce(function(e,t,n){return e[t]=n,e},{})}),b=function(){return document.visibilityState===d?d:document.hasFocus()?c:h};return new(function(e){function t(){n(this,t);var e=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),i=b();return e._state=i,e._unsavedChanges=[],e._handleEvents=e._handleEvents.bind(e),y.forEach(function(t){return addEventListener(t,e._handleEvents,!0)}),v&&addEventListener("beforeunload",function(t){e._safariBeforeUnloadTimeout=setTimeout(function(){t.defaultPrevented||t.returnValue.length>0||e._dispatchChangesIfNeeded(t,d)},0)}),e}return r(t,o),i(t,[{key:"addUnsavedChanges",value:function(e){!this._unsavedChanges.indexOf(e)>-1&&(0===this._unsavedChanges.length&&addEventListener("beforeunload",g),this._unsavedChanges.push(e))}},{key:"removeUnsavedChanges",value:function(e){var t=this._unsavedChanges.indexOf(e);t>-1&&(this._unsavedChanges.splice(t,1),0===this._unsavedChanges.length&&removeEventListener("beforeunload",g))}},{key:"_dispatchChangesIfNeeded",value:function(e,t){if(t!==this._state)for(var n=function(e,t){for(var n,i=0;n=_[i];++i){var r=n[e],a=n[t];if(r>=0&&a>=0&&a>r)return Object.keys(n).slice(r,a+1)}return[]}(this._state,t),i=0;i<n.length-1;++i){var r=n[i],a=n[i+1];this._state=a,this.dispatchEvent(new f("statechange",{oldState:r,newState:a,originalEvent:e}))}}},{key:"_handleEvents",value:function(e){switch(v&&clearTimeout(this._safariBeforeUnloadTimeout),e.type){case"pageshow":case"resume":this._dispatchChangesIfNeeded(e,b());break;case"focus":this._dispatchChangesIfNeeded(e,c);break;case"blur":this._state===c&&this._dispatchChangesIfNeeded(e,b());break;case"pagehide":case"unload":this._dispatchChangesIfNeeded(e,e.persisted?l:p);break;case"visibilitychange":this._state!==l&&this._state!==p&&this._dispatchChangesIfNeeded(e,b());break;case"freeze":this._dispatchChangesIfNeeded(e,l)}}},{key:"state",get:function(){return this._state}},{key:"pageWasDiscarded",get:function(){return document.wasDiscarded||!1}}]),t}())}); 4253Eco.Organism.Field.Text=Eco.Organism.Field.extend({_ieVersion:null,_isHideErrorsOnRefocu
4253sEnabled:true,__construct:function(jqel_organism){this._parent(jqel_organism);var jqel_moleculeInput=jqel_organism.find('.molecule_input');if(!jqel_moleculeInput.size()){jqel_moleculeInput=jQuery('<div class="molecule_input"></div>');this.jqel_field.before(jqel_moleculeInput);jqel_moleculeInput.append(this.jqel_field);}},initializeEvents:function(){var self=this;var formOrganism=this.getFormOrganism();this.jqel_field.on('keyup',function(event){if(formOrganism!==null){formOrganism.setFieldWithInProgressChanges(self);} 4254self._ieKeyNormalization(event);self._updatePopulatedStatus(self.readValue());self.hideErrors();self.jqel.trigger('eco_rapid_change',[self]);});this.jqel_field.on('change',function(){self.setValueFromInput(self.readValue(),self,null);});this.jqel_field.on('focus',function(){self._updateFieldToFocusedStatus();if(self._isHideErrorsOnRefocusEnabled){self.hideErrors();} 4255self._isHideErrorsOnRefocusEnabled=true;});this.jqel_field.on('keypress',function(event){if(event.key==='Enter'){self.onEnterPress(event);}});this.jqel_field.on('blur',function(){self._updateFieldToUnfocusedStatus();self.setValueFromInput(self.readValue(),self,null);if(formOrganism!==null){formOrganism.clearFieldWithInProgressChanges(self);}});this.jqel_field.on('focusin',function(){self._updateFieldToFocusedStatus();self.hideErrors();});this.jqel_field.on('focusout',function(){self._updateFieldToUnfocusedStatus();});},initializeDomDisplay:function(){this._parent();this._setPlaceholderText(this.jqel_label.text());this.initializeEvents();this._updatePopulatedStatus(this.readValue());},onEnterPress:function(event){if(this.jqel.data().blockSubmitOnEnterPress){event.stopPropagation();event.stopImmediatePropagation();event.preventDefault();var self=this;setTimeout(function(){self.jqel_field.trigger('blur');setTimeout(function(){self._isHideErrorsOnRefocusEnabled=false;self.jqel_field.trigger('focus');},200);},1);}},onValueError:function(errors,value,sourceOrganism){this._parent(errors,value,sourceOrganism);this._updatePopulatedStatus(value);},onValueUpdate:function(value,sourceOrganism,originalSourceOrganism){this._parent(value,sourceOrganism,originalSourceOrganism);this._updatePopulatedStatus(value);},readDomValue:function(){return this.jqel_field.val();},_getFieldElement:function(){var jqel=this.jqel.find('input[type=text],input[type=tel],input[type=url],input[type=email]').first();if(!jqel.size()){this._missingElementError('Eco.Organism.Field.Text','field','A common error is not setting the type="text" attribute on the input element.');} 4256return jqel;},_setPlaceholderText:function(text){if(!this.jqel_field.attr('placeholder')){this.jqel_field.attr('placeholder',text);}else{text=this.jqel_field.attr('placeholder');var jqel_temp=jQuery('<div></div>');jqel_temp.html(text);var cleaned=jqel_temp.text();if(cleaned!=text){this.jqel_field.attr('placeholder',cleaned);}}},_updatePopulatedStatus:function(value){if(value.getRawValue()){this.jqel.addClass('mod_populated');}else{this.jqel.removeClass('mod_populated');}},_getIeVersion:function(){if(this._ieVersion===null){this._ieVersion=Eco.Util.getIeVersion();} 4257return this._ieVersion;},_ieKeyNormalization:function(event){if(this._getIeVersion()){if(event.which===13){var formOrganism=this.getFormOrganism();if(formOrganism!==null){var jqel_form=formOrganism.getFormElement();this.jqel_field.blur();jqel_form.submit();}}}}}); 4258Eco.Organism.Field.Textarea=Eco.Organism.Field.Text.extend({_getFieldElement:function(){var jqel=this.jqel.find('textarea');if(!jqel.size()){this._missingElementError('Eco.Organism.Field.Textarea','field');} 4259return jqel;},_ieKeyNormalization:function(){},onEnterPress:function(event){}}); 4260Eco.Util.getNamespace('Eco.Organism.Field.Mixin.Flyout');Eco.Organism.Field.Mixin.Flyout={flyoutPositions:Object.freeze({ABOVE:'above',BELOW:'below'}),jqel_flyout:null,_staticFlyout:true,_flyoutInit:false,_flyoutPosition:false,initFlyout:function(){if(this._flyoutInit)return;this.jqel_flyout=this.jqel.find('.flyout');if(this.jqel.ecoData('flyoutClasses')){this.jqel_flyout.addClass(this.jqel.ecoData('flyoutClasses').join(' '));} 4261if(this.jqel.hasClass('mod_forceOpen')){console.warn('using deprecated class mod_forceOpen, use mod_static-flyout instead');} 4262if(!(this.jqel.hasClass('mod_static-flyout')||this.jqel.hasClass('mod_forceOpen'))){this._staticFlyout=false;var typeClassName=this.__jsName.split('.').pop().toLowerCase();typeClassName='flyout-'+typeClassName;this.jqel_flyout.addClass('flyout '+typeClassName).attr('data-for',this.jqel.attr('data-name'));} 4263this.addFlyoutEmptyMessage();this._flyoutInit=true;}
4263,addFlyoutEmptyMessage:function(){this.jqel_emptyMessage=this.jqel_flyout.find('.mod_show-on-empty');if(!this.jqel_emptyMessage.length){this.jqel_emptyMessage=jQuery('<div class="mod_show-on-empty atom_message">No options match your criteria.</div>');this.jqel_flyout.append(this.jqel_emptyMessage);}},openFlyout:function(target){if(this._staticFlyout)return;this.repositionFlyout(target);this._watchWindowResize();this._watchFocus();},closeFlyout:function(){if(this._staticFlyout)return;this.jqel.removeClass('mod_open');this.jqel_flyout.removeClass('mod_open mod_positioned-above mod_positioned-below');this._flyoutPosition=false;this._stopWatchingWindowResize();},repositionFlyout:function(target){if(this._staticFlyout)return;this.jqel_flyout.css({width:target.width(),top:0,left:0}).addClass('mod_open').removeClass('mod_positioned-above mod_positioned-below').position({my:'left top',at:'left bottom',of:target,using:(position,data)=>{var paddingLeft=data.target.element.css('padding-left');paddingLeft=paddingLeft.replace('px');paddingLeft=parseInt(paddingLeft,10);position.left+=paddingLeft;var positionClass='mod_positioned-';switch(data.vertical){case'bottom':this._flyoutPosition=this.flyoutPositions.ABOVE;break;case'top':default:this._flyoutPosition=this.flyoutPositions.BELOW;break;} 4264this.jqel_flyout.addClass(positionClass+this._flyoutPosition).css(position);}});},addModifier:function(mod){this._parent(mod);this.jqel_flyout.addClass(mod);return this;},removeModifier:function(mod){this._parent(mod);this.jqel_flyout.removeClass(mod);if(mod==='mod_open'){this.closeFlyout();} 4265return this;},toggleModifier:function(mod){this._parent(mod);this.jqel_flyout.toggleClass(mod);},clearOptionsState:function(state){this.jqel_flyout.find('.'+state).removeClass(state);},hasFocus:function(){return this._parent()||this.jqel_flyout[0].contains(document.activeElement);},_watchFocus:function(){throw'You must override the _watchFocus method in your flyout field';},_getNavigableItems:function(){throw'You must override the _getNavigableItems method in your flyout field';},_getFocusedOption:function(){throw'You must override the _getFocusedOption method in your flyout field';},_navigateOptions:function(direction,loop=false){const visibleItems=this._getNavigableItems();const jqel_currentSelection=this._getFocusedOption();function up(){var idx=jqel_currentSelection.length?visibleItems.index(jqel_currentSelection):visibleItems.length;if(--idx<0){return loop?visibleItems.eq(visibleItems.length-1):jQuery();} 4266return visibleItems.eq(idx);} 4267function down(){var idx=jqel_currentSelection.length?visibleItems.index(jqel_currentSelection):-1;if(++idx>=visibleItems.length){return loop?visibleItems.eq(0):jQuery();} 4268return visibleItems.eq(idx);} 4269const mover=direction.toUpperCase()==='UP'?up:down;this.clearOptionsState('mod_focused');return mover();},_boundResizeWatcher:null,_watchWindowResize:function(){var self=this;this._boundResizeWatcher=function(){self.repositionFlyout(self.jqel);};window.addEventListener('resize',this._boundResizeWatcher);},_stopWatchingWindowResize:function(){window.removeEventListener('resize',this._boundResizeWatcher);},}; 4270Eco.Organism.Field.Select=Eco.Organism.Field.extend(Eco.Organism.Field.Mixin.Flyout,{_resetFilterOnClick:true,_movingWithArrowKeys:0,_unfocusTimeoutTimeInMilliseconds:15,_unfocusTimeout:null,jqel_options:null,jqel_wrapper:null,jqel_filterField:null,jqel_emptyMessage:null,_optionValues:null,_optionLabels:null,focusWatcher:null,_isMobile:null,_filterList:[],_lastSearch:'',_delayTimer:0,filterDelay:10,__construct:function(jqel_organism){this._parent(jqel_organism);this._optionValues=[];this._optionLabels=[];this.jqel.addClass('molecule_selectList');this.setUpFieldDomElements();},initializeDomDisplay:function(){this._parent();this.jqel.addClass('molecule_selectList');this.updateDisplayValue();},setUpFieldDomElements:function(){var self=this;var placeholderText=this.jqel.data('placeholder');if(typeof placeholderText==="string"&&placeholderText!==''){placeholderText=jQuery.trim(placeholderText);}else{placeholderText=jQuery.trim(this.jqel_label.text());} 4271if(!placeholderText){placeholderText=' ';} 4272var jqel_selectArea=this.jqel.find('.selectWrapper');if(jqel_selectArea.size()===0){var html='<div class="selectWrapper" tabindex="0"><div class="atom_input"><span class="atom_placeholder">'+placeholderText+'</span><span class="displayValue"></span></div>'+'<div class="flyout"><ul>';html+='</ul></div></div>';this.jqel_field.after(html);this.initFlyout();var optionSourceType=this.jqel_field.ecoData('option_source_choose');if(optionSourceType=='function'){var optionSourceFunctionName=this.jqel_field.ecoData('option_function');if(!window[optionSourceFunctionName]){throw Error('The target option source function does exist. Function Name: '+optionSourceFunctionName);} 4273var fnType=typeof(window[optionSourceFunctionName]);if(fnType!=='function'){throw Error('The target option source function exists as a window property but is a '+fnType+' and not a function. Function Name: '+optionSourceFunctionName);} 4274var optionsObject=window[optionSourceFunctionName].call();for(var value in optionsObject){if(!optionsObject.hasOwnProperty(value)){continue;} 4275var label=optionsObject[value];
4275self._addOption(label,value,false,{});}}else{var hasSelectedOption=false;this.jqel_field.children('option').each(function(){var jqel_option=jQuery(this);var value=jqel_option.attr('value');var labelElement=jQuery('<textarea/>');labelElement.html(jqel_option.html());var label=labelElement.text();var data=jqel_option.data();var selected=false;if(jqel_option.attr('selected')){hasSelectedOption=true;selected=true;} 4276self._addOption(label,value,selected,data);});}} 4277this.jqel_wrapper=this.jqel.find('.selectWrapper');if(!this.jqel_wrapper.attr('tabindex')){this.jqel_wrapper.attr('tabindex',0);} 4278this.jqel_input=this.jqel.find('.atom_input');this.jqel_displayValue=this.jqel_input.find('.displayValue');this.initFlyout();this.jqel_filterField=this.jqel.find('.filterField');if(!this.jqel_filterField.size()){placeholderText=this.jqel.find(".atom_placeholder").first().text();if(!placeholderText){placeholderText='Type to filter options';} 4279this.jqel_filterField=jQuery('<input class="filterField" placeholder="'+placeholderText+'" value=""/>');this.jqel_filterField.val(this.jqel_displayValue.text());this.jqel_displayValue.after(this.jqel_filterField);} 4280if(this.jqel_filterField.size()){const labels=this.jqel_filterField[0].labels||[];if(!labels.length){if(!this.jqel_filterField.attr('id')){const filterId=this.jqel.data('name')+'_filter';this.jqel_filterField.attr('id',filterId);} 4281jQuery(`<label for="${this.jqel_filterField.attr('id')}" class="sr-only">${placeholderText}</label>`).insertBefore(this.jqel_filterField);} 4282this.jqel_filterField.on('mousedown',maintainFocus);this.jqel_filterField.on('blur',unfocusIfNeeded);this.jqel_filterField.on('click',function(){return false;});this.jqel_filterField.on('change',function(){return false;});this.jqel_filterField.on('keydown',function(event){switch(event.key){case"ArrowDown":case"ArrowUp":self.jqel_filterField.parent().trigger(event);break;case"Enter":var currentText=self.jqel_filterField.val();var focused=self.filterOptionsFromField(true);if(focused&&focused.length){if(!self.hasModifier('mod_empty')){focused.trigger('click');return;}} 4283if(currentText){setTimeout(function(){self.jqel.trigger('new_select_option',[self,currentText]);},10);} 4284self._updateFieldToUnfocusedStatus();break;case"Escape":if(self.hasModifier('mod_open')){self._toggleOpenState(event);self.jqel_wrapper.focus();return false;} 4285break;default:clearTimeout(self._delayTimer);self._delayTimer=self.filterTimer=setTimeout(function(){self.filterOptionsFromField();},10);break;}});} 4286const prepend=this.jqel.find('[data-prepend-to-flyout]');const append=this.jqel.find('[data-append-to-flyout]');if(prepend.length||append.length){prepend.each(function(){jQuery(this).prependTo(self.jqel_flyout).removeAttr('data-prepend-to-flyout');});append.each(function(){jQuery(this).appendTo(self.jqel_flyout).removeAttr('data-append-to-flyout');});if(this.jqel.find('.molecule_children').children().length===0){this.jqel.find('.molecule_children').remove();}} 4287this.jqel_emptyMessage=this.jqel_flyout.find('.mod_show-on-empty');if(!this.jqel_emptyMessage.length){this.jqel_emptyMessage=jQuery('<div class="mod_show-on-empty atom_message">No options match your criteria.</div>');this.jqel_flyout.append(this.jqel_emptyMessage);} 4288this.jqel_input.on('click',function(event){self._toggleOpenState(event);self.hasModifier('mod_open')&&self.jqel_filterField.focus();});this.jqel_options=this.jqel_flyout.find('li[data-value]');function maintainFocus(){self._maintainFocus=true;} 4289this._initializeOptions(this.jqel_options);function unfocusIfNeeded(){if(!self._maintainFocus){self._updateFieldToUnfocusedStatus();}else{setTimeout(function(){if(!self.hasFocus()){self._updateFieldToUnfocusedStatus();}},1);} 4290self._maintainFocus=false;} 4291this.jqel_wrapper.on('focus',function(){self._updateFieldToFocusedStatus();});this.jqel_wrapper.on('blur',unfocusIfNeeded);this._initializeKeydown(this.jqel_wrapper);this.jqel_field.on('input',(e)=>{console.log('select input',e);e.stopPropagation();e.stopImmediatePropagation();e.preventDefault();this.val(e.target.value);return false;});this.jqel_field.on('change',(e)=>{e.stopPropagation();e.stopImmediatePropagation();e.preventDefault();return false;});this.reIndexValues();},_toggleOpenState:function(event,maintainFocus){if(this.isReadOnly()||this.isDisabled()){if
4291(event.cancelable){event.preventDefault();} 4292this.removeModifier('mod_focused');return false;} 4293this._maintainFocus=maintainFocus===true;this._clearFilter();this.toggleModifier('mod_open');if(this.hasModifier('mod_open')){this.openFlyout(this.jqel);}else{this.closeFlyout();}},_clearFilter:function(){this.clearOptionsState('mod_hidden');this.removeModifier('mod_empty');this.jqel_filterField.val('');this._lastSearch='';},_watchFocus:function(){const self=this;this.focusWatcher=setInterval(function(){if(!self.hasFocus()){self._movingWithArrowKeys=0;self._maintainFocus=false;self._updateFieldToUnfocusedStatus();clearInterval(self.focusWatcher);self.focusWatcher=null;}},250);},moveOption:function(value,targetPosition){let options=[];this.jqel_options.each(function(index){if(index>=targetPosition){index++;} 4294let option=jQuery(this);if(option.data('value')===value){options[targetPosition]=option.get(0);}else{options[index]=option.get(0);}});options.forEach(function(option,index,options){option.parentElement.insertBefore(option,options[index+1]);});},addOption:function(label,value,selected,data){value=''+value;this._addOption(label,value,false,data);this.jqel_options=this.jqel_flyout.find('li[data-value]');this._initializeOptions(this.jqel_options);if(selected){this.val(value);}else{this.updateDisplayValue();}},_addOption:function(label,value,selected,data){var newLiOption='<li tabindex="0" data-value="'+value+'"';if(selected){newLiOption+=' class="mod_selected"';} 4295if(data){for(var key in data){if(data.hasOwnProperty(key)){var dataValue=data[key];if(key=='value'){permaclog(this,this.jqel);throw Error("^^^ You cannot pass a data-value attribute in the <option> tag. Please set the value as <option value=$value> instead.");}else{newLiOption+=' data-'+key+'="'+dataValue+'"';}}}} 4296newLiOption+='>'+label+'</li>';var jqel_option=jQuery(newLiOption);this.jqel_flyout.find('> ul').first().append(jqel_option);this._optionValues.push(value);this._optionLabels.push(label);},removeOption:function(value){var location=this._optionValues.indexOf(value);var selected=false;if(location>-1){var el=this.jqel_flyout.find('[data-value="'+value+'"]');selected=el.hasClass('mod_selected');el.remove();this._optionLabels.splice(location,1);this._optionValues.splice(location,1);} 4297this.jqel_options=this.jqel_flyout.find('li[data-value]');if(selected){this.setValueFromInput(new Eco.OrganismValue(null,null),this,this.getOwnEntityName());} 4298this.updateDisplayValue();},replaceOptions:function(optionObjects){this.jqel_flyout.find('ul:first').html('');this._optionLabels=[];this._optionValues=[];var self=this;jQuery.each(optionObjects,function(n,obj){var value=obj.value;var label=obj.label;if(!label){label=value;} 4299var data=obj.data;var selected=obj.selected;self._addOption(label,value,selected,data);});this.jqel_options=this.jqel_flyout.find('li[data-value]');this._initializeOptions(this.jqel_options);this.updateDisplayValue();},_initializeKeydown:function(jqel_elements){var self=this;jqel_elements.on('keydown',function(event){if(self.isReadOnly()||self.isDisabled()){return false;} 4300var jqel=jQuery(this);var jqel_target=null;var trap=false;var alreadyOpen=self.hasModifier('mod_open');if(event.key==="Escape"){if(self.hasModifier('mod_open')){self._toggleOpenState(event);self.jqel_wrapper.focus();return false;}} 4301if(jqel.hasClass('selectWrapper')){function onlyOpen(){!self.hasModifier('mod_open')&&self._toggleOpenState(event);self.hasModifier('mod_open')&&self.jqel_filterField.focus();return!alreadyOpen;} 4302switch(event.key){case"ArrowDown":if(onlyOpen()){return false;} 4303jqel_target=self._getNavigableItems().first();trap=true;break;case"ArrowUp":if(onlyOpen()){return false;} 4304jqel_target=self._getNavigableItems().last();trap=true;break;case" ":case"Enter":return!onlyOpen();case"Tab":case"Shift":case"Escape":return true;default:if(!self.hasModifier('mod_open')){self._toggleOpenState(event);self.hasModifier('mod_open')&&self.jqel_filterField.focus();event.target=self.jqel_filterField.get(0);self._maintainFocus=true;self.jqel_filterField.trigger('focus').trigger(event);return true;} 4305if(event.target!=self.jqel_filterField.get(0)){event.target=self.jqel_filterField.get(0);self._maintainFocus=true;self.jqel_filterField.trigger('focus').trigger(event);} 4306break;}}else{switch(event.key){case"ArrowDown":jqel_target=self._navigateOptions("down").first();trap=true;break;case"ArrowUp":jqel_target=self._navigateOptions("up").first();trap=true;break;case"Enter":case"Tab":jqel.trigger('click');trap=true;break;default:if(event.key==" "&&self.jqel_filterField.val()===''){jqel.trigger('click');trap=true;}else{if(event.target!=self.jqel_filterField.get(0)){event.target=self.jqel_filterField.get(0);self._maintainFocus=true;self.jqel_filterField.trigger('focus').trigger(event);}} 4307break;}} 4308var movingWithArrowKeys=(["ArrowUp","ArrowDown"].indexOf(event.key)!=-1);if(jqel_target&&jqel_target.length){if(movingWithArrowKeys){self._movingWithArrowKeys=2;} 4309jqel_target.trigger('focus');}else{self.jqel_filterField.focus();} 4310if(trap){if(!movingWithArrowKeys){self._movingWithArrowKeys=0;} 4311event.preventDefault();event.stopPropagation();event.stopImmediatePropagation();return false;}});},_initializeOptions:function(jqel_options){var self=this;function maintainFocus(){self._maintainFocus=true;} 4312jqel_options.on('mousedown',maintainFocus);jqel_options.on('click',function(event){if(self.isReadOnly()||self.isDisabled()){if
4312(event.cancelable){event.preventDefault();} 4313self.jqel.removeClass('mod_focused');return false;} 4314var jqel_option=jQuery(this);if(jqel_option.hasClass('mod_disabled')){return;} 4315self.jqel_options.removeClass('mod_selected');jqel_option.addClass('mod_selected');self.closeFlyout();event.stopPropagation();event.stopImmediatePropagation();event.preventDefault();self.setValueFromInput(self.readValue(),self,self.getOwnEntityName());self.jqel_wrapper.trigger('focus');self._maintainFocus=false;self.updateDisplayValue();});this._setUpFilterList();jqel_options.each(function(){var jqel_option=jQuery(this);var label=jqel_option.text();if(!label||!jQuery.trim(label)){jqel_option.html(' ');}});this._initializeKeydown(jqel_options);},_getNavigableItems:function(){return this.jqel_flyout.find('ul li:visible:not(.mod_disabled)');},_getFocusedOption:function(){return this.jqel_flyout.find('li:focus');},_getFieldElement:function(){return this.jqel.find('select');},readDomValue:function(){var field=this.jqel_flyout;if(!field){field=this.jqel.find('.flyout');} 4316var value=field.find('li.mod_selected').first().data('value');return typeof value!=='undefined'?value:'';},removeFocus:function(){this._updateFieldToUnfocusedStatus();},_updateFieldToUnfocusedStatus:function(){if(this._movingWithArrowKeys<1){if(this._unfocusTimeout){return;} 4317var self=this;this._unfocusTimeout=setTimeout(function(){if(!self.hasFocus()){self.removeModifier('mod_focused');self.removeModifier('mod_open');self._final_updateFieldToUnfocusedStatus();} 4318self._unfocusTimeout=null;},this._unfocusTimeoutTimeInMilliseconds);} 4319this._movingWithArrowKeys--;},_final_updateFieldToUnfocusedStatus:function(){},getLabelForOption:function(optionValue){return this.getLabelForOptionByValue(optionValue);},getIndexForOptionByValue:function(optionValue){return this._optionValues.indexOf(optionValue+'');},getLabelForOptionByValue:function(optionValue){var optionIndex=this.getIndexForOptionByValue(optionValue);var displayText='';if(optionIndex>=0){displayText=this._optionLabels[optionIndex];} 4320return displayText;},getDataForOptionByValue:function(optionValue){var optionIndex=this.getIndexForOptionByValue(optionValue);var option=jQuery(this.jqel_options[optionIndex]);return option.data();},updateDisplayValueRender:function(){if(!this._hasInitializedDom){return;} 4321var displayTextPlaceholder=' ';var value=this.readValue();var displayText=this.getLabelForOption(value.getRawValue());if(!displayText||!jQuery.trim(displayText)){displayText=displayTextPlaceholder;} 4322if(displayText&&displayText!=displayTextPlaceholder){this.addModifier('mod_populated');}else{this.removeModifier('mod_populated');} 4323this.jqel_displayValue.html(displayText);if(value.getCleanValue()!==this.jqel_field.val()){this.jqel_field.val(value.getCleanValue());}},_setUpFilterList:function(){this._filterList=[];var self=this;this.jqel_options.each(function(){var jqel_option=jQuery(this);var thisText=jQuery.trim(jqel_option.text()).toLowerCase();thisText=thisText.replace(/\s+/g," ");var currentItem={text:thisText,element:jqel_option};self._filterList.push(currentItem);});},resetSelectedLists:function(){},filterOptionsFromField:function(ignoreMobile){var focused=false;var filterValue=this.jqel_filterField.val().toLowerCase();var jqel_list;if(this._lastSearch==filterValue){jqel_list=this.jqel_options.not('.mod_hidden');return jqel_list.find(':focus');} 4324this.removeModifier('mod_empty');var isVisible=false;if(filterValue){jQuery.each(this._filterList,function(n,filterData){var jqel_li=filterData.element;if(filterData.text.indexOf(filterValue)===-1){jqel_li.addClass('mod_hidden');}else{isVisible=true;jqel_li.removeClass('mod_hidden');}});}else{isVisible=true;this.jqel_flyout.find('li').removeClass('mod_hidden');} 4325jqel_list=this.jqel_options.not('.mod_hidden');var jqel_focused=jqel_list.find(':focus');if(!jqel_focused.size()){if(isVisible){this._maintainFocus=true;focused=jqel_list.first();if(!this.isMobile()||ignoreMobile){focused.trigger('focus');}}} 4326if(this.isMobile()&&!ignoreMobile){focused=this.jqel_field;} 4327if(isVisible){this.removeModifier('mod_empty');}else{this.addModifier('mod_empty');} 4328this._lastSearch=filterValue;return focused;},isMobile:function(){if(this._isMobile===null||this._isMobile===undefined){this._isIpad=(navigator.userAgent.match(/iPad/i)!=null);this._isMobile=false;if(navigator.userAgent.match(/iPhone/i)!=null||navigator.userAgent.match(/iPod/i)!=null||navigator.userAgent.match(/iPad/i)!=null||navigator.userAgent.match(/Android/i)!=null||navigator.userAgent.match(/Mobile/i)!=null){this._isMobile=true;}} 4329return this._isMobile;},insertNewSelectOption:function(value,label,select){var jqel_option=jQuery('<li data-value="'+value+'" tabindex="0"></li>');jqel_option.data('value',value);jqel_option.html(label);this.jqel_flyout.find('ul').append(jqel_option);this._initializeOptions(jqel_option);this.jqel_options=this.jqel_flyout.find('li');this.reIndexValues();if(select){jqel_option.trigger('click');}},reIndexValues:function(){var self=this;self._optionValues=[];self._optionLabels=[];this.jqel_options.each(function(){var jqel_option=jQuery(this);var label=jqel_option.html();var value=jqel_option.data('value');self._optionLabels.push(label);self._optionValues.push(value+'');});},unsetOwnValue:function(){this.jqel_options.removeClass('mod_selected');this._parent();},deselectOptions:function(options){var current=this._readValue();if(options.indexOf(current)>-1){var organismValue=new Eco.OrganismValue("","");this.jqel_options.removeClass('mod_selected');this.setValueFromInput(organismValue,this,this.getOwnEntityName());} 4330this.updateDisplayValue();},val:function(value){if(value===undefined){return this.getValue();}else{var jqel_currentOption=this.jqel_options.filter('[data-value="'+value+'"]');
vendor: 5,973 bytes, lines 4330-4332
4330if(jqel_currentOption.size()){this.jqel_options.removeClass('mod_selected');jqel_currentOption.addClass('mod_selected');var organismValue=new Eco.OrganismValue(value,this.cleanValue(value));this.setValueFromInput(organismValue,this,this.getOwnEntityName());this.updateDisplayValue();} 4331return null;}},reindexValues:function(){cwarn('You should call reIndexValues() instead. The "I" in "index" should be uppercase in your method call.');this.reIndexValues.apply(this,arguments);},focus:function(){this.jqel_input.trigger('click');}}); 4332!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.genomeJsApi=e():t.genomeJsApi=e()}(self,(()=>(()=>{var t={75:(t,e,r)=>{"use strict";var n=r(453),o=r(487),i=o(n("String.prototype.indexOf"));t.exports=function(t,e){var r=n(t,!!e);return"function"==typeof r&&i(t,".prototype.")>-1?o(r):r}},487:(t,e,r)=>{"use strict";var n=r(743),o=r(453),i=r(897),a=r(675),s=o("%Function.prototype.apply%"),c=o("%Function.prototype.call%"),l=o("%Reflect.apply%",!0)||n.call(c,s),u=r(655),f=o("%Math.max%");t.exports=function(t){if("function"!=typeof t)throw new a("a function is required");var e=l(n,c,arguments);return i(e,1+f(0,t.length-(arguments.length-1)),!0)};var p=function(){return l(n,s,arguments)};u?u(t.exports,"apply",{value:p}):t.exports.apply=p},41:(t,e,r)=>{"use strict";var n=r(655),o=r(68),i=r(675),a=r(795);t.exports=function(t,e,r){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new i("`obj` must be an object or a function`");if("string"!=typeof e&&"symbol"!=typeof e)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,l=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],f=!!a&&a(t,e);if(n)n(t,e,{configurable:null===l&&f?f.configurable:!l,enumerable:null===s&&f?f.enumerable:!s,value:r,writable:null===c&&f?f.writable:!c});else{if(!u&&(s||c||l))throw new o("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");t[e]=r}}},655:(t,e,r)=>{"use strict";var n=r(453)("%Object.defineProperty%",!0)||!1;if(n)try{n({},"a",{value:1})}catch(t){n=!1}t.exports=n},237:t=>{"use strict";t.exports=EvalError},383:t=>{"use strict";t.exports=Error},290:t=>{"use strict";t.exports=RangeError},538:t=>{"use strict";t.exports=ReferenceError},68:t=>{"use strict";t.exports=SyntaxError},675:t=>{"use strict";t.exports=TypeError},345:t=>{"use strict";t.exports=URIError},353:t=>{"use strict";var e=Object.prototype.toString,r=Math.max,n=function(t,e){for(var r=[],n=0;n<t.length;n+=1)r[n]=t[n];for(var o=0;o<e.length;o+=1)r[o+t.length]=e[o];return r};t.exports=function(t){var o=this;if("function"!=typeof o||"[object Function]"!==e.apply(o))throw new TypeError("Function.prototype.bind called on incompatible "+o);for(var i,a=function(t,e){for(var r=[],n=1,o=0;n<t.length;n+=1,o+=1)r[o]=t[n];return r}(arguments),s=r(0,o.length-a.length),c=[],l=0;l<s;l++)c[l]="$"+l;if(i=Function("binder","return function ("+function(t,e){for(var r="",n=0;n<t.length;n+=1)r+=t[n],n+1<t.length&&(r+=",");return r}(c)+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof i){var e=o.apply(this,n(a,arguments));return Object(e)===e?e:this}return o.apply(t,n(a,arguments))})),o.prototype){var u=function(){};u.prototype=o.prototype,i.prototype=new u,u.prototype=null}return i}},743:(t,e,r)=>{"use strict";var n=r(353);t.exports=Function.prototype.bind||n},453:(t,e,r)=>{"use strict";var n,o=r(383),i=r(237),a=r(290),s=r(538),c=r(68),l=r(675),u=r(345),f=Function,p=function(t){try{return f('"use strict"; return ('+t+").constructor;")()}catch(t){}},y=Object.getOwnPropertyDescriptor;if(y)try{y({},"")}catch(t){y=null}var d=function(){throw new l},h=y?function(){try{return d}catch(t){try{return y(arguments,"callee").get}catch(t){return d}}}():d,m=r(39)(),g=r(24)(),b=Object.getPrototypeOf||(g?function(t){return t.__proto__}:null),v={},w="undefined"!=typeof Uint8Array&&b?b(Uint8Array):n,S={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer,"%ArrayIteratorPrototype%":m&&b?b([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":v,"%AsyncGenerator%":v,"%AsyncGeneratorFunction%":v,"%AsyncIteratorPrototype%":v,"%Atomics%":"undefined"==typeof Atomics?n:Atomics,"%BigInt%":"undefined"==typeof BigInt?n:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?n:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":o,"%eval%":eval,"%EvalError%":i,"%Float32Array%":"undefined"==typeof Float32Array?n:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?n:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?n:FinalizationRegistry,"%Function%":f,"%GeneratorFunction%":v,"%Int8Array%":"undefined"==typeof Int8Array?n:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?n:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%
4332IteratorPrototype%":m&&b?b(b([][Symbol.iterator]())):n,"%JSON%":"object"==typeof JSON?JSON:n,"%Map%":"undefined"==typeof Map?n:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&m&&b?b((new Map)[Symbol.iterator]()):n,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?n:Promise,"%Proxy%":"undefined"==typeof Proxy?n:Proxy,"%RangeError%":a,"%ReferenceError%":s,"%Reflect%":"undefined"==typeof Reflect?n:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?n:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&m&&b?b((new Set)[Symbol.iterator]()):n,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":m&&b?b(""[Symbol.iterator]()):n,"%Symbol%":m?Symbol:n,"%SyntaxError%":c,"%ThrowTypeError%":h,"%TypedArray%":w,"%TypeError%":l,"%Uint8Array%":"undefined"==typeof Uint8Array?n:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?n:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?n:Uint32Array,"%URIError%":u,"%WeakMap%":"undefined"==typeof WeakMap?n:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?n:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?n:WeakSet};if(b)try{null.error}catch(t){var E=b(b(t));S["%Error.prototype%"]=E}var O=function t(e){var r;if("%AsyncFunction%"===e)r=p("async function () {}");else if("%GeneratorFunction%"===e)r=p("function* () {}");else if("%AsyncGeneratorFunction%"===e)r=p("async function* () {}");else if("%AsyncGenerator%"===e){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if("%AsyncIteratorPrototype%"===e){var o=t("%AsyncGenerator%");o&&b&&(r=b(o.prototype))}return S[e]=r,r},_={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},j=r(743),A=r(957),P=j.call(Function.call,Array.prototype.concat),x=j.call(Function.apply,Array.prototype.splice),R=j.call(Function.call,String.prototype.replace),T=j.call(Function.call,String.prototype.slice),F=j.call(Function.call,RegExp.prototype.exec),N=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,D=/\\(\\)?/g,C=function(t,e){var r,n=t;if(A(_,n)&&(n="%"+(r=_[n])[0]+"%"),A(S,n)){var o=S[n];if(o===v&&(o=O(n)),void 0===o&&!e)throw new l("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:r,name:n,value:o}}throw new c("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new l("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new l('"allowMissing" argument must be a boolean');if(null===F(/^%?[^%]*%?$/,t))throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(t){var e=T(t,0,1),r=T(t,-1);if("%"===e&&"%"!==r)throw new c("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new c("invalid intrinsic syntax, expected opening `%`");var n=[];return R(t,N,(function(t,e,r,o){n[n.length]=r?R(o,D,"$1"):e||t})),n}(t),n=r.length>0?r[0]:"",o=C("%"+n+"%",e),i=o.name,a=o.value,s=!1,u=o.alias;u&&(n=u[0],x(r,P([0,1],u)));for(var f=1,p=!0;f<r.length;f+=1){var d=r[f],h=T(d,0,1),m=T(d,-1);if(('"'===h||"'"===h||"`"===h||'"'===m||"'"===m||"`"===m)&&h!==m)throw new c("property names with quotes must have matching quotes");if("constructor"!==d&&p||(s=!0),A(S,i="%"+(n+="."+d)+"%"))a=S[i];
4332else if(null!=a){if(!(d in a)){if(!e)throw new l("base intrinsic for "+t+" exists, but the property is not available.");return}if(y&&f+1>=r.length){var g=y(a,d);a=(p=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:a[d]}else p=A(a,d),a=a[d];p&&!s&&(S[i]=a)}}return a}},795:(t,e,r)=>{"use strict";var n=r(453)("%Object.getOwnPropertyDescriptor%",!0);if(n)try{n([],"length")}catch(t){n=null}t.exports=n},592:(t,e,r)=>{"use strict";var n=r(655),o=function(){return!!n};o.hasArrayLengthDefineBug=function(){if(!n)return null;try{return 1!==n([],"length",{value:1}).length}catch(t){return!0}},t.exports=o},24:t=>{"use strict";var e={__proto__:null,foo:{}},r=Object;t.exports=function(){return{__proto__:e}.foo===e.foo&&!(e instanceof r)}},39:(t,e,r)=>{"use strict";var n="undefined"!=typeof Symbol&&Symbol,o=r(333);t.exports=function(){return"function"==typeof n&&"function"==typeof Symbol&&"symbol"==typeof n("foo")&&"symbol"==typeof Symbol("bar")&&o()}},333:t=>{"use strict";t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),r=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var n=Object.getOwnPropertySymbols(t);if(1!==n.length||n[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(t,e);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},957:(t,e,r)=>{"use strict";var n=Function.prototype.call,o=Object.prototype.hasOwnProperty,i=r(743);t.exports=i.call(n,o)},762:(t,e,r)=>{var n,o="__lodash_hash_undefined__",i=1/0,a="[object Function]",s="[object GeneratorFunction]",c="[object Symbol]",l=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/,f=/^\./,p=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,y=/\\(\\)?/g,d=/^\[object .+?Constructor\]$/,h="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,m="object"==typeof self&&self&&self.Object===Object&&self,g=h||m||Function("return this")(),b=Array.prototype,v=Function.prototype,w=Object.prototype,S=g["__core-js_shared__"],E=(n=/[^.]+$/.exec(S&&S.keys&&S.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",O=v.toString,_=w.hasOwnProperty,j=w.toString,A=RegExp("^"+O.call(_).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),P=g.Symbol,x=b.splice,R=L(g,"Map"),T=L(Object,"create"),F=P?P.prototype:void 0,N=F?F.toString:void 0;function D(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function C(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function I(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function k(t,e){for(var r,n,o=t.length;o--;)if((r=t[o][0])===(n=e)||r!=r&&n!=n)return o;return-1}function U(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function L(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){if(!z(t)||E&&E in t)return!1;var e=function(t){var e=z(t)?j.call(t):"";return e==a||e==s}(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}(t)?A:d;return e.test(function(t){if(null!=t){try{return O.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t))}(r)?r:void 0}D.prototype.clear=function(){this.__data__=T?T(null):{}},D.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},D.prototype.get=function(t){var e=this.__data__;if(T){var r=e[t];return r===o?void 0:r}return _.call(e,t)?e[t]:void 0},D.prototype.has=function(t){var e=this.__data__;return T?void 0!==e[t]:_.call(e,t)},D.prototype.set=function(t,e){return this.__data__[t]=T&&void 0===e?o:e,this},C.prototype.clear=function(){this.__data__=[]},C.prototype.delete=function(t){var e=this.__data__,r=k(e,t);return!(r<0||(r==e.length-1?e.pop():x.call(e,r,1),0))},C.prototype.get=function(t){var e=this.__data__,r=k(e,t);return r<0?void 0:e[r][1]},C.prototype.has=function(t){return k(this.__data__,t)>-1}
4332,C.prototype.set=function(t,e){var r=this.__data__,n=k(r,t);return n<0?r.push([t,e]):r[n][1]=e,this},I.prototype.clear=function(){this.__data__={hash:new D,map:new(R||C),string:new D}},I.prototype.delete=function(t){return U(this,t).delete(t)},I.prototype.get=function(t){return U(this,t).get(t)},I.prototype.has=function(t){return U(this,t).has(t)},I.prototype.set=function(t,e){return U(this,t).set(t,e),this};var B=q((function(t){var e;t=null==(e=t)?"":function(t){if("string"==typeof t)return t;if($(t))return N?N.call(t):"";var e=t+"";return"0"==e&&1/t==-i?"-0":e}(e);var r=[];return f.test(t)&&r.push(""),t.replace(p,(function(t,e,n,o){r.push(n?o.replace(y,"$1"):e||t)})),r}));function M(t){if("string"==typeof t||$(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}function q(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=t.apply(this,n);return r.cache=i.set(o,a),a};return r.cache=new(q.Cache||I),r}q.Cache=I;var H=Array.isArray;function z(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function $(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&j.call(t)==c}t.exports=function(t,e,r){var n=null==t?void 0:function(t,e){var r;e=function(t,e){if(H(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!$(t))||u.test(t)||!l.test(t)||null!=e&&t in Object(e)}(e,t)?[e]:H(r=e)?r:B(r);for(var n=0,o=e.length;null!=t&&n<o;)t=t[M(e[n++])];return n&&n==o?t:void 0}(t,e);return void 0===n?r:n}},974:(t,e,r)=>{var n,o="__lodash_hash_undefined__",i=1/0,a=9007199254740991,s="[object Function]",c="[object GeneratorFunction]",l="[object Symbol]",u=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,f=/^\w*$/,p=/^\./,y=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,d=/\\(\\)?/g,h=/^\[object .+?Constructor\]$/,m=/^(?:0|[1-9]\d*)$/,g="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,b="object"==typeof self&&self&&self.Object===Object&&self,v=g||b||Function("return this")(),w=Array.prototype,S=Function.prototype,E=Object.prototype,O=v["__core-js_shared__"],_=(n=/[^.]+$/.exec(O&&O.keys&&O.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",j=S.toString,A=E.hasOwnProperty,P=E.toString,x=RegExp("^"+j.call(A).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),R=v.Symbol,T=w.splice,F=q(v,"Map"),N=q(Object,"create"),D=R?R.prototype:void 0,C=D?D.toString:void 0;function I(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function k(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function U(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function L(t,e,r){var n=t[e];A.call(t,e)&&K(n,r)&&(void 0!==r||e in t)||(t[e]=r)}function B(t,e){for(var r=t.length;r--;)if(K(t[r][0],e))return r;return-1}function M(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function q(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){if(!G(t)||_&&_ in t)return!1;var e=function(t){var e=G(t)?P.call(t):"";return e==s||e==c}(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}(t)?x:h;return e.test(function(t){if(null!=t){try{return j.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t))}(r)?r:void 0}function H(t,e){return!!(e=null==e?a:e)&&("number"==typeof t||m.test(t))&&t>-1&&t%1==0&&t<e}I.prototype.clear=function(){this.__data__=N?N(null):{}},I.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},I.prototype.get=function(t){var e=this.__data__;if(N){var r=e[t];return r===o?void 0:r}return A.call(e,t)?e[t]:void 0},I.prototype.has=function(t){var e=this.__data__;return N?void 0!==e[t]:A.call(e,t)},I.prototype.set=function(t,e){return this.__data__[t]=N&&void 0===e?o:e,this},k.prototype.clear=function(){this.__data__=[]},k.prototype.delete=function(t){var e=this.__data__,r=B(e,t);return!(r<0||(r==e.length-1?e.pop():T.call(e,r,1),0))},k.prototype.get=function(t){var e=this.__data__,r=B(e,t);return r<0?void 0:e[r][1]},k.prototype.has=function(t){return B(this.__data__,t)>-1}
4332,k.prototype.set=function(t,e){var r=this.__data__,n=B(r,t);return n<0?r.push([t,e]):r[n][1]=e,this},U.prototype.clear=function(){this.__data__={hash:new I,map:new(F||k),string:new I}},U.prototype.delete=function(t){return M(this,t).delete(t)},U.prototype.get=function(t){return M(this,t).get(t)},U.prototype.has=function(t){return M(this,t).has(t)},U.prototype.set=function(t,e){return M(this,t).set(t,e),this};var z=W((function(t){var e;t=null==(e=t)?"":function(t){if("string"==typeof t)return t;if(J(t))return C?C.call(t):"";var e=t+"";return"0"==e&&1/t==-i?"-0":e}(e);var r=[];return p.test(t)&&r.push(""),t.replace(y,(function(t,e,n,o){r.push(n?o.replace(d,"$1"):e||t)})),r}));function $(t){if("string"==typeof t||J(t))return t;var e=t+"";return"0"==e&&1/t==-i?"-0":e}function W(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=t.apply(this,n);return r.cache=i.set(o,a),a};return r.cache=new(W.Cache||U),r}function K(t,e){return t===e||t!=t&&e!=e}W.Cache=U;var V=Array.isArray;function G(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function J(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&P.call(t)==l}t.exports=function(t,e,r){return null==t?t:function(t,e,r,n){if(!G(t))return t;e=function(t,e){if(V(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!J(t))||f.test(t)||!u.test(t)||null!=e&&t in Object(e)}(e,t)?[e]:function(t){return V(t)?t:z(t)}(e);for(var o=-1,i=e.length,a=i-1,s=t;null!=s&&++o<i;){var c=$(e[o]),l=r;if(o!=a){var p=s[c];void 0===(l=n?n(p,c,s):void 0)&&(l=G(p)?p:H(e[o+1])?[]:{})}L(s,c,l),s=s[c]}return t}(t,e,r)}},859:(t,e,r)=>{var n="function"==typeof Map&&Map.prototype,o=Object.getOwnPropertyDescriptor&&n?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,i=n&&o&&"function"==typeof o.get?o.get:null,a=n&&Map.prototype.forEach,s="function"==typeof Set&&Set.prototype,c=Object.getOwnPropertyDescriptor&&s?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,l=s&&
vendor: 4,350 bytes, line 4332
4332c&&"function"==typeof c.get?c.get:null,u=s&&Set.prototype.forEach,f="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,p="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,y="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,d=Boolean.prototype.valueOf,h=Object.prototype.toString,m=Function.prototype.toString,g=String.prototype.match,b=String.prototype.slice,v=String.prototype.replace,w=String.prototype.toUpperCase,S=String.prototype.toLowerCase,E=RegExp.prototype.test,O=Array.prototype.concat,_=Array.prototype.join,j=Array.prototype.slice,A=Math.floor,P="function"==typeof BigInt?BigInt.prototype.valueOf:null,x=Object.getOwnPropertySymbols,R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,T="function"==typeof Symbol&&"object"==typeof Symbol.iterator,F="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol.toStringTag,1)?Symbol.toStringTag:null,N=Object.prototype.propertyIsEnumerable,D=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function C(t,e){if(t===1/0||t===-1/0||t!=t||t&&t>-1e3&&t<1e3||E.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof t){var n=t<0?-A(-t):A(t);if(n!==t){var o=String(n),i=b.call(e,o.length+1);return v.call(o,r,"$&_")+"."+v.call(v.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return v.call(e,r,"$&_")}var I=r(634),k=I.custom,U=H(k)?k:null;function L(t,e,r){var n="double"===(r.quoteStyle||e)?'"':"'";return n+t+n}function B(t){return v.call(String(t),/"/g,""")}function M(t){return!("[object Array]"!==W(t)||F&&"object"==typeof t&&F in t)}function q(t){return!("[object RegExp]"!==W(t)||F&&"object"==typeof t&&F in t)}function H(t){if(T)return t&&"object"==typeof t&&t instanceof Symbol;if("symbol"==typeof t)return!0;if(!t||"object"!=typeof t||!R)return!1;try{return R.call(t),!0}catch(t){}return!1}t.exports=function t(e,n,o,s){var c=n||{};if($(c,"quoteStyle")&&"single"!==c.quoteStyle&&"double"!==c.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if($(c,"maxStringLength")&&("number"==typeof c.maxStringLength?c.maxStringLength<0&&c.maxStringLength!==1/0:null!==c.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var h=!$(c,"customInspect")||c.customInspect;if("boolean"!=typeof h&&"symbol"!==h)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if($(c,"indent")&&null!==c.indent&&"\t"!==c.indent&&!(parseInt(c.indent,10)===c.indent&&c.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if($(c,"numericSeparator")&&"boolean"!=typeof c.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var w=c.numericSeparator;if(void 0===e)return"undefined";if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("string"==typeof e)return V(e,c);if("number"==typeof e){if(0===e)return 1/0/e>0?"0":"-0";var E=String(e);return w?C(e,E):E}if("bigint"==typeof e){var A=String(e)+"n";return w?C(e,A):A}var x=void 0===c.depth?5:c.depth;if(void 0===o&&(o=0),o>=x&&x>0&&"object"==typeof e)return M(e)?"[Array]":"[Object]";var k,z=function(t,e){var r;if("\t"===t.indent)r="\t";else{if(!("number"==typeof t.indent&&t.indent>0))return null;r=_.call(Array(t.indent+1)," ")}return{base:r,prev:_.call(Array(e+1),r)}}(c,o);if(void 0===s)s=[];else if(K(s,e)>=0)return"[Circular]";function G(e,r,n){if(r&&(s=j.call(s)).push(r),n){var i={depth:c.depth};return $(c,"quoteStyle")&&(i.quoteStyle=c.quoteStyle),t(e,i,o+1,s)}return t(e,c,o+1,s)}if("function"==typeof e&&!q(e)){var tt=function(t){if(t.name)return t.name;var e=g.call(m.call(t),/^function\s*([\w$]+)/);return e?e[1]:null}(e),et=Z(e,G);return"[Function"+(tt?": "+tt:" (anonymous)")+"]"+(et.length>0?" { "+_.call(et,", ")+" }":"")}if(H(e)){var rt=T?v.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):R.call(e);return"object"!=typeof e||T?rt:J(rt)}if((k=e)&&"object"==typeof k&&("undefined"!=typeof HTMLElement&&k instanceof HTMLElement||"string"==typeof k.nodeName&&"function"==typeof k.getAttribute)){for(var nt="<"+S.call(String(e.nodeName)),ot=e.attributes||[],it=0;
vendor: 15,192 bytes, line 4332
4332it<ot.length;it++)nt+=" "+ot[it].name+"="+L(B(ot[it].value),"double",c);return nt+=">",e.childNodes&&e.childNodes.length&&(nt+="..."),nt+"</"+S.call(String(e.nodeName))+">"}if(M(e)){if(0===e.length)return"[]";var at=Z(e,G);return z&&!function(t){for(var e=0;e<t.length;e++)if(K(t[e],"\n")>=0)return!1;return!0}(at)?"["+Y(at,z)+"]":"[ "+_.call(at,", ")+" ]"}if(function(t){return!("[object Error]"!==W(t)||F&&"object"==typeof t&&F in t)}(e)){var st=Z(e,G);return"cause"in Error.prototype||!("cause"in e)||N.call(e,"cause")?0===st.length?"["+String(e)+"]":"{ ["+String(e)+"] "+_.call(st,", ")+" }":"{ ["+String(e)+"] "+_.call(O.call("[cause]: "+G(e.cause),st),", ")+" }"}if("object"==typeof e&&h){if(U&&"function"==typeof e[U]&&I)return I(e,{depth:x-o});if("symbol"!==h&&"function"==typeof e.inspect)return e.inspect()}if(function(t){if(!i||!t||"object"!=typeof t)return!1;try{i.call(t);try{l.call(t)}catch(t){return!0}return t instanceof Map}catch(t){}return!1}(e)){var ct=[];return a&&a.call(e,(function(t,r){ct.push(G(r,e,!0)+" => "+G(t,e))})),X("Map",i.call(e),ct,z)}if(function(t){if(!l||!t||"object"!=typeof t)return!1;try{l.call(t);try{i.call(t)}catch(t){return!0}return t instanceof Set}catch(t){}return!1}(e)){var lt=[];return u&&u.call(e,(function(t){lt.push(G(t,e))})),X("Set",l.call(e),lt,z)}if(function(t){if(!f||!t||"object"!=typeof t)return!1;try{f.call(t,f);try{p.call(t,p)}catch(t){return!0}return t instanceof WeakMap}catch(t){}return!1}(e))return Q("WeakMap");if(function(t){if(!p||!t||"object"!=typeof t)return!1;try{p.call(t,p);try{f.call(t,f)}catch(t){return!0}return t instanceof WeakSet}catch(t){}return!1}(e))return Q("WeakSet");if(function(t){if(!y||!t||"object"!=typeof t)return!1;try{return y.call(t),!0}catch(t){}return!1}(e))return Q("WeakRef");if(function(t){return!("[object Number]"!==W(t)||F&&"object"==typeof t&&F in t)}(e))return J(G(Number(e)));if(function(t){if(!t||"object"!=typeof t||!P)return!1;try{return P.call(t),!0}catch(t){}return!1}(e))return J(G(P.call(e)));if(function(t){return!("[object Boolean]"!==W(t)||F&&"object"==typeof t&&F in t)}(e))return J(d.call(e));if(function(t){return!("[object String]"!==W(t)||F&&"object"==typeof t&&F in t)}(e))return J(G(String(e)));if("undefined"!=typeof window&&e===window)return"{ [object Window] }";if(e===r.g)return"{ [object globalThis] }";if(!function(t){return!("[object Date]"!==W(t)||F&&"object"==typeof t&&F in t)}(e)&&!q(e)){var ut=Z(e,G),ft=D?D(e)===Object.prototype:e instanceof Object||e.constructor===Object,pt=e instanceof Object?"":"null prototype",yt=!ft&&F&&Object(e)===e&&F in e?b.call(W(e),8,-1):pt?"Object":"",dt=(ft||"function"!=typeof e.constructor?"":e.constructor.name?e.constructor.name+" ":"")+(yt||pt?"["+_.call(O.call([],yt||[],pt||[]),": ")+"] ":"");return 0===ut.length?dt+"{}":z?dt+"{"+Y(ut,z)+"}":dt+"{ "+_.call(ut,", ")+" }"}return String(e)};var z=Object.prototype.hasOwnProperty||function(t){return t in this};function $(t,e){return z.call(t,e)}function W(t){return h.call(t)}function K(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}function V(t,e){if(t.length>e.maxStringLength){var r=t.length-e.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return V(b.call(t,0,e.maxStringLength),e)+n}return L(v.call(v.call(t,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,G),"single",e)}function G(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+w.call(e.toString(16))}function J(t){return"Object("+t+")"}function Q(t){return t+" { ? }"}function X(t,e,r,n){return t+" ("+e+") {"+(n?Y(r,n):_.call(r,", "))+"}"}function Y(t,e){if(0===t.length)return"";var r="\n"+e.prev+e.base;return r+_.call(t,","+r)+"\n"+e.prev}function Z(t,e){var r=M(t),n=[];if(r){n.length=t.length;for(var o=0;o<t.length;o++)n[o]=$(t,o)?e(t[o],t):""}var i,a="function"==typeof x?x(t):[];if(T){i={};for(var s=0;s<a.length;s++)i["$"+a[s]]=a[s]}for(var c in t)$(t,c)&&(r&&String(Number(c))===c&&c<t.length||T&&i["$"+c]instanceof Symbol||(E.call(/[^\w$]/,c)?n.push(e(c,t)+": "+e(t[c],t)):n.push(c+": "+e(t[c],t))));if("function"==typeof x)for(var l=0;l<a.length;l++)N.call(t,a[l])&&n.push("["+e(a[l])+"]: "+e(t[a[l]],t));return n}},765:t=>{"use strict";var e=String.prototype.replace,r=/%20/g,n="RFC3986";t.exports={default:n,formatters:{RFC1738:function(t){return e.call(t,r,"+")},RFC3986:function(t){return String(t)}},RFC1738:"RFC1738",RFC3986:n}},373:(t,e,r)=>{"use strict";var n=r(636),o=r(642),i=r(765);t.exports={formats:i,parse:o,stringify:n}},642:(t,e,r)=>{"use strict";var n=r(720),o=Object.prototype.hasOwnProperty,i=Array.isArray,a={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!0,decoder:n.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},s=function(t){return t.replace(/&#(\d+);/g,(function(t,e){return String.fromCharCode(parseInt(e,10))}))},c=function(t,e){return t&&"string"==typeof t&&e.comma&&t.indexOf(",")>-1?t.split(","):t},l=function(t,e,r,n){if(t){var i=r.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,a=/(\[[^[\]]*])/g,s=r.depth>0&&/(\[[^[\]]*])/.exec(i),l=s?i.slice(0,s.index):i,u=[];if(l){if(!r.plainObjects&&o.call(Object.prototype,l)&&!r.allowPrototypes)return;u.push(l)}for(var f=0;r.depth>0&&null!==(s=a.exec(i))&&f<r.depth;){if(f+=1,!r.plainObjects&&o.call(Object.prototype,s[1].slice(1,-1))&&!r.allowPrototypes)return;u.push(s[1])}return s&&u.push("["+i.slice(s.index)+"]"),function(t,e,r,n){for(var o=n?e:c(e,r),i=t.length-1;i>=0;--i){var a,s=t[i];if("[]"===s&&r.parseArrays)a=r.allowEmptyArrays&&""===o?[]:[].concat(o);else{a=r.plainObjects?Object.create(null):{};var l="["===s.charAt(0)&&"]"===s.charAt(s.length-1)?s.slice(1,-1):s,u=r.decodeDotInKeys?l.replace(/%2E/g,"."):l,f=parseInt(u,10);r.parseArrays||""!==u?!isNaN(f)&&s!==u&&String(f)===u&&f>=0&&r.parseArrays&&f<=r.arrayLimit?(a=[])[f]=o:"__proto__"!==u&&(a[u]=o):a={0:o}}o=a}return o}(u,e,r,n)}};t.exports=function(t,e){var r=function(t){if(!t)return a;if(void 0!==t.allowEmptyArrays&&"boolean"!=typeof t.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==t.decodeDotInKeys&&"boolean"!=typeof t.decodeDotInKeys)throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==t.decoder&&void 0!==t.decoder&&"function"!=typeof t.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==t.charset&&"utf-8"!==t.charset&&"iso-8859-1"!==t.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var e=void 0===t.charset?a.charset:t.charset,r=void 0===t.duplicates?a.duplicates:t.duplicates;if("combine"!==r&&"first"!==r&&"last"!==r)throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:void 0===t.allowDots?!0===t.decodeDotInKeys||a.allowDots:!!t.allowDots,allowEmptyArrays:"boolean"==typeof t.allowEmptyArrays?!!t.allowEmptyArrays:a.allowEmptyArrays,allowPrototypes:"boolean"==typeof t.allowPrototypes?t.allowPrototypes:a.allowPrototypes,allowSparse:"boolean"==typeof t.allowSparse?t.allowSparse:a.allowSparse,arrayLimit:"number"==typeof t.arrayLimit?t.arrayLimit:a.arrayLimit,charset:e,charsetSentinel:"boolean"==typeof t.charsetSentinel?t.charsetSentinel:a.charsetSentinel,comma:"boolean"==typeof t.comma?t.comma:a.comma,decodeDotInKeys:"boolean"==typeof t.decodeDotInKeys?t.decodeDotInKeys:a.decodeDotInKeys,decoder:"function"==typeof t.decoder?t.decoder:a.decoder,delimiter:"string"==typeof t.delimiter||n.isRegExp(t.delimiter)?t.delimiter:a.delimiter,depth:"number"==typeof t.depth||!1===t.depth?+t.depth:a.depth,duplicates:r,ignoreQueryPrefix:!0===t.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof t.interpretNumericEntities?t.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:"number"==typeof t.parameterLimit?t.parameterLimit:a.parameterLimit,parseArrays:!1!==t.parseArrays,plainObjects:"boolean"==typeof t.plainObjects?t.plainObjects:a.plainObjects,strictNullHandling:"boolean"==typeof t.strictNullHandling?t.strictNullHandling:a.strictNullHandling}}(e);if(""===t||null==t)return r.plainObjects?Object.create(null):{};for(var u="string"==typeof t?function(t,e){var r,l={__proto__:null},u=e.ignoreQueryPrefix?t.replace(/^\?/,""):t,f=e.parameterLimit===1/0?void 0:e.parameterLimit,p=u.split(e.delimiter,f),y=-1,d=e.charset;if(e.charsetSentinel)for(r=0;r<p.length;++r)0===p[r].indexOf("utf8=")&&("utf8=%E2%9C%93"===p[r]?d="utf-8":"utf8=%26%2310003%3B"===p[r]&&(d="iso-8859-1"),y=r,r=p.length);for(r=0;r<p.length;++r)if(r!==y){var h,m,g=p[r],b=g.indexOf("]="),v=-1===b?g.indexOf("="):b+1;-1===v?(h=e.decoder(g,a.decoder,d,"key"),m=e.strictNullHandling?null:""):(h=e.decoder(g.slice(0,v),a.decoder,d,"key"),m=n.maybeMap(c(g.slice(v+1),e),(function(t){return e.decoder(t,a.decoder,d,"value")}))),m&&e.interpretNumericEntities&&"iso-8859-1"===d&&(m=s(m)),g.indexOf("[]=")>-1&&(m=i(m)?[m]:m);var w=o.call(l,h);w&&"combine"===e.duplicates?l[h]=n.combine(l[h],m):w&&"last"!==e.duplicates||(l[h]=m)}return l}(t,r):t,f=r.plainObjects?Object.create(null):{},p=Object.keys(u),y=0;y<p.length;++y){var d=p[y],h=l(d,u[d],r,"string"==typeof t);f=n.merge(f,h,r)}return!0===r.allowSparse?f:n.compact(f)}},636:(t,e,r)=>{"use strict";var n=r(920),o=r(720),i=r(765),a=Object.prototype.hasOwnProperty,s={brackets:function(t){return t+"[]"},comma:"comma",indices:function(t,e){return t+"["+e+"]"},repeat:function(t){return t}},c=Array.isArray,l=Array.prototype.push,u=function(t,e){l.apply(t,c(e)?e:[e])},f=Date.prototype.toISOString,p=i.default,y={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:o.encode,encodeValuesOnly:!1,format:p,formatter:i.formatters[p],indices:!1,serializeDate:function(t){return f.call(t)},skipNulls:!1,strictNullHandling:!1},d={},h=function t(e,r,i,a,s,l,f,p,h,m,g,b,v,w,S,E,O,_){for(var j,A=e,P=_,x=0,R=!1;void 0!==(P=P.get(d))&&!R;){var T=P.get(e);if(x+=1,void 0!==T){if(T===x)throw new RangeError("Cyclic object value");R=!0}void 0===P.get(d)&&(x=0)}if("function"==typeof m?A=m(r,A):A instanceof Date?A=v(A):"comma"===i&&c(A)&&(A=o.maybeMap(A,(function(t){return t instanceof Date?v(t):t}))),null===A){if(l)return h&&!E?h(r,y.encoder,O,"key",w):r;A=""}if("string"==typeof(j=A)||"number"==typeof j||"boolean"==typeof j||"symbol"==typeof j||"bigint"==typeof j||o.isBuffer(A))return h?[S(E?r:h(r,y.encoder,O,"key",w))+"="+S(h(A,y.encoder,O,"value",w))]:[S(r)+"="+S(String(A))];var F,N=[];if(void 0===A)return N;if("comma"===i&&c(A))E&&h&&(A=o.maybeMap(A,h)),F=[{value:A.length>0?A.join(",")||null:void 0}];else if(c(m))F=m;else{var D=Object.keys(A);F=g?D.sort(g):D}var C=p?r.replace(/\./g,"%2E"):r,I=a&&c(A)&&1===A.length?C+"[]":C;if(s&&c(A)&&0===A.length)return I+"[]";for(var k=0;k<F.length;++k){var U=F[k],L="object"==typeof U&&void 0!==U.value?U.value:A[U];if(!f||null!==L){var B=b&&p?U.replace(/\./g,"%2E"):U,M=c(A)?"function"==typeof i?i(I,B):I:I+(b?"."+B:"["+B+"]");_.set(e,x);var q=n();q.set(d,_),u(N,t(L,M,i,a,s,l,f,p,"comma"===i&&E&&c(A)?null:h,m,g,b,v,w,S,E,O,q))}}return N};t.exports=function(t,e){var r,o=t,l=function(t){if(!t)return y;if(void 0!==t.allowEmptyArrays&&"boolean"!=typeof t.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==t.encodeDotInKeys&&"boolean"!=typeof t.encodeDotInKeys)throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==t.encoder&&void 0!==t.encoder&&"function"!=typeof t.encoder)throw new TypeError("Encoder has to be a function.");var e=t.charset||y.charset;if(void 0!==t.charset&&"utf-8"!==t.charset&&"iso-8859-1"!==t.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var r=i.default;if(void 0!==t.format){if(!a.call(i.formatters,t.format))throw new TypeError("Unknown format option provided.");r=t.format}var n,o=i.formatters[r],l=y.filter;if(("function"==typeof t.filter||c(t.filter))&&(l=t.filter),n=t.arrayFormat in s?t.arrayFormat:"indices"in t?t.indices?"indices":"repeat":y.arrayFormat,"commaRoundTrip"in t&&"boolean"!=typeof t.commaRoundTrip)throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var u=void 0===t.allowDots?!0===t.encodeDotInKeys||y.allowDots:!!t.allowDots;return{addQueryPrefix:"boolean"==typeof t.addQueryPrefix?t.addQueryPrefix:y.addQueryPrefix,allowDots:u,allowEmptyArrays:"boolean"==typeof t.allowEmptyArrays?!!t.allowEmptyArrays:y.allowEmptyArrays,arrayFormat:n,charset:e,charsetSentinel:"boolean"==typeof t.charsetSentinel?t.charsetSentinel:y.charsetSentinel,commaRoundTrip:t.commaRoundTrip,delimiter:void 0===t.delimiter?y.delimiter:t.delimiter,encode:"boolean"==typeof t.encode?t.encode:y.encode,encodeDotInKeys:"boolean"==typeof t.encodeDotInKeys?t.encodeDotInKeys:y.encodeDotInKeys,encoder:"function"==typeof t.encoder?t.encoder:y.encoder,encodeValuesOnly:"boolean"==typeof t.encodeValuesOnly?t.encodeValuesOnly:y.encodeValuesOnly,filter:l,format:r,formatter:o,serializeDate:"function"==typeof t.serializeDate?t.serializeDate:y.serializeDate,skipNulls:"boolean"==typeof t.skipNulls?t.skipNulls:y.skipNulls,sort:"function"==typeof t.sort?t.sort:null,strictNullHandling:"boolean"==typeof t.strictNullHandling?t.strictNullHandling:y.strictNullHandling}}(e);"function"==typeof l.filter?o=(0,l.filter)("",o):c(l.filter)&&(r=l.filter);var f=[];if("object"!=typeof o||null===o)return"";var p=s[l.arrayFormat],d="comma"===p&&l.commaRoundTrip;r||(r=Object.keys(o)),l.sort&&r.sort(l.sort);for(var m=n(),g=0;g<r.length;++g){var b=r[g];l.skipNulls&&null===o[b]||u(f,h(o[b],b,p,d,l.allowEmptyArrays,l.strictNullHandling,l.skipNulls,l.encodeDotInKeys,l.encode?l.encoder:null,l.filter,l.sort,l.allowDots,l.serializeDate,l.format,l.formatter,l.encodeValuesOnly,l.charset,m))}var v=f.join(l.delimiter),w=!0===l.addQueryPrefix?"?":"";return l.charsetSentinel&&("iso-8859-1"===l.charset?w+="utf8=%26%2310003%3B&":w+="utf8=%E2%9C%93&"),v.length>0?w+v:""}},720:(t,e,r)=>{"use strict";var n=r(765),o=Object.prototype.hasOwnProperty,i=Array.isArray,a=function(){for(var t=[],e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t}(),s=function(t,e){for(var r=e&&e.plainObjects?Object.create(null):{},n=0;n<t.length;++n)void 0!==t[n]&&(r[n]=t[n]);return r};t.exports={arrayToObject:s,assign:function(t,e){return Object.keys(e).reduce((function(t,r){return t[r]=e[r],t}),t)},combine:function(t,e){return[].concat(t,e)},compact:function(t){for(var e=[{obj:{o:t},prop:"o"}],r=[],n=0;n<e.length;++n)for(var o=e[n],a=o.obj[o.prop],s=Object.keys(a),c=0;c<s.length;++c){var l=s[c],u=a[l];"object"==typeof u&&null!==u&&-1===r.indexOf(u)&&(e.push({obj:a,prop:l}),r.push(u))}return function(t){for(;t.length>1;){var e=t.pop(),r=e.obj[e.prop];if(i(r)){for(var n=[],o=0;o<r.length;++o)void 0!==r[o]&&n.push(r[o]);e.obj[e.prop]=n}}}(e),t},decode:function(t,e,r){var n=t.replace(/\+/g," ");
vendor: 4,861 bytes, line 4332
4332if("iso-8859-1"===r)return n.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(n)}catch(t){return n}},encode:function(t,e,r,o,i){if(0===t.length)return t;var s=t;if("symbol"==typeof t?s=Symbol.prototype.toString.call(t):"string"!=typeof t&&(s=String(t)),"iso-8859-1"===r)return escape(s).replace(/%u[0-9a-f]{4}/gi,(function(t){return"%26%23"+parseInt(t.slice(2),16)+"%3B"}));for(var c="",l=0;l<s.length;++l){var u=s.charCodeAt(l);45===u||46===u||95===u||126===u||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||i===n.RFC1738&&(40===u||41===u)?c+=s.charAt(l):u<128?c+=a[u]:u<2048?c+=a[192|u>>6]+a[128|63&u]:u<55296||u>=57344?c+=a[224|u>>12]+a[128|u>>6&63]+a[128|63&u]:(l+=1,u=65536+((1023&u)<<10|1023&s.charCodeAt(l)),c+=a[240|u>>18]+a[128|u>>12&63]+a[128|u>>6&63]+a[128|63&u])}return c},isBuffer:function(t){return!(!t||"object"!=typeof t||!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t)))},isRegExp:function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},maybeMap:function(t,e){if(i(t)){for(var r=[],n=0;n<t.length;n+=1)r.push(e(t[n]));return r}return e(t)},merge:function t(e,r,n){if(!r)return e;if("object"!=typeof r){if(i(e))e.push(r);else{if(!e||"object"!=typeof e)return[e,r];(n&&(n.plainObjects||n.allowPrototypes)||!o.call(Object.prototype,r))&&(e[r]=!0)}return e}if(!e||"object"!=typeof e)return[e].concat(r);var a=e;return i(e)&&!i(r)&&(a=s(e,n)),i(e)&&i(r)?(r.forEach((function(r,i){if(o.call(e,i)){var a=e[i];a&&"object"==typeof a&&r&&"object"==typeof r?e[i]=t(a,r,n):e.push(r)}else e[i]=r})),e):Object.keys(r).reduce((function(e,i){var a=r[i];return o.call(e,i)?e[i]=t(e[i],a,n):e[i]=a,e}),a)}}},897:(t,e,r)=>{"use strict";var n=r(453),o=r(41),i=r(592)(),a=r(795),s=r(675),c=n("%Math.floor%");t.exports=function(t,e){if("function"!=typeof t)throw new s("`fn` is not a function");if("number"!=typeof e||e<0||e>4294967295||c(e)!==e)throw new s("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],n=!0,l=!0;if("length"in t&&a){var u=a(t,"length");u&&!u.configurable&&(n=!1),u&&!u.writable&&(l=!1)}return(n||l||!r)&&(i?o(t,"length",e,!0,!0):o(t,"length",e)),t}},920:(t,e,r)=>{"use strict";var n=r(453),o=r(75),i=r(859),a=r(675),s=n("%WeakMap%",!0),c=n("%Map%",!0),l=o("WeakMap.prototype.get",!0),u=o("WeakMap.prototype.set",!0),f=o("WeakMap.prototype.has",!0),p=o("Map.prototype.get",!0),y=o("Map.prototype.set",!0),d=o("Map.prototype.has",!0),h=function(t,e){for(var r,n=t;null!==(r=n.next);n=r)if(r.key===e)return n.next=r.next,r.next=t.next,t.next=r,r};t.exports=function(){var t,e,r,n={assert:function(t){if(!n.has(t))throw new a("Side channel does not contain "+i(t))},get:function(n){if(s&&n&&("object"==typeof n||"function"==typeof n)){if(t)return l(t,n)}else if(c){if(e)return p(e,n)}else if(r)return function(t,e){var r=h(t,e);return r&&r.value}(r,n)},has:function(n){if(s&&n&&("object"==typeof n||"function"==typeof n)){if(t)return f(t,n)}else if(c){if(e)return d(e,n)}else if(r)return function(t,e){return!!h(t,e)}(r,n);return!1},set:function(n,o){s&&n&&("object"==typeof n||"function"==typeof n)?(t||(t=new s),u(t,n,o)):c?(e||(e=new c),y(e,n,o)):(r||(r={key:{},next:null}),function(t,e,r){var n=h(t,e);n?n.value=r:t.next={key:e,next:t.next,value:r}}(r,n,o))}};return n}},634:()=>{}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return(()=>{"use strict";r.r(n),r.d(n,{FileFieldValue:()=>be,Http:()=>le,Linker:()=>ue,Pager:()=>Xt,default:()=>ve});var t={};function e(t,e){return function(){return t.apply(e,arguments)}}r.r(t),r.d(t,{hasBrowserEnv:()=>rt,hasStandardBrowserEnv:()=>nt,hasStandardBrowserWebWorkerEnv:()=>it});const{toString:o}=Object.prototype,{getPrototypeOf:i}=Object,a=(s=Object.create(null),t=>{const e=o.call(t);return s[e]||(s[e]=e.slice(8,-1).toLowerCase())});var s;const c=t=>(t=t.toLowerCase(),e=>a(e)===t),l=t=>e=>typeof e===t,{isArray:u}=Array,f=l("undefined"),p=c("ArrayBuffer"),y=l("string"),d=l("function"),h=l("number"),m=t=>null!==t&&"object"==typeof t,g=t=>{if("object"!==a(t))return!1;const e=i(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},b=c("Date"),v=c("File"),w=c("Blob"),S=c("FileList"),E=c("URLSearchParams");function O(t,e,{allOwnKeys:r=!1}={}){if(null==t)return;let n,o;
vendor: 4,840 bytes, line 4332
4332if("object"!=typeof t&&(t=[t]),u(t))for(n=0,o=t.length;n<o;n++)e.call(null,t[n],n,t);else{const o=r?Object.getOwnPropertyNames(t):Object.keys(t),i=o.length;let a;for(n=0;n<i;n++)a=o[n],e.call(null,t[a],a,t)}}function _(t,e){e=e.toLowerCase();const r=Object.keys(t);let n,o=r.length;for(;o-- >0;)if(n=r[o],e===n.toLowerCase())return n;return null}const j="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,A=t=>!f(t)&&t!==j,P=(x="undefined"!=typeof Uint8Array&&i(Uint8Array),t=>x&&t instanceof x);var x;const R=c("HTMLFormElement"),T=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),F=c("RegExp"),N=(t,e)=>{const r=Object.getOwnPropertyDescriptors(t),n={};O(r,((r,o)=>{let i;!1!==(i=e(r,o,t))&&(n[o]=i||r)})),Object.defineProperties(t,n)},D="abcdefghijklmnopqrstuvwxyz",C="0123456789",I={DIGIT:C,ALPHA:D,ALPHA_DIGIT:D+D.toUpperCase()+C},k=c("AsyncFunction"),U={isArray:u,isArrayBuffer:p,isBuffer:function(t){return null!==t&&!f(t)&&null!==t.constructor&&!f(t.constructor)&&d(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||d(t.append)&&("formdata"===(e=a(t))||"object"===e&&d(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&p(t.buffer),e},isString:y,isNumber:h,isBoolean:t=>!0===t||!1===t,isObject:m,isPlainObject:g,isUndefined:f,isDate:b,isFile:v,isBlob:w,isRegExp:F,isFunction:d,isStream:t=>m(t)&&d(t.pipe),isURLSearchParams:E,isTypedArray:P,isFileList:S,forEach:O,merge:function t(){const{caseless:e}=A(this)&&this||{},r={},n=(n,o)=>{const i=e&&_(r,o)||o;g(r[i])&&g(n)?r[i]=t(r[i],n):g(n)?r[i]=t({},n):u(n)?r[i]=n.slice():r[i]=n};for(let t=0,e=arguments.length;t<e;t++)arguments[t]&&O(arguments[t],n);return r},extend:(t,r,n,{allOwnKeys:o}={})=>(O(r,((r,o)=>{n&&d(r)?t[o]=e(r,n):t[o]=r}),{allOwnKeys:o}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},toFlatObject:(t,e,r,n)=>{let o,a,s;const c={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),a=o.length;a-- >0;)s=o[a],n&&!n(s,t,e)||c[s]||(e[s]=t[s],c[s]=!0);t=!1!==r&&i(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:a,kindOfTest:c,endsWith:(t,e,r)=>{t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;const n=t.indexOf(e,r);return-1!==n&&n===r},toArray:t=>{if(!t)return null;if(u(t))return t;let e=t.length;if(!h(e))return null;const r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},forEachEntry:(t,e)=>{const r=(t&&t[Symbol.iterator]).call(t);let n;for(;(n=r.next())&&!n.done;){const r=n.value;e.call(t,r[0],r[1])}},matchAll:(t,e)=>{let r;const n=[];for(;null!==(r=t.exec(e));)n.push(r);return n},isHTMLForm:R,hasOwnProperty:T,hasOwnProp:T,reduceDescriptors:N,freezeMethods:t=>{N(t,((e,r)=>{if(d(t)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const n=t[r];d(n)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:(t,e)=>{const r={},n=t=>{t.forEach((t=>{r[t]=!0}))};return u(t)?n(t):n(String(t).split(e)),r},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,r){return e.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:_,global:j,isContextDefined:A,ALPHABET:I,generateString:(t=16,e=I.ALPHA_DIGIT)=>{let r="";const{length:n}=e;for(;t--;)r+=e[Math.random()*n|0];return r},isSpecCompliantForm:function(t){return!!(t&&d(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),r=(t,n)=>{if(m(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[n]=t;const o=u(t)?[]:{};return O(t,((t,e)=>{const i=r(t,n+1);!f(i)&&(o[e]=i)})),e[n]=void 0,o}}return t};return r(t,0)},isAsyncFn:k,isThenable:t=>t&&(m(t)||d(t))&&d(t.then)&&d(t.catch)};function L(t,e,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}U.inherits(L,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:U.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const B=L.prototype,M={};
vendor: 2,342 bytes, line 4332
4332["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{M[t]={value:t}})),Object.defineProperties(L,M),Object.defineProperty(B,"isAxiosError",{value:!0}),L.from=(t,e,r,n,o,i)=>{const a=Object.create(B);return U.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),L.call(a,t.message,e,r,n,o),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};const q=L;function H(t){return U.isPlainObject(t)||U.isArray(t)}function z(t){return U.endsWith(t,"[]")?t.slice(0,-2):t}function $(t,e,r){return t?t.concat(e).map((function(t,e){return t=z(t),!r&&e?"["+t+"]":t})).join(r?".":""):e}const W=U.toFlatObject(U,{},null,(function(t){return/^is[A-Z]/.test(t)})),K=function(t,e,r){if(!U.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const n=(r=U.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!U.isUndefined(e[t])}))).metaTokens,o=r.visitor||l,i=r.dots,a=r.indexes,s=(r.Blob||"undefined"!=typeof Blob&&Blob)&&U.isSpecCompliantForm(e);if(!U.isFunction(o))throw new TypeError("visitor must be a function");function c(t){if(null===t)return"";if(U.isDate(t))return t.toISOString();if(!s&&U.isBlob(t))throw new q("Blob is not supported. Use a Buffer instead.");return U.isArrayBuffer(t)||U.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function l(t,r,o){let s=t;if(t&&!o&&"object"==typeof t)if(U.endsWith(r,"{}"))r=n?r:r.slice(0,-2),t=JSON.stringify(t);else if(U.isArray(t)&&function(t){return U.isArray(t)&&!t.some(H)}(t)||(U.isFileList(t)||U.endsWith(r,"[]"))&&(s=U.toArray(t)))return r=z(r),s.forEach((function(t,n){!U.isUndefined(t)&&null!==t&&e.append(!0===a?$([r],n,i):null===a?r:r+"[]",c(t))})),!1;return!!H(t)||(e.append($(o,r,i),c(t)),!1)}const u=[],f=Object.assign(W,{defaultVisitor:l,convertValue:c,isVisitable:H});if(!U.isObject(t))throw new TypeError("data must be an object");return function t(r,n){if(!U.isUndefined(r)){if(-1!==u.indexOf(r))throw Error("Circular reference detected in "+n.join("."));u.push(r),U.forEach(r,(function(r,i){!0===(!(U.isUndefined(r)||null===r)&&o.call(e,r,U.isString(i)?i.trim():i,n,f))&&t(r,n?n.concat(i):[i])})),u.pop()}}(t),e};
vendor: 4,279 bytes, line 4332
4332function V(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function G(t,e){this._pairs=[],t&&K(t,this,e)}const J=G.prototype;J.append=function(t,e){this._pairs.push([t,e])},J.toString=function(t){const e=t?function(e){return t.call(this,e,V)}:V;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const Q=G;function X(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Y(t,e,r){if(!e)return t;const n=r&&r.encode||X,o=r&&r.serialize;let i;if(i=o?o(e,r):U.isURLSearchParams(e)?e.toString():new Q(e,r).toString(n),i){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}const Z=class{constructor(){this.handlers=[]}use(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){U.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},tt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},et={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Q,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},rt="undefined"!=typeof window&&"undefined"!=typeof document,nt=(ot="undefined"!=typeof navigator&&navigator.product,rt&&["ReactNative","NativeScript","NS"].indexOf(ot)<0);var ot;const it="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,at={...t,...et},st=function(t){function e(t,r,n,o){let i=t[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=t.length;return i=!i&&U.isArray(n)?n.length:i,s?(U.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!a):(n[i]&&U.isObject(n[i])||(n[i]=[]),e(t,r,n[i],o)&&U.isArray(n[i])&&(n[i]=function(t){const e={},r=Object.keys(t);let n;const o=r.length;let i;for(n=0;n<o;n++)i=r[n],e[i]=t[i];return e}(n[i])),!a)}if(U.isFormData(t)&&U.isFunction(t.entries)){const r={};return U.forEachEntry(t,((t,n)=>{e(function(t){return U.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),n,r,0)})),r}return null},ct={transitional:tt,adapter:["xhr","http"],transformRequest:[function(t,e){const r=e.getContentType()||"",n=r.indexOf("application/json")>-1,o=U.isObject(t);if(o&&U.isHTMLForm(t)&&(t=new FormData(t)),U.isFormData(t))return n?JSON.stringify(st(t)):t;if(U.isArrayBuffer(t)||U.isBuffer(t)||U.isStream(t)||U.isFile(t)||U.isBlob(t))return t;if(U.isArrayBufferView(t))return t.buffer;if(U.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return K(t,new at.classes.URLSearchParams,Object.assign({visitor:function(t,e,r,n){return at.isNode&&U.isBuffer(t)?(this.append(e,t.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((i=U.isFileList(t))||r.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return K(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||n?(e.setContentType("application/json",!1),function(t,e,r){if(U.isString(t))try{return(0,JSON.parse)(t),U.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||ct.transitional,r=e&&e.forcedJSONParsing,n="json"===this.responseType;if(t&&U.isString(t)&&(r&&!this.responseType||n)){const r=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(t){if(r){if("SyntaxError"===t.name)throw q.from(t,q.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:at.classes.FormData,Blob:at.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};
vendor: 4,668 bytes, line 4332
4332U.forEach(["delete","get","head","post","put","patch"],(t=>{ct.headers[t]={}}));const lt=ct,ut=U.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ft=Symbol("internals");function pt(t){return t&&String(t).trim().toLowerCase()}function yt(t){return!1===t||null==t?t:U.isArray(t)?t.map(yt):String(t)}function dt(t,e,r,n,o){return U.isFunction(n)?n.call(this,e,r):(o&&(e=r),U.isString(e)?U.isString(n)?-1!==e.indexOf(n):U.isRegExp(n)?n.test(e):void 0:void 0)}class ht{constructor(t){t&&this.set(t)}set(t,e,r){const n=this;function o(t,e,r){const o=pt(e);if(!o)throw new Error("header name must be a non-empty string");const i=U.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||e]=yt(t))}const i=(t,e)=>U.forEach(t,((t,r)=>o(t,r,e)));return U.isPlainObject(t)||t instanceof this.constructor?i(t,e):U.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim())?i((t=>{const e={};let r,n,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),r=t.substring(0,o).trim().toLowerCase(),n=t.substring(o+1).trim(),!r||e[r]&&ut[r]||("set-cookie"===r?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)})),e})(t),e):null!=t&&o(e,t,r),this}get(t,e){if(t=pt(t)){const r=U.findKey(this,t);if(r){const t=this[r];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}(t);if(U.isFunction(e))return e.call(this,t,r);if(U.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=pt(t)){const r=U.findKey(this,t);return!(!r||void 0===this[r]||e&&!dt(0,this[r],r,e))}return!1}delete(t,e){const r=this;let n=!1;function o(t){if(t=pt(t)){const o=U.findKey(r,t);!o||e&&!dt(0,r[o],o,e)||(delete r[o],n=!0)}}return U.isArray(t)?t.forEach(o):o(t),n}clear(t){const e=Object.keys(this);let r=e.length,n=!1;for(;r--;){const o=e[r];t&&!dt(0,this[o],o,t,!0)||(delete this[o],n=!0)}return n}normalize(t){const e=this,r={};return U.forEach(this,((n,o)=>{const i=U.findKey(r,o);if(i)return e[i]=yt(n),void delete e[o];const a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,r)=>e.toUpperCase()+r))}(o):String(o).trim();a!==o&&delete e[o],e[a]=yt(n),r[a]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return U.forEach(this,((r,n)=>{null!=r&&!1!==r&&(e[n]=t&&U.isArray(r)?r.join(", "):r)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const r=new this(t);return e.forEach((t=>r.set(t))),r}static accessor(t){const e=(this[ft]=this[ft]={accessors:{}}).accessors,r=this.prototype;function n(t){const n=pt(t);e[n]||(function(t,e){const r=U.toCamelCase(" "+e);["get","set","has"].forEach((n=>{Object.defineProperty(t,n+r,{value:function(t,r,o){return this[n].call(this,e,t,r,o)},configurable:!0})}))}(r,t),e[n]=!0)}return U.isArray(t)?t.forEach(n):n(t),this}}ht.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),U.reduceDescriptors(ht.prototype,(({value:t},e)=>{let r=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[r]=t}}})),U.freezeMethods(ht);const mt=ht;function gt(t,e){const r=this||lt,n=e||r,o=mt.from(n.headers);let i=n.data;return U.forEach(t,(function(t){i=t.call(r,i,o.normalize(),e?e.status:void 0)})),o.normalize(),i}function bt(t){return!(!t||!t.__CANCEL__)}function vt(t,e,r){q.call(this,null==t?"canceled":t,q.ERR_CANCELED,e,r),this.name="CanceledError"}U.inherits(vt,q,{__CANCEL__:!0});const wt=vt,St=at.hasStandardBrowserEnv?{write(t,e,r,n,o,i){const a=[t+"="+encodeURIComponent(e)];U.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),U.isString(n)&&a.push("path="+n),U.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Et(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const Ot=at.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=d
vendor: 7,752 bytes, line 4332
4332ocument.createElement("a");let r;function n(r){let n=r;return t&&(e.setAttribute("href",n),n=e.href),e.setAttribute("href",n),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return r=n(window.location.href),function(t){const e=U.isString(t)?n(t):t;return e.protocol===r.protocol&&e.host===r.host}}():function(){return!0};function _t(t,e){let r=0;const n=function(t,e){t=t||10;const r=new Array(t),n=new Array(t);let o,i=0,a=0;return e=void 0!==e?e:1e3,function(s){const c=Date.now(),l=n[a];o||(o=c),r[i]=s,n[i]=c;let u=a,f=0;for(;u!==i;)f+=r[u++],u%=t;if(i=(i+1)%t,i===a&&(a=(a+1)%t),c-o<e)return;const p=l&&c-l;return p?Math.round(1e3*f/p):void 0}}(50,250);return o=>{const i=o.loaded,a=o.lengthComputable?o.total:void 0,s=i-r,c=n(s);r=i;const l={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:o};l[e?"download":"upload"]=!0,t(l)}}const jt="undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,r){let n=t.data;const o=mt.from(t.headers).normalize();let i,a,{responseType:s,withXSRFToken:c}=t;function l(){t.cancelToken&&t.cancelToken.unsubscribe(i),t.signal&&t.signal.removeEventListener("abort",i)}if(U.isFormData(n))if(at.hasStandardBrowserEnv||at.hasStandardBrowserWebWorkerEnv)o.setContentType(!1);else if(!1!==(a=o.getContentType())){const[t,...e]=a?a.split(";").map((t=>t.trim())).filter(Boolean):[];o.setContentType([t||"multipart/form-data",...e].join("; "))}let u=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",r=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(e+":"+r))}const f=Et(t.baseURL,t.url);function p(){if(!u)return;const n=mt.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders());!function(t,e,r){const n=r.config.validateStatus;r.status&&n&&!n(r.status)?e(new q("Request failed with status code "+r.status,[q.ERR_BAD_REQUEST,q.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):t(r)}((function(t){e(t),l()}),(function(t){r(t),l()}),{data:s&&"text"!==s&&"json"!==s?u.response:u.responseText,status:u.status,statusText:u.statusText,headers:n,config:t,request:u}),u=null}if(u.open(t.method.toUpperCase(),Y(f,t.params,t.paramsSerializer),!0),u.timeout=t.timeout,"onloadend"in u?u.onloadend=p:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(p)},u.onabort=function(){u&&(r(new q("Request aborted",q.ECONNABORTED,t,u)),u=null)},u.onerror=function(){r(new q("Network Error",q.ERR_NETWORK,t,u)),u=null},u.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const n=t.transitional||tt;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),r(new q(e,n.clarifyTimeoutError?q.ETIMEDOUT:q.ECONNABORTED,t,u)),u=null},at.hasStandardBrowserEnv&&(c&&U.isFunction(c)&&(c=c(t)),c||!1!==c&&Ot(f))){const e=t.xsrfHeaderName&&t.xsrfCookieName&&St.read(t.xsrfCookieName);e&&o.set(t.xsrfHeaderName,e)}void 0===n&&o.setContentType(null),"setRequestHeader"in u&&U.forEach(o.toJSON(),(function(t,e){u.setRequestHeader(e,t)})),U.isUndefined(t.withCredentials)||(u.withCredentials=!!t.withCredentials),s&&"json"!==s&&(u.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&u.addEventListener("progress",_t(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",_t(t.onUploadProgress)),(t.cancelToken||t.signal)&&(i=e=>{u&&(r(!e||e.type?new wt(null,t,u):e),u.abort(),u=null)},t.cancelToken&&t.cancelToken.subscribe(i),t.signal&&(t.signal.aborted?i():t.signal.addEventListener("abort",i)));const y=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(f);y&&-1===at.protocols.indexOf(y)?r(new q("Unsupported protocol "+y+":",q.ERR_BAD_REQUEST,t)):u.send(n||null)}))},At={http:null,xhr:jt};U.forEach(At,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const Pt=t=>`- ${t}`,xt=t=>U.isFunction(t)||null===t||!1===t,Rt=t=>{t=U.isArray(t)?t:[t];const{length:e}=t;let r,n;const o={};for(let i=0;i<e;i++){let e;if(r=t[i],n=r,!xt(r)&&(n=At[(e=String(r)).toLowerCase()],void 0===n))throw new q(`Unknown adapter '${e}'`);if(n)break;o[e||"#"+i]=n}if(!n){const t=Object.entries(o).map((([t,e])=>`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));let r=e?t.length>1?"since :\n"+t.map(Pt).join("\n"):" "+Pt(t[0]):"as no adapter specified";throw new q("There is no suitable adapter to dispatch the request "+r,"ERR_NOT_SUPPORT")}return n};function Tt(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new wt(null,t)}function Ft(t){return Tt(t),t.headers=mt.from(t.headers),t.data=gt.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Rt(t.adapter||lt.adapter)(t).then((function(e){return Tt(t),e.data=gt.call(t,t.transformResponse,e),e.headers=mt.from(e.headers),e}),(function(e){return bt(e)||(Tt(t),e&&e.response&&(e.response.data=gt.call(t,t.transformResponse,e.response),e.response.headers=mt.from(e.response.headers))),Promise.reject(e)}))}const Nt=t=>t instanceof mt?{...t}:t;function Dt(t,e){e=e||{};const r={};function n(t,e,r){return U.isPlainObject(t)&&U.isPlainObject(e)?U.merge.call({caseless:r},t,e):U.isPlainObject(e)?U.merge({},e):U.isArray(e)?e.slice():e}function o(t,e,r){return U.isUndefined(e)?U.isUndefined(t)?void 0:n(void 0,t,r):n(t,e,r)}function i(t,e){if(!U.isUndefined(e))return n(void 0,e)}function a(t,e){return U.isUndefined(e)?U.isUndefined(t)?void 0:n(void 0,t):n(void 0,e)}function s(r,o,i){return i in e?n(r,o):i in t?n(void 0,r):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e)=>o(Nt(t),Nt(e),!0)};return U.forEach(Object.keys(Object.assign({},t,e)),(function(n){const i=c[n]||o,a=i(t[n],e[n],n);U.isUndefined(a)&&i!==s||(r[n]=a)})),r}const Ct={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{Ct[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}}));const It={};Ct.transitional=function(t,e,r){function n(t,e){return"[Axios v1.6.8] Transitional option '"+t+"'"+e+(r?". "+r:"")}return(r,o,i)=>{if(!1===t)throw new q(n(o," has been removed"+(e?" in "+e:"")),q.ERR_DEPRECATED);return e&&!It[o]&&(It[o]=!0,console.warn(n(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(r,o,i)}};const kt={assertOptions:function(t,e,r){if("object"!=typeof t)throw new q("options must be an object",q.ERR_BAD_OPTION_VALUE);const n=Object.keys(t);let o=n.length;for(;o-- >0;){const i=n[o],a=e[i];if(a){const e=t[i],r=void 0===e||a(e,i,t);if(!0!==r)throw new q("option "+i+" must be "+r,q.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new q("Unknown option "+i,q.ERR_BAD_OPTION)}},validators:Ct},Ut=kt.validators;class Lt{constructor(t){this.defaults=t,this.interceptors={request:new Z,response:new Z}}async request(t,e){try{return await this._request(t,e)}catch(t){if(t instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=new Error;
vendor: 2,957 bytes, line 4332
4332const r=e.stack?e.stack.replace(/^.+\n/,""):"";t.stack?r&&!String(t.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(t.stack+="\n"+r):t.stack=r}throw t}}_request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=Dt(this.defaults,e);const{transitional:r,paramsSerializer:n,headers:o}=e;void 0!==r&&kt.assertOptions(r,{silentJSONParsing:Ut.transitional(Ut.boolean),forcedJSONParsing:Ut.transitional(Ut.boolean),clarifyTimeoutError:Ut.transitional(Ut.boolean)},!1),null!=n&&(U.isFunction(n)?e.paramsSerializer={serialize:n}:kt.assertOptions(n,{encode:Ut.function,serialize:Ut.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let i=o&&U.merge(o.common,o[e.method]);o&&U.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete o[t]})),e.headers=mt.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(s=s&&t.synchronous,a.unshift(t.fulfilled,t.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(t){c.push(t.fulfilled,t.rejected)}));let u,f=0;if(!s){const t=[Ft.bind(this),void 0];for(t.unshift.apply(t,a),t.push.apply(t,c),u=t.length,l=Promise.resolve(e);f<u;)l=l.then(t[f++],t[f++]);return l}u=a.length;let p=e;for(f=0;f<u;){const t=a[f++],e=a[f++];try{p=t(p)}catch(t){e.call(this,t);break}}try{l=Ft.call(this,p)}catch(t){return Promise.reject(t)}for(f=0,u=c.length;f<u;)l=l.then(c[f++],c[f++]);return l}getUri(t){return Y(Et((t=Dt(this.defaults,t)).baseURL,t.url),t.params,t.paramsSerializer)}}U.forEach(["delete","get","head","options"],(function(t){Lt.prototype[t]=function(e,r){return this.request(Dt(r||{},{method:t,url:e,data:(r||{}).data}))}})),U.forEach(["post","put","patch"],(function(t){function e(e){return function(r,n,o){return this.request(Dt(o||{},{method:t,headers:e?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}Lt.prototype[t]=e(),Lt.prototype[t+"Form"]=e(!0)}));const Bt=Lt;class Mt{constructor(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");let e;this.promise=new Promise((function(t){e=t}));const r=this;this.promise.then((t=>{if(!r._listeners)return;let e=r._listeners.length;for(;e-- >0;)r._listeners[e](t);r._listeners=null})),this.promise.then=t=>{let e;const n=new Promise((t=>{r.subscribe(t),e=t})).then(t);return n.cancel=function(){r.unsubscribe(e)},n},t((function(t,n,o){r.reason||(r.reason=new wt(t,n,o),e(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new Mt((function(e){t=e})),cancel:t}}}const qt=Mt,Ht={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,Parti
4332alContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ht).forEach((([t,e])=>{Ht[e]=t}));const zt=Ht,$t=function t(r){const n=new Bt(r),o=e(Bt.prototype.request,n);return U.extend(o,Bt.prototype,n,{allOwnKeys:!0}),U.extend(o,n,null,{allOwnKeys:!0}),o.create=function(e){return t(Dt(r,e))},o}(lt);$t.Axios=Bt,$t.CanceledError=wt,$t.CancelToken=qt,$t.isCancel=bt,$t.VERSION="1.6.8",$t.toFormData=K,$t.AxiosError=q,$t.Cancel=$t.CanceledError,$t.all=function(t){return Promise.all(t)},$t.spread=function(t){return function(e){return t.apply(null,e)}},$t.isAxiosError=function(t){return U.isObject(t)&&!0===t.isAxiosError},$t.mergeConfig=Dt,$t.AxiosHeaders=mt,$t.formToJSON=t=>st(U.isHTMLForm(t)?new FormData(t):t),$t.getAdapter=Rt,$t.HttpStatusCode=zt,$t.default=$t;const Wt=$t;var Kt=r(762),Vt=r(373),Gt=r(974);function Jt(t,e,r){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:r;throw new TypeError("Private element is not present on this object")}var Qt=new WeakSet;class Xt{constructor(t,e=100){(function(t,e){!function(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t,e),e.add(t)})(this,Qt),this.http=t,this._pageSize=e,this.url=void 0,this.config=void 0,this.totalItems=void 0,this.totalPages=void 0,this.currentPage=void 0}static get DEFAULT_PAGE_SIZE(){return 100}static get DEFAULT_PARALLEL_REQUESTS(){return 4}set pageSize(t){const e=this._pageSize;if(void 0!==this.currentPage&&void 0!==this.totalItems){const r=e*this.currentPage;this.totalPages=Math.ceil(this.totalItems/t);let n=1,o=n*t;for(;n<this.totalPages&&o<r;)n++,o=n*t;this.currentPage=n}this._pageSize=t}get pageSize(){return this._pageSize}setPageSize(t){return this.pageSize=t,this}get(t,e={}){return this.url=t,this.config=e,this}async loadPage(t){if(void 0===this.config||void 0===this.url)throw"You must call get(url [, config]) before getting results";const e=Jt(Qt,this,Yt).call(this,t);return this.http.request(e).then((e=>Jt(Qt,this,Zt).call(this,e,t)))}async loadAll(t="payload.items",e=4){if(void 0===this.config||void 0===this.url)throw"You must call get(url [, config]) before getting results";let r=[];const n=await this.loadPage(1);r[0]=Kt(n.data,t,[]);const o=[...Array(this.totalPages-1)].map(((t,e)=>e+2)).map(((t,e)=>Jt(Qt,this,Yt).call(this,t)));return this.http.batch(o,e).then((e=>(e.forEach((e=>{const n=Kt(e.data,t,[]);r[e.config.page-1]=n})),Gt(n.data,t,r.flat()),n)))}}function Yt(t){return{method:"GET",url:this.url,...this.config,params:{...this.config.params,limit:this.pageSize,offset:(t-1)*this.pageSize},page:t}}function Zt(t,e){if(!t.data.paging)return console.warn("no paging returned from pager call"),t;const r=t.data.paging;return this.currentPage=e,this.totalItems=r.total,this.totalPages=Math.ceil(this.totalItems/this.pageSize),t}function te(t,e,r){var n;return(e="symbol"==typeof(n=function(t,e){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(e))?n:n+"")in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ee(t,e,r){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:r;throw new TypeError("Private element is not present on this object")}var re=new WeakSet;class ne{constructor(t={}){(function(t,e){!function(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t,e),e.add(t)})(this,re),te(this,"CancelToken",Wt.CancelToken),te(this,"isCancel",Wt.isCancel),te(this,"AxiosHeaders",Wt.AxiosHeaders),te(this,"loginH
4332andler",(()=>Promise.reject())),te(this,"passwordResetHandler",(()=>Promise.reject())),te(this,"verificationHandler",(()=>Promise.reject())),te(this,"debugHistory",[]),this.service=Wt.create(t),this.service.defaults.withCredentials=!0,this.service.defaults.paramsSerializer=t=>Vt.stringify(t,{arrayFormat:"brackets",encodeValuesOnly:!0}),this.searchPath=t.searchPath||"/item_search",this.uploadPath=t.uploadPath||"/upload",this.maxDebugHistory=t.hasOwnProperty("maxDebugHistory")?t.maxDebugHistory:10,ee(re,this,oe).call(this),ee(re,this,ae).call(this)}request(...t){return this.service.request(...t)}get(...t){return this.service.get(...t)}delete(...t){return this.service.delete(...t)}head(...t){return this.service.head(...t)}options(...t){return this.service.options(...t)}post(...t){return this.service.post(...t)}put(...t){return this.service.put(...t)}patch(...t){return this.service.patch(...t)}getUri(...t){return this.service.getUri(...t)}get interceptors(){return this.service.interceptors}embedPipe(t,{thisId:e="item_id",thatId:r="item_parent",thisPath:n="payload.items",thatPath:o="payload.items",additionalParams:i={},customEndpoint:a=!1,property:s=t,additionalConfig:c={}}={}){return l=>this.embed(l,t,{thisId:e,thatId:r,thisPath:n,thatPath:o,additionalParams:i,customEndpoint:a,property:s,additionalConfig:c})}async embed(t,e,{thisId:r="item_id",thatId:n="item_parent",thisPath:o="payload.items",thatPath:i="payload.items",additionalParams:a={},customEndpoint:s=!1,property:c=e,additionalConfig:l={}}={}){const u=Kt(t.data,o,[]);if(0===u.length)return Promise.resolve(t);const f=this.generateEmbedRequestConfig(u,e,r,n,a,s,l,t);try{let e=[];
4332if(f){const t=await this.request(f);e=Kt(t.data,i,[])}return this.embedItems(u,e,c,r,n),Promise.resolve(t)}catch(t){throw t}}generateEmbedRequestConfig(t,e,r="item_id",n="item_parent",o={},i=!1,a={},s={}){const c=t.map((t=>t[r])).flat().filter(((t,e,r)=>t&&r.indexOf(t)===e));return s?.config?.signal&&!a.signal&&(a.signal=s.config.signal),!!c.length&&{method:"GET",url:!1===i?this.searchPath:i,params:{...o,item_type:e,[n]:c},...a}}embedItems(t,e,r,n="item_id",o="item_parent"){const i=t.reduce(((t,e,o)=>(e[r]=[],[e[n]].flat().forEach((r=>{t[r]||(t[r]=[]),t[r].push(e)})),t)),{});return e.forEach((t=>{i[t[o]].forEach((e=>e[r].push(t)))})),t}batch(t,e=4){const r=[],n=[];e||(e=1),t.forEach(((t,e)=>{let o,i;r[e]=new Promise(((t,e)=>{o=t,i=e})),n[e]=()=>this.request(t).then((t=>o(t))).catch((t=>i(t)))}));const o=async t=>{await t().then((()=>{const t=n.shift();t&&o(t)}))};return n.splice(0,e).forEach((t=>o(t))),Promise.all(r)}page(t){return new Xt(this,t)}upload({itemHash:t,fieldName:e,itemType:r,itemParent:n=0,fieldList:o="fieldList"},i,a=(()=>{}),s={}){if(!t||!e)throw"Must supply item data object with at least itemHash and fieldName";const c=new FormData;c.append("item_hash",t),c.append("field_name",e),c.append("item_type",r),c.append("item_parent",n),c.append("field_list",o),c.append("file",i);const l={url:this.uploadPath,method:"POST",data:c,onUploadProgress:a,...s};return this.request(l)}}function oe(){this.service.interceptors.response.use((t=>t),ee(re,this,ie).bind(this))}async function ie(t){if(t.response)try{if(401===t.response.status)return await this.loginHandler(Object.assign({},t)),this.service.request(t.config);if(403===t.response.status&&t.response.data.login.passwordResetRequired)return await this.passwordResetHandler(Object.assign({},t)),this.service.request(t.config);if(403===t.response.status&&t.response.data.login.mustVerify)return await this.verificationHandler(Object.assign({},t)),this.service.request(t.config)}catch(e){return Promise.reject(t)}return Promise.reject(t)}function ae(){this.service.interceptors.response.use((t=>ee(re,this,se).call(this,t)),(t=>(ee(re,this,se).call(this,t.response,t),Promise.reject(t)))),window.genomeJsApiDebug=()=>this.debugHistory,window.MMI&&window.MMI.Debug&&this.service.interceptors.response.use((t=>ee(re,this,ce).call(this,t)),(t=>(ee(re,this,ce).call(this,t.response),Promise.reject(t))))}function se(t,e=!1){const r={config:Kt(t,"config",!1),url:Kt(t,"config.url",!1),debugKey:Kt(t,"data.debug.key",!1),debugUrl:(()=>{const e=Kt(t,"data.debug.key",!1),r=Kt(t,"config.baseURL",!1);return!(!e||!r)&&`${new URL(t.config.baseURL).origin}/site/cache/public/debug/${e.substring(0,4)}/${e}.html`})(),canceled:!!e&&this.isCancel(e)};for(this.debugHistory.unshift(r);this.debugHistory.length>this.maxDebugHistory;)this.debugHistory.pop();return t}function ce(t){let e={...Kt(t,"data",{})},r=Kt(t,"config",!1);return e.debugKey=Kt(e,"debug.key",!1),e.postdata={mode:"api"},window.MMI.Debug.logServerDebugData(e,r),t}te(ne,"defaults",Wt.defaults);const le=ne;class ue{static downloadUrl(t,{field:e="file_path",fieldList:r="fieldList",absolute:n=ue.defaults.absolute,protocol:o=!1,host:i=!1,path:a="download"}={}){return ge((()=>{me(t,"item_id","download"),me(t,e,"download");const s=t[e];return[n?he(o,i):"",a,t.item_id,e,r,(c=s.file_filename,c=c.replace("&","and"))].join("/");var c}))}static imageUrl(t,{width:e=!1,height:r=!1,quality:n=!1,scale:o=!1,field:i="file_path",fieldList:a="fieldList",absolute:s=ue.defaults.absolute,protocol:c=!1,host:l=!1,path:u="site/cache/public/images"}={}){return ge((()=>{me(t,"item_id","image"),me(t,i,"image");const f=t[i];let p=f.file_extension;if("svg"===p)return[s?he(c,l):"","mode/file/display",`id=${t.item_id}&field=${i}&filename=image.svg`].join("/");{me(t,"item_current_version_id","image");let y=function(t){let e=""+Math.floor(t/1e3);for(;e.length<2;)e="0"+e;return e}(t.item_id);return e=e||(f.hasOwnProperty("width")?f.width:ue.defaults.width),r=r||(f.hasOwnProperty("height")?f.height:ue.defaults.height),n=n||ue.defaults.quality,o=o||ue.defaults.scale,p=p||"png",[s?he(c,l):"",u,y,t.item_id,a,i,[t.item_current_version_id,e,r,o,n].join("__")].join("/")+"."+p}}))}static displayUrl(t,{field:e="file_path",fieldList:r="fieldList",absolute:n=ue.defaults.absolute,protocol:o=!1,host:i=!1,path:a="page"}={}){return ge((()=>{me(t,"item_id","display"),me(t,e,"display");const r=t[e],s={mode:"file_display",field:e,fileName:r.file_filename};return[n?he(o,i):"",a,t.item_id,new URLSearchParams(s).toString()].join("/")}))}}var fe,pe,ye,de;function he(t=!1,e=!1){return`${t=t||ue.defaults.protocol||window.location.protocol}//${e=e||ue.defaults.host||window.location.host}`}function me(t,e,r){if(!t.hasOwnProperty(e))throw`'${e}' must exist on the item to generate ${r} urls`}function ge(t){try{return t()}catch(t){return console.error(t),"#"}}fe=ue,ye={absolute:!1,protocol:!1,host:!1,width:600,height:600,qual
4332ity:95,scale:"down"},(pe="symbol"==typeof(de=function(t,e){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(pe="defaults"))?de:de+"")in fe?Object.defineProperty(fe,pe,{value:ye,enumerable:!0,configurable:!0,writable:!0}):fe[pe]=ye;const be=Object.freeze({REMOVE_FILE:-1,INERT:"",SET_FIELD:1,READ_INPUT_STREAM:2,KEEP_CURRENT:3}),ve=le})(),n})())); 4333class ToolTip extends FocusTrap{static elements=new WeakMap();static activeTooltips=new Set();static globalListenersSetUp=false;#options={style:{classes:'molecule_tooltip be_tooltip',},position:{my:'top left',at:'bottom right',adjust:{x:0,y:0},target:false,},prerender:true,show:{event:'mouseenter focus',delay:90,solo:true,},hide:{event:'mouseleave blur',delay:90,fixed:true,},content:{},hidePointer:false,events:{show:(_event)=>{},hide:(_event)=>{},},};tooltip=null;#tooltipContent=null;target=null;#isShowing=false;#timeoutId=null;#handlers={show:[],hide:[],};#hideEvent=null;#showEvent=null;#disabled=false;#contentPromise;#contentPromiseResolve;#contentPromiseReject;constructor(el,passedOptions={}){super();if(!passedOptions||typeof passedOptions!=='object'){throw`Invalid options provided for tooltip.`;} 4334({promise:this.#contentPromise,resolve:this.#contentPromiseResolve,reject:this.#contentPromiseReject}=Promise.withResolvers());if(el instanceof Document){el=document.body;} 4335if(el instanceof jQuery){el=el.get(0);} 4336let selector;if(typeof(el)=='string'){selector=el;el=document.querySelector(selector);} 4337if(!el||!el instanceof HTMLElement){console.warn('ToolTip cannot be initialized without a valid source element.',el,passedOptions,selector);return;} 4338if(ToolTip.elements.has(el)){return;} 4339this.target=el;this.#loadOptions(passedOptions);if(!this.#options.content.text||this.#options.content.text===''){if(!passedOptions.content&&el.title!==''){this.#options['content']={text:el.title};el.removeAttribute('title');}} 4340this.addEventListeners();this.#configureTooltipEventHandlersForEvent('show');this.#configureTooltipEventHandlersForEvent('hide');if(this.#options.prerender||el===document.body){this.setUpTooltipDom();} 4341ToolTip.elements.set(el,this);if(!ToolTip.globalListenersSetUp){ToolTip.setUpGlobalListeners()} 4342if(this.#options.position.target==='mouse'){ToolTip.setUpMouseMoveEvent();} 4343jQuery(this.target).data('tooltip',this);let disableClass=this.#data('tooltipSuppressInsideClass');if(disableClass){if(el.closest('.'+disableClass)!==null){this.#disabled=true;}} 4344let autoShowElement=el.closest('[data-qtip-auto-show]');if(autoShowElement){let autoShow=autoShowElement.dataset.qtipAutoShow;if(autoShow===true||autoShow==='true'||autoShow==='1'){if(!this.tooltip){this.setUpTooltipDom();} 4345this.showAfterDelay();}}}#configureTooltipEventHandlersForEvent(eventName){if(this.#options.events instanceof Object){return;} 4346if(this.#options.events.hasOwnProperty(eventName)){let handlers=this.#options.events[eventName];if(!(handlers instanceof Array)){handlers=[handlers];} 4347for(let handler of handlers){if(handler instanceof Function){this.#handlers[eventName].push(handler);}}}}#onHide(){const event=new CustomEvent('tooltip.hide',{bubbles:true,detail:{tooltip:this,}});this.tooltip.dispatchEvent(event);} 4348hide(){this.clearTimeout();if(this.tooltip){if(this.tooltip.contains(document.activeElement)){this.target.focus();} 4349this.tooltip.hidePopover();this.tooltip.classList.remove('mod_open');} 4350this.#isShowing=false;ToolTip.activeTooltips.delete(this);this.#onHide();} 4351destroy(){ToolTip.activeTooltips.delete(this);ToolTip.elements.delete(this.target);this.removeEventListeners();this.tooltip.remove();this.tearDownFocusTrap();}#onShow(){const event=new CustomEvent('tooltip.show',{bubbles:true,detail:{tooltip:this,}});this.tooltip.dispatchEvent(event);} 4352show(){if(this.#disabled){return;} 4353if(this.#options.show.solo){ToolTip.activeTooltips.forEach((tooltip)=>{tooltip.hide();});} 4354this.clearTimeout();if(!this.tooltip){this.setUpTooltipDom();} 4355const source=((this.#options?.position?.target??false)instanceof HTMLElement)?this.#options.position.target:this.target;const options={};if(source instanceof HTMLElement){options.source=source;}else{console.warn('ToolTip cannot be positioned without a valid source element.',source);} 4356this.tooltip.showPopover(options);this.tooltip.classList.add('mod_open');this.#isShowing=true;ToolTip.activeTooltips.add(this);this.#onShow();} 4357toggle(){if(this.#isShowing){this.hide();}else{this.show();}} 4358showAfterDelay(){if(!this.tooltip){this.setUpTooltipDom();} 4359if(this.#options.show.delay){this.clearTimeout();this.timeoutId=setTimeout(()=>{this.show();this.timeoutId=null;},this.#options.show.delay);}else{this.show();}} 4360hideAfterDelay(){if(!this.#isShowing){if(this.timeoutId){let bothClicks=`${this.#options.hide.event}`.indexOf('click')>-1&&`${this.#options.show.event}`.indexOf('click')>-1;if(this.#options.show.event!==this.#options.hide.event&&!bothClicks){clearTimeout(this.timeoutId);}} 4361return;} 4362if(this.#options.hide.delay){this.clearTimeout();this.timeoutId=setTimeout(()=>{this.checkForHideAfterDelay();this.timeoutId=null;},this.#options.hide.delay);}else{this.checkForHideAfterDelay();}}#hideOnEscape(e){if(this.#isShowing&&e.key==='Escape'){this.hide();return true;} 4363return false;} 4364enable(){this.#disabled=false;} 4365disable(){this.#disabled=true;} 4366clearTimeout(){if(this.timeoutId>0){clearTimeout(this.timeoutId);this.#timeoutId=0;}} 4367checkForHideAfterDelay(){this.clearTimeout();if(this.#options.hide.fixed){if(!this.tooltip){return;} 4368if(this.target.matches(":hover")||this.tooltip.matches(":hover")||this.tooltip.matches(":focus-within")){this.timeoutId=setTimeout(()=>{this.hideAfterDelay();this.timeoutId=null;},200);return;}} 4369this.hide();} 4370static showTooltipByElement(el){let instance=ToolTip.instance(el);if(instance){instance.show();}} 4371static hideTooltipByElement(el){let instance=ToolTip.instance(el);if(instance){instance.hide();}} 4372get hideEvent(){return this.#hideEvent;} 4373get showEvent(){return this.#showEvent;} 4374get disabled(){return this.#disabled;} 4375addEventListeners(){let showEventString=this.#options['show']['event'];let hideEventString=this.#options['hide']['event'];if(showEventString){this.#showEvent=this.showAfterDelay.bind(this);let showEvents=showEventString.split(' ');for(let showEvent of showEvents){showEvent=showEvent.trim();if(showEvent){this.target.addEventListener(showEvent,this.#showEvent);}}} 4376if(hideEventString){this.#hideEvent=this.hideAfterDelay.bind(this);let hideEvents=hideEventString.split(' ');
4376if(hideEvents.includes('unfocus')){const idx=hideEvents.indexOf('unfocus');hideEvents.splice(idx,1);['mousedown','touchstart'].forEach(eventName=>{this.target.closest('html').addEventListener(eventName,(event)=>{const path=event.composedPath();if(!this.#disabled&&!path.includes(this.target)&&!path.includes(this.tooltip)){this?.#hideEvent();}});});} 4377for(let hideEvent of hideEvents){hideEvent=hideEvent.trim();if(hideEvent){if(hideEvent.indexOf('click')>-1&&`${showEventString}`.indexOf('click')>-1){window.addEventListener('click',this.#hideEvent);}else{this.target.addEventListener(hideEvent,this.#hideEvent);}}}} 4378this.target.addEventListener('keydown',(e)=>this.#hideOnEscape(e));} 4379removeEventListeners(){const showEventString=this.#options['show']['event'].toLowerCase();const hideEventString=this.#options['hide']['event'].toLowerCase();if(showEventString){let showEvents=showEventString.split(' ');showEvents.forEach((showEvent)=>{if(showEvent.trim()){this.target.removeEventListener(showEvent,this.#showEvent);}});} 4380if(hideEventString){let hideEvents=hideEventString.split(' ');hideEvents.forEach((hideEvent)=>{if(hideEvent.trim()){this.target.removeEventListener(hideEvent,this.#hideEvent);}});}}#registerTooltipEventHandlers(eventName){for(let handler of this.#handlers[eventName]){if(handler instanceof Function){this.tooltip.addEventListener(`tooltip.${eventName}`,handler);}}} 4381setUpTooltipDom(){this.tooltip=document.createElement('div');this.tooltip.popover='manual';const classes=this.#options.style.classes.split(' ');classes.push("my_"+this.#options.position.my.trim().replace(' ','_'));if(this.#options.position.target==='mouse'){classes.push('be_tooltip--mouse');} 4382this.tooltip.classList.add(...classes);this.tooltip.dataset.my=this.#options.position.my.trim();this.tooltip.dataset.at=this.#options.position.at.trim();if(this.#options?.position?.adjust){const x=parseInt(this.#options?.position?.adjust?.x??0,10);const y=parseInt(this.#options?.position?.adjust?.y??0,10);this.tooltip.style.setProperty('margin',`${y}px ${x}px`,`important`);} 4383this.#registerTooltipEventHandlers('show');this.#registerTooltipEventHandlers('hide');jQuery(this.tooltip).data('tooltip',this);this.#tooltipContent=document.createElement('div');this.#tooltipContent.classList.add("content");this.tooltip.appendChild(this.#tooltipContent);let width=this.#options?.style?.width;if(width){if(typeof(width)=='number'){width+='px';} 4384this.#tooltipContent.style.width=width;} 4385let height=this.#options?.style?.height;if(height){if(typeof(height)=='number'){height+='px';} 4386this.#tooltipContent.style.height=height;} 4387this.addTooltipPointer();if(this.#options.hidePointer){this.tooltip.classList.add('noPointer');} 4388this.content(this.#options.content).then(()=>null);document.body.appendChild(this.tooltip);this.setUpFocusTrap(this.tooltip);this.tooltip.addEventListener('keydown',(e)=>{switch(e.key){case'Escape':this.#hideOnEscape(e);break;case'Tab':const explicitlyShown=this.#options.show.event.includes('click')||this.#options.show.event.includes('keypress');if(explicitlyShown){this.trapKeyboardFocus(e);} 4389break;}});} 4390async resolveContent(content){if(content instanceof Promise){return this.resolveContent(await content);} 4391if(typeof content==='string'||content instanceof HTMLElement||content instanceof jQuery){return content;} 4392if(typeof content==='function'){return this.resolveContent(content());}else if(typeof content==='object'){if(content.text){const text=await this.resolveContent(content.text);delete content.text;return this.resolveContent(text);}else if(content.ajax){return this.resolveContent(this.loadAjaxContent());}else if(content.ajaxGenome){return this.resolveContent(this.loadAjaxGenomeContent());}} 4393return'';} 4394addTooltipPointer(){const pointer=document.createElementNS('http://www.w3.org/2000/svg','svg');pointer.classList.add('pointer');pointer.setAttribute('viewBox','0 0 50 50');pointer.setAttribute('preserveAspectRatio','none');const path=document.createElementNS('http://www.w3.org/2000/svg','path');path.setAttribute('d','M 0 50 L 25 0 L 50 50');path.setAttribute('vector-effect','non-scaling-stroke');pointer.appendChild(path);
4394this.tooltip.appendChild(pointer);} 4395addTooltipPoint(){this.addTooltipPointer();} 4396loadAjaxContent(){let ajax=this.#options.content.ajax;if(ajax instanceof Promise){return ajax;} 4397let helixApp=MMI.App.get();return helixApp.ajaxUsingPromise({},{url:ajax,data:{}}).then(response=>response.result);} 4398loadAjaxGenomeContent(){let data=this.#options.content.ajaxGenome;let helixApp=MMI.App.get();return helixApp.ajaxUsingPromise(data).then(response=>response.result);} 4399getContentPromise(){return this.#contentPromise;} 4400async content(rawContent){let p=Promise.resolve();if(typeof rawContent==='object'&&!(rawContent instanceof Promise)&&!(rawContent instanceof jQuery)){rawContent=jQuery.extend(true,{},rawContent);if(rawContent.text){p=this.resolveContent(rawContent.text);this.setDisplayContent(await p);delete rawContent.text;} 4401if(rawContent.ajax||rawContent.ajaxGenome){p=this.resolveContent(rawContent);this.setDisplayContent(await p);}}else{p=Promise.resolve(this.resolveContent(rawContent));this.setDisplayContent(await p);} 4402return p.then(stringContent=>{if(this.#options?.content?.ajaxDone&&typeof(this.#options.content.ajaxDone)=="function"){this.#options.content.ajaxDone.call(this,stringContent);}}).then(()=>{return this.#contentPromiseResolve(this);}).catch(r=>{return this.#contentPromiseReject(r);});} 4403setDisplayContent(content){if(typeof content==='string'){this.#tooltipContent.innerHTML=content;}else if(content instanceof HTMLElement){this.#tooltipContent.replaceChildren(content);}else if(content instanceof jQuery){jQuery(this.#tooltipContent).html(content.css({display:'block',visibility:'visible'}));} 4404let hideTriggers=this.#tooltipContent.querySelectorAll('.qtip-hide,.tooltip-hide');for(const el of hideTriggers){el.addEventListener('click',()=>{this.hide();});}} 4405getOptions(){return this.#options;} 4406setOptions(overlayOptions){this.#applyOptions(overlayOptions);}#loadOptions(passedOptions){let qTipOptions=this.#data('qtipOptions');if(qTipOptions){this.#applyOptions(qTipOptions);} 4407let tooltipOptions=this.#data('tooltipOptions');if(tooltipOptions){this.#applyOptions(tooltipOptions);} 4408if(passedOptions){this.#applyOptions(passedOptions);} 4409let qTipContentSelector=this.#data('qtipContentSelector');if(qTipContentSelector){let contentOptions={};let contentEl=this.target.querySelector(qTipContentSelector);if(contentEl){contentOptions.content=contentEl.innerHTML;this.#applyOptions(contentOptions);}} 4410let qTipContent=this.#data('qtipContent');if(qTipContent){let contentOptions={content:qTipContent};this.#applyOptions(contentOptions);}}#applyOptions(overlayOptions){if(!overlayOptions){return;} 4411if(typeof(overlayOptions)=='string'){try{overlayOptions=JSON.parse(overlayOptions);}catch(e){console.warn('Invalid JSON overlay options for tooltip.',this);return;}} 4412if(typeof(overlayOptions)=="object"&&Object.keys(overlayOptions).length>0){for(const[option,value]of Object.entries(overlayOptions)){switch(option){case'content':if(typeof(value)==='object'&&!value instanceof jQuery){this.#options.content=value;}else if(typeof(value)=='string'){this.#options['content']={text:value};}else if(value instanceof jQuery){this.#options['content']['text']=$('<div>').append(value.clone()).html();}else if(typeof(value)=='object'){if(value){this.#options['content']=value;}} 4413break;case'position':if(typeof(value)=='object'){if(value.at){const atPosition=this.getValidPosition(value.at);if(atPosition){this.#options['position']['at']=atPosition;}} 4414if(value.my){const myPosition=this.getValidPosition(value.my);if(myPosition){this.#options['position']['my']=myPosition;}} 4415if(value.adjust){this.#options['position']['adjust']=value.adjust;} 4416if(value.hasOwnProperty('target')){let target=value.target;if(target instanceof jQuery){target=target.get(0);} 4417if(target==='mouse'||target instanceof HTMLElement){this.#options['position']['target']=target;}else{if(target){let newTarget=this.target.querySelector(target);if(newTarget instanceof HTMLElement){this.#options['position']['target']=newTarget;}else{newTarget=document.body.querySelector(target);if(newTarget instanceof HTMLElement){this.#options['position']['target']=newTarget;}}}}}}else if(value instanceof String&&typeof(value)==='string'){this.#options['position']['at']=this.getValidPosition(value);} 4418if(this.#options?.position?.my==='center center'){this.#options.hidePointer=true;} 4419break;case'style':if(typeof(value)=='string'){this.#options['style']['classes']+=" "+value;}else if(typeof(value)=='object'){this.#options['style']['classes']+=" "+value['classes'];const otherProps=['width','height'];for(const prop of otherProps){if(value[prop]){this.#options['style'][prop]=value[prop];}} 4420if(value['tip']===false){this.#options['hidePointer']=true;}} 4421break;case'width':case'height':this.#options['style'][option]=value;break;case'prerender':this.#options['prerender']=!!value;break;case'show':case'hide':if(typeof(value)=='string'||value===false){this.#options[option]['event']=value;}else if(typeof(value)=='object'){let properties=['event','fixed','delay','solo'];
4421properties.forEach((prop)=>{if(value.hasOwnProperty(prop)){this.#options[option][prop]=value[prop];}});} 4422break;case'hidePointer':this.#options.hidePointer=value;break;case'disabled':this.#disabled=value;}}}} 4423getValidPosition(stringPosition){let parts=stringPosition.toLowerCase().replace("middle","center").split(' ');let allowedOptions=['top','center','bottom','right','left'];if(allowedOptions.indexOf(parts[0])===-1){parts[0]='top';} 4424if(allowedOptions.indexOf(parts[1])===-1){parts[1]='center'} 4425return parts.join(' ');}#data(attributeName){let dashedCase=attributeName.replace(/[A-Z]/g,m=>"-"+m.toLowerCase());let el=this.target.closest('[data-'+dashedCase+']');if(el){let v=el.dataset[attributeName];try{return JSON.parse(v);}catch(e){return v;}} 4426return null;} 4427static setUpGlobalListeners(){ToolTip.globalListenersSetUp=true;} 4428static setUpMouseMoveEvent(){if(document.documentElement.style.getPropertyValue('--mouseX')===''){document.addEventListener('mousemove',(event)=>{document.documentElement.style.setProperty('--mouseX',event.clientX+'px');document.documentElement.style.setProperty('--mouseY',event.clientY+'px');});document.documentElement.style.setProperty('--mouseX','0px');document.documentElement.style.setProperty('--mouseY','0px');}} 4429static instance(element){return ToolTip.elements.get(element);} 4430static closeTooltipFromInside(element){let tooltipContainer=element.closest('.be_tooltip');if(tooltipContainer){ToolTip.activeTooltips.forEach((tooltip)=>{if(tooltip.tooltip===tooltipContainer||tooltip.target===tooltipContainer){tooltip.hide();}});}} 4431updatePosition(){console.warn('%ctooltip.updatePosition is deprecated','font-size: small; font-weight: bold; padding: 1px; background: rgba(0,0,0,.3)','Positioning is now handled by CSS anchor positioning, so if this is still working go ahead and remove the call, otherwise talk to Aron about a fix.');}} 4432MMI.Util.namespace('Be.ToolTip.LiveEventHandlers');Be.ToolTip.LiveEventHandlers={handleAppInstanceCreated:function(app){app.registerHandlerClass(Be.ToolTip.LiveEventHandlers);},do_closeTooltip:function(event,app,jqel,data){let element=jqel.get(0);ToolTip.closeTooltipFromInside(element);}};MMI.App.registerInitCallback(Be.ToolTip.LiveEventHandlers.handleAppInstanceCreated); 4433Eco.Util.initializeNamespace('Eco.Organism.Qtip');Eco.Util.initializeNamespace('Eco.Organism.QtipOptions');var defaultOptions={style:{classes:'molecule_qtip'},position:{my:'left top',at:'top right'}};Eco.Organism.QtipOptions.setDefault=function(options){jQuery.extend(true,defaultOptions,options);};Eco.Organism.Qtip=Eco.Organism.extend({qtipApi:null,__construct:function(jqel_organism){this._parent(jqel_organism);var options=jqel_organism.ecoData('qtipOptions');var autoShow=jqel_organism.ecoData('qtipAutoShow');if(!jQuery.isPlainObject(options)){options=jQuery.extend(true,{},defaultOptions);}else{options=jQuery.extend(true,{},defaultOptions,options);} 4434if(!jQuery.isPlainObject(options.position)){options.position={};} 4435if(!options.position.viewport){options.position.viewport=jQuery(window);} 4436function getContentJqel(selector,relative){relative=relative===undefined?true:!!relative;if(relative){return jqel_organism.find(selector);}else{return jQuery(selector);}} 4437var ecoData=jqel_organism.ecoData();var contentSelector=ecoData.qtipContentSelector;var contentSelectorIsRelative=ecoData.qtipContentSelectorIsRelative;if(options.prerender===true&&contentSelector){options.content=options.content||{};options.content.text=getContentJqel(contentSelector,contentSelectorIsRelative);} 4438if(!jQuery.isPlainObject(options.content)||!options.content.text){var jqel_content=getContentJqel(contentSelector,contentSelectorIsRelative);var content=null;if(jqel_content.size()){content=jqel_content.html();} 4439if(!content){content=jqel_organism.ecoData('qtipContent');} 4440if(!content){content=jqel_organism.attr('title');if(content){jqel_organism.removeAttr('title');}} 4441if(!content){var jqel_childWithTitle=jqel_organism.find('[title!=""]').first();content=jqel_childWithTitle.attr('title');if(content){jqel_childWithTitle.removeAttr('title');}} 4442if(!content){content=jqel_organism.text();} 4443if(!content){content='Unable to locate content for this tooltip.';console.log(jqel_organism);console.warn('Unable to locate content for this ^^^ tooltip.');} 4444options.content={text:function(event,api){var jqel_content=jQuery('<div class="qtipContent">'+content+'</div>');jqel_content.find('.qtip-hide').on('click',function(){api.hide();});return jqel_content;}};} 4445if(!options.events){options.events={};} 4446var customShowHandler=options.events.show;options.events.show=function(event,api){var result=true;if(customShowHandler instanceof Function){result=customShowHandler(event,api);} 4447if(result===false){event.preventDefault();return false;}else{setTimeout(async function(){await Eco.OrganismController.scan(document.getElementById(api._id));},25);} 4448return true;};if((options?.style?.def??true)!==false){options.style.classes+=' '+'qtip-default';delete options.style.def;} 4449if((options?.style?.tip??true)===false){options.hidePointer=true;delete options.style.point;} 4450options.show={...options?.show??{},solo:options?.show?.solo??false};this.qtipApi=new ToolTip(jqel_organism.get(0),options);if(autoShow===true){this.qtipApi.showAfterDelay();}}}); 4451Eco.Util.initializeNamespace('Eco.Organism.Qtip.LiveEventHandlers');Eco.Organism.Qtip.LiveEventHandlers={handleAppInstanceCreated:function(app){app.registerHandlerClass(Eco.Organism.Qtip.LiveEventHandlers);},do_closeParentTooltip:function(event,app,jqel,data){ToolTip.closeTooltipFromInside(jqel.get(0));},};MMI.App.registerInitCallback(Eco.Organism.Qtip.LiveEventHandlers.handleAppInstanceCreated); 4452Sendy={isEmailSubscribed:function(list,email,callback){if(!list){list='';} 4453if(!email){throw("No email provided for isEmailSubscribed");} 4454var action='checkSubscribed';var ajaxData={email:email,list:list,action:action,view:'ajax_sendy'};return MMI.App.get().ajax({data:ajaxData,mmiAjaxDone:function(json){var result=json.sendy.subscribed;callback.apply(this,[result]);}});},subscribeEmailToList:function(list,email,name,callback){if(!list){list='';} 4455if(!email){throw("No email provided for subscribeEmailToList");} 4456var action='subscribe';var ajaxData={email:email,name:name,list:list,action:action,view:'ajax_sendy'};return MMI.App.get().ajax({data:ajaxData,mmiAjaxDone:function(json){var status=json.sendy.status;callback.apply(this,[status]);}});}}; 4457MMI.Util.namespace('Sendy.LiveEventHandlers');Sendy.LiveEventHandlers={handleAppInstanceCreated:function(app){app.registerHandlerClass(Sendy.LiveEventHandlers);}};MMI.App.registerInitCallback(Sendy.LiveEventHandlers.handleAppInstanceCreated); 4458(function(appNamespace,moduleName){MMI.Util.namespace(appNamespace+'.App.'+moduleName);Eco.Organism.QtipOptions.setDefault({style:{tip:{width:20,height:10}}});window[appNamespace].App[moduleName]={_searchInputTimeout:null,__c
4458onstruct:function(){this._parent();this.setDialogPluginName('smartBox');Be.SiteTools.userbackLogoUrl='//'+window.location.hostname+'/images/email/logo-that-wont-get-overwritten-by-genome.png';},handleDocumentReady:function(event,app,jqel,data){jqel.addClass('LocalEnergyBody');function transitionOver(e){if(e.target&&e.target.classList&&e.target.classList.contains('transitioning')){e.target.classList.remove('transitioning');}} 4459document.body.addEventListener('transitionend',transitionOver);document.body.addEventListener('transitioncancel',transitionOver);jQuery.expr[':'].external=function(obj){return(obj.href!=undefined)&&(typeof obj.href==='string')&&(obj.href!=='')&&!obj.href.match(/^mailto\:/)&&(obj.hostname!=location.hostname);};jQuery('a:external').attr('target','_blank');this.initializeUserTracking();},initializeUserTracking:function(jqel_target){if(!jqel_target){jqel_target=jQuery('body');}else{jqel_target=jQuery(jqel_target);} 4460var app=this;var trackerDefaults={action:null,group:null,itemId:null,data:null};let jqel_allTrackTargets=jqel_target.find('[data-track]');const jqel_searchInputs=jqel_allTrackTargets.filter('[data-track="searchInput"]');const jqel_checkboxGroups=jqel_allTrackTargets.filter('[data-track="checkboxGroup"]');const jqel_remaining=jqel_allTrackTargets.not(jqel_searchInputs).not(jqel_checkboxGroups);jqel_checkboxGroups.on('input','input[type="checkbox"]',function(){if(this.checked){const trackerData=jQuery(this).ecoData('trackerData');app.trackUserAction(trackerData.action,trackerData.category,trackerData.itemId,trackerData.data);}});jqel_remaining.on('click',function(){const jqel=jQuery(this);let trackerOptions=jqel.ecoData('track');let trackerDefaultOptions={action:null,category:null,itemId:null,data:{}};trackerOptions=Basix.extend(Basix.EXTEND_RECURSIVE,trackerDefaultOptions,trackerOptions);if(jqel.hasClass('disableAutoTracking')){return;} 4461switch(jqel.get(0).tagName.toLowerCase()){case'a':if(!trackerOptions.itemId&&(!trackerOptions.data.hasOwnProperty('enumId')||!trackerOptions.data.enumId)){trackerOptions.data.href=jqel.attr('href');} 4462break;case'checkbox':if(jqel.is(':checked')){return;} 4463break;case'label':let jqel_input=jQuery('#'+jqel.attr('for'));if(jqel_input.attr('type')==='checkbox'){if(jqel_input.is(':checked')){return;}} 4464break;} 4465app.trackUserAction(trackerOptions.action,trackerOptions.category,trackerOptions.itemId,trackerOptions.data);});var searchTrackerDefaults={itemId:null,searchSource:null};var jqel_targetsKeyup=jqel_searchInputs.find('input[data-track="searchInput"], input');jqel_targetsKeyup.on('keyup',function(){var jqel=jQuery(this);var tracker=jqel.ecoData('trackerOptions');var trackerOverrides=jqel.data('trackerOverrides');if(trackerOverrides){tracker=Basix.extend({},searchTrackerDefaults,tracker,trackerOverrides);}else{tracker=Basix.extend({},searchTrackerDefaults,tracker);} 4466var previousSearchText=jqel.data('trackerKeyupValue');var searchText=jQuery.trim(jqel.val());if(searchText&&searchText!==previousSearchText){clearTimeout(app._searchInputTimeout);app._searchInputTimeout=setTimeout(function(){app.ajax({data:{mode:'display',id:tracker.itemId,keywords:searchText,search_source:tracker.searchSource}});},1000);jqel.data('trackerKeyupValue',searchText);}});},flashMsg:function(content,time){time=time===undefined?3000:time;let jqel=this.alert({message:content,buttons:[],smartBox:{classes:['betterDialog']}});setTimeout(function(){jqel.smartBox('close');},time);},_defaultDialogOptions:{modal:true,classes:['betterDialog','sb-centered'],position:'css',width:'css',height:'css',close:true,minimize:false,maximize:false,restore:false,resizable:false,draggable:false},getDialogOptions:function(dialogOptions){const merged=Basix.extend(Basix.EXTEND_RECURSIVE,Basix.ARRAYS_MERGE,{},this._defaultDialogOptions,dialogOptions);if(!merged.title){merged.classes.push('mod_no-title');} 4467return merged;},projectDialog:function(options){return this.wrappedDialog(this.getDialogOptions(options));},};})('LocalEnergy','Core'); 4468MMI.Util.namespace('LocalEnergy.App.Newsletter');function subscribeEmail(email){return Sendy.subscribeEmailToList(false,email,"",function(){}).then(function(rsp){let sendy=rsp.sendy;switch(sendy.status){case'success':case'existing':return Promise.resolve(sendy.status);default:return Promise.reject(sendy.status);}});} 4469const PESTERED_KEY='newsletter.pestered';const SUCCESS_HTML=''+'<div class="newsletter-rsp newsletter-rsp--success">'+'<div class="state-icon"><i class="eco eco-done mod_color-success mod_icon-medium"></i></div>'+'<div>'+'<h2>Success!</h2>'+'<p>You have successfully signed up for the newsletter.</p>'+'</div>'+'</div>';const ERROR_HTML=''+'<div class="newsletter-rsp newsletter-rsp--error">'+'<div class="state-icon"><i class="eco eco-error-o mod_color-error mod_icon-medium"></i></div>'+'<div>'+'<h2>Sorry</h2>'+'<p>Something has gone wrong and we were unable to sign you up at this time, please try again later.</p>'+'</div>'+'</div>';function waitThenClose(jqel,time){time=time===undefined?3000:time;setTimeout(function(){jqel.smartBox('close');},time);} 4470LocalEnergy.App.Newsletter={pesterForSignUp:function(force,track){var _t=this;if(!this.pestered||force){this.pestered=true;var jqel_prompt;MMI.App.get().trackUserAction(track.action,track.category,track.itemId,track.data);var prompt=new Promise(function(resolve,reject){jqel_prompt=MMI.App.get().prompt({message:''+'<h2>Sign Up for Our Newsletter?</h2>'+'<p>Want to always be up to date with the latest information about reach codes? Just enter your email address below to sign up for our newsletter!</p>'+'<p class="atom_error">That doesn\'t seem to be a valid email. Please check your input and try again.</p>',placeholderText:'your email address',fieldType:'email',buttons:[{id:'cancel',label:'No Thanks',classes:[]},{id:'ok',label:'Sign Me Up!',classes:[]}],smartBox:{classes:['betterDialog']},callback:function(rsp,options){var id=rsp.id;var value=rsp.value;if(id==='ok'){let input=jqel_prompt.find('input')[0];let valid=input.checkValidity();if(!valid){jqel_prompt.addClass('mod_error');return false;}else{track.action='newsletterSignup';track.data.location.region='pesterNewsletterPrompt';MMI.App.get().trackUserAction(track.action,track.category,track.itemId,track.data);resolve(value);jqel_prompt.html('<div class="beFancy_spinner beFancy_rotate mod_margined-auto"><i></i></div>');return false;}}else{reject();return true;}}})});prompt.then(function(email){return _t.signUp(email);}).then(function(rsp){jqel_prompt.html(SUCCESS_HTML);waitThenClose(jqel_prompt);}).catch(function(err){jqel_prompt.html(ERROR_HTML);waitThenClose(jqel_prompt);console.error(err);});}},signUpFromForm:function(email){return this.signUp(email).then(function(){MMI.App.get().flashMsg(SUCCESS_HTML);},function(){MMI.App.get().flashMsg(ERROR_HTML);});},signUp:function(email){this.pestered=true;return subscribeEmail(email);}};Object.defineProperty(LocalEnergy.App.Newsletter,'pestered',{get:function(){return localStorage.getItem(PESTERED_KEY)==='true';},set:function(v){return localStorage.setItem(PESTERED_KEY,v===true?'true':'false');}}); 4471MMI.Util.namespace('LocalEnergy.App');(function(appNamespace){var app=jQuery.extend({},window[appNamespace].App.Core);jQuery.each(window[appNamespace].App,function(moduleName,moduleCode){if(moduleName.toLowerCase()!='core'){app=jQuery.extend(app,module
4471Code);}});window[appNamespace].App._moduleMixer=MMI.App.Core.extend(app);})('LocalEnergy');new LocalEnergy.App._moduleMixer(); 4472(function(appNamespace,moduleName){MMI.Util.namespace(appNamespace+'.LiveEventHandlers.'+moduleName);window[appNamespace].LiveEventHandlers[moduleName]={handleAppInstanceCreated:function(app){app.registerHandlerClass(window[appNamespace].LiveEventHandlers[moduleName]);},do_debugger:function(event,app,jqel,data){debugger;},do_jumpTo:function(event,app,jqel,data){jQuery(data.jumpToSelector)[0].scrollIntoView({behavior:'smooth'});},do_toggleClass:function(event,app,jqel,data){const classes=Array.isArray(data.toggleClass)?data.toggleClass:[data.toggleClass];let target=jqel;if(data.toggleClassSelector){target=jQuery(data.toggleClassSelector);}else if(jqel.parents('[data-toggle-class-target]').length){target=jqel.parents('[data-toggle-class-target]');} 4473target.toggleClass(classes.join(' '));const expandedTrigger=target.find('[aria-expanded]');if(expandedTrigger.length){const isOpen=target.hasClass('mod_open');expandedTrigger.attr('aria-expanded',isOpen.toString());}},do_stopPropagation:function(event,app,jqel,data){event.stopPropagation();event.originalEvent.stopPropagation();return true;},do_initCollapsible:function(event,app,jqel,data){jqel.find('.collapsee, .faqAnswer').each(function(){let offset=parseInt(getComputedStyle(this).getPropertyValue('--content-height-offset'),10);offset=Number.isNaN(offset)?0:offset;this.classList.add('collapsible-measure');let height=this.getBoundingClientRect().height;height+=offset;this.classList.remove('collapsible-measure');this.style.setProperty('--content-height',height+'px');});},do_initQuickQuestions:function(event,app,jqel,data){function quickQuestionResize(){jQuery('.quickQuestions aside').each(function(){let height=this.offsetHeight;height+=this.querySelector('.body').offsetHeight;this.style.setProperty('--content-height',height+'px');});} 4474quickQuestionResize();jQuery(window).on('resize',quickQuestionResize);let active;jqel.on('click','aside',function(){let aside=jQuery(this);aside.siblings('.mod_active').removeClass('mod_active').attr('aria-expanded','false');if(aside.hasClass('mod_active')){active=null;}else{active=aside[0];} 4475aside.toggleClass('mod_active');aside.attr('aria-expanded',aside.hasClass('mod_active')?'true':'false');});jqel.on('keydown','aside',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();jQuery(this).trigger('click');}});jQuery(document.body).on('click',function(e){if(active&&!active.contains(e.target)){active.classList.remove('mod_active');jQuery(active).attr('aria-expanded','false');active=null;}});},do_openCEEToJurisdiction:function(event,app,jqel,data,value,organism){const slug=value.getCleanValue();if(!slug){return;} 4476let href=`https://explorer.localenergycodes.com/?jurisdiction=${slug}`;if(data.hasOwnProperty('utm_source')){href+=`&utm_source=${data.utm_source}`;} 4477jQuery('<a></a>').attr({target:'_blank',href}).click();app.trackUserAction('navigation','interaction',null,{href,location:{itemId:app.getPageItemId(),region:'homepage-cee',},control:{type:'autocomplete'}});},do_ceeStatLookup:function(event,app,jqel,data){const http=new genomeJsApi.Http();const dataRequest=http.request({method:'POST',url:`https://explorer-api.localenergycodes.com/api/graphql`,withCredentials:false,data:{query:`{ 4478 policies_count: policies( 4479 where: [{column: "exclude_in_report", value: "false"}] 4480 count: "id" 4481 orderBy: [{column: "count_total", order: "DESC"}] 4482 ) { 4483 count_total 4484 } 4485 jurisdictions_count: policies( 4486 where: [{column: "exclude_in_report", value: "false"}] 4487 count: "jurisdiction_id" 4488 orderBy: [{column: "count_total", order: "DESC"}] 4489 ) { 4490 count_total 4491 } 4492 }`}}).then((rsp)=>{const jurisdictionCount=rsp.data?.data?.jurisdictions_count?.[0]?.count_total??0;const policiesCount=rsp.data?.data?.policies_count?.[0]?.count_total??0;return{jurisdictionCount,policiesCount,}});let intersectionResolve;const intersectionPromise=new Promise((resolve)=>intersectionResolve=resolve);const intersectionObserver=new IntersectionObserver((entries)=>{if(entries[0].isIntersecting){intersectionResolve();intersectionObserver.disconnect();}});intersectionObserver.observe(jqel[0]);Promise.all([dataRequest,intersectionPromise]).then(([countData])=>{jqel.find(`[data-field="policies_count"]`).attr('data-count',countData.policiesCount).eq(0)[0].style.setProperty('--ceeCount',countData.policiesCount);jqel.find(`[data-field="jurisdictions_count"]`).attr('data-count',countData.jurisdictionCount).eq(0)[0].style.setProperty('--ceeCount',countData.jurisdictionCount);jqel.removeClass('cee-data--loading');},(e)=>console.log(e))},do_newsletterFormSubmit:function(event,app,jqel,data){clog('do_newsletterFormSubmit');jqel.parents('.molecule_form').addClass('mod_submitting');clog('tracking newsletter signup',data.track);let email=data.organism_form.getValue('email');data.track.data.email=email;app.trackUserAction(data.track.action,data.track.category,data.track.itemId,data.track.data);LocalEnergy.App.Newsletter.signUpFromForm(email).then(function(){data.organism_form.reset();jqel.parents('.molecule_form').removeClass('mod_submitting');})}
4492,do_paneledAsideJump:function(event,app,jqel,data){let jqel_body=jqel.parents('.paneledAside').find('.paneledAside-body');jqel_body.animate({scrollLeft:jqel_body.outerWidth()*data.panelIdx});jqel.siblings('.mod_active').removeClass('mod_active');jqel.addClass('mod_active');},do_createToc:function(event,app,jqel,data){jqel.empty();jQuery('.ecoLayoutEditableContainer [id][data-title], .ecoLayoutEditableContainer [id][title]').each(function(){const el=this;const title=el.getAttribute('data-title')||el.getAttribute('title');jqel.append(jQuery('<li><a href="#'+el.id+'">'+title+'</a></li>'));});jqel.append('<li><a href="?mode=grab_page&attitude=print" class="matomo_download">Download PDF Version <i class="lec lec-file-download"></i></a>');jqel.attr('aria-busy','false');},};MMI.App.registerInitCallback(window[appNamespace].LiveEventHandlers[moduleName].handleAppInstanceCreated);})('LocalEnergy','Core'); 4493Eco.Organism.FloatingContactForm=Eco.Organism.extend({jqel_trigger:null,jqel_formWrapper:null,jqel_overlay:null,_focusTrap:null,__construct:function(jqel){this._parent(jqel);this.jqel_trigger=jqel.find('.floatingContact-trigger');this.jqel_formWrapper=jqel.find('.floatingContact-form');this.jqel_overlay=jqel.siblings('.floatingContact-overlay');this.jqel_overlay.on('click',()=>this.close());this.jqel_trigger.on('click',()=>this.toggle());this.jqel_trigger.on('keydown',(e)=>{if(e.key==='Escape'){this.close();}});this._focusTrap=new FocusTrap();this._focusTrap.setUpFocusableElements(this.jqel_formWrapper[0]);this.jqel_formWrapper.on('keydown',(e)=>{switch(e.key){case'Escape':this.close();break;case'Tab':this._focusTrap.trapKeyboardFocus(e);break;}});},open:function(){if(this.hasModifier('mod_form')){this.addModifier('mod_open');}else{this.addModifier('mod_loading');this.loadForm().then(()=>{this.removeModifier('mod_loading');this.addModifier('mod_open');})}},close:function(){this.removeModifier('mod_open');},toggle:function(){if(!this.hasModifier('mod_open')){this.open();}else{this.close();}},loadForm:async function(){return MMI.App.get().ajax({url:'/content/'+this.jqel.ecoData('formSeoName'),jqel:this.jqel_formWrapper,replaceContent:true,}).then(()=>{this.addModifier('mod_form');});},syncModifierState:function(mod){if(mod==='mod_open'){const isOpen=this.hasModifier('mod_open');this.jqel_trigger.attr('aria-expanded',isOpen.toString());this.jqel_formWrapper[0].inert=!isOpen;if(!isOpen){this.jqel_trigger.focus();}}},addModifier:function(mod){this._parent(mod);this.syncModifierState(mod);return this;},removeModifier:function(mod){this._parent(mod);this.syncModifierState(mod);return this;},toggleModifier:function(mod){this._parent(mod);this.syncModifierState(mod);return this;},}); 4494Eco.Util.getNamespace('Eco.Organism.MobileMenu');Eco.Organism.MobileMenu=Eco.Organism.extend({_focusTrap:null,__construct:function(jqel_organism){this._parent(jqel_organism);var self=this;this._getToggleControlElement().on('click',function(){self.toggle();});this.jqel.on('keydown',function(e){if(e.key==='Escape'&&self.isOpen()){self.close();self._getToggleControlElement().get(0).focus();}else if(e.key==='Tab'&&self.isOpen()&&self._focusTrap){self._focusTrap.trapKeyboardFocus(e);}});this._getNavElement().on('keydown',function(e){self._handleArrowKeys(e);});var props=['showOnTablet','showOnAll'];for(var i=0;i<props.length;i++){var propName=props[i];
4494var propData=this.jqel.ecoData(propName);if(propData==1||propData=='true'){document.body.classList.add('mobileMenu-'+propName);this.jqel.addClass(propName);}} 4495this.jqel.find('.menu').removeClass('menu');this._focusTrap=new FocusTrap();var navEl=this._getNavElement().get(0);this._focusTrap.setUpFocusTrap(navEl);if(navEl){navEl.inert=true;}},_getToggleControlElement:function(){return this.jqel.find('.molecule_toggleControl');},_getNavElement:function(){return this.jqel.find('nav');},_getMenuItems:function(){return this._getNavElement().find('[role="menuitem"]');},isOpen:function(){return this.jqel.hasClass('mod_active');},toggle:function(){if(this.isOpen()){this.close();}else{this.open();}},open:function(){this.jqel.addClass('mod_active');document.body.classList.add('mobileMenu-open');var trigger=this._getToggleControlElement().get(0);if(trigger){trigger.setAttribute('aria-expanded','true');} 4496var navEl=this._getNavElement().get(0);if(navEl){navEl.inert=false;navEl.classList.add('mod_menuOpen');} 4497var self=this;setTimeout(function(){var firstItem=self._focusTrap.focusableElements[0];if(firstItem){firstItem.focus();}},50);},close:function(){if(!this.isOpen()){return;} 4498this.jqel.removeClass('mod_active');document.body.classList.remove('mobileMenu-open');var trigger=this._getToggleControlElement().get(0);if(trigger){trigger.setAttribute('aria-expanded','false');} 4499var navEl=this._getNavElement().get(0);if(navEl){navEl.classList.remove('mod_menuOpen');navEl.inert=true;}},_handleArrowKeys:function(e){var menuItems=this._getMenuItems().toArray();if(!menuItems.length){return;} 4500var currentIndex=menuItems.indexOf(document.activeElement);switch(e.key){case'ArrowDown':e.preventDefault();menuItems[(currentIndex+1)%menuItems.length].focus();break;case'ArrowUp':e.preventDefault();menuItems[(currentIndex-1+menuItems.length)%menuItems.length].focus();break;case'Home':e.preventDefault();menuItems[0].focus();break;case'End':e.preventDefault();menuItems[menuItems.length-1].focus();break;}}}); 4501Eco.Util.initializeNamespace('Eco.Organism.MobileMenu.LiveEventHandlers');Eco.Organism.MobileMenu.LiveEventHandlers={handleAppInstanceCreated:function(app){app.registerHandlerClass(Eco.Organism.MobileMenu.LiveEventHandlers);},do_closeMobileMenu:function(event,app,jqel,data){var jqel_parentMenu=false;if(jqel.hasClass('organism_mobileMenu')){jqel_parentMenu=jqel;}else{jqel_parentMenu=jqel.parents('.organism_mobileMenu').first();} 4502if(jqel_parentMenu&&jqel_parentMenu.size()){jqel_parentMenu.mmiData('organism').close();}}};MMI.App.registerInitCallback(Eco.Organism.MobileMenu.LiveEventHandlers.handleAppInstanceCreated); 4503Eco.Organism.Button=Eco.Organism.extend({jqel_button:null,__construct:function(jqel_organism){this._parent(jqel_organism);this.jqel_button=this._getButtonElement();var self=this;this.jqel_button.on('click',function(event){return self.onClick(event);});},onClick:function(event){return this._processClickEvent(event);},_processClickEvent:function(event){if(this.jqel.ecoData('buttonAction')&&this.jqel.find('input').attr('type')==='button'){try{eval(this.jqel.ecoData('buttonAction'));}catch(e){cwarn(e);}} 4504if(this.jqel_button.hasClass('mod_disabled')||this.jqel_button.hasClass('disabled')||this.jqel_button.is(':disabled')){event.preventDefault();event.stopPropagation();event.stopImmediatePropagation();return false;} 4505return true;},_getButtonElement:function(){const selector='.atom_button, input[type=button], input[type=submit], input[type=reset]';var jqel=this.jqel.find(selector).addBack(selector);if(!jqel.size()){this._missingElementError('Eco.Organism.Button','button');} 4506return jqel;},disable:function(){this._parent();this.jqel_button.addClass('mod_disabled');},enable:function(){this._parent();this.jqel_button.removeClass('mod_disabled');},readDomValue:function(){this._getButtonElement.attr('value');},getAllValuesByReference:function(){let parentOrganism=this.jqel.parent().ecoData('organism');if(parentOrganism){return parentOrganism.getAllValuesByReference();}else{cwarn('Button unable to find parent organism for getAllValuesByReference',this.jqel);}},getButtonElement:function(){return this.jqel_button;}}); 4507Eco.Organism.Button.Smart=Eco.Organism.Button.extend({_formOrganism:null,_formIsAncestor:true,_locks:new Set(),_recentlyUpdatedValidationStatus:null,__c
4507onstruct:function(jqel_organism){this._parent(jqel_organism);var self=this;var formOrganism=this.getFormOrganism();this.jqel.on('click',(event)=>{if(this._recentlyUpdatedValidationStatus){return;} 4508if(!(formOrganism instanceof Eco.Organism.Form)){return;} 4509formOrganism.enableValidationErrors();formOrganism.resetValidation();formOrganism.validate();this._initializeDelayedRepeatValidationSystem();});if(formOrganism instanceof Eco.Organism.Form){formOrganism.jqel.on('eco_form_changed',function(event,formOrganism,fieldOrganism){setTimeout(function(){self.onEcoFormChanged(event,formOrganism,fieldOrganism);},250);});formOrganism.jqel.on('eco_form_lock_smart_button',function(event,formOrganism,fieldOrganism,key,locked){if(locked===true){self._locks.add(key);}else{self._locks.delete(key);} 4510self._updateButtonStatus(formOrganism);});formOrganism.jqel.on('eco_form_initialized',function(event,formOrganism){self.onEcoFormInitialized(event,formOrganism);});formOrganism.jqel.on('eco_rapid_change',function(event,fieldOrganism){self.onEcoRapidChange(event,fieldOrganism);});formOrganism.jqel.on('eco_form_value_error',function(event,formOrganism,fieldOrganism){self.onEcoFormValueError(event,formOrganism,fieldOrganism);});formOrganism.jqel.on('eco_form_reverted',function(event){self.onEcoFormReset(event);});}},_initializeDelayedRepeatValidationSystem:function(){this._recentlyUpdatedValidationStatus=setTimeout(()=>{this._recentlyUpdatedValidationStatus=null;},2500);},getFormOrganism:function(){if(this._formOrganism!==null){return this._formOrganism;} 4511var organism=null;var jqel_target=jQuery(this.jqel.data('target'));var checkAncestry=false;if(jqel_target.size()){checkAncestry=true;organism=jqel_target.ecoData('organism_form');}else{organism=this.jqel.ecoData('organism_form');} 4512if(organism instanceof Eco.Organism.Form){this._formOrganism=organism;if(checkAncestry){this._formIsAncestor=jQuery.contains(this._formOrganism.jqel_form.get(0),this.jqel.get(0));}} 4513return this._formOrganism;},onClick:function(event){var formOrganism=this.getFormOrganism();if(!(formOrganism instanceof Eco.Organism.Form)){permaclog(this.jqel);cwarn('This ^^^ smart button is operating without a form element. You should either place your button inside a form organism element OR add a data-target attribute with a jQuery selector for the correct form OR create a custom class extending Eco.Organism.Button.Smart and override the getFormOrganism() method to return a valid form organism.');} 4514this._onClickIntermediary(event);return true;},_onClickIntermediary:function(event){var formOrganism=this.getFormOrganism();if(!(formOrganism instanceof Eco.Organism.Form)){return;} 4515if(formOrganism.hasFieldWithInProgressChanges()||(Eco.Util.namespaceExists('Eco.Organism.Field.Equation')&&Eco.Organism.Field.Equation.areEquationsQueued())){var self=this;setTimeout(function(){self._onClickIntermediary(event);},50);}else{this._onClick(event);}},_onClick:function(event){if(!this._isLocked()){var formOrganism=this.getFormOrganism();if(formOrganism instanceof Eco.Organism.Form){var initialValidationErrorsSetting=formOrganism.areValidationErrorsEnabled();formOrganism.enableValidationErrors();var errors=formOrganism.validate();if(!initialValidationErrorsSetting){formOrganism.disableValidationErrors();} 4516var disabled=false;if(errors&&errors.length){disabled=true;}else if(!formOrganism.isSubmitWhenUnchangedEnabled()&&!formOrganism.hasChangedValues()){disabled=true;} 4517if(disabled===true){this.jqel_button.addClass('mod_disabled');this._triggerDisabledEvent();}else{this.jqel_button.removeClass('disabled mod_disabled');this._triggerEnabledEvent();}}} 4518var result=this._processClickEvent(event);if(result===true&&!this._formIsAncestor){var buttonType=this.jqel_button.attr('type');if(['submit','reset'].indexOf(buttonType)>-1){formOrganism.jqel_form.trigger(buttonType);}}},enable:function(){this._parent();this._triggerEnabledEvent();},disable:function(){this._parent();this._triggerDisabledEvent();},onEcoFormChanged:function(event,formOrganism,fieldOrganism){this._updateButtonStatus(formOrganism);},onEcoFormInitialized:function(event,formOrganism){this._updateButtonStatus(formOrganism);},onEcoRapidChange:function(event,fieldOrganism){this._updateButtonStatusRapidly(fieldOrganism);},onEcoFormValueError:function(event,formOrganism,fieldOrganism){this.jqel_button.addClass('mod_disabled');this._triggerDisabledEvent();},onEcoFormReset:function(event){this.jqel_button.addClass('mod_disabled');this._triggerDisabledEvent();},_isLocked:function(){const locked=this._locks.size>0;if(locked){this.jqel_button.addClass('mod_disabled');this._triggerDisabledEvent();} 4519return locked;},_updateButtonStatus:function(formOrganism){if(!(formOrganism instanceof Eco.Organism.Form)){formOrganism=this.getFormOrganism();if(!(formOrganism instanceof Eco.Organism.Form)){permaclog(this.jqel);cerror('Unable to automatically obtain a form organism for this ^^^ button. Please adjust your HTML
4519structure OR trigger the eco_form_changed event with an arguments array.');}} 4520if(this._isLocked()){return;} 4521formOrganism.disableValidationErrors();formOrganism.resetValidation();formOrganism.validate();this._initializeDelayedRepeatValidationSystem();formOrganism.enableValidationErrors();var errors=formOrganism.getErrors();var disabled=false;if(errors&&errors.length){disabled=true;}else if(!formOrganism.isSubmitWhenUnchangedEnabled()&&!formOrganism.hasChangedValues()){disabled=true;} 4522if(disabled===true){this.jqel_button.addClass('mod_disabled');this._triggerDisabledEvent();}else{this.jqel_button.removeClass('disabled mod_disabled');this._triggerEnabledEvent();}},_updateButtonStatusRapidly:function(fieldOrganism){var formOrganism=this.getFormOrganism();if(!(formOrganism instanceof Eco.Organism.Form)){permaclog(this.jqel);cerror('Unable to automatically obtain a form organism for this ^^^ button. Please adjust your HTML structure OR trigger the eco_form_changed event with an arguments array.');} 4523if(this._isLocked()){return false;} 4524formOrganism.disableValidationErrors();formOrganism.resetValidation();if(fieldOrganism.resetOwnValidation){fieldOrganism.resetOwnValidation();} 4525if(formOrganism.isSlowValidationEnabled()){formOrganism.disableSlowValidation();formOrganism.validate();formOrganism.enableSlowValidation();}else{formOrganism.validate();this._initializeDelayedRepeatValidationSystem();} 4526formOrganism.resetValidation();fieldOrganism.resetOwnValidation();formOrganism.enableValidationErrors();var errors=formOrganism.getErrors();var disabled=false;if(errors&&errors.length){disabled=true;}else if(!formOrganism.isSubmitWhenUnchangedEnabled()&&!formOrganism.hasChangedValues()){disabled=true;} 4527if(disabled===true){this.jqel_button.addClass('mod_disabled');this._triggerDisabledEvent();}else{this.jqel_button.removeClass('disabled mod_disabled');this._triggerEnabledEvent();}},_triggerDisabledEvent:function(){const event=new CustomEvent('smart-button.disabled');this.jqel_button.get(0).dispatchEvent(event);},_triggerEnabledEvent:function(){const event=new CustomEvent('smart-button.enabled');this.jqel_button.get(0).dispatchEvent(event);}}); 4528Eco.Organism.Field.Email=Eco.Organism.Field.Text.extend({__construct:function(jqel_organism){this._parent(jqel_organism);var self=this;self.jqel_field.attr('type','email').attr('autocapitalize','none');}}); 4529MMI.Util.namespace('Be.Matomo');Be.Matomo={_ajaxDoneRegistered:false,logAjaxSearch:function(){},registerSearchAjaxDone:function(){if(this._ajaxDoneRegistered){return;} 4530let ajaxLiveEvents=jQuery('body').data('live_ajaxdone_handler');if(!ajaxLiveEvents){ajaxLiveEvents='';}else{ajaxLiveEvents+=';';} 4531ajaxLiveEvents+='logSearchComplete';jQuery('body').data('live_ajaxdone_handler',ajaxLiveEvents);jQuery('body').addClass('live_ajaxdone');},trackSiteSearch:function(keywords,source,total,pageType,pageId,customDimensions){if(!customDimensions){customDimensions={};} 4532if(pageType){var pageTypeDimensionId=MMI.Settings.getSetting('matomo','page_type_dimension_id');if(pageTypeDimensionId){customDimensions['dimension'+pageTypeDimensionId]=pageType;}} 4533if(pageId){var pageIdDimensionId=MMI.Settings.getSetting('matomo','page_id_dimension_id');if(pageIdDimensionId){customDimensions['dimension'+pageIdDimensionId]=pageId;}} 4534if(!total){total=false;} 4535if(window.hasOwnProperty('_paq')){window._paq.push(['trackSiteSearch',keywords,source,total,customDimensions]);}else{cwarn("Trying to track site search with Matomo but can not locate _paq");}},trackEvent:function(category,action,name,value,pageType,pageId,customDimensions){if(!customDimensions){customDimensions={};} 4536if(pageType){var pageTypeDimensionId=MMI.Settings.getSetting('matomo','page_type_dimension_id');if(pageTypeDimensionId){customDimensions['dimension'+pageTypeDimensionId]=pageType;}} 4537if(pageId){var pageIdDimensionId=MMI.Settings.getSetting('matomo','page_id_dimension_id');if(pageIdDimensionId){customDimensions['dimension'+pageIdDimensionId]=pageId;}} 4538if(!name){name='';} 4539if(!value){value='';} 4540window._paq.push(['trackEvent',category,action,name,value,customDimensions]);},trackPageView:function(pageUrl,pageTitle,pageType,pageId,customDimensions){if(!customDimensions){customDimensions={};} 4541var currentUrl=location.href;window._paq.push(['setReferrerUrl',currentUrl]);window._paq.push(['setCustomUrl',pageUrl]);if(pageType){var pageTypeDimensionId=MMI.Settings.getSetting('matomo','page_type_dimension_id');if(pageTypeDimensionId){customDimensions['dimension'+pageTypeDimensionId]=pageType;}} 4542if(pageId){var pageIdDimensionId=MMI.Settings.getSetting('matomo','page_id_dimension_id');if(pageIdDimensionId){customDimensions['dimension'+pageIdDimensionId]=pageId;}} 4543window._paq.push(['trackPageView',pageTitle,customDimensions]);},trackLink:function(url,linkType,pageType,pageId,customDimensions){if(!customDimensions){customDimensions={};} 4544if(linkType!='download'){linkType='link';} 4545if(pageType){var pageTypeDimensionId=MMI.Settings.getSetting('matomo','page_type_dimension_id');if(pageTypeDimensionId){customDimensions['dimension'+pageTypeDimensionId]=pageType;}} 4546if(pageId){var pageIdDimensionId=MMI.Settings.getSetting('matomo','page_id_dimension_id');if(pageIdDimensionId){customDimensions['dimension'+pageIdDimensionId]=pageId;}} 4547window._paq.push(['trackLink',url,linkType,customDimensions]);}};
4547Be.Matomo.registerSearchAjaxDone(); 4548(function(appNamespace,moduleName){MMI.Util.namespace('Be.'+appNamespace+'.LiveEventHandlers.'+moduleName);Be[appNamespace].LiveEventHandlers[moduleName]={handleAppInstanceCreated:function(app){app.registerHandlerClass(Be[appNamespace].LiveEventHandlers[moduleName]);},do_logSearchComplete:function(event,app,jqel,data,json){if(json&&typeof(json)==='object'&&typeof(json.keywordSearchData)==='object'){let keywordData=json.keywordSearchData;if(keywordData.keywords&&keywordData.keywords.toLowerCase()!=='test'){let keywords=keywordData.keywords;let source=keywordData.source;if(!source){source='site search';} 4549let total=false;if(json.resultsArray&&typeof(json.resultsArray)=='object'&&json.resultsArray.hasOwnProperty('total')){total=json.resultsArray.total;} 4550if(keywords){Be.Matomo.trackSiteSearch(keywords,source,total);}}}}};MMI.App.registerInitCallback(Be[appNamespace].LiveEventHandlers[moduleName].handleAppInstanceCreated);})('Matomo','Core');
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.