Samx Here
n1udSecurity


Server : Apache
System : Linux ks5.tuic.fr 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64
User : pragmatice ( 1003)
PHP Version : 8.2.24
Disable Function : NONE
Directory :  /home/pragmatice/public_html/lesite/local/cache-js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/pragmatice/public_html/lesite/local/cache-js/8caaea65307a112e6f958dc57706dd8e.js
/* compact [
	../prive/javascript/jquery.js?1672674102
	../prive/javascript/jquery.form.js?1672674102
	../prive/javascript/jquery.autosave.js?1672674102
	../prive/javascript/jquery.placeholder-label.js?1672674102
	../prive/javascript/ajaxCallback.js?1672674102
	../prive/javascript/js.cookie.js?1672674102
	../prive/javascript/spip_barre.js?1672674102
	../plugins-dist/bigup/javascript/bigup.utils.js?1672674099
	../plugins-dist/bigup/lib/flow/flow.js?1672674099
	../plugins-dist/bigup/javascript/bigup.js?1672674099
	../plugins-dist/bigup/javascript/bigup.loader.js?1672674099
	../prive/lib/bootstrap/js/popper.js?1672674102
	../prive/lib/bootstrap/js/util.js?1672674102
	../prive/lib/bootstrap/js/dropdown.js?1672674102
	../prive/javascript/layer.js?1672674102
	../prive/javascript/presentation.js?1672674102
	../prive/javascript/gadgets.js?1672674102
	../prive/javascript/prefixfree.js?1672674102
	../plugins-dist/mediabox/lib/lity/lity.js?1672674099
	../plugins-dist/mediabox/lity/js/lity.mediabox.js?1672674100
	../plugins-dist/mediabox/javascript/spip.mediabox.js?1672674099
	../plugins-dist/porte_plume/javascript/jquery.markitup_pour_spip.js?1672674101
	../plugins-dist/porte_plume/javascript/jquery.previsu_spip.js?1672674101
	../local/cache-js/jsdyn-javascript_porte_plume_start_js-1fc3e371.js?1695819813
	../plugins-dist/porte_plume/javascript/porte_plume_forcer_hauteur.js?1672674101
	../plugins/saisies/javascript/saisies.js?1672592781
	../plugins/saisies/javascript/saisies_afficher_si.js?1672592781
	../plugins/saisies/javascript/saisies_textarea_counter.js?1672592782
	../plugins/jquery_ui/prive/javascript/ui/jquery-ui.js
] 59.1% */

/* ../prive/javascript/jquery.js?1672674102 */

(function(global,factory){
"use strict";
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");
}
return factory(w);
};
}else{
factory(global);
}
})(typeof window!=="undefined"?window:this,function(window,noGlobal){
"use strict";
var arr=[];
var getProto=Object.getPrototypeOf;
var slice=arr.slice;
var flat=arr.flat?function(array){
return arr.flat.call(array);
}:function(array){
return arr.concat.apply([],array);
};
var push=arr.push;
var indexOf=arr.indexOf;
var class2type={};
var toString=class2type.toString;
var hasOwn=class2type.hasOwnProperty;
var fnToString=hasOwn.toString;
var ObjectFunctionString=fnToString.call(Object);
var support={};
var isFunction=function isFunction(obj){
return typeof obj==="function"&&typeof obj.nodeType!=="number"&&
typeof obj.item!=="function";
};
var isWindow=function isWindow(obj){
return obj!=null&&obj===obj.window;
};
var document=window.document;
var preservedScriptAttributes={
type:true,
src:true,
nonce:true,
noModule:true
};
function DOMEval(code,node,doc){
doc=doc||document;
var i,val,
script=doc.createElement("script");
script.text=code;
if(node){
for(i in preservedScriptAttributes){
val=node[i]||node.getAttribute&&node.getAttribute(i);
if(val){
script.setAttribute(i,val);
}
}
}
doc.head.appendChild(script).parentNode.removeChild(script);
}
function toType(obj){
if(obj==null){
return obj+"";
}
return typeof obj==="object"||typeof obj==="function"?
class2type[toString.call(obj)]||"object":
typeof obj;
}
var
version="3.6.0",
jQuery=function(selector,context){
return new jQuery.fn.init(selector,context);
};
jQuery.fn=jQuery.prototype={
jquery:version,
constructor:jQuery,
length:0,
toArray:function(){
return slice.call(this);
},
get:function(num){
if(num==null){
return slice.call(this);
}
return num<0?this[num+this.length]:this[num];
},
pushStack:function(elems){
var ret=jQuery.merge(this.constructor(),elems);
ret.prevObject=this;
return ret;
},
each:function(callback){
return jQuery.each(this,callback);
},
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);
},
even:function(){
return this.pushStack(jQuery.grep(this,function(_elem,i){
return(i+1)%2;
}));
},
odd:function(){
return this.pushStack(jQuery.grep(this,function(_elem,i){
return i%2;
}));
},
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();
},
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++;
}
if(typeof target!=="object"&&!isFunction(target)){
target={};
}
if(i===length){
target=this;
i--;
}
for(;i<length;i++){
if((options=arguments[i])!=null){
for(name in options){
copy=options[name];
if(name==="__proto__"||target===copy){
continue;
}
if(deep&&copy&&(jQuery.isPlainObject(copy)||
(copyIsArray=Array.isArray(copy)))){
src=target[name];
if(copyIsArray&&!Array.isArray(src)){
clone=[];
}else if(!copyIsArray&&!jQuery.isPlainObject(src)){
clone={};
}else{
clone=src;
}
copyIsArray=false;
target[name]=jQuery.extend(deep,clone,copy);
}else if(copy!==undefined){
target[name]=copy;
}
}
}
}
return target;
};
jQuery.extend({
expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),
isReady:true,
error:function(msg){
throw new Error(msg);
},
noop:function(){},
isPlainObject:function(obj){
var proto,Ctor;
if(!obj||toString.call(obj)!=="[object Object]"){
return false;
}
proto=getProto(obj);
if(!proto){
return true;
}
Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;
return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString;
},
isEmptyObject:function(obj){
var name;
for(name in obj){
return false;
}
return true;
},
globalEval:function(code,options,doc){
DOMEval(code,{nonce:options&&options.nonce},doc);
},
each:function(obj,callback){
var length,i=0;
if(isArrayLike(obj)){
length=obj.length;
for(;i<length;i++){
if(callback.call(obj[i],i,obj[i])===false){
break;
}
}
}else{
for(i in obj){
if(callback.call(obj[i],i,obj[i])===false){
break;
}
}
}
return obj;
},
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);
}
}
return 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];
}
first.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]);
}
}
return matches;
},
map:function(elems,callback,arg){
var length,value,
i=0,
ret=[];
if(isArrayLike(elems)){
length=elems.length;
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);
}
}
}
return flat(ret);
},
guid:1,
support:support
});
if(typeof Symbol==="function"){
jQuery.fn[Symbol.iterator]=arr[Symbol.iterator];
}
jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),
function(_i,name){
class2type["[object "+name+"]"]=name.toLowerCase();
});
function isArrayLike(obj){
var length=!!obj&&"length"in obj&&obj.length,
type=toType(obj);
if(isFunction(obj)||isWindow(obj)){
return false;
}
return type==="array"||length===0||
typeof length==="number"&&length>0&&(length-1)in obj;
}
var 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(),
nonnativeSelectorCache=createCache(),
sortOrder=function(a,b){
if(a===b){
hasDuplicate=true;
}
return 0;
},
hasOwn=({}).hasOwnProperty,
arr=[],
pop=arr.pop,
pushNative=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;
}
}
return-1;
},
booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|"+
"ismap|loop|multiple|open|readonly|required|scoped",
whitespace="[\\x20\\t\\r\\n\\f]",
identifier="(?:\\\\[\\da-fA-F]{1,6}"+whitespace+
"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+
"*([*^$|!~]?=)"+whitespace+
"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+
whitespace+"*\\]",
pseudos=":("+identifier+")(?:\\(("+
"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+
"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+
".*"+
")\\)|)",
rwhitespace=new RegExp(whitespace+"+","g"),
rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+
whitespace+"+$","g"),
rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),
rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+
"*"),
rdescend=new RegExp(whitespace+"|>"),
rpseudo=new RegExp(pseudos),
ridentifier=new RegExp("^"+identifier+"$"),
matchExpr={
"ID":new RegExp("^#("+identifier+")"),
"CLASS":new RegExp("^\\.("+identifier+")"),
"TAG":new RegExp("^("+identifier+"|[*])"),
"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)(?:\\("+whitespace+
"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")
},
rhtml=/HTML$/i,
rinputs=/^(?:input|select|textarea|button)$/i,
rheader=/^h\d$/i,
rnative=/^[^{]+\{\s*\[native \w/,
rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
rsibling=/[+~]/,
runescape=new RegExp("\\\\[\\da-fA-F]{1,6}"+whitespace+"?|\\\\([^\\r\\n\\f])","g"),
funescape=function(escape,nonHex){
var high="0x"+escape.slice(1)-0x10000;
return nonHex?
nonHex:
high<0?
String.fromCharCode(high+0x10000):
String.fromCharCode(high>>10|0xD800,high&0x3FF|0xDC00);
},
rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
fcssescape=function(ch,asCodePoint){
if(asCodePoint){
if(ch==="\0"){
return"\uFFFD";
}
return ch.slice(0,-1)+"\\"+
ch.charCodeAt(ch.length-1).toString(16)+" ";
}
return"\\"+ch;
},
unloadHandler=function(){
setDocument();
},
inDisabledFieldset=addCombinator(
function(elem){
return elem.disabled===true&&elem.nodeName.toLowerCase()==="fieldset";
},
{dir:"parentNode",next:"legend"}
);
try{
push.apply(
(arr=slice.call(preferredDoc.childNodes)),
preferredDoc.childNodes
);
arr[preferredDoc.childNodes.length].nodeType;
}catch(e){
push={apply:arr.length?
function(target,els){
pushNative.apply(target,slice.call(els));
}:
function(target,els){
var j=target.length,
i=0;
while((target[j++]=els[i++])){}
target.length=j-1;
}
};
}
function Sizzle(selector,context,results,seed){
var m,i,elem,nid,match,groups,newSelector,
newContext=context&&context.ownerDocument,
nodeType=context?context.nodeType:9;
results=results||[];
if(typeof selector!=="string"||!selector||
nodeType!==1&&nodeType!==9&&nodeType!==11){
return results;
}
if(!seed){
setDocument(context);
context=context||document;
if(documentIsHTML){
if(nodeType!==11&&(match=rquickExpr.exec(selector))){
if((m=match[1])){
if(nodeType===9){
if((elem=context.getElementById(m))){
if(elem.id===m){
results.push(elem);
return results;
}
}else{
return results;
}
}else{
if(newContext&&(elem=newContext.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&&
context.getElementsByClassName){
push.apply(results,context.getElementsByClassName(m));
return results;
}
}
if(support.qsa&&
!nonnativeSelectorCache[selector+" "]&&
(!rbuggyQSA||!rbuggyQSA.test(selector))&&
(nodeType!==1||context.nodeName.toLowerCase()!=="object")){
newSelector=selector;
newContext=context;
if(nodeType===1&&
(rdescend.test(selector)||rcombinators.test(selector))){
newContext=rsibling.test(selector)&&testContext(context.parentNode)||
context;
if(newContext!==context||!support.scope){
if((nid=context.getAttribute("id"))){
nid=nid.replace(rcssescape,fcssescape);
}else{
context.setAttribute("id",(nid=expando));
}
}
groups=tokenize(selector);
i=groups.length;
while(i--){
groups[i]=(nid?"#"+nid:":scope")+" "+
toSelector(groups[i]);
}
newSelector=groups.join(",");
}
try{
push.apply(results,
newContext.querySelectorAll(newSelector)
);
return results;
}catch(qsaError){
nonnativeSelectorCache(selector,true);
}finally{
if(nid===expando){
context.removeAttribute("id");
}
}
}
}
}
return select(selector.replace(rtrim,"$1"),context,results,seed);
}
function createCache(){
var keys=[];
function cache(key,value){
if(keys.push(key+" ")>Expr.cacheLength){
delete cache[keys.shift()];
}
return(cache[key+" "]=value);
}
return cache;
}
function markFunction(fn){
fn[expando]=true;
return fn;
}
function assert(fn){
var el=document.createElement("fieldset");
try{
return!!fn(el);
}catch(e){
return false;
}finally{
if(el.parentNode){
el.parentNode.removeChild(el);
}
el=null;
}
}
function addHandle(attrs,handler){
var arr=attrs.split("|"),
i=arr.length;
while(i--){
Expr.attrHandle[arr[i]]=handler;
}
}
function siblingCheck(a,b){
var cur=b&&a,
diff=cur&&a.nodeType===1&&b.nodeType===1&&
a.sourceIndex-b.sourceIndex;
if(diff){
return diff;
}
if(cur){
while((cur=cur.nextSibling)){
if(cur===b){
return-1;
}
}
}
return a?1:-1;
}
function createInputPseudo(type){
return function(elem){
var name=elem.nodeName.toLowerCase();
return name==="input"&&elem.type===type;
};
}
function createButtonPseudo(type){
return function(elem){
var name=elem.nodeName.toLowerCase();
return(name==="input"||name==="button")&&elem.type===type;
};
}
function createDisabledPseudo(disabled){
return function(elem){
if("form"in elem){
if(elem.parentNode&&elem.disabled===false){
if("label"in elem){
if("label"in elem.parentNode){
return elem.parentNode.disabled===disabled;
}else{
return elem.disabled===disabled;
}
}
return elem.isDisabled===disabled||
elem.isDisabled!==!disabled&&
inDisabledFieldset(elem)===disabled;
}
return elem.disabled===disabled;
}else if("label"in elem){
return elem.disabled===disabled;
}
return false;
};
}
function 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]);
}
}
});
});
}
function testContext(context){
return context&&typeof context.getElementsByTagName!=="undefined"&&context;
}
support=Sizzle.support={};
isXML=Sizzle.isXML=function(elem){
var namespace=elem&&elem.namespaceURI,
docElem=elem&&(elem.ownerDocument||elem).documentElement;
return!rhtml.test(namespace||docElem&&docElem.nodeName||"HTML");
};
setDocument=Sizzle.setDocument=function(node){
var hasCompare,subWindow,
doc=node?node.ownerDocument||node:preferredDoc;
if(doc==document||doc.nodeType!==9||!doc.documentElement){
return document;
}
document=doc;
docElem=document.documentElement;
documentIsHTML=!isXML(document);
if(preferredDoc!=document&&
(subWindow=document.defaultView)&&subWindow.top!==subWindow){
if(subWindow.addEventListener){
subWindow.addEventListener("unload",unloadHandler,false);
}else if(subWindow.attachEvent){
subWindow.attachEvent("onunload",unloadHandler);
}
}
support.scope=assert(function(el){
docElem.appendChild(el).appendChild(document.createElement("div"));
return typeof el.querySelectorAll!=="undefined"&&
!el.querySelectorAll(":scope fieldset div").length;
});
support.attributes=assert(function(el){
el.className="i";
return!el.getAttribute("className");
});
support.getElementsByTagName=assert(function(el){
el.appendChild(document.createComment(""));
return!el.getElementsByTagName("*").length;
});
support.getElementsByClassName=rnative.test(document.getElementsByClassName);
support.getById=assert(function(el){
docElem.appendChild(el).id=expando;
return!document.getElementsByName||!document.getElementsByName(expando).length;
});
if(support.getById){
Expr.filter["ID"]=function(id){
var attrId=id.replace(runescape,funescape);
return function(elem){
return elem.getAttribute("id")===attrId;
};
};
Expr.find["ID"]=function(id,context){
if(typeof context.getElementById!=="undefined"&&documentIsHTML){
var elem=context.getElementById(id);
return elem?[elem]:[];
}
};
}else{
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;
};
};
Expr.find["ID"]=function(id,context){
if(typeof context.getElementById!=="undefined"&&documentIsHTML){
var node,i,elems,
elem=context.getElementById(id);
if(elem){
node=elem.getAttributeNode("id");
if(node&&node.value===id){
return[elem];
}
elems=context.getElementsByName(id);
i=0;
while((elem=elems[i++])){
node=elem.getAttributeNode("id");
if(node&&node.value===id){
return[elem];
}
}
}
return[];
}
};
}
Expr.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);
}
}
return tmp;
}
return results;
};
Expr.find["CLASS"]=support.getElementsByClassName&&function(className,context){
if(typeof context.getElementsByClassName!=="undefined"&&documentIsHTML){
return context.getElementsByClassName(className);
}
};
rbuggyMatches=[];
rbuggyQSA=[];
if((support.qsa=rnative.test(document.querySelectorAll))){
assert(function(el){
var input;
docElem.appendChild(el).innerHTML="<a id='"+expando+"'></a>"+
"<select id='"+expando+"-\r\\' msallowcapture=''>"+
"<option selected=''></option></select>";
if(el.querySelectorAll("[msallowcapture^='']").length){
rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")");
}
if(!el.querySelectorAll("[selected]").length){
rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")");
}
if(!el.querySelectorAll("[id~="+expando+"-]").length){
rbuggyQSA.push("~=");
}
input=document.createElement("input");
input.setAttribute("name","");
el.appendChild(input);
if(!el.querySelectorAll("[name='']").length){
rbuggyQSA.push("\\["+whitespace+"*name"+whitespace+"*="+
whitespace+"*(?:''|\"\")");
}
if(!el.querySelectorAll(":checked").length){
rbuggyQSA.push(":checked");
}
if(!el.querySelectorAll("a#"+expando+"+*").length){
rbuggyQSA.push(".#.+[+~]");
}
el.querySelectorAll("\\\f");
rbuggyQSA.push("[\\r\\n\\f]");
});
assert(function(el){
el.innerHTML="<a href='' disabled='disabled'></a>"+
"<select disabled='disabled'><option/></select>";
var input=document.createElement("input");
input.setAttribute("type","hidden");
el.appendChild(input).setAttribute("name","D");
if(el.querySelectorAll("[name=d]").length){
rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?=");
}
if(el.querySelectorAll(":enabled").length!==2){
rbuggyQSA.push(":enabled",":disabled");
}
docElem.appendChild(el).disabled=true;
if(el.querySelectorAll(":disabled").length!==2){
rbuggyQSA.push(":enabled",":disabled");
}
el.querySelectorAll("*,:x");
rbuggyQSA.push(",.*:");
});
}
if((support.matchesSelector=rnative.test((matches=docElem.matches||
docElem.webkitMatchesSelector||
docElem.mozMatchesSelector||
docElem.oMatchesSelector||
docElem.msMatchesSelector)))){
assert(function(el){
support.disconnectedMatch=matches.call(el,"*");
matches.call(el,"[s!='']:x");
rbuggyMatches.push("!=",pseudos);
});
}
rbuggyQSA=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;
}
}
}
return false;
};
sortOrder=hasCompare?
function(a,b){
if(a===b){
hasDuplicate=true;
return 0;
}
var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;
if(compare){
return compare;
}
compare=(a.ownerDocument||a)==(b.ownerDocument||b)?
a.compareDocumentPosition(b):
1;
if(compare&1||
(!support.sortDetached&&b.compareDocumentPosition(a)===compare)){
if(a==document||a.ownerDocument==preferredDoc&&
contains(preferredDoc,a)){
return-1;
}
if(b==document||b.ownerDocument==preferredDoc&&
contains(preferredDoc,b)){
return 1;
}
return sortInput?
(indexOf(sortInput,a)-indexOf(sortInput,b)):
0;
}
return compare&4?-1:1;
}:
function(a,b){
if(a===b){
hasDuplicate=true;
return 0;
}
var cur,
i=0,
aup=a.parentNode,
bup=b.parentNode,
ap=[a],
bp=[b];
if(!aup||!bup){
return a==document?-1:
b==document?1:
aup?-1:
bup?1:
sortInput?
(indexOf(sortInput,a)-indexOf(sortInput,b)):
0;
}else if(aup===bup){
return siblingCheck(a,b);
}
cur=a;
while((cur=cur.parentNode)){
ap.unshift(cur);
}
cur=b;
while((cur=cur.parentNode)){
bp.unshift(cur);
}
while(ap[i]===bp[i]){
i++;
}
return i?
siblingCheck(ap[i],bp[i]):
ap[i]==preferredDoc?-1:
bp[i]==preferredDoc?1:
0;
};
return document;
};
Sizzle.matches=function(expr,elements){
return Sizzle(expr,null,null,elements);
};
Sizzle.matchesSelector=function(elem,expr){
setDocument(elem);
if(support.matchesSelector&&documentIsHTML&&
!nonnativeSelectorCache[expr+" "]&&
(!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){
nonnativeSelectorCache(expr,true);
}
}
return Sizzle(expr,document,null,[elem]).length>0;
};
Sizzle.contains=function(context,elem){
if((context.ownerDocument||context)!=document){
setDocument(context);
}
return contains(context,elem);
};
Sizzle.attr=function(elem,name){
if((elem.ownerDocument||elem)!=document){
setDocument(elem);
}
var 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.escape=function(sel){
return(sel+"").replace(rcssescape,fcssescape);
};
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);
}
}
while(j--){
results.splice(duplicates[j],1);
}
}
sortInput=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;
}
return 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]+" ";
}
return 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]);
}
match[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]);
}
return match;
},
"PSEUDO":function(match){
var excess,
unquoted=!match[6]&&match[2];
if(matchExpr["CHILD"].test(match[0])){
return null;
}
if(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);
}
return 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==="!=";
}
if(!operator){
return true;
}
result+="";
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,uniqueCache,outerCache,node,nodeIndex,start,
dir=simple!==forward?"nextSibling":"previousSibling",
parent=elem.parentNode,
name=ofType&&elem.nodeName.toLowerCase(),
useCache=!xml&&!ofType,
diff=false;
if(parent){
if(simple){
while(dir){
node=elem;
while((node=node[dir])){
if(ofType?
node.nodeName.toLowerCase()===name:
node.nodeType===1){
return false;
}
}
start=dir=type==="only"&&!start&&"nextSibling";
}
return true;
}
start=[forward?parent.firstChild:parent.lastChild];
if(forward&&useCache){
node=parent;
outerCache=node[expando]||(node[expando]={});
uniqueCache=outerCache[node.uniqueID]||
(outerCache[node.uniqueID]={});
cache=uniqueCache[type]||[];
nodeIndex=cache[0]===dirruns&&cache[1];
diff=nodeIndex&&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){
uniqueCache[type]=[dirruns,nodeIndex,diff];
break;
}
}
}else{
if(useCache){
node=elem;
outerCache=node[expando]||(node[expando]={});
uniqueCache=outerCache[node.uniqueID]||
(outerCache[node.uniqueID]={});
cache=uniqueCache[type]||[];
nodeIndex=cache[0]===dirruns&&cache[1];
diff=nodeIndex;
}
if(diff===false){
while((node=++nodeIndex&&node&&node[dir]||
(diff=nodeIndex=0)||start.pop())){
if((ofType?
node.nodeName.toLowerCase()===name:
node.nodeType===1)&&
++diff){
if(useCache){
outerCache=node[expando]||
(node[expando]={});
uniqueCache=outerCache[node.uniqueID]||
(outerCache[node.uniqueID]={});
uniqueCache[type]=[dirruns,diff];
}
if(node===elem){
break;
}
}
}
}
}
diff-=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);
}
if(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);
};
}
return 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||getText(elem)).indexOf(text)>-1;
};
}),
"lang":markFunction(function(lang){
if(!ridentifier.test(lang||"")){
Sizzle.error("unsupported lang: "+lang);
}
lang=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":createDisabledPseudo(false),
"disabled":createDisabledPseudo(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;
}
return elem.selected===true;
},
"empty":function(elem){
for(elem=elem.firstChild;elem;elem=elem.nextSibling){
if(elem.nodeType<6){
return false;
}
}
return 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);
}
return matchIndexes;
}),
"odd":createPositionalPseudo(function(matchIndexes,length){
var i=1;
for(;i<length;i+=2){
matchIndexes.push(i);
}
return matchIndexes;
}),
"lt":createPositionalPseudo(function(matchIndexes,length,argument){
var i=argument<0?
argument+length:
argument>length?
length:
argument;
for(;--i>=0;){
matchIndexes.push(i);
}
return matchIndexes;
}),
"gt":createPositionalPseudo(function(matchIndexes,length,argument){
var i=argument<0?argument+length:argument;
for(;++i<length;){
matchIndexes.push(i);
}
return 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);
}
for(i in{submit:true,reset:true}){
Expr.pseudos[i]=createButtonPseudo(i);
}
function setFilters(){}
setFilters.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);
}
soFar=selector;
groups=[];
preFilters=Expr.preFilter;
while(soFar){
if(!matched||(match=rcomma.exec(soFar))){
if(match){
soFar=soFar.slice(match[0].length)||soFar;
}
groups.push((tokens=[]));
}
matched=false;
if((match=rcombinators.exec(soFar))){
matched=match.shift();
tokens.push({
value:matched,
type:match[0].replace(rtrim," ")
});
soFar=soFar.slice(matched.length);
}
for(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);
}
}
if(!matched){
break;
}
}
return 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;
}
return selector;
}
function addCombinator(matcher,combinator,base){
var dir=combinator.dir,
skip=combinator.next,
key=skip||dir,
checkNonElements=base&&key==="parentNode",
doneName=done++;
return combinator.first?
function(elem,context,xml){
while((elem=elem[dir])){
if(elem.nodeType===1||checkNonElements){
return matcher(elem,context,xml);
}
}
return false;
}:
function(elem,context,xml){
var oldCache,uniqueCache,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]={});
uniqueCache=outerCache[elem.uniqueID]||
(outerCache[elem.uniqueID]={});
if(skip&&skip===elem.nodeName.toLowerCase()){
elem=elem[dir]||elem;
}else if((oldCache=uniqueCache[key])&&
oldCache[0]===dirruns&&oldCache[1]===doneName){
return(newCache[2]=oldCache[2]);
}else{
uniqueCache[key]=newCache;
if((newCache[2]=matcher(elem,context,xml))){
return true;
}
}
}
}
}
return false;
};
}
function elementMatcher(matchers){
return matchers.length>1?
function(elem,context,xml){
var i=matchers.length;
while(i--){
if(!matchers[i](elem,context,xml)){
return false;
}
}
return true;
}:
matchers[0];
}
function multipleContexts(selector,contexts,results){
var i=0,
len=contexts.length;
for(;i<len;i++){
Sizzle(selector,contexts[i],results);
}
return results;
}
function 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);
}
}
}
}
return newUnmatched;
}
function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){
if(postFilter&&!postFilter[expando]){
postFilter=setMatcher(postFilter);
}
if(postFinder&&!postFinder[expando]){
postFinder=setMatcher(postFinder,postSelector);
}
return 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);
}
if(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);
}
}
}
if(seed){
if(postFinder||preFilter){
if(postFinder){
temp=[];
i=matcherOut.length;
while(i--){
if((elem=matcherOut[i])){
temp.push((matcherIn[i]=elem));
}
}
postFinder(null,(matcherOut=[]),temp,xml);
}
i=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);
}
}
});
}
function 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;
}
}
return 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)
);
}
matchers.push(matcher);
}
}
return elementMatcher(matchers);
}
function 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||outermost;
}
for(;i!==len&&(elem=elems[i])!=null;i++){
if(byElement&&elem){
j=0;
if(!context&&elem.ownerDocument!=document){
setDocument(elem);
xml=!documentIsHTML;
}
while((matcher=elementMatchers[j++])){
if(matcher(elem,context||document,xml)){
results.push(elem);
break;
}
}
if(outermost){
dirruns=dirrunsUnique;
}
}
if(bySet){
if((elem=!matcher&&elem)){
matchedCount--;
}
if(seed){
unmatched.push(elem);
}
}
}
matchedCount+=i;
if(bySet&&i!==matchedCount){
j=0;
while((matcher=setMatchers[j++])){
matcher(unmatched,setMatched,context,xml);
}
if(seed){
if(matchedCount>0){
while(i--){
if(!(unmatched[i]||setMatched[i])){
setMatched[i]=pop.call(results);
}
}
}
setMatched=condense(setMatched);
}
push.apply(results,setMatched);
if(outermost&&!seed&&setMatched.length>0&&
(matchedCount+setMatchers.length)>1){
Sizzle.uniqueSort(results);
}
}
if(outermost){
dirruns=dirrunsUnique;
outermostContext=contextBackup;
}
return unmatched;
};
return bySet?
markFunction(superMatcher):
superMatcher;
}
compile=Sizzle.compile=function(selector,match){
var i,
setMatchers=[],
elementMatchers=[],
cached=compilerCache[selector+" "];
if(!cached){
if(!match){
match=tokenize(selector);
}
i=match.length;
while(i--){
cached=matcherFromTokens(match[i]);
if(cached[expando]){
setMatchers.push(cached);
}else{
elementMatchers.push(cached);
}
}
cached=compilerCache(
selector,
matcherFromGroupMatchers(elementMatchers,setMatchers)
);
cached.selector=selector;
}
return 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"&&
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;
}
selector=selector.slice(tokens.shift().value.length);
}
i=matchExpr["needsContext"].test(selector)?0:tokens.length;
while(i--){
token=tokens[i];
if(Expr.relative[(type=token.type)]){
break;
}
if((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;
}
break;
}
}
}
}
(compiled||compile(selector,match))(
seed,
context,
!documentIsHTML,
results,
!context||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(el){
return el.compareDocumentPosition(document.createElement("fieldset"))&1;
});
if(!assert(function(el){
el.innerHTML="<a href='#'></a>";
return el.firstChild.getAttribute("href")==="#";
})){
addHandle("type|href|height|width",function(elem,name,isXML){
if(!isXML){
return elem.getAttribute(name,name.toLowerCase()==="type"?1:2);
}
});
}
if(!support.attributes||!assert(function(el){
el.innerHTML="<input/>";
el.firstChild.setAttribute("value","");
return el.firstChild.getAttribute("value")==="";
})){
addHandle("value",function(elem,_name,isXML){
if(!isXML&&elem.nodeName.toLowerCase()==="input"){
return elem.defaultValue;
}
});
}
if(!assert(function(el){
return el.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;
}
});
}
return Sizzle;
})(window);
jQuery.find=Sizzle;
jQuery.expr=Sizzle.selectors;
jQuery.expr[":"]=jQuery.expr.pseudos;
jQuery.uniqueSort=jQuery.unique=Sizzle.uniqueSort;
jQuery.text=Sizzle.getText;
jQuery.isXMLDoc=Sizzle.isXML;
jQuery.contains=Sizzle.contains;
jQuery.escapeSelector=Sizzle.escape;
var 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;
}
matched.push(elem);
}
}
return matched;
};
var siblings=function(n,elem){
var matched=[];
for(;n;n=n.nextSibling){
if(n.nodeType===1&&n!==elem){
matched.push(n);
}
}
return matched;
};
var rneedsContext=jQuery.expr.match.needsContext;
function nodeName(elem,name){
return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase();
}
var rsingleTag=(/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i);
function winnow(elements,qualifier,not){
if(isFunction(qualifier)){
return jQuery.grep(elements,function(elem,i){
return!!qualifier.call(elem,i,elem)!==not;
});
}
if(qualifier.nodeType){
return jQuery.grep(elements,function(elem){
return(elem===qualifier)!==not;
});
}
if(typeof qualifier!=="string"){
return jQuery.grep(elements,function(elem){
return(indexOf.call(qualifier,elem)>-1)!==not;
});
}
return jQuery.filter(qualifier,elements,not);
}
jQuery.filter=function(expr,elems,not){
var elem=elems[0];
if(not){
expr=":not("+expr+")";
}
if(elems.length===1&&elem.nodeType===1){
return jQuery.find.matchesSelector(elem,expr)?[elem]:[];
}
return jQuery.find.matches(expr,jQuery.grep(elems,function(elem){
return elem.nodeType===1;
}));
};
jQuery.fn.extend({
find:function(selector){
var i,ret,
len=this.length,
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;
}
}
}));
}
ret=this.pushStack([]);
for(i=0;i<len;i++){
jQuery.find(selector,self[i],ret);
}
return len>1?jQuery.uniqueSort(ret):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,root){
var match,elem;
if(!selector){
return this;
}
root=root||rootjQuery;
if(typeof selector==="string"){
if(selector[0]==="<"&&
selector[selector.length-1]===">"&&
selector.length>=3){
match=[null,selector,null];
}else{
match=rquickExpr.exec(selector);
}
if(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(isFunction(this[match])){
this[match](context[match]);
}else{
this.attr(match,context[match]);
}
}
}
return this;
}else{
elem=document.getElementById(match[2]);
if(elem){
this[0]=elem;
this.length=1;
}
return this;
}
}else if(!context||context.jquery){
return(context||root).find(selector);
}else{
return this.constructor(context).find(selector);
}
}else if(selector.nodeType){
this[0]=selector;
this.length=1;
return this;
}else if(isFunction(selector)){
return root.ready!==undefined?
root.ready(selector):
selector(jQuery);
}
return 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.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=[],
targets=typeof selectors!=="string"&&jQuery(selectors);
if(!rneedsContext.test(selectors)){
for(;i<l;i++){
for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){
if(cur.nodeType<11&&(targets?
targets.index(cur)>-1:
cur.nodeType===1&&
jQuery.find.matchesSelector(cur,selectors))){
matched.push(cur);
break;
}
}
}
}
return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched);
},
index:function(elem){
if(!elem){
return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1;
}
if(typeof elem==="string"){
return indexOf.call(jQuery(elem),this[0]);
}
return indexOf.call(this,
elem.jquery?elem[0]:elem
);
},
add:function(selector,context){
return this.pushStack(
jQuery.uniqueSort(
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){}
return cur;
}
jQuery.each({
parent:function(elem){
var parent=elem.parentNode;
return parent&&parent.nodeType!==11?parent:null;
},
parents:function(elem){
return dir(elem,"parentNode");
},
parentsUntil:function(elem,_i,until){
return dir(elem,"parentNode",until);
},
next:function(elem){
return sibling(elem,"nextSibling");
},
prev:function(elem){
return sibling(elem,"previousSibling");
},
nextAll:function(elem){
return dir(elem,"nextSibling");
},
prevAll:function(elem){
return dir(elem,"previousSibling");
},
nextUntil:function(elem,_i,until){
return dir(elem,"nextSibling",until);
},
prevUntil:function(elem,_i,until){
return dir(elem,"previousSibling",until);
},
siblings:function(elem){
return siblings((elem.parentNode||{}).firstChild,elem);
},
children:function(elem){
return siblings(elem.firstChild);
},
contents:function(elem){
if(elem.contentDocument!=null&&
getProto(elem.contentDocument)){
return elem.contentDocument;
}
if(nodeName(elem,"template")){
elem=elem.content||elem;
}
return 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;
}
if(selector&&typeof selector==="string"){
matched=jQuery.filter(selector,matched);
}
if(this.length>1){
if(!guaranteedUnique[name]){
jQuery.uniqueSort(matched);
}
if(rparentsprev.test(name)){
matched.reverse();
}
}
return this.pushStack(matched);
};
});
var rnothtmlwhite=(/[^\x20\t\r\n\f]+/g);
function createOptions(options){
var object={};
jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){
object[flag]=true;
});
return object;
}
jQuery.Callbacks=function(options){
options=typeof options==="string"?
createOptions(options):
jQuery.extend({},options);
var
firing,
memory,
fired,
locked,
list=[],
queue=[],
firingIndex=-1,
fire=function(){
locked=locked||options.once;
fired=firing=true;
for(;queue.length;firingIndex=-1){
memory=queue.shift();
while(++firingIndex<list.length){
if(list[firingIndex].apply(memory[0],memory[1])===false&&
options.stopOnFalse){
firingIndex=list.length;
memory=false;
}
}
}
if(!options.memory){
memory=false;
}
firing=false;
if(locked){
if(memory){
list=[];
}else{
list="";
}
}
},
self={
add:function(){
if(list){
if(memory&&!firing){
firingIndex=list.length-1;
queue.push(memory);
}
(function add(args){
jQuery.each(args,function(_,arg){
if(isFunction(arg)){
if(!options.unique||!self.has(arg)){
list.push(arg);
}
}else if(arg&&arg.length&&toType(arg)!=="string"){
add(arg);
}
});
})(arguments);
if(memory&&!firing){
fire();
}
}
return this;
},
remove:function(){
jQuery.each(arguments,function(_,arg){
var index;
while((index=jQuery.inArray(arg,list,index))>-1){
list.splice(index,1);
if(index<=firingIndex){
firingIndex--;
}
}
});
return this;
},
has:function(fn){
return fn?
jQuery.inArray(fn,list)>-1:
list.length>0;
},
empty:function(){
if(list){
list=[];
}
return this;
},
disable:function(){
locked=queue=[];
list=memory="";
return this;
},
disabled:function(){
return!list;
},
lock:function(){
locked=queue=[];
if(!memory&&!firing){
list=memory="";
}
return this;
},
locked:function(){
return!!locked;
},
fireWith:function(context,args){
if(!locked){
args=args||[];
args=[context,args.slice?args.slice():args];
queue.push(args);
if(!firing){
fire();
}
}
return this;
},
fire:function(){
self.fireWith(this,arguments);
return this;
},
fired:function(){
return!!fired;
}
};
return self;
};
function Identity(v){
return v;
}
function Thrower(ex){
throw ex;
}
function adoptValue(value,resolve,reject,noValue){
var method;
try{
if(value&&isFunction((method=value.promise))){
method.call(value).done(resolve).fail(reject);
}else if(value&&isFunction((method=value.then))){
method.call(value,resolve,reject);
}else{
resolve.apply(undefined,[value].slice(noValue));
}
}catch(value){
reject.apply(undefined,[value]);
}
}
jQuery.extend({
Deferred:function(func){
var tuples=[
["notify","progress",jQuery.Callbacks("memory"),
jQuery.Callbacks("memory"),2],
["resolve","done",jQuery.Callbacks("once memory"),
jQuery.Callbacks("once memory"),0,"resolved"],
["reject","fail",jQuery.Callbacks("once memory"),
jQuery.Callbacks("once memory"),1,"rejected"]
],
state="pending",
promise={
state:function(){
return state;
},
always:function(){
deferred.done(arguments).fail(arguments);
return this;
},
"catch":function(fn){
return promise.then(null,fn);
},
pipe:function(){
var fns=arguments;
return jQuery.Deferred(function(newDefer){
jQuery.each(tuples,function(_i,tuple){
var fn=isFunction(fns[tuple[4]])&&fns[tuple[4]];
deferred[tuple[1]](function(){
var returned=fn&&fn.apply(this,arguments);
if(returned&&isFunction(returned.promise)){
returned.promise()
.progress(newDefer.notify)
.done(newDefer.resolve)
.fail(newDefer.reject);
}else{
newDefer[tuple[0]+"With"](
this,
fn?[returned]:arguments
);
}
});
});
fns=null;
}).promise();
},
then:function(onFulfilled,onRejected,onProgress){
var maxDepth=0;
function resolve(depth,deferred,handler,special){
return function(){
var that=this,
args=arguments,
mightThrow=function(){
var returned,then;
if(depth<maxDepth){
return;
}
returned=handler.apply(that,args);
if(returned===deferred.promise()){
throw new TypeError("Thenable self-resolution");
}
then=returned&&
(typeof returned==="object"||
typeof returned==="function")&&
returned.then;
if(isFunction(then)){
if(special){
then.call(
returned,
resolve(maxDepth,deferred,Identity,special),
resolve(maxDepth,deferred,Thrower,special)
);
}else{
maxDepth++;
then.call(
returned,
resolve(maxDepth,deferred,Identity,special),
resolve(maxDepth,deferred,Thrower,special),
resolve(maxDepth,deferred,Identity,
deferred.notifyWith)
);
}
}else{
if(handler!==Identity){
that=undefined;
args=[returned];
}
(special||deferred.resolveWith)(that,args);
}
},
process=special?
mightThrow:
function(){
try{
mightThrow();
}catch(e){
if(jQuery.Deferred.exceptionHook){
jQuery.Deferred.exceptionHook(e,
process.stackTrace);
}
if(depth+1>=maxDepth){
if(handler!==Thrower){
that=undefined;
args=[e];
}
deferred.rejectWith(that,args);
}
}
};
if(depth){
process();
}else{
if(jQuery.Deferred.getStackHook){
process.stackTrace=jQuery.Deferred.getStackHook();
}
window.setTimeout(process);
}
};
}
return jQuery.Deferred(function(newDefer){
tuples[0][3].add(
resolve(
0,
newDefer,
isFunction(onProgress)?
onProgress:
Identity,
newDefer.notifyWith
)
);
tuples[1][3].add(
resolve(
0,
newDefer,
isFunction(onFulfilled)?
onFulfilled:
Identity
)
);
tuples[2][3].add(
resolve(
0,
newDefer,
isFunction(onRejected)?
onRejected:
Thrower
)
);
}).promise();
},
promise:function(obj){
return obj!=null?jQuery.extend(obj,promise):promise;
}
},
deferred={};
jQuery.each(tuples,function(i,tuple){
var list=tuple[2],
stateString=tuple[5];
promise[tuple[1]]=list.add;
if(stateString){
list.add(
function(){
state=stateString;
},
tuples[3-i][2].disable,
tuples[3-i][3].disable,
tuples[0][2].lock,
tuples[0][3].lock
);
}
list.add(tuple[3].fire);
deferred[tuple[0]]=function(){
deferred[tuple[0]+"With"](this===deferred?undefined:this,arguments);
return this;
};
deferred[tuple[0]+"With"]=list.fireWith;
});
promise.promise(deferred);
if(func){
func.call(deferred,deferred);
}
return deferred;
},
when:function(singleValue){
var
remaining=arguments.length,
i=remaining,
resolveContexts=Array(i),
resolveValues=slice.call(arguments),
primary=jQuery.Deferred(),
updateFunc=function(i){
return function(value){
resolveContexts[i]=this;
resolveValues[i]=arguments.length>1?slice.call(arguments):value;
if(!(--remaining)){
primary.resolveWith(resolveContexts,resolveValues);
}
};
};
if(remaining<=1){
adoptValue(singleValue,primary.done(updateFunc(i)).resolve,primary.reject,
!remaining);
if(primary.state()==="pending"||
isFunction(resolveValues[i]&&resolveValues[i].then)){
return primary.then();
}
}
while(i--){
adoptValue(resolveValues[i],updateFunc(i),primary.reject);
}
return primary.promise();
}
});
var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
jQuery.Deferred.exceptionHook=function(error,stack){
if(window.console&&window.console.warn&&error&&rerrorNames.test(error.name)){
window.console.warn("jQuery.Deferred exception: "+error.message,error.stack,stack);
}
};
jQuery.readyException=function(error){
window.setTimeout(function(){
throw error;
});
};
var readyList=jQuery.Deferred();
jQuery.fn.ready=function(fn){
readyList
.then(fn)
.catch(function(error){
jQuery.readyException(error);
});
return this;
};
jQuery.extend({
isReady:false,
readyWait:1,
ready:function(wait){
if(wait===true?--jQuery.readyWait:jQuery.isReady){
return;
}
jQuery.isReady=true;
if(wait!==true&&--jQuery.readyWait>0){
return;
}
readyList.resolveWith(document,[jQuery]);
}
});
jQuery.ready.then=readyList.then;
function completed(){
document.removeEventListener("DOMContentLoaded",completed);
window.removeEventListener("load",completed);
jQuery.ready();
}
if(document.readyState==="complete"||
(document.readyState!=="loading"&&!document.documentElement.doScroll)){
window.setTimeout(jQuery.ready);
}else{
document.addEventListener("DOMContentLoaded",completed);
window.addEventListener("load",completed);
}
var access=function(elems,fn,key,value,chainable,emptyGet,raw){
var i=0,
len=elems.length,
bulk=key==null;
if(toType(key)==="object"){
chainable=true;
for(i in key){
access(elems,fn,i,key[i],true,emptyGet,raw);
}
}else if(value!==undefined){
chainable=true;
if(!isFunction(value)){
raw=true;
}
if(bulk){
if(raw){
fn.call(elems,value);
fn=null;
}else{
bulk=fn;
fn=function(elem,_key,value){
return bulk.call(jQuery(elem),value);
};
}
}
if(fn){
for(;i<len;i++){
fn(
elems[i],key,raw?
value:
value.call(elems[i],i,fn(elems[i],key))
);
}
}
}
if(chainable){
return elems;
}
if(bulk){
return fn.call(elems);
}
return len?fn(elems[0],key):emptyGet;
};
var rmsPrefix=/^-ms-/,
rdashAlpha=/-([a-z])/g;
function fcamelCase(_all,letter){
return letter.toUpperCase();
}
function camelCase(string){
return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase);
}
var acceptData=function(owner){
return owner.nodeType===1||owner.nodeType===9||!(+owner.nodeType);
};
function Data(){
this.expando=jQuery.expando+Data.uid++;
}
Data.uid=1;
Data.prototype={
cache:function(owner){
var value=owner[this.expando];
if(!value){
value={};
if(acceptData(owner)){
if(owner.nodeType){
owner[this.expando]=value;
}else{
Object.defineProperty(owner,this.expando,{
value:value,
configurable:true
});
}
}
}
return value;
},
set:function(owner,data,value){
var prop,
cache=this.cache(owner);
if(typeof data==="string"){
cache[camelCase(data)]=value;
}else{
for(prop in data){
cache[camelCase(prop)]=data[prop];
}
}
return cache;
},
get:function(owner,key){
return key===undefined?
this.cache(owner):
owner[this.expando]&&owner[this.expando][camelCase(key)];
},
access:function(owner,key,value){
if(key===undefined||
((key&&typeof key==="string")&&value===undefined)){
return this.get(owner,key);
}
this.set(owner,key,value);
return value!==undefined?value:key;
},
remove:function(owner,key){
var i,
cache=owner[this.expando];
if(cache===undefined){
return;
}
if(key!==undefined){
if(Array.isArray(key)){
key=key.map(camelCase);
}else{
key=camelCase(key);
key=key in cache?
[key]:
(key.match(rnothtmlwhite)||[]);
}
i=key.length;
while(i--){
delete cache[key[i]];
}
}
if(key===undefined||jQuery.isEmptyObject(cache)){
if(owner.nodeType){
owner[this.expando]=undefined;
}else{
delete owner[this.expando];
}
}
},
hasData:function(owner){
var cache=owner[this.expando];
return cache!==undefined&&!jQuery.isEmptyObject(cache);
}
};
var dataPriv=new Data();
var dataUser=new Data();
var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
rmultiDash=/[A-Z]/g;
function getData(data){
if(data==="true"){
return true;
}
if(data==="false"){
return false;
}
if(data==="null"){
return null;
}
if(data===+data+""){
return+data;
}
if(rbrace.test(data)){
return JSON.parse(data);
}
return data;
}
function dataAttr(elem,key,data){
var name;
if(data===undefined&&elem.nodeType===1){
name="data-"+key.replace(rmultiDash,"-$&").toLowerCase();
data=elem.getAttribute(name);
if(typeof data==="string"){
try{
data=getData(data);
}catch(e){}
dataUser.set(elem,key,data);
}else{
data=undefined;
}
}
return data;
}
jQuery.extend({
hasData:function(elem){
return dataUser.hasData(elem)||dataPriv.hasData(elem);
},
data:function(elem,name,data){
return dataUser.access(elem,name,data);
},
removeData:function(elem,name){
dataUser.remove(elem,name);
},
_data:function(elem,name,data){
return dataPriv.access(elem,name,data);
},
_removeData:function(elem,name){
dataPriv.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=dataUser.get(elem);
if(elem.nodeType===1&&!dataPriv.get(elem,"hasDataAttrs")){
i=attrs.length;
while(i--){
if(attrs[i]){
name=attrs[i].name;
if(name.indexOf("data-")===0){
name=camelCase(name.slice(5));
dataAttr(elem,name,data[name]);
}
}
}
dataPriv.set(elem,"hasDataAttrs",true);
}
}
return data;
}
if(typeof key==="object"){
return this.each(function(){
dataUser.set(this,key);
});
}
return access(this,function(value){
var data;
if(elem&&value===undefined){
data=dataUser.get(elem,key);
if(data!==undefined){
return data;
}
data=dataAttr(elem,key);
if(data!==undefined){
return data;
}
return;
}
this.each(function(){
dataUser.set(this,key,value);
});
},null,value,arguments.length>1,null,true);
},
removeData:function(key){
return this.each(function(){
dataUser.remove(this,key);
});
}
});
jQuery.extend({
queue:function(elem,type,data){
var queue;
if(elem){
type=(type||"fx")+"queue";
queue=dataPriv.get(elem,type);
if(data){
if(!queue||Array.isArray(data)){
queue=dataPriv.access(elem,type,jQuery.makeArray(data));
}else{
queue.push(data);
}
}
return 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--;
}
if(fn){
if(type==="fx"){
queue.unshift("inprogress");
}
delete hooks.stop;
fn.call(elem,next,hooks);
}
if(!startLength&&hooks){
hooks.empty.fire();
}
},
_queueHooks:function(elem,type){
var key=type+"queueHooks";
return dataPriv.get(elem,key)||dataPriv.access(elem,key,{
empty:jQuery.Callbacks("once memory").add(function(){
dataPriv.remove(elem,[type+"queue",key]);
})
});
}
});
jQuery.fn.extend({
queue:function(type,data){
var setter=2;
if(typeof type!=="string"){
data=type;
type="fx";
setter--;
}
if(arguments.length<setter){
return jQuery.queue(this[0],type);
}
return 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;
}
type=type||"fx";
while(i--){
tmp=dataPriv.get(elements[i],type+"queueHooks");
if(tmp&&tmp.empty){
count++;
tmp.empty.add(resolve);
}
}
resolve();
return defer.promise(obj);
}
});
var pnum=(/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;
var rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i");
var cssExpand=["Top","Right","Bottom","Left"];
var documentElement=document.documentElement;
var isAttached=function(elem){
return jQuery.contains(elem.ownerDocument,elem);
},
composed={composed:true};
if(documentElement.getRootNode){
isAttached=function(elem){
return jQuery.contains(elem.ownerDocument,elem)||
elem.getRootNode(composed)===elem.ownerDocument;
};
}
var isHiddenWithinTree=function(elem,el){
elem=el||elem;
return elem.style.display==="none"||
elem.style.display===""&&
isAttached(elem)&&
jQuery.css(elem,"display")==="none";
};
function adjustCSS(elem,prop,valueParts,tween){
var adjusted,scale,
maxIterations=20,
currentValue=tween?
function(){
return tween.cur();
}:
function(){
return jQuery.css(elem,prop,"");
},
initial=currentValue(),
unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),
initialInUnit=elem.nodeType&&
(jQuery.cssNumber[prop]||unit!=="px"&&+initial)&&
rcssNum.exec(jQuery.css(elem,prop));
if(initialInUnit&&initialInUnit[3]!==unit){
initial=initial/2;
unit=unit||initialInUnit[3];
initialInUnit=+initial||1;
while(maxIterations--){
jQuery.style(elem,prop,initialInUnit+unit);
if((1-scale)*(1-(scale=currentValue()/initial||0.5))<=0){
maxIterations=0;
}
initialInUnit=initialInUnit/scale;
}
initialInUnit=initialInUnit*2;
jQuery.style(elem,prop,initialInUnit+unit);
valueParts=valueParts||[];
}
if(valueParts){
initialInUnit=+initialInUnit||+initial||0;
adjusted=valueParts[1]?
initialInUnit+(valueParts[1]+1)*valueParts[2]:
+valueParts[2];
if(tween){
tween.unit=unit;
tween.start=initialInUnit;
tween.end=adjusted;
}
}
return adjusted;
}
var defaultDisplayMap={};
function getDefaultDisplay(elem){
var temp,
doc=elem.ownerDocument,
nodeName=elem.nodeName,
display=defaultDisplayMap[nodeName];
if(display){
return display;
}
temp=doc.body.appendChild(doc.createElement(nodeName));
display=jQuery.css(temp,"display");
temp.parentNode.removeChild(temp);
if(display==="none"){
display="block";
}
defaultDisplayMap[nodeName]=display;
return display;
}
function showHide(elements,show){
var display,elem,
values=[],
index=0,
length=elements.length;
for(;index<length;index++){
elem=elements[index];
if(!elem.style){
continue;
}
display=elem.style.display;
if(show){
if(display==="none"){
values[index]=dataPriv.get(elem,"display")||null;
if(!values[index]){
elem.style.display="";
}
}
if(elem.style.display===""&&isHiddenWithinTree(elem)){
values[index]=getDefaultDisplay(elem);
}
}else{
if(display!=="none"){
values[index]="none";
dataPriv.set(elem,"display",display);
}
}
}
for(index=0;index<length;index++){
if(values[index]!=null){
elements[index].style.display=values[index];
}
}
return elements;
}
jQuery.fn.extend({
show:function(){
return showHide(this,true);
},
hide:function(){
return showHide(this);
},
toggle:function(state){
if(typeof state==="boolean"){
return state?this.show():this.hide();
}
return this.each(function(){
if(isHiddenWithinTree(this)){
jQuery(this).show();
}else{
jQuery(this).hide();
}
});
}
});
var rcheckableType=(/^(?:checkbox|radio)$/i);
var rtagName=(/<([a-z][^\/\0>\x20\t\r\n\f]*)/i);
var rscriptType=(/^$|^module$|\/(?:java|ecma)script/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;
div.innerHTML="<option></option>";
support.option=!!div.lastChild;
})();
var wrapMap={
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.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;
wrapMap.th=wrapMap.td;
if(!support.option){
wrapMap.optgroup=wrapMap.option=[1,"<select multiple='multiple'>","</select>"];
}
function getAll(context,tag){
var ret;
if(typeof context.getElementsByTagName!=="undefined"){
ret=context.getElementsByTagName(tag||"*");
}else if(typeof context.querySelectorAll!=="undefined"){
ret=context.querySelectorAll(tag||"*");
}else{
ret=[];
}
if(tag===undefined||tag&&nodeName(context,tag)){
return jQuery.merge([context],ret);
}
return ret;
}
function setGlobalEval(elems,refElements){
var i=0,
l=elems.length;
for(;i<l;i++){
dataPriv.set(
elems[i],
"globalEval",
!refElements||dataPriv.get(refElements[i],"globalEval")
);
}
}
var rhtml=/<|&#?\w+;/;
function buildFragment(elems,context,scripts,selection,ignored){
var elem,tmp,tag,wrap,attached,j,
fragment=context.createDocumentFragment(),
nodes=[],
i=0,
l=elems.length;
for(;i<l;i++){
elem=elems[i];
if(elem||elem===0){
if(toType(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]+jQuery.htmlPrefilter(elem)+wrap[2];
j=wrap[0];
while(j--){
tmp=tmp.lastChild;
}
jQuery.merge(nodes,tmp.childNodes);
tmp=fragment.firstChild;
tmp.textContent="";
}
}
}
fragment.textContent="";
i=0;
while((elem=nodes[i++])){
if(selection&&jQuery.inArray(elem,selection)>-1){
if(ignored){
ignored.push(elem);
}
continue;
}
attached=isAttached(elem);
tmp=getAll(fragment.appendChild(elem),"script");
if(attached){
setGlobalEval(tmp);
}
if(scripts){
j=0;
while((elem=tmp[j++])){
if(rscriptType.test(elem.type||"")){
scripts.push(elem);
}
}
}
}
return fragment;
}
var rtypenamespace=/^([^.]*)(?:\.(.+)|)/;
function returnTrue(){
return true;
}
function returnFalse(){
return false;
}
function expectSync(elem,type){
return(elem===safeActiveElement())===(type==="focus");
}
function safeActiveElement(){
try{
return document.activeElement;
}catch(err){}
}
function on(elem,types,selector,data,fn,one){
var origFn,type;
if(typeof types==="object"){
if(typeof selector!=="string"){
data=data||selector;
selector=undefined;
}
for(type in types){
on(elem,type,selector,data,types[type],one);
}
return elem;
}
if(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;
}
}
if(fn===false){
fn=returnFalse;
}else if(!fn){
return elem;
}
if(one===1){
origFn=fn;
fn=function(event){
jQuery().off(event);
return origFn.apply(this,arguments);
};
fn.guid=origFn.guid||(origFn.guid=jQuery.guid++);
}
return elem.each(function(){
jQuery.event.add(this,types,fn,data,selector);
});
}
jQuery.event={
global:{},
add:function(elem,types,handler,data,selector){
var handleObjIn,eventHandle,tmp,
events,t,handleObj,
special,handlers,type,namespaces,origType,
elemData=dataPriv.get(elem);
if(!acceptData(elem)){
return;
}
if(handler.handler){
handleObjIn=handler;
handler=handleObjIn.handler;
selector=handleObjIn.selector;
}
if(selector){
jQuery.find.matchesSelector(documentElement,selector);
}
if(!handler.guid){
handler.guid=jQuery.guid++;
}
if(!(events=elemData.events)){
events=elemData.events=Object.create(null);
}
if(!(eventHandle=elemData.handle)){
eventHandle=elemData.handle=function(e){
return typeof jQuery!=="undefined"&&jQuery.event.triggered!==e.type?
jQuery.event.dispatch.apply(elem,arguments):undefined;
};
}
types=(types||"").match(rnothtmlwhite)||[""];
t=types.length;
while(t--){
tmp=rtypenamespace.exec(types[t])||[];
type=origType=tmp[1];
namespaces=(tmp[2]||"").split(".").sort();
if(!type){
continue;
}
special=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);
}
}
}
if(special.add){
special.add.call(elem,handleObj);
if(!handleObj.handler.guid){
handleObj.handler.guid=handler.guid;
}
}
if(selector){
handlers.splice(handlers.delegateCount++,0,handleObj);
}else{
handlers.push(handleObj);
}
jQuery.event.global[type]=true;
}
},
remove:function(elem,types,handler,selector,mappedTypes){
var j,origCount,tmp,
events,t,handleObj,
special,handlers,type,namespaces,origType,
elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);
if(!elemData||!(events=elemData.events)){
return;
}
types=(types||"").match(rnothtmlwhite)||[""];
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);
}
continue;
}
special=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--;
}
if(special.remove){
special.remove.call(elem,handleObj);
}
}
}
if(origCount&&!handlers.length){
if(!special.teardown||
special.teardown.call(elem,namespaces,elemData.handle)===false){
jQuery.removeEvent(elem,type,elemData.handle);
}
delete events[type];
}
}
if(jQuery.isEmptyObject(events)){
dataPriv.remove(elem,"handle events");
}
},
dispatch:function(nativeEvent){
var i,j,ret,matched,handleObj,handlerQueue,
args=new Array(arguments.length),
event=jQuery.event.fix(nativeEvent),
handlers=(
dataPriv.get(this,"events")||Object.create(null)
)[event.type]||[],
special=jQuery.event.special[event.type]||{};
args[0]=event;
for(i=1;i<arguments.length;i++){
args[i]=arguments[i];
}
event.delegateTarget=this;
if(special.preDispatch&&special.preDispatch.call(this,event)===false){
return;
}
handlerQueue=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.rnamespace||handleObj.namespace===false||
event.rnamespace.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();
}
}
}
}
}
if(special.postDispatch){
special.postDispatch.call(this,event);
}
return event.result;
},
handlers:function(event,handlers){
var i,handleObj,sel,matchedHandlers,matchedSelectors,
handlerQueue=[],
delegateCount=handlers.delegateCount,
cur=event.target;
if(delegateCount&&
cur.nodeType&&
!(event.type==="click"&&event.button>=1)){
for(;cur!==this;cur=cur.parentNode||this){
if(cur.nodeType===1&&!(event.type==="click"&&cur.disabled===true)){
matchedHandlers=[];
matchedSelectors={};
for(i=0;i<delegateCount;i++){
handleObj=handlers[i];
sel=handleObj.selector+" ";
if(matchedSelectors[sel]===undefined){
matchedSelectors[sel]=handleObj.needsContext?
jQuery(sel,this).index(cur)>-1:
jQuery.find(sel,this,null,[cur]).length;
}
if(matchedSelectors[sel]){
matchedHandlers.push(handleObj);
}
}
if(matchedHandlers.length){
handlerQueue.push({elem:cur,handlers:matchedHandlers});
}
}
}
}
cur=this;
if(delegateCount<handlers.length){
handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)});
}
return handlerQueue;
},
addProp:function(name,hook){
Object.defineProperty(jQuery.Event.prototype,name,{
enumerable:true,
configurable:true,
get:isFunction(hook)?
function(){
if(this.originalEvent){
return hook(this.originalEvent);
}
}:
function(){
if(this.originalEvent){
return this.originalEvent[name];
}
},
set:function(value){
Object.defineProperty(this,name,{
enumerable:true,
configurable:true,
writable:true,
value:value
});
}
});
},
fix:function(originalEvent){
return originalEvent[jQuery.expando]?
originalEvent:
new jQuery.Event(originalEvent);
},
special:{
load:{
noBubble:true
},
click:{
setup:function(data){
var el=this||data;
if(rcheckableType.test(el.type)&&
el.click&&nodeName(el,"input")){
leverageNative(el,"click",returnTrue);
}
return false;
},
trigger:function(data){
var el=this||data;
if(rcheckableType.test(el.type)&&
el.click&&nodeName(el,"input")){
leverageNative(el,"click");
}
return true;
},
_default:function(event){
var target=event.target;
return rcheckableType.test(target.type)&&
target.click&&nodeName(target,"input")&&
dataPriv.get(target,"click")||
nodeName(target,"a");
}
},
beforeunload:{
postDispatch:function(event){
if(event.result!==undefined&&event.originalEvent){
event.originalEvent.returnValue=event.result;
}
}
}
}
};
function leverageNative(el,type,expectSync){
if(!expectSync){
if(dataPriv.get(el,type)===undefined){
jQuery.event.add(el,type,returnTrue);
}
return;
}
dataPriv.set(el,type,false);
jQuery.event.add(el,type,{
namespace:false,
handler:function(event){
var notAsync,result,
saved=dataPriv.get(this,type);
if((event.isTrigger&1)&&this[type]){
if(!saved.length){
saved=slice.call(arguments);
dataPriv.set(this,type,saved);
notAsync=expectSync(this,type);
this[type]();
result=dataPriv.get(this,type);
if(saved!==result||notAsync){
dataPriv.set(this,type,false);
}else{
result={};
}
if(saved!==result){
event.stopImmediatePropagation();
event.preventDefault();
return result&&result.value;
}
}else if((jQuery.event.special[type]||{}).delegateType){
event.stopPropagation();
}
}else if(saved.length){
dataPriv.set(this,type,{
value:jQuery.event.trigger(
jQuery.extend(saved[0],jQuery.Event.prototype),
saved.slice(1),
this
)
});
event.stopImmediatePropagation();
}
}
});
}
jQuery.removeEvent=function(elem,type,handle){
if(elem.removeEventListener){
elem.removeEventListener(type,handle);
}
};
jQuery.Event=function(src,props){
if(!(this instanceof jQuery.Event)){
return new jQuery.Event(src,props);
}
if(src&&src.type){
this.originalEvent=src;
this.type=src.type;
this.isDefaultPrevented=src.defaultPrevented||
src.defaultPrevented===undefined&&
src.returnValue===false?
returnTrue:
returnFalse;
this.target=(src.target&&src.target.nodeType===3)?
src.target.parentNode:
src.target;
this.currentTarget=src.currentTarget;
this.relatedTarget=src.relatedTarget;
}else{
this.type=src;
}
if(props){
jQuery.extend(this,props);
}
this.timeStamp=src&&src.timeStamp||Date.now();
this[jQuery.expando]=true;
};
jQuery.Event.prototype={
constructor:jQuery.Event,
isDefaultPrevented:returnFalse,
isPropagationStopped:returnFalse,
isImmediatePropagationStopped:returnFalse,
isSimulated:false,
preventDefault:function(){
var e=this.originalEvent;
this.isDefaultPrevented=returnTrue;
if(e&&!this.isSimulated){
e.preventDefault();
}
},
stopPropagation:function(){
var e=this.originalEvent;
this.isPropagationStopped=returnTrue;
if(e&&!this.isSimulated){
e.stopPropagation();
}
},
stopImmediatePropagation:function(){
var e=this.originalEvent;
this.isImmediatePropagationStopped=returnTrue;
if(e&&!this.isSimulated){
e.stopImmediatePropagation();
}
this.stopPropagation();
}
};
jQuery.each({
altKey:true,
bubbles:true,
cancelable:true,
changedTouches:true,
ctrlKey:true,
detail:true,
eventPhase:true,
metaKey:true,
pageX:true,
pageY:true,
shiftKey:true,
view:true,
"char":true,
code:true,
charCode:true,
key:true,
keyCode:true,
button:true,
buttons:true,
clientX:true,
clientY:true,
offsetX:true,
offsetY:true,
pointerId:true,
pointerType:true,
screenX:true,
screenY:true,
targetTouches:true,
toElement:true,
touches:true,
which:true
},jQuery.event.addProp);
jQuery.each({focus:"focusin",blur:"focusout"},function(type,delegateType){
jQuery.event.special[type]={
setup:function(){
leverageNative(this,type,expectSync);
return false;
},
trigger:function(){
leverageNative(this,type);
return true;
},
_default:function(){
return true;
},
delegateType:delegateType
};
});
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;
}
return ret;
}
};
});
jQuery.fn.extend({
on:function(types,selector,data,fn){
return on(this,types,selector,data,fn);
},
one:function(types,selector,data,fn){
return on(this,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;
}
if(typeof types==="object"){
for(type in types){
this.off(type,selector,types[type]);
}
return this;
}
if(selector===false||typeof selector==="function"){
fn=selector;
selector=undefined;
}
if(fn===false){
fn=returnFalse;
}
return this.each(function(){
jQuery.event.remove(this,types,fn,selector);
});
}
});
var
rnoInnerhtml=/<script|<style|<link/i,
rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,
rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
function manipulationTarget(elem,content){
if(nodeName(elem,"table")&&
nodeName(content.nodeType!==11?content:content.firstChild,"tr")){
return jQuery(elem).children("tbody")[0]||elem;
}
return elem;
}
function disableScript(elem){
elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;
return elem;
}
function restoreScript(elem){
if((elem.type||"").slice(0,5)==="true/"){
elem.type=elem.type.slice(5);
}else{
elem.removeAttribute("type");
}
return elem;
}
function cloneCopyEvent(src,dest){
var i,l,type,pdataOld,udataOld,udataCur,events;
if(dest.nodeType!==1){
return;
}
if(dataPriv.hasData(src)){
pdataOld=dataPriv.get(src);
events=pdataOld.events;
if(events){
dataPriv.remove(dest,"handle events");
for(type in events){
for(i=0,l=events[type].length;i<l;i++){
jQuery.event.add(dest,type,events[type][i]);
}
}
}
}
if(dataUser.hasData(src)){
udataOld=dataUser.access(src);
udataCur=jQuery.extend({},udataOld);
dataUser.set(dest,udataCur);
}
}
function 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;
}
}
function domManip(collection,args,callback,ignored){
args=flat(args);
var fragment,first,scripts,hasScripts,node,doc,
i=0,
l=collection.length,
iNoClone=l-1,
value=args[0],
valueIsFunction=isFunction(value);
if(valueIsFunction||
(l>1&&typeof value==="string"&&
!support.checkClone&&rchecked.test(value))){
return collection.each(function(index){
var self=collection.eq(index);
if(valueIsFunction){
args[0]=value.call(this,index,self.html());
}
domManip(self,args,callback,ignored);
});
}
if(l){
fragment=buildFragment(args,collection[0].ownerDocument,false,collection,ignored);
first=fragment.firstChild;
if(fragment.childNodes.length===1){
fragment=first;
}
if(first||ignored){
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"));
}
}
callback.call(collection[i],node,i);
}
if(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||"")&&
!dataPriv.access(node,"globalEval")&&
jQuery.contains(doc,node)){
if(node.src&&(node.type||"").toLowerCase()!=="module"){
if(jQuery._evalUrl&&!node.noModule){
jQuery._evalUrl(node.src,{
nonce:node.nonce||node.getAttribute("nonce")
},doc);
}
}else{
DOMEval(node.textContent.replace(rcleanScript,""),node,doc);
}
}
}
}
}
}
return collection;
}
function remove(elem,selector,keepData){
var node,
nodes=selector?jQuery.filter(selector,elem):elem,
i=0;
for(;(node=nodes[i])!=null;i++){
if(!keepData&&node.nodeType===1){
jQuery.cleanData(getAll(node));
}
if(node.parentNode){
if(keepData&&isAttached(node)){
setGlobalEval(getAll(node,"script"));
}
node.parentNode.removeChild(node);
}
}
return elem;
}
jQuery.extend({
htmlPrefilter:function(html){
return html;
},
clone:function(elem,dataAndEvents,deepDataAndEvents){
var i,l,srcElements,destElements,
clone=elem.cloneNode(true),
inPage=isAttached(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]);
}
}
if(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);
}
}
destElements=getAll(clone,"script");
if(destElements.length>0){
setGlobalEval(destElements,!inPage&&getAll(elem,"script"));
}
return clone;
},
cleanData:function(elems){
var data,elem,type,
special=jQuery.event.special,
i=0;
for(;(elem=elems[i])!==undefined;i++){
if(acceptData(elem)){
if((data=elem[dataPriv.expando])){
if(data.events){
for(type in data.events){
if(special[type]){
jQuery.event.remove(elem,type);
}else{
jQuery.removeEvent(elem,type,data.handle);
}
}
}
elem[dataPriv.expando]=undefined;
}
if(elem[dataUser.expando]){
elem[dataUser.expando]=undefined;
}
}
}
}
});
jQuery.fn.extend({
detach:function(selector){
return remove(this,selector,true);
},
remove:function(selector){
return remove(this,selector);
},
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 domManip(this,arguments,function(elem){
if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
var target=manipulationTarget(this,elem);
target.appendChild(elem);
}
});
},
prepend:function(){
return domManip(this,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 domManip(this,arguments,function(elem){
if(this.parentNode){
this.parentNode.insertBefore(elem,this);
}
});
},
after:function(){
return domManip(this,arguments,function(elem){
if(this.parentNode){
this.parentNode.insertBefore(elem,this.nextSibling);
}
});
},
empty:function(){
var elem,
i=0;
for(;(elem=this[i])!=null;i++){
if(elem.nodeType===1){
jQuery.cleanData(getAll(elem,false));
elem.textContent="";
}
}
return 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;
}
if(typeof value==="string"&&!rnoInnerhtml.test(value)&&
!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){
value=jQuery.htmlPrefilter(value);
try{
for(;i<l;i++){
elem=this[i]||{};
if(elem.nodeType===1){
jQuery.cleanData(getAll(elem,false));
elem.innerHTML=value;
}
}
elem=0;
}catch(e){}
}
if(elem){
this.empty().append(value);
}
},null,value,arguments.length);
},
replaceWith:function(){
var ignored=[];
return domManip(this,arguments,function(elem){
var parent=this.parentNode;
if(jQuery.inArray(this,ignored)<0){
jQuery.cleanData(getAll(this));
if(parent){
parent.replaceChild(elem,this);
}
}
},ignored);
}
});
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());
}
return this.pushStack(ret);
};
});
var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");
var getStyles=function(elem){
var view=elem.ownerDocument.defaultView;
if(!view||!view.opener){
view=window;
}
return view.getComputedStyle(elem);
};
var swap=function(elem,options,callback){
var ret,name,
old={};
for(name in options){
old[name]=elem.style[name];
elem.style[name]=options[name];
}
ret=callback.call(elem);
for(name in options){
elem.style[name]=old[name];
}
return ret;
};
var rboxStyle=new RegExp(cssExpand.join("|"),"i");
(function(){
function computeStyleTests(){
if(!div){
return;
}
container.style.cssText="position:absolute;left:-11111px;width:60px;"+
"margin-top:1px;padding:0;border:0";
div.style.cssText=
"position:relative;display:block;box-sizing:border-box;overflow:scroll;"+
"margin:auto;border:1px;padding:1px;"+
"width:60%;top:1%";
documentElement.appendChild(container).appendChild(div);
var divStyle=window.getComputedStyle(div);
pixelPositionVal=divStyle.top!=="1%";
reliableMarginLeftVal=roundPixelMeasures(divStyle.marginLeft)===12;
div.style.right="60%";
pixelBoxStylesVal=roundPixelMeasures(divStyle.right)===36;
boxSizingReliableVal=roundPixelMeasures(divStyle.width)===36;
div.style.position="absolute";
scrollboxSizeVal=roundPixelMeasures(div.offsetWidth/3)===12;
documentElement.removeChild(container);
div=null;
}
function roundPixelMeasures(measure){
return Math.round(parseFloat(measure));
}
var pixelPositionVal,boxSizingReliableVal,scrollboxSizeVal,pixelBoxStylesVal,
reliableTrDimensionsVal,reliableMarginLeftVal,
container=document.createElement("div"),
div=document.createElement("div");
if(!div.style){
return;
}
div.style.backgroundClip="content-box";
div.cloneNode(true).style.backgroundClip="";
support.clearCloneStyle=div.style.backgroundClip==="content-box";
jQuery.extend(support,{
boxSizingReliable:function(){
computeStyleTests();
return boxSizingReliableVal;
},
pixelBoxStyles:function(){
computeStyleTests();
return pixelBoxStylesVal;
},
pixelPosition:function(){
computeStyleTests();
return pixelPositionVal;
},
reliableMarginLeft:function(){
computeStyleTests();
return reliableMarginLeftVal;
},
scrollboxSize:function(){
computeStyleTests();
return scrollboxSizeVal;
},
reliableTrDimensions:function(){
var table,tr,trChild,trStyle;
if(reliableTrDimensionsVal==null){
table=document.createElement("table");
tr=document.createElement("tr");
trChild=document.createElement("div");
table.style.cssText="position:absolute;left:-11111px;border-collapse:separate";
tr.style.cssText="border:1px solid";
tr.style.height="1px";
trChild.style.height="9px";
trChild.style.display="block";
documentElement
.appendChild(table)
.appendChild(tr)
.appendChild(trChild);
trStyle=window.getComputedStyle(tr);
reliableTrDimensionsVal=(parseInt(trStyle.height,10)+
parseInt(trStyle.borderTopWidth,10)+
parseInt(trStyle.borderBottomWidth,10))===tr.offsetHeight;
documentElement.removeChild(table);
}
return reliableTrDimensionsVal;
}
});
})();
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];
if(ret===""&&!isAttached(elem)){
ret=jQuery.style(elem,name);
}
if(!support.pixelBoxStyles()&&rnumnonpx.test(ret)&&rboxStyle.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;
}
}
return ret!==undefined?
ret+"":
ret;
}
function addGetHookIf(conditionFn,hookFn){
return{
get:function(){
if(conditionFn()){
delete this.get;
return;
}
return(this.get=hookFn).apply(this,arguments);
}
};
}
var cssPrefixes=["Webkit","Moz","ms"],
emptyStyle=document.createElement("div").style,
vendorProps={};
function vendorPropName(name){
var capName=name[0].toUpperCase()+name.slice(1),
i=cssPrefixes.length;
while(i--){
name=cssPrefixes[i]+capName;
if(name in emptyStyle){
return name;
}
}
}
function finalPropName(name){
var final=jQuery.cssProps[name]||vendorProps[name];
if(final){
return final;
}
if(name in emptyStyle){
return name;
}
return vendorProps[name]=vendorPropName(name)||name;
}
var
rdisplayswap=/^(none|table(?!-c[ea]).+)/,
rcustomProp=/^--/,
cssShow={position:"absolute",visibility:"hidden",display:"block"},
cssNormalTransform={
letterSpacing:"0",
fontWeight:"400"
};
function setPositiveNumber(_elem,value,subtract){
var matches=rcssNum.exec(value);
return matches?
Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):
value;
}
function boxModelAdjustment(elem,dimension,box,isBorderBox,styles,computedVal){
var i=dimension==="width"?1:0,
extra=0,
delta=0;
if(box===(isBorderBox?"border":"content")){
return 0;
}
for(;i<4;i+=2){
if(box==="margin"){
delta+=jQuery.css(elem,box+cssExpand[i],true,styles);
}
if(!isBorderBox){
delta+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);
if(box!=="padding"){
delta+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
}else{
extra+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
}
}else{
if(box==="content"){
delta-=jQuery.css(elem,"padding"+cssExpand[i],true,styles);
}
if(box!=="margin"){
delta-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
}
}
}
if(!isBorderBox&&computedVal>=0){
delta+=Math.max(0,Math.ceil(
elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-
computedVal-
delta-
extra-
0.5
))||0;
}
return delta;
}
function getWidthOrHeight(elem,dimension,extra){
var styles=getStyles(elem),
boxSizingNeeded=!support.boxSizingReliable()||extra,
isBorderBox=boxSizingNeeded&&
jQuery.css(elem,"boxSizing",false,styles)==="border-box",
valueIsBorderBox=isBorderBox,
val=curCSS(elem,dimension,styles),
offsetProp="offset"+dimension[0].toUpperCase()+dimension.slice(1);
if(rnumnonpx.test(val)){
if(!extra){
return val;
}
val="auto";
}
if((!support.boxSizingReliable()&&isBorderBox||
!support.reliableTrDimensions()&&nodeName(elem,"tr")||
val==="auto"||
!parseFloat(val)&&jQuery.css(elem,"display",false,styles)==="inline")&&
elem.getClientRects().length){
isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";
valueIsBorderBox=offsetProp in elem;
if(valueIsBorderBox){
val=elem[offsetProp];
}
}
val=parseFloat(val)||0;
return(val+
boxModelAdjustment(
elem,
dimension,
extra||(isBorderBox?"border":"content"),
valueIsBorderBox,
styles,
val
)
)+"px";
}
jQuery.extend({
cssHooks:{
opacity:{
get:function(elem,computed){
if(computed){
var ret=curCSS(elem,"opacity");
return ret===""?"1":ret;
}
}
}
},
cssNumber:{
"animationIterationCount":true,
"columnCount":true,
"fillOpacity":true,
"flexGrow":true,
"flexShrink":true,
"fontWeight":true,
"gridArea":true,
"gridColumn":true,
"gridColumnEnd":true,
"gridColumnStart":true,
"gridRow":true,
"gridRowEnd":true,
"gridRowStart":true,
"lineHeight":true,
"opacity":true,
"order":true,
"orphans":true,
"widows":true,
"zIndex":true,
"zoom":true
},
cssProps:{},
style:function(elem,name,value,extra){
if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){
return;
}
var ret,type,hooks,
origName=camelCase(name),
isCustomProp=rcustomProp.test(name),
style=elem.style;
if(!isCustomProp){
name=finalPropName(origName);
}
hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];
if(value!==undefined){
type=typeof value;
if(type==="string"&&(ret=rcssNum.exec(value))&&ret[1]){
value=adjustCSS(elem,name,ret);
type="number";
}
if(value==null||value!==value){
return;
}
if(type==="number"&&!isCustomProp){
value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px");
}
if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){
style[name]="inherit";
}
if(!hooks||!("set"in hooks)||
(value=hooks.set(elem,value,extra))!==undefined){
if(isCustomProp){
style.setProperty(name,value);
}else{
style[name]=value;
}
}
}else{
if(hooks&&"get"in hooks&&
(ret=hooks.get(elem,false,extra))!==undefined){
return ret;
}
return style[name];
}
},
css:function(elem,name,extra,styles){
var val,num,hooks,
origName=camelCase(name),
isCustomProp=rcustomProp.test(name);
if(!isCustomProp){
name=finalPropName(origName);
}
hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];
if(hooks&&"get"in hooks){
val=hooks.get(elem,true,extra);
}
if(val===undefined){
val=curCSS(elem,name,styles);
}
if(val==="normal"&&name in cssNormalTransform){
val=cssNormalTransform[name];
}
if(extra===""||extra){
num=parseFloat(val);
return extra===true||isFinite(num)?num||0:val;
}
return val;
}
});
jQuery.each(["height","width"],function(_i,dimension){
jQuery.cssHooks[dimension]={
get:function(elem,computed,extra){
if(computed){
return rdisplayswap.test(jQuery.css(elem,"display"))&&
(!elem.getClientRects().length||!elem.getBoundingClientRect().width)?
swap(elem,cssShow,function(){
return getWidthOrHeight(elem,dimension,extra);
}):
getWidthOrHeight(elem,dimension,extra);
}
},
set:function(elem,value,extra){
var matches,
styles=getStyles(elem),
scrollboxSizeBuggy=!support.scrollboxSize()&&
styles.position==="absolute",
boxSizingNeeded=scrollboxSizeBuggy||extra,
isBorderBox=boxSizingNeeded&&
jQuery.css(elem,"boxSizing",false,styles)==="border-box",
subtract=extra?
boxModelAdjustment(
elem,
dimension,
extra,
isBorderBox,
styles
):
0;
if(isBorderBox&&scrollboxSizeBuggy){
subtract-=Math.ceil(
elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-
parseFloat(styles[dimension])-
boxModelAdjustment(elem,dimension,"border",false,styles)-
0.5
);
}
if(subtract&&(matches=rcssNum.exec(value))&&
(matches[3]||"px")!=="px"){
elem.style[dimension]=value;
value=jQuery.css(elem,dimension);
}
return setPositiveNumber(elem,value,subtract);
}
};
});
jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,
function(elem,computed){
if(computed){
return(parseFloat(curCSS(elem,"marginLeft"))||
elem.getBoundingClientRect().left-
swap(elem,{marginLeft:0},function(){
return elem.getBoundingClientRect().left;
})
)+"px";
}
}
);
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];
}
return expanded;
}
};
if(prefix!=="margin"){
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(Array.isArray(name)){
styles=getStyles(elem);
len=name.length;
for(;i<len;i++){
map[name[i]]=jQuery.css(elem,name[i],false,styles);
}
return map;
}
return value!==undefined?
jQuery.style(elem,name,value):
jQuery.css(elem,name);
},name,value,arguments.length>1);
}
});
function Tween(elem,options,prop,end,easing){
return new Tween.prototype.init(elem,options,prop,end,easing);
}
jQuery.Tween=Tween;
Tween.prototype={
constructor:Tween,
init:function(elem,options,prop,end,easing,unit){
this.elem=elem;
this.prop=prop;
this.easing=easing||jQuery.easing._default;
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;
}
this.now=(this.end-this.start)*eased+this.start;
if(this.options.step){
this.options.step.call(this.elem,this.now,this);
}
if(hooks&&hooks.set){
hooks.set(this);
}else{
Tween.propHooks._default.set(this);
}
return this;
}
};
Tween.prototype.init.prototype=Tween.prototype;
Tween.propHooks={
_default:{
get:function(tween){
var result;
if(tween.elem.nodeType!==1||
tween.elem[tween.prop]!=null&&tween.elem.style[tween.prop]==null){
return tween.elem[tween.prop];
}
result=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.nodeType===1&&(
jQuery.cssHooks[tween.prop]||
tween.elem.style[finalPropName(tween.prop)]!=null)){
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;
},
_default:"swing"
};
jQuery.fx=Tween.prototype.init;
jQuery.fx.step={};
var
fxNow,inProgress,
rfxtypes=/^(?:toggle|show|hide)$/,
rrun=/queueHooks$/;
function schedule(){
if(inProgress){
if(document.hidden===false&&window.requestAnimationFrame){
window.requestAnimationFrame(schedule);
}else{
window.setTimeout(schedule,jQuery.fx.interval);
}
jQuery.fx.tick();
}
}
function createFxNow(){
window.setTimeout(function(){
fxNow=undefined;
});
return(fxNow=Date.now());
}
function 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;
}
if(includeWidth){
attrs.opacity=attrs.width=type;
}
return attrs;
}
function createTween(value,prop,animation){
var tween,
collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),
index=0,
length=collection.length;
for(;index<length;index++){
if((tween=collection[index].call(animation,prop,value))){
return tween;
}
}
}
function defaultPrefilter(elem,props,opts){
var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,
isBox="width"in props||"height"in props,
anim=this,
orig={},
style=elem.style,
hidden=elem.nodeType&&isHiddenWithinTree(elem),
dataShow=dataPriv.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();
}
};
}
hooks.unqueued++;
anim.always(function(){
anim.always(function(){
hooks.unqueued--;
if(!jQuery.queue(elem,"fx").length){
hooks.empty.fire();
}
});
});
}
for(prop in props){
value=props[prop];
if(rfxtypes.test(value)){
delete props[prop];
toggle=toggle||value==="toggle";
if(value===(hidden?"hide":"show")){
if(value==="show"&&dataShow&&dataShow[prop]!==undefined){
hidden=true;
}else{
continue;
}
}
orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop);
}
}
propTween=!jQuery.isEmptyObject(props);
if(!propTween&&jQuery.isEmptyObject(orig)){
return;
}
if(isBox&&elem.nodeType===1){
opts.overflow=[style.overflow,style.overflowX,style.overflowY];
restoreDisplay=dataShow&&dataShow.display;
if(restoreDisplay==null){
restoreDisplay=dataPriv.get(elem,"display");
}
display=jQuery.css(elem,"display");
if(display==="none"){
if(restoreDisplay){
display=restoreDisplay;
}else{
showHide([elem],true);
restoreDisplay=elem.style.display||restoreDisplay;
display=jQuery.css(elem,"display");
showHide([elem]);
}
}
if(display==="inline"||display==="inline-block"&&restoreDisplay!=null){
if(jQuery.css(elem,"float")==="none"){
if(!propTween){
anim.done(function(){
style.display=restoreDisplay;
});
if(restoreDisplay==null){
display=style.display;
restoreDisplay=display==="none"?"":display;
}
}
style.display="inline-block";
}
}
}
if(opts.overflow){
style.overflow="hidden";
anim.always(function(){
style.overflow=opts.overflow[0];
style.overflowX=opts.overflow[1];
style.overflowY=opts.overflow[2];
});
}
propTween=false;
for(prop in orig){
if(!propTween){
if(dataShow){
if("hidden"in dataShow){
hidden=dataShow.hidden;
}
}else{
dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay});
}
if(toggle){
dataShow.hidden=!hidden;
}
if(hidden){
showHide([elem],true);
}
anim.done(function(){
if(!hidden){
showHide([elem]);
}
dataPriv.remove(elem,"fxshow");
for(prop in orig){
jQuery.style(elem,prop,orig[prop]);
}
});
}
propTween=createTween(hidden?dataShow[prop]:0,prop,anim);
if(!(prop in dataShow)){
dataShow[prop]=propTween.start;
if(hidden){
propTween.end=propTween.start;
propTween.start=0;
}
}
}
}
function propFilter(props,specialEasing){
var index,name,easing,value,hooks;
for(index in props){
name=camelCase(index);
easing=specialEasing[name];
value=props[index];
if(Array.isArray(value)){
easing=value[1];
value=props[index]=value[0];
}
if(index!==name){
props[name]=value;
delete props[index];
}
hooks=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;
}
}
}
function Animation(elem,properties,options){
var result,
stopped,
index=0,
length=Animation.prefilters.length,
deferred=jQuery.Deferred().always(function(){
delete tick.elem;
}),
tick=function(){
if(stopped){
return false;
}
var 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);
}
deferred.notifyWith(elem,[animation,percent,remaining]);
if(percent<1&&length){
return remaining;
}
if(!length){
deferred.notifyWith(elem,[animation,1,0]);
}
deferred.resolveWith(elem,[animation]);
return false;
},
animation=deferred.promise({
elem:elem,
props:jQuery.extend({},properties),
opts:jQuery.extend(true,{
specialEasing:{},
easing:jQuery.easing._default
},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;
}
stopped=true;
for(;index<length;index++){
animation.tweens[index].run(1);
}
if(gotoEnd){
deferred.notifyWith(elem,[animation,1,0]);
deferred.resolveWith(elem,[animation,gotoEnd]);
}else{
deferred.rejectWith(elem,[animation,gotoEnd]);
}
return this;
}
}),
props=animation.props;
propFilter(props,animation.opts.specialEasing);
for(;index<length;index++){
result=Animation.prefilters[index].call(animation,elem,props,animation.opts);
if(result){
if(isFunction(result.stop)){
jQuery._queueHooks(animation.elem,animation.opts.queue).stop=
result.stop.bind(result);
}
return result;
}
}
jQuery.map(props,createTween,animation);
if(isFunction(animation.opts.start)){
animation.opts.start.call(elem,animation);
}
animation
.progress(animation.opts.progress)
.done(animation.opts.done,animation.opts.complete)
.fail(animation.opts.fail)
.always(animation.opts.always);
jQuery.fx.timer(
jQuery.extend(tick,{
elem:elem,
anim:animation,
queue:animation.opts.queue
})
);
return animation;
}
jQuery.Animation=jQuery.extend(Animation,{
tweeners:{
"*":[function(prop,value){
var tween=this.createTween(prop,value);
adjustCSS(tween.elem,prop,rcssNum.exec(value),tween);
return tween;
}]
},
tweener:function(props,callback){
if(isFunction(props)){
callback=props;
props=["*"];
}else{
props=props.match(rnothtmlwhite);
}
var prop,
index=0,
length=props.length;
for(;index<length;index++){
prop=props[index];
Animation.tweeners[prop]=Animation.tweeners[prop]||[];
Animation.tweeners[prop].unshift(callback);
}
},
prefilters:[defaultPrefilter],
prefilter:function(callback,prepend){
if(prepend){
Animation.prefilters.unshift(callback);
}else{
Animation.prefilters.push(callback);
}
}
});
jQuery.speed=function(speed,easing,fn){
var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{
complete:fn||!fn&&easing||
isFunction(speed)&&speed,
duration:speed,
easing:fn&&easing||easing&&!isFunction(easing)&&easing
};
if(jQuery.fx.off){
opt.duration=0;
}else{
if(typeof opt.duration!=="number"){
if(opt.duration in jQuery.fx.speeds){
opt.duration=jQuery.fx.speeds[opt.duration];
}else{
opt.duration=jQuery.fx.speeds._default;
}
}
}
if(opt.queue==null||opt.queue===true){
opt.queue="fx";
}
opt.old=opt.complete;
opt.complete=function(){
if(isFunction(opt.old)){
opt.old.call(this);
}
if(opt.queue){
jQuery.dequeue(this,opt.queue);
}
};
return opt;
};
jQuery.fn.extend({
fadeTo:function(speed,to,easing,callback){
return this.filter(isHiddenWithinTree).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||dataPriv.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;
type=undefined;
}
if(clearQueue){
this.queue(type||"fx",[]);
}
return this.each(function(){
var dequeue=true,
index=type!=null&&type+"queueHooks",
timers=jQuery.timers,
data=dataPriv.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]);
}
}
}
for(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);
}
}
if(dequeue||!gotoEnd){
jQuery.dequeue(this,type);
}
});
},
finish:function(type){
if(type!==false){
type=type||"fx";
}
return this.each(function(){
var index,
data=dataPriv.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);
}
for(index=timers.length;index--;){
if(timers[index].elem===this&&timers[index].queue===type){
timers[index].anim.stop(true);
timers.splice(index,1);
}
}
for(index=0;index<length;index++){
if(queue[index]&&queue[index].finish){
queue[index].finish.call(this);
}
}
delete 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=Date.now();
for(;i<timers.length;i++){
timer=timers[i];
if(!timer()&&timers[i]===timer){
timers.splice(i--,1);
}
}
if(!timers.length){
jQuery.fx.stop();
}
fxNow=undefined;
};
jQuery.fx.timer=function(timer){
jQuery.timers.push(timer);
jQuery.fx.start();
};
jQuery.fx.interval=13;
jQuery.fx.start=function(){
if(inProgress){
return;
}
inProgress=true;
schedule();
};
jQuery.fx.stop=function(){
inProgress=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=window.setTimeout(next,time);
hooks.stop=function(){
window.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;
input=document.createElement("input");
input.value="t";
input.type="radio";
support.radioValue=input.value==="t";
})();
var 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 ret,hooks,
nType=elem.nodeType;
if(nType===3||nType===8||nType===2){
return;
}
if(typeof elem.getAttribute==="undefined"){
return jQuery.prop(elem,name,value);
}
if(nType!==1||!jQuery.isXMLDoc(elem)){
hooks=jQuery.attrHooks[name.toLowerCase()]||
(jQuery.expr.match.bool.test(name)?boolHook:undefined);
}
if(value!==undefined){
if(value===null){
jQuery.removeAttr(elem,name);
return;
}
if(hooks&&"set"in hooks&&
(ret=hooks.set(elem,value,name))!==undefined){
return ret;
}
elem.setAttribute(name,value+"");
return value;
}
if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){
return ret;
}
ret=jQuery.find.attr(elem,name);
return ret==null?undefined:ret;
},
attrHooks:{
type:{
set:function(elem,value){
if(!support.radioValue&&value==="radio"&&
nodeName(elem,"input")){
var val=elem.value;
elem.setAttribute("type",value);
if(val){
elem.value=val;
}
return value;
}
}
}
},
removeAttr:function(elem,value){
var name,
i=0,
attrNames=value&&value.match(rnothtmlwhite);
if(attrNames&&elem.nodeType===1){
while((name=attrNames[i++])){
elem.removeAttribute(name);
}
}
}
});
boolHook={
set:function(elem,value,name){
if(value===false){
jQuery.removeAttr(elem,name);
}else{
elem.setAttribute(name,name);
}
return 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,
lowercaseName=name.toLowerCase();
if(!isXML){
handle=attrHandle[lowercaseName];
attrHandle[lowercaseName]=ret;
ret=getter(elem,name,isXML)!=null?
lowercaseName:
null;
attrHandle[lowercaseName]=handle;
}
return ret;
};
});
var rfocusable=/^(?:input|select|textarea|button)$/i,
rclickable=/^(?:a|area)$/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({
prop:function(elem,name,value){
var ret,hooks,
nType=elem.nodeType;
if(nType===3||nType===8||nType===2){
return;
}
if(nType!==1||!jQuery.isXMLDoc(elem)){
name=jQuery.propFix[name]||name;
hooks=jQuery.propHooks[name];
}
if(value!==undefined){
if(hooks&&"set"in hooks&&
(ret=hooks.set(elem,value,name))!==undefined){
return ret;
}
return(elem[name]=value);
}
if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){
return ret;
}
return elem[name];
},
propHooks:{
tabIndex:{
get:function(elem){
var tabindex=jQuery.find.attr(elem,"tabindex");
if(tabindex){
return parseInt(tabindex,10);
}
if(
rfocusable.test(elem.nodeName)||
rclickable.test(elem.nodeName)&&
elem.href
){
return 0;
}
return-1;
}
}
},
propFix:{
"for":"htmlFor",
"class":"className"
}
});
if(!support.optSelected){
jQuery.propHooks.selected={
get:function(elem){
var parent=elem.parentNode;
if(parent&&parent.parentNode){
parent.parentNode.selectedIndex;
}
return null;
},
set:function(elem){
var parent=elem.parentNode;
if(parent){
parent.selectedIndex;
if(parent.parentNode){
parent.parentNode.selectedIndex;
}
}
}
};
}
jQuery.each([
"tabIndex",
"readOnly",
"maxLength",
"cellSpacing",
"cellPadding",
"rowSpan",
"colSpan",
"useMap",
"frameBorder",
"contentEditable"
],function(){
jQuery.propFix[this.toLowerCase()]=this;
});
function stripAndCollapse(value){
var tokens=value.match(rnothtmlwhite)||[];
return tokens.join(" ");
}
function getClass(elem){
return elem.getAttribute&&elem.getAttribute("class")||"";
}
function classesToArray(value){
if(Array.isArray(value)){
return value;
}
if(typeof value==="string"){
return value.match(rnothtmlwhite)||[];
}
return[];
}
jQuery.fn.extend({
addClass:function(value){
var classes,elem,cur,curValue,clazz,j,finalValue,
i=0;
if(isFunction(value)){
return this.each(function(j){
jQuery(this).addClass(value.call(this,j,getClass(this)));
});
}
classes=classesToArray(value);
if(classes.length){
while((elem=this[i++])){
curValue=getClass(elem);
cur=elem.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");
if(cur){
j=0;
while((clazz=classes[j++])){
if(cur.indexOf(" "+clazz+" ")<0){
cur+=clazz+" ";
}
}
finalValue=stripAndCollapse(cur);
if(curValue!==finalValue){
elem.setAttribute("class",finalValue);
}
}
}
}
return this;
},
removeClass:function(value){
var classes,elem,cur,curValue,clazz,j,finalValue,
i=0;
if(isFunction(value)){
return this.each(function(j){
jQuery(this).removeClass(value.call(this,j,getClass(this)));
});
}
if(!arguments.length){
return this.attr("class","");
}
classes=classesToArray(value);
if(classes.length){
while((elem=this[i++])){
curValue=getClass(elem);
cur=elem.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");
if(cur){
j=0;
while((clazz=classes[j++])){
while(cur.indexOf(" "+clazz+" ")>-1){
cur=cur.replace(" "+clazz+" "," ");
}
}
finalValue=stripAndCollapse(cur);
if(curValue!==finalValue){
elem.setAttribute("class",finalValue);
}
}
}
}
return this;
},
toggleClass:function(value,stateVal){
var type=typeof value,
isValidValue=type==="string"||Array.isArray(value);
if(typeof stateVal==="boolean"&&isValidValue){
return stateVal?this.addClass(value):this.removeClass(value);
}
if(isFunction(value)){
return this.each(function(i){
jQuery(this).toggleClass(
value.call(this,i,getClass(this),stateVal),
stateVal
);
});
}
return this.each(function(){
var className,i,self,classNames;
if(isValidValue){
i=0;
self=jQuery(this);
classNames=classesToArray(value);
while((className=classNames[i++])){
if(self.hasClass(className)){
self.removeClass(className);
}else{
self.addClass(className);
}
}
}else if(value===undefined||type==="boolean"){
className=getClass(this);
if(className){
dataPriv.set(this,"__className__",className);
}
if(this.setAttribute){
this.setAttribute("class",
className||value===false?
"":
dataPriv.get(this,"__className__")||""
);
}
}
});
},
hasClass:function(selector){
var className,elem,
i=0;
className=" "+selector+" ";
while((elem=this[i++])){
if(elem.nodeType===1&&
(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1){
return true;
}
}
return false;
}
});
var rreturn=/\r/g;
jQuery.fn.extend({
val:function(value){
var hooks,ret,valueIsFunction,
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;
}
ret=elem.value;
if(typeof ret==="string"){
return ret.replace(rreturn,"");
}
return ret==null?"":ret;
}
return;
}
valueIsFunction=isFunction(value);
return this.each(function(i){
var val;
if(this.nodeType!==1){
return;
}
if(valueIsFunction){
val=value.call(this,i,jQuery(this).val());
}else{
val=value;
}
if(val==null){
val="";
}else if(typeof val==="number"){
val+="";
}else if(Array.isArray(val)){
val=jQuery.map(val,function(value){
return value==null?"":value+"";
});
}
hooks=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:
stripAndCollapse(jQuery.text(elem));
}
},
select:{
get:function(elem){
var value,option,i,
options=elem.options,
index=elem.selectedIndex,
one=elem.type==="select-one",
values=one?null:[],
max=one?index+1:options.length;
if(index<0){
i=max;
}else{
i=one?index:0;
}
for(;i<max;i++){
option=options[i];
if((option.selected||i===index)&&
!option.disabled&&
(!option.parentNode.disabled||
!nodeName(option.parentNode,"optgroup"))){
value=jQuery(option).val();
if(one){
return value;
}
values.push(value);
}
}
return 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(jQuery.valHooks.option.get(option),values)>-1
){
optionSet=true;
}
}
if(!optionSet){
elem.selectedIndex=-1;
}
return values;
}
}
}
});
jQuery.each(["radio","checkbox"],function(){
jQuery.valHooks[this]={
set:function(elem,value){
if(Array.isArray(value)){
return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1);
}
}
};
if(!support.checkOn){
jQuery.valHooks[this].get=function(elem){
return elem.getAttribute("value")===null?"on":elem.value;
};
}
});
support.focusin="onfocusin"in window;
var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,
stopPropagationCallback=function(e){
e.stopPropagation();
};
jQuery.extend(jQuery.event,{
trigger:function(event,data,elem,onlyHandlers){
var i,cur,tmp,bubbleType,ontype,handle,special,lastElement,
eventPath=[elem||document],
type=hasOwn.call(event,"type")?event.type:event,
namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];
cur=lastElement=tmp=elem=elem||document;
if(elem.nodeType===3||elem.nodeType===8){
return;
}
if(rfocusMorph.test(type+jQuery.event.triggered)){
return;
}
if(type.indexOf(".")>-1){
namespaces=type.split(".");
type=namespaces.shift();
namespaces.sort();
}
ontype=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.rnamespace=event.namespace?
new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):
null;
event.result=undefined;
if(!event.target){
event.target=elem;
}
data=data==null?
[event]:
jQuery.makeArray(data,[event]);
special=jQuery.event.special[type]||{};
if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){
return;
}
if(!onlyHandlers&&!special.noBubble&&!isWindow(elem)){
bubbleType=special.delegateType||type;
if(!rfocusMorph.test(bubbleType+type)){
cur=cur.parentNode;
}
for(;cur;cur=cur.parentNode){
eventPath.push(cur);
tmp=cur;
}
if(tmp===(elem.ownerDocument||document)){
eventPath.push(tmp.defaultView||tmp.parentWindow||window);
}
}
i=0;
while((cur=eventPath[i++])&&!event.isPropagationStopped()){
lastElement=cur;
event.type=i>1?
bubbleType:
special.bindType||type;
handle=(dataPriv.get(cur,"events")||Object.create(null))[event.type]&&
dataPriv.get(cur,"handle");
if(handle){
handle.apply(cur,data);
}
handle=ontype&&cur[ontype];
if(handle&&handle.apply&&acceptData(cur)){
event.result=handle.apply(cur,data);
if(event.result===false){
event.preventDefault();
}
}
}
event.type=type;
if(!onlyHandlers&&!event.isDefaultPrevented()){
if((!special._default||
special._default.apply(eventPath.pop(),data)===false)&&
acceptData(elem)){
if(ontype&&isFunction(elem[type])&&!isWindow(elem)){
tmp=elem[ontype];
if(tmp){
elem[ontype]=null;
}
jQuery.event.triggered=type;
if(event.isPropagationStopped()){
lastElement.addEventListener(type,stopPropagationCallback);
}
elem[type]();
if(event.isPropagationStopped()){
lastElement.removeEventListener(type,stopPropagationCallback);
}
jQuery.event.triggered=undefined;
if(tmp){
elem[ontype]=tmp;
}
}
}
}
return event.result;
},
simulate:function(type,elem,event){
var e=jQuery.extend(
new jQuery.Event(),
event,
{
type:type,
isSimulated:true
}
);
jQuery.event.trigger(e,null,elem);
}
});
jQuery.fn.extend({
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);
}
}
});
if(!support.focusin){
jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){
var handler=function(event){
jQuery.event.simulate(fix,event.target,jQuery.event.fix(event));
};
jQuery.event.special[fix]={
setup:function(){
var doc=this.ownerDocument||this.document||this,
attaches=dataPriv.access(doc,fix);
if(!attaches){
doc.addEventListener(orig,handler,true);
}
dataPriv.access(doc,fix,(attaches||0)+1);
},
teardown:function(){
var doc=this.ownerDocument||this.document||this,
attaches=dataPriv.access(doc,fix)-1;
if(!attaches){
doc.removeEventListener(orig,handler,true);
dataPriv.remove(doc,fix);
}else{
dataPriv.access(doc,fix,attaches);
}
}
};
});
}
var location=window.location;
var nonce={guid:Date.now()};
var rquery=(/\?/);
jQuery.parseXML=function(data){
var xml,parserErrorElem;
if(!data||typeof data!=="string"){
return null;
}
try{
xml=(new window.DOMParser()).parseFromString(data,"text/xml");
}catch(e){}
parserErrorElem=xml&&xml.getElementsByTagName("parsererror")[0];
if(!xml||parserErrorElem){
jQuery.error("Invalid XML: "+(
parserErrorElem?
jQuery.map(parserErrorElem.childNodes,function(el){
return el.textContent;
}).join("\n"):
data
));
}
return xml;
};
var
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(Array.isArray(obj)){
jQuery.each(obj,function(i,v){
if(traditional||rbracket.test(prefix)){
add(prefix,v);
}else{
buildParams(
prefix+"["+(typeof v==="object"&&v!=null?i:"")+"]",
v,
traditional,
add
);
}
});
}else if(!traditional&&toType(obj)==="object"){
for(name in obj){
buildParams(prefix+"["+name+"]",obj[name],traditional,add);
}
}else{
add(prefix,obj);
}
}
jQuery.param=function(a,traditional){
var prefix,
s=[],
add=function(key,valueOrFunction){
var value=isFunction(valueOrFunction)?
valueOrFunction():
valueOrFunction;
s[s.length]=encodeURIComponent(key)+"="+
encodeURIComponent(value==null?"":value);
};
if(a==null){
return"";
}
if(Array.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);
}
}
return s.join("&");
};
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();
if(val==null){
return null;
}
if(Array.isArray(val)){
return jQuery.map(val,function(val){
return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
});
}
return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
}).get();
}
});
var
r20=/%20/g,
rhash=/#.*$/,
rantiCache=/([?&])_=[^&]*/,
rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,
rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
rnoContent=/^(?:GET|HEAD)$/,
rprotocol=/^\/\//,
prefilters={},
transports={},
allTypes="*/".concat("*"),
originAnchor=document.createElement("a");
originAnchor.href=location.href;
function addToPrefiltersOrTransports(structure){
return function(dataTypeExpression,func){
if(typeof dataTypeExpression!=="string"){
func=dataTypeExpression;
dataTypeExpression="*";
}
var dataType,
i=0,
dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];
if(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);
}
}
}
};
}
function 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;
}
return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*");
}
function 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];
}
}
if(deep){
jQuery.extend(true,target,deep);
}
return target;
}
function 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");
}
}
if(ct){
for(type in contents){
if(contents[type]&&contents[type].test(ct)){
dataTypes.unshift(type);
break;
}
}
}
if(dataTypes[0]in responses){
finalDataType=dataTypes[0];
}else{
for(type in responses){
if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){
finalDataType=type;
break;
}
if(!firstDataType){
firstDataType=type;
}
}
finalDataType=finalDataType||firstDataType;
}
if(finalDataType){
if(finalDataType!==dataTypes[0]){
dataTypes.unshift(finalDataType);
}
return responses[finalDataType];
}
}
function 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];
}
}
current=dataTypes.shift();
while(current){
if(s.responseFields[current]){
jqXHR[s.responseFields[current]]=response;
}
if(!prev&&isSuccess&&s.dataFilter){
response=s.dataFilter(response,s.dataType);
}
prev=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]);
}
break;
}
}
}
}
if(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
};
}
}
}
}
}
}
return{state:"success",data:response};
}
jQuery.extend({
active:0,
lastModified:{},
etag:{},
ajaxSettings:{
url:location.href,
type:"GET",
isLocal:rlocalProtocol.test(location.protocol),
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:/\bxml\b/,
html:/\bhtml/,
json:/\bjson\b/
},
responseFields:{
xml:"responseXML",
text:"responseText",
json:"responseJSON"
},
converters:{
"* text":String,
"text html":true,
"text json":JSON.parse,
"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;
}
options=options||{};
var transport,
cacheURL,
responseHeadersString,
responseHeaders,
timeoutTimer,
urlAnchor,
completed,
fireGlobals,
i,
uncached,
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={},
strAbort="canceled",
jqXHR={
readyState:0,
getResponseHeader:function(key){
var match;
if(completed){
if(!responseHeaders){
responseHeaders={};
while((match=rheaders.exec(responseHeadersString))){
responseHeaders[match[1].toLowerCase()+" "]=
(responseHeaders[match[1].toLowerCase()+" "]||[])
.concat(match[2]);
}
}
match=responseHeaders[key.toLowerCase()+" "];
}
return match==null?null:match.join(", ");
},
getAllResponseHeaders:function(){
return completed?responseHeadersString:null;
},
setRequestHeader:function(name,value){
if(completed==null){
name=requestHeadersNames[name.toLowerCase()]=
requestHeadersNames[name.toLowerCase()]||name;
requestHeaders[name]=value;
}
return this;
},
overrideMimeType:function(type){
if(completed==null){
s.mimeType=type;
}
return this;
},
statusCode:function(map){
var code;
if(map){
if(completed){
jqXHR.always(map[jqXHR.status]);
}else{
for(code in map){
statusCode[code]=[statusCode[code],map[code]];
}
}
}
return this;
},
abort:function(statusText){
var finalText=statusText||strAbort;
if(transport){
transport.abort(finalText);
}
done(0,finalText);
return this;
}
};
deferred.promise(jqXHR);
s.url=((url||s.url||location.href)+"")
.replace(rprotocol,location.protocol+"//");
s.type=options.method||options.type||s.method||s.type;
s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""];
if(s.crossDomain==null){
urlAnchor=document.createElement("a");
try{
urlAnchor.href=s.url;
urlAnchor.href=urlAnchor.href;
s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!==
urlAnchor.protocol+"//"+urlAnchor.host;
}catch(e){
s.crossDomain=true;
}
}
if(s.data&&s.processData&&typeof s.data!=="string"){
s.data=jQuery.param(s.data,s.traditional);
}
inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);
if(completed){
return jqXHR;
}
fireGlobals=jQuery.event&&s.global;
if(fireGlobals&&jQuery.active++===0){
jQuery.event.trigger("ajaxStart");
}
s.type=s.type.toUpperCase();
s.hasContent=!rnoContent.test(s.type);
cacheURL=s.url.replace(rhash,"");
if(!s.hasContent){
uncached=s.url.slice(cacheURL.length);
if(s.data&&(s.processData||typeof s.data==="string")){
cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data;
delete s.data;
}
if(s.cache===false){
cacheURL=cacheURL.replace(rantiCache,"$1");
uncached=(rquery.test(cacheURL)?"&":"?")+"_="+(nonce.guid++)+
uncached;
}
s.url=cacheURL+uncached;
}else if(s.data&&s.processData&&
(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0){
s.data=s.data.replace(r20,"+");
}
if(s.ifModified){
if(jQuery.lastModified[cacheURL]){
jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]);
}
if(jQuery.etag[cacheURL]){
jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL]);
}
}
if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){
jqXHR.setRequestHeader("Content-Type",s.contentType);
}
jqXHR.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]);
}
if(s.beforeSend&&
(s.beforeSend.call(callbackContext,jqXHR,s)===false||completed)){
return jqXHR.abort();
}
strAbort="abort";
completeDeferred.add(s.complete);
jqXHR.done(s.success);
jqXHR.fail(s.error);
transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);
if(!transport){
done(-1,"No Transport");
}else{
jqXHR.readyState=1;
if(fireGlobals){
globalEventContext.trigger("ajaxSend",[jqXHR,s]);
}
if(completed){
return jqXHR;
}
if(s.async&&s.timeout>0){
timeoutTimer=window.setTimeout(function(){
jqXHR.abort("timeout");
},s.timeout);
}
try{
completed=false;
transport.send(requestHeaders,done);
}catch(e){
if(completed){
throw e;
}
done(-1,e);
}
}
function done(status,nativeStatusText,responses,headers){
var isSuccess,success,error,response,modified,
statusText=nativeStatusText;
if(completed){
return;
}
completed=true;
if(timeoutTimer){
window.clearTimeout(timeoutTimer);
}
transport=undefined;
responseHeadersString=headers||"";
jqXHR.readyState=status>0?4:0;
isSuccess=status>=200&&status<300||status===304;
if(responses){
response=ajaxHandleResponses(s,jqXHR,responses);
}
if(!isSuccess&&
jQuery.inArray("script",s.dataTypes)>-1&&
jQuery.inArray("json",s.dataTypes)<0){
s.converters["text script"]=function(){};
}
response=ajaxConvert(s,response,jqXHR,isSuccess);
if(isSuccess){
if(s.ifModified){
modified=jqXHR.getResponseHeader("Last-Modified");
if(modified){
jQuery.lastModified[cacheURL]=modified;
}
modified=jqXHR.getResponseHeader("etag");
if(modified){
jQuery.etag[cacheURL]=modified;
}
}
if(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;
}
}
}
jqXHR.status=status;
jqXHR.statusText=(nativeStatusText||statusText)+"";
if(isSuccess){
deferred.resolveWith(callbackContext,[success,statusText,jqXHR]);
}else{
deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);
}
jqXHR.statusCode(statusCode);
statusCode=undefined;
if(fireGlobals){
globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",
[jqXHR,s,isSuccess?success:error]);
}
completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);
if(fireGlobals){
globalEventContext.trigger("ajaxComplete",[jqXHR,s]);
if(!(--jQuery.active)){
jQuery.event.trigger("ajaxStop");
}
}
}
return 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(isFunction(data)){
type=type||callback;
callback=data;
data=undefined;
}
return jQuery.ajax(jQuery.extend({
url:url,
type:method,
dataType:type,
data:data,
success:callback
},jQuery.isPlainObject(url)&&url));
};
});
jQuery.ajaxPrefilter(function(s){
var i;
for(i in s.headers){
if(i.toLowerCase()==="content-type"){
s.contentType=s.headers[i]||"";
}
}
});
jQuery._evalUrl=function(url,options,doc){
return jQuery.ajax({
url:url,
type:"GET",
dataType:"script",
cache:true,
async:false,
global:false,
converters:{
"text script":function(){}
},
dataFilter:function(response){
jQuery.globalEval(response,options,doc);
}
});
};
jQuery.fn.extend({
wrapAll:function(html){
var wrap;
if(this[0]){
if(isFunction(html)){
html=html.call(this[0]);
}
wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);
if(this[0].parentNode){
wrap.insertBefore(this[0]);
}
wrap.map(function(){
var elem=this;
while(elem.firstElementChild){
elem=elem.firstElementChild;
}
return elem;
}).append(this);
}
return this;
},
wrapInner:function(html){
if(isFunction(html)){
return this.each(function(i){
jQuery(this).wrapInner(html.call(this,i));
});
}
return this.each(function(){
var self=jQuery(this),
contents=self.contents();
if(contents.length){
contents.wrapAll(html);
}else{
self.append(html);
}
});
},
wrap:function(html){
var htmlIsFunction=isFunction(html);
return this.each(function(i){
jQuery(this).wrapAll(htmlIsFunction?html.call(this,i):html);
});
},
unwrap:function(selector){
this.parent(selector).not("body").each(function(){
jQuery(this).replaceWith(this.childNodes);
});
return this;
}
});
jQuery.expr.pseudos.hidden=function(elem){
return!jQuery.expr.pseudos.visible(elem);
};
jQuery.expr.pseudos.visible=function(elem){
return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length);
};
jQuery.ajaxSettings.xhr=function(){
try{
return new window.XMLHttpRequest();
}catch(e){}
};
var xhrSuccessStatus={
0:200,
1223:204
},
xhrSupported=jQuery.ajaxSettings.xhr();
support.cors=!!xhrSupported&&("withCredentials"in xhrSupported);
support.ajax=xhrSupported=!!xhrSupported;
jQuery.ajaxTransport(function(options){
var callback,errorCallback;
if(support.cors||xhrSupported&&!options.crossDomain){
return{
send:function(headers,complete){
var i,
xhr=options.xhr();
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];
}
}
if(options.mimeType&&xhr.overrideMimeType){
xhr.overrideMimeType(options.mimeType);
}
if(!options.crossDomain&&!headers["X-Requested-With"]){
headers["X-Requested-With"]="XMLHttpRequest";
}
for(i in headers){
xhr.setRequestHeader(i,headers[i]);
}
callback=function(type){
return function(){
if(callback){
callback=errorCallback=xhr.onload=
xhr.onerror=xhr.onabort=xhr.ontimeout=
xhr.onreadystatechange=null;
if(type==="abort"){
xhr.abort();
}else if(type==="error"){
if(typeof xhr.status!=="number"){
complete(0,"error");
}else{
complete(
xhr.status,
xhr.statusText
);
}
}else{
complete(
xhrSuccessStatus[xhr.status]||xhr.status,
xhr.statusText,
(xhr.responseType||"text")!=="text"||
typeof xhr.responseText!=="string"?
{binary:xhr.response}:
{text:xhr.responseText},
xhr.getAllResponseHeaders()
);
}
}
};
};
xhr.onload=callback();
errorCallback=xhr.onerror=xhr.ontimeout=callback("error");
if(xhr.onabort!==undefined){
xhr.onabort=errorCallback;
}else{
xhr.onreadystatechange=function(){
if(xhr.readyState===4){
window.setTimeout(function(){
if(callback){
errorCallback();
}
});
}
};
}
callback=callback("abort");
try{
xhr.send(options.hasContent&&options.data||null);
}catch(e){
if(callback){
throw e;
}
}
},
abort:function(){
if(callback){
callback();
}
}
};
}
});
jQuery.ajaxPrefilter(function(s){
if(s.crossDomain){
s.contents.script=false;
}
});
jQuery.ajaxSetup({
accepts:{
script:"text/javascript, application/javascript, "+
"application/ecmascript, application/x-ecmascript"
},
contents:{
script:/\b(?:java|ecma)script\b/
},
converters:{
"text script":function(text){
jQuery.globalEval(text);
return text;
}
}
});
jQuery.ajaxPrefilter("script",function(s){
if(s.cache===undefined){
s.cache=false;
}
if(s.crossDomain){
s.type="GET";
}
});
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();
}
}
};
}
});
var oldCallbacks=[],
rjsonp=/(=)\?(?=&|$)|\?\?/;
jQuery.ajaxSetup({
jsonp:"callback",
jsonpCallback:function(){
var callback=oldCallbacks.pop()||(jQuery.expando+"_"+(nonce.guid++));
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")===0&&
rjsonp.test(s.data)&&"data"
);
if(jsonProp||s.dataTypes[0]==="jsonp"){
callbackName=s.jsonpCallback=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;
}
s.converters["script json"]=function(){
if(!responseContainer){
jQuery.error(callbackName+" was not called");
}
return responseContainer[0];
};
s.dataTypes[0]="json";
overwritten=window[callbackName];
window[callbackName]=function(){
responseContainer=arguments;
};
jqXHR.always(function(){
if(overwritten===undefined){
jQuery(window).removeProp(callbackName);
}else{
window[callbackName]=overwritten;
}
if(s[callbackName]){
s.jsonpCallback=originalSettings.jsonpCallback;
oldCallbacks.push(callbackName);
}
if(responseContainer&&isFunction(overwritten)){
overwritten(responseContainer[0]);
}
responseContainer=overwritten=undefined;
});
return"script";
}
});
support.createHTMLDocument=(function(){
var body=document.implementation.createHTMLDocument("").body;
body.innerHTML="<form></form><form></form>";
return body.childNodes.length===2;
})();
jQuery.parseHTML=function(data,context,keepScripts){
if(typeof data!=="string"){
return[];
}
if(typeof context==="boolean"){
keepScripts=context;
context=false;
}
var base,parsed,scripts;
if(!context){
if(support.createHTMLDocument){
context=document.implementation.createHTMLDocument("");
base=context.createElement("base");
base.href=document.location.href;
context.head.appendChild(base);
}else{
context=document;
}
}
parsed=rsingleTag.exec(data);
scripts=!keepScripts&&[];
if(parsed){
return[context.createElement(parsed[1])];
}
parsed=buildFragment([data],context,scripts);
if(scripts&&scripts.length){
jQuery(scripts).remove();
}
return jQuery.merge([],parsed.childNodes);
};
jQuery.fn.load=function(url,params,callback){
var selector,type,response,
self=this,
off=url.indexOf(" ");
if(off>-1){
selector=stripAndCollapse(url.slice(off));
url=url.slice(0,off);
}
if(isFunction(params)){
callback=params;
params=undefined;
}else if(params&&typeof params==="object"){
type="POST";
}
if(self.length>0){
jQuery.ajax({
url:url,
type:type||"GET",
dataType:"html",
data:params
}).done(function(responseText){
response=arguments;
self.html(selector?
jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):
responseText);
}).always(callback&&function(jqXHR,status){
self.each(function(){
callback.apply(this,response||[jqXHR.responseText,status,jqXHR]);
});
});
}
return this;
};
jQuery.expr.pseudos.animated=function(elem){
return jQuery.grep(jQuery.timers,function(fn){
return elem===fn.elem;
}).length;
};
jQuery.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";
}
curOffset=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;
}
if(isFunction(options)){
options=options.call(elem,i,jQuery.extend({},curOffset));
}
if(options.top!=null){
props.top=(options.top-curOffset.top)+curTop;
}
if(options.left!=null){
props.left=(options.left-curOffset.left)+curLeft;
}
if("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);
});
}
var rect,win,
elem=this[0];
if(!elem){
return;
}
if(!elem.getClientRects().length){
return{top:0,left:0};
}
rect=elem.getBoundingClientRect();
win=elem.ownerDocument.defaultView;
return{
top:rect.top+win.pageYOffset,
left:rect.left+win.pageXOffset
};
},
position:function(){
if(!this[0]){
return;
}
var offsetParent,offset,doc,
elem=this[0],
parentOffset={top:0,left:0};
if(jQuery.css(elem,"position")==="fixed"){
offset=elem.getBoundingClientRect();
}else{
offset=this.offset();
doc=elem.ownerDocument;
offsetParent=elem.offsetParent||doc.documentElement;
while(offsetParent&&
(offsetParent===doc.body||offsetParent===doc.documentElement)&&
jQuery.css(offsetParent,"position")==="static"){
offsetParent=offsetParent.parentNode;
}
if(offsetParent&&offsetParent!==elem&&offsetParent.nodeType===1){
parentOffset=jQuery(offsetParent).offset();
parentOffset.top+=jQuery.css(offsetParent,"borderTopWidth",true);
parentOffset.left+=jQuery.css(offsetParent,"borderLeftWidth",true);
}
}
return{
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;
while(offsetParent&&jQuery.css(offsetParent,"position")==="static"){
offsetParent=offsetParent.offsetParent;
}
return offsetParent||documentElement;
});
}
});
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;
if(isWindow(elem)){
win=elem;
}else if(elem.nodeType===9){
win=elem.defaultView;
}
if(val===undefined){
return win?win[prop]:elem[method];
}
if(win){
win.scrollTo(
!top?val:win.pageXOffset,
top?val:win.pageYOffset
);
}else{
elem[method]=val;
}
},method,val,arguments.length);
};
});
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;
if(isWindow(elem)){
return funcName.indexOf("outer")===0?
elem["inner"+name]:
elem.document.documentElement["client"+name];
}
if(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]
);
}
return value===undefined?
jQuery.css(elem,type,extra):
jQuery.style(elem,type,value,extra);
},type,chainable?margin:undefined,chainable);
};
});
});
jQuery.each([
"ajaxStart",
"ajaxStop",
"ajaxComplete",
"ajaxError",
"ajaxSuccess",
"ajaxSend"
],function(_i,type){
jQuery.fn[type]=function(fn){
return this.on(type,fn);
};
});
jQuery.fn.extend({
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);
},
hover:function(fnOver,fnOut){
return this.mouseenter(fnOver).mouseleave(fnOut||fnOver);
}
});
jQuery.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(_i,name){
jQuery.fn[name]=function(data,fn){
return arguments.length>0?
this.on(name,null,data,fn):
this.trigger(name);
};
}
);
var rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
jQuery.proxy=function(fn,context){
var tmp,args,proxy;
if(typeof context==="string"){
tmp=fn[context];
context=fn;
fn=tmp;
}
if(!isFunction(fn)){
return undefined;
}
args=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;
};
jQuery.holdReady=function(hold){
if(hold){
jQuery.readyWait++;
}else{
jQuery.ready(true);
}
};
jQuery.isArray=Array.isArray;
jQuery.parseJSON=JSON.parse;
jQuery.nodeName=nodeName;
jQuery.isFunction=isFunction;
jQuery.isWindow=isWindow;
jQuery.camelCase=camelCase;
jQuery.type=toType;
jQuery.now=Date.now;
jQuery.isNumeric=function(obj){
var type=jQuery.type(obj);
return(type==="number"||type==="string")&&
!isNaN(obj-parseFloat(obj));
};
jQuery.trim=function(text){
return text==null?
"":
(text+"").replace(rtrim,"");
};
if(typeof define==="function"&&define.amd){
define("jquery",[],function(){
return jQuery;
});
}
var
_jQuery=window.jQuery,
_$=window.$;
jQuery.noConflict=function(deep){
if(window.$===jQuery){
window.$=_$;
}
if(deep&&window.jQuery===jQuery){
window.jQuery=_jQuery;
}
return jQuery;
};
if(typeof noGlobal==="undefined"){
window.jQuery=window.$=jQuery;
}
return jQuery;
});


/* ../prive/javascript/jquery.form.js?1672674102 */

(function(factory){
if(typeof define==='function'&&define.amd){
define(['jquery'],factory);
}else if(typeof module==='object'&&module.exports){
module.exports=function(root,jQuery){
if(typeof jQuery==='undefined'){
if(typeof window!=='undefined'){
jQuery=require('jquery');
}
else{
jQuery=require('jquery')(root);
}
}
factory(jQuery);
return jQuery;
};
}else{
factory(jQuery);
}
}(function($){
'use strict';
var rCRLF=/\r?\n/g;
var feature={};
feature.fileapi=$('<input type="file">').get(0).files!==undefined;
feature.formdata=(typeof window.FormData!=='undefined');
var hasProp=!!$.fn.prop;
$.fn.attr2=function(){
if(!hasProp){
return this.attr.apply(this,arguments);
}
var val=this.prop.apply(this,arguments);
if((val&&val.jquery)||typeof val==='string'){
return val;
}
return this.attr.apply(this,arguments);
};
$.fn.ajaxSubmit=function(options,data,dataType,onSuccess){
if(!this.length){
log('ajaxSubmit: skipping submit process - no element selected');
return this;
}
var method,action,url,isMsie,iframeSrc,$form=this;
if(typeof options==='function'){
options={success:options};
}else if(typeof options==='string'||(options===false&&arguments.length>0)){
options={
'url':options,
'data':data,
'dataType':dataType
};
if(typeof onSuccess==='function'){
options.success=onSuccess;
}
}else if(typeof options==='undefined'){
options={};
}
method=options.method||options.type||this.attr2('method');
action=options.url||this.attr2('action');
url=(typeof action==='string')?$.trim(action):'';
url=url||window.location.href||'';
if(url){
url=(url.match(/^([^#]+)/)||[])[1];
}
isMsie=/(MSIE|Trident)/.test(navigator.userAgent||'');
iframeSrc=(isMsie&&/^https/i.test(window.location.href||''))?'javascript:false':'about:blank';
options=$.extend(true,{
url:url,
success:$.ajaxSettings.success,
type:method||$.ajaxSettings.type,
iframeSrc:iframeSrc
},options);
var veto={};
this.trigger('form-pre-serialize',[this,options,veto]);
if(veto.veto){
log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
return this;
}
if(options.beforeSerialize&&options.beforeSerialize(this,options)===false){
log('ajaxSubmit: submit aborted via beforeSerialize callback');
return this;
}
var traditional=options.traditional;
if(typeof traditional==='undefined'){
traditional=$.ajaxSettings.traditional;
}
var elements=[];
var qx,a=this.formToArray(options.semantic,elements,options.filtering);
if(options.data){
var optionsData=$.isFunction(options.data)?options.data(a):options.data;
options.extraData=optionsData;
qx=$.param(optionsData,traditional);
}
if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){
log('ajaxSubmit: submit aborted via beforeSubmit callback');
return this;
}
this.trigger('form-submit-validate',[a,this,options,veto]);
if(veto.veto){
log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
return this;
}
var q=$.param(a,traditional);
if(qx){
q=(q?(q+'&'+qx):qx);
}
if(options.type.toUpperCase()==='GET'){
options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;
options.data=null;
}else{
options.data=q;
}
var callbacks=[];
if(options.resetForm){
callbacks.push(function(){
$form.resetForm();
});
}
if(options.clearForm){
callbacks.push(function(){
$form.clearForm(options.includeHidden);
});
}
if(!options.dataType&&options.target){
var oldSuccess=options.success||function(){};
callbacks.push(function(data,textStatus,jqXHR){
var successArguments=arguments,
fn=options.replaceTarget?'replaceWith':'html';
if(fn=='html'){
data=$.parseHTML($("<div>").text(data).html())
};
$(options.target)[fn](data).each(function(){
oldSuccess.apply(this,successArguments);
});
});
}else if(options.success){
if($.isArray(options.success)){
$.merge(callbacks,options.success);
}else{
callbacks.push(options.success);
}
}
options.success=function(data,status,xhr){
var context=options.context||this;
for(var i=0,max=callbacks.length;i<max;i++){
callbacks[i].apply(context,[data,status,xhr||$form,$form]);
}
};
if(options.error){
var oldError=options.error;
options.error=function(xhr,status,error){
var context=options.context||this;
oldError.apply(context,[xhr,status,error,$form]);
};
}
if(options.complete){
var oldComplete=options.complete;
options.complete=function(xhr,status){
var context=options.context||this;
oldComplete.apply(context,[xhr,status,$form]);
};
}
var fileInputs=$('input[type=file]:enabled',this).filter(function(){
return $(this).val()!=='';
});
var hasFileInputs=fileInputs.length>0;
var mp='multipart/form-data';
var multipart=($form.attr('enctype')===mp||$form.attr('encoding')===mp);
var fileAPI=feature.fileapi&&feature.formdata;
log('fileAPI :'+fileAPI);
var shouldUseFrame=(hasFileInputs||multipart)&&!fileAPI;
var jqxhr;
if(options.iframe!==false&&(options.iframe||shouldUseFrame)){
if(options.closeKeepAlive){
$.get(options.closeKeepAlive,function(){
jqxhr=fileUploadIframe(a);
});
}else{
jqxhr=fileUploadIframe(a);
}
}else if((hasFileInputs||multipart)&&fileAPI){
jqxhr=fileUploadXhr(a);
}else{
jqxhr=$.ajax(options);
}
$form.removeData('jqxhr').data('jqxhr',jqxhr);
for(var k=0;k<elements.length;k++){
elements[k]=null;
}
this.trigger('form-submit-notify',[this,options]);
return this;
function deepSerialize(extraData){
var serialized=$.param(extraData,options.traditional).split('&');
var len=serialized.length;
var result=[];
var i,part;
for(i=0;i<len;i++){
serialized[i]=serialized[i].replace(/\+/g,' ');
part=serialized[i].split('=');
result.push([decodeURIComponent(part[0]),decodeURIComponent(part[1])]);
}
return result;
}
function fileUploadXhr(a){
var formdata=new FormData();
for(var i=0;i<a.length;i++){
formdata.append(a[i].name,a[i].value);
}
if(options.extraData){
var serializedData=deepSerialize(options.extraData);
for(i=0;i<serializedData.length;i++){
if(serializedData[i]){
formdata.append(serializedData[i][0],serializedData[i][1]);
}
}
}
options.data=null;
var s=$.extend(true,{},$.ajaxSettings,options,{
contentType:false,
processData:false,
cache:false,
type:method||'POST'
});
if(options.uploadProgress){
s.xhr=function(){
var xhr=$.ajaxSettings.xhr();
if(xhr.upload){
xhr.upload.addEventListener('progress',function(event){
var percent=0;
var position=event.loaded||event.position;
var total=event.total;
if(event.lengthComputable){
percent=Math.ceil(position/total*100);
}
options.uploadProgress(event,position,total,percent);
},false);
}
return xhr;
};
}
s.data=null;
var beforeSend=s.beforeSend;
s.beforeSend=function(xhr,o){
if(options.formData){
o.data=options.formData;
}else{
o.data=formdata;
}
if(beforeSend){
beforeSend.call(this,xhr,o);
}
};
return $.ajax(s);
}
function fileUploadIframe(a){
var form=$form[0],el,i,s,g,id,$io,io,xhr,sub,n,timedOut,timeoutHandle;
var deferred=$.Deferred();
deferred.abort=function(status){
xhr.abort(status);
};
if(a){
for(i=0;i<elements.length;i++){
el=$(elements[i]);
if(hasProp){
el.prop('disabled',false);
}else{
el.removeAttr('disabled');
}
}
}
s=$.extend(true,{},$.ajaxSettings,options);
s.context=s.context||s;
id='jqFormIO'+new Date().getTime();
var ownerDocument=form.ownerDocument;
var $body=$form.closest('body');
if(s.iframeTarget){
$io=$(s.iframeTarget,ownerDocument);
n=$io.attr2('name');
if(!n){
$io.attr2('name',id);
}else{
id=n;
}
}else{
$io=$('<iframe name="'+id+'" src="'+s.iframeSrc+'" />',ownerDocument);
$io.css({position:'absolute',top:'-1000px',left:'-1000px'});
}
io=$io[0];
xhr={
aborted:0,
responseText:null,
responseXML:null,
status:0,
statusText:'n/a',
getAllResponseHeaders:function(){},
getResponseHeader:function(){},
setRequestHeader:function(){},
abort:function(status){
var e=(status==='timeout'?'timeout':'aborted');
log('aborting upload... '+e);
this.aborted=1;
try{
if(io.contentWindow.document.execCommand){
io.contentWindow.document.execCommand('Stop');
}
}catch(ignore){}
$io.attr('src',s.iframeSrc);
xhr.error=e;
if(s.error){
s.error.call(s.context,xhr,e,status);
}
if(g){
$.event.trigger('ajaxError',[xhr,s,e]);
}
if(s.complete){
s.complete.call(s.context,xhr,e);
}
}
};
g=s.global;
if(g&&$.active++===0){
$.event.trigger('ajaxStart');
}
if(g){
$.event.trigger('ajaxSend',[xhr,s]);
}
if(s.beforeSend&&s.beforeSend.call(s.context,xhr,s)===false){
if(s.global){
$.active--;
}
deferred.reject();
return deferred;
}
if(xhr.aborted){
deferred.reject();
return deferred;
}
sub=form.clk;
if(sub){
n=sub.name;
if(n&&!sub.disabled){
s.extraData=s.extraData||{};
s.extraData[n]=sub.value;
if(sub.type==='image'){
s.extraData[n+'.x']=form.clk_x;
s.extraData[n+'.y']=form.clk_y;
}
}
}
var CLIENT_TIMEOUT_ABORT=1;
var SERVER_ABORT=2;
function getDoc(frame){
var doc=null;
try{
if(frame.contentWindow){
doc=frame.contentWindow.document;
}
}catch(err){
log('cannot get iframe.contentWindow document: '+err);
}
if(doc){
return doc;
}
try{
doc=frame.contentDocument?frame.contentDocument:frame.document;
}catch(err){
log('cannot get iframe.contentDocument: '+err);
doc=frame.document;
}
return doc;
}
var csrf_token=$('meta[name=csrf-token]').attr('content');
var csrf_param=$('meta[name=csrf-param]').attr('content');
if(csrf_param&&csrf_token){
s.extraData=s.extraData||{};
s.extraData[csrf_param]=csrf_token;
}
function doSubmit(){
var t=$form.attr2('target'),
a=$form.attr2('action'),
mp='multipart/form-data',
et=$form.attr('enctype')||$form.attr('encoding')||mp;
form.setAttribute('target',id);
if(!method||/post/i.test(method)){
form.setAttribute('method','POST');
}
if(a!==s.url){
form.setAttribute('action',s.url);
}
if(!s.skipEncodingOverride&&(!method||/post/i.test(method))){
$form.attr({
encoding:'multipart/form-data',
enctype:'multipart/form-data'
});
}
if(s.timeout){
timeoutHandle=setTimeout(function(){
timedOut=true;cb(CLIENT_TIMEOUT_ABORT);
},s.timeout);
}
function checkState(){
try{
var state=getDoc(io).readyState;
log('state = '+state);
if(state&&state.toLowerCase()==='uninitialized'){
setTimeout(checkState,50);
}
}catch(e){
log('Server abort: ',e,' (',e.name,')');
cb(SERVER_ABORT);
if(timeoutHandle){
clearTimeout(timeoutHandle);
}
timeoutHandle=undefined;
}
}
var extraInputs=[];
try{
if(s.extraData){
for(var n in s.extraData){
if(s.extraData.hasOwnProperty(n)){
if($.isPlainObject(s.extraData[n])&&s.extraData[n].hasOwnProperty('name')&&s.extraData[n].hasOwnProperty('value')){
extraInputs.push(
$('<input type="hidden" name="'+s.extraData[n].name+'">',ownerDocument).val(s.extraData[n].value)
.appendTo(form)[0]);
}else{
extraInputs.push(
$('<input type="hidden" name="'+n+'">',ownerDocument).val(s.extraData[n])
.appendTo(form)[0]);
}
}
}
}
if(!s.iframeTarget){
$io.appendTo($body);
}
if(io.attachEvent){
io.attachEvent('onload',cb);
}else{
io.addEventListener('load',cb,false);
}
setTimeout(checkState,15);
try{
form.submit();
}catch(err){
var submitFn=document.createElement('form').submit;
submitFn.apply(form);
}
}finally{
form.setAttribute('action',a);
form.setAttribute('enctype',et);
if(t){
form.setAttribute('target',t);
}else{
$form.removeAttr('target');
}
$(extraInputs).remove();
}
}
if(s.forceSync){
doSubmit();
}else{
setTimeout(doSubmit,10);
}
var data,doc,domCheckCount=50,callbackProcessed;
function cb(e){
if(xhr.aborted||callbackProcessed){
return;
}
doc=getDoc(io);
if(!doc){
log('cannot access response document');
e=SERVER_ABORT;
}
if(e===CLIENT_TIMEOUT_ABORT&&xhr){
xhr.abort('timeout');
deferred.reject(xhr,'timeout');
return;
}
if(e===SERVER_ABORT&&xhr){
xhr.abort('server abort');
deferred.reject(xhr,'error','server abort');
return;
}
if(!doc||doc.location.href===s.iframeSrc){
if(!timedOut){
return;
}
}
if(io.detachEvent){
io.detachEvent('onload',cb);
}else{
io.removeEventListener('load',cb,false);
}
var status='success',errMsg;
try{
if(timedOut){
throw'timeout';
}
var isXml=s.dataType==='xml'||doc.XMLDocument||$.isXMLDoc(doc);
log('isXml='+isXml);
if(!isXml&&window.opera&&(doc.body===null||!doc.body.innerHTML)){
if(--domCheckCount){
log('requeing onLoad callback, DOM not available');
setTimeout(cb,250);
return;
}
}
var docRoot=doc.body?doc.body:doc.documentElement;
xhr.responseText=docRoot?docRoot.innerHTML:null;
xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;
if(isXml){
s.dataType='xml';
}
xhr.getResponseHeader=function(header){
var headers={'content-type':s.dataType};
return headers[header.toLowerCase()];
};
if(docRoot){
xhr.status=Number(docRoot.getAttribute('status'))||xhr.status;
xhr.statusText=docRoot.getAttribute('statusText')||xhr.statusText;
}
var dt=(s.dataType||'').toLowerCase();
var scr=/(json|script|text)/.test(dt);
if(scr||s.textarea){
var ta=doc.getElementsByTagName('textarea')[0];
if(ta){
xhr.responseText=ta.value;
xhr.status=Number(ta.getAttribute('status'))||xhr.status;
xhr.statusText=ta.getAttribute('statusText')||xhr.statusText;
}else if(scr){
var pre=doc.getElementsByTagName('pre')[0];
var b=doc.getElementsByTagName('body')[0];
if(pre){
xhr.responseText=pre.textContent?pre.textContent:pre.innerText;
}else if(b){
xhr.responseText=b.textContent?b.textContent:b.innerText;
}
}
}else if(dt==='xml'&&!xhr.responseXML&&xhr.responseText){
xhr.responseXML=toXml(xhr.responseText);
}
try{
data=httpData(xhr,dt,s);
}catch(err){
status='parsererror';
xhr.error=errMsg=(err||status);
}
}catch(err){
log('error caught: ',err);
status='error';
xhr.error=errMsg=(err||status);
}
if(xhr.aborted){
log('upload aborted');
status=null;
}
if(xhr.status){
status=((xhr.status>=200&&xhr.status<300)||xhr.status===304)?'success':'error';
}
if(status==='success'){
if(s.success){
s.success.call(s.context,data,'success',xhr);
}
deferred.resolve(xhr.responseText,'success',xhr);
if(g){
$.event.trigger('ajaxSuccess',[xhr,s]);
}
}else if(status){
if(typeof errMsg==='undefined'){
errMsg=xhr.statusText;
}
if(s.error){
s.error.call(s.context,xhr,status,errMsg);
}
deferred.reject(xhr,'error',errMsg);
if(g){
$.event.trigger('ajaxError',[xhr,s,errMsg]);
}
}
if(g){
$.event.trigger('ajaxComplete',[xhr,s]);
}
if(g&&!--$.active){
$.event.trigger('ajaxStop');
}
if(s.complete){
s.complete.call(s.context,xhr,status);
}
callbackProcessed=true;
if(s.timeout){
clearTimeout(timeoutHandle);
}
setTimeout(function(){
if(!s.iframeTarget){
$io.remove();
}else{
$io.attr('src',s.iframeSrc);
}
xhr.responseXML=null;
},100);
}
var toXml=$.parseXML||function(s,doc){
if(window.ActiveXObject){
doc=new ActiveXObject('Microsoft.XMLDOM');
doc.async='false';
doc.loadXML(s);
}else{
doc=(new DOMParser()).parseFromString(s,'text/xml');
}
return(doc&&doc.documentElement&&doc.documentElement.nodeName!=='parsererror')?doc:null;
};
var parseJSON=$.parseJSON||function(s){
window.console.error('jquery.parseJSON is undefined');
return null;
};
var httpData=function(xhr,type,s){
var ct=xhr.getResponseHeader('content-type')||'',
xml=((type==='xml'||!type)&&ct.indexOf('xml')>=0),
data=xml?xhr.responseXML:xhr.responseText;
if(xml&&data.documentElement.nodeName==='parsererror'){
if($.error){
$.error('parsererror');
}
}
if(s&&s.dataFilter){
data=s.dataFilter(data,type);
}
if(typeof data==='string'){
if((type==='json'||!type)&&ct.indexOf('json')>=0){
data=parseJSON(data);
}else if((type==='script'||!type)&&ct.indexOf('javascript')>=0){
$.globalEval(data);
}
}
return data;
};
return deferred;
}
};
$.fn.ajaxForm=function(options,data,dataType,onSuccess){
if(typeof options==='string'||(options===false&&arguments.length>0)){
options={
'url':options,
'data':data,
'dataType':dataType
};
if(typeof onSuccess==='function'){
options.success=onSuccess;
}
}
options=options||{};
options.delegation=options.delegation&&$.isFunction($.fn.on);
if(!options.delegation&&this.length===0){
var o={s:this.selector,c:this.context};
if(!$.isReady&&o.s){
log('DOM not ready, queuing ajaxForm');
$(function(){
$(o.s,o.c).ajaxForm(options);
});
return this;
}
log('terminating; zero elements found by selector'+($.isReady?'':' (DOM not ready)'));
return this;
}
if(options.delegation){
$(document)
.off('submit.form-plugin',this.selector,doAjaxSubmit)
.off('click.form-plugin',this.selector,captureSubmittingElement)
.on('submit.form-plugin',this.selector,options,doAjaxSubmit)
.on('click.form-plugin',this.selector,options,captureSubmittingElement);
return this;
}
if(options.beforeFormUnbind){
options.beforeFormUnbind(this,options);
}
return this.ajaxFormUnbind()
.on('submit.form-plugin',options,doAjaxSubmit)
.on('click.form-plugin',options,captureSubmittingElement);
};
function doAjaxSubmit(e){
var options=e.data;
if(!e.isDefaultPrevented()){
e.preventDefault();
$(e.target).closest('form').ajaxSubmit(options);
}
}
function captureSubmittingElement(e){
var target=e.target;
var $el=$(target);
if(!$el.is('[type=submit],[type=image]')){
var t=$el.closest('[type=submit]');
if(t.length===0){
return;
}
target=t[0];
}
var form=target.form;
form.clk=target;
if(target.type==='image'){
if(typeof e.offsetX!=='undefined'){
form.clk_x=e.offsetX;
form.clk_y=e.offsetY;
}else if(typeof $.fn.offset==='function'){
var offset=$el.offset();
form.clk_x=e.pageX-offset.left;
form.clk_y=e.pageY-offset.top;
}else{
form.clk_x=e.pageX-target.offsetLeft;
form.clk_y=e.pageY-target.offsetTop;
}
}
setTimeout(function(){
form.clk=form.clk_x=form.clk_y=null;
},100);
}
$.fn.ajaxFormUnbind=function(){
return this.off('submit.form-plugin click.form-plugin');
};
$.fn.formToArray=function(semantic,elements,filtering){
var a=[];
if(this.length===0){
return a;
}
var form=this[0];
var formId=this.attr('id');
var els=(semantic||typeof form.elements==='undefined')?form.getElementsByTagName('*'):form.elements;
var els2;
if(els){
els=$.makeArray(els);
}
if(formId&&(semantic||/(Edge|Trident)\//.test(navigator.userAgent))){
els2=$(':input[form="'+formId+'"]').get();
if(els2.length){
els=(els||[]).concat(els2);
}
}
if(!els||!els.length){
return a;
}
if($.isFunction(filtering)){
els=$.map(els,filtering);
}
var i,j,n,v,el,max,jmax;
for(i=0,max=els.length;i<max;i++){
el=els[i];
n=el.name;
if(!n||el.disabled){
continue;
}
if(semantic&&form.clk&&el.type==='image'){
if(form.clk===el){
a.push({name:n,value:$(el).val(),type:el.type});
a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
}
continue;
}
v=$.fieldValue(el,true);
if(v&&v.constructor===Array){
if(elements){
elements.push(el);
}
for(j=0,jmax=v.length;j<jmax;j++){
a.push({name:n,value:v[j]});
}
}else if(feature.fileapi&&el.type==='file'){
if(elements){
elements.push(el);
}
var files=el.files;
if(files.length){
for(j=0;j<files.length;j++){
a.push({name:n,value:files[j],type:el.type});
}
}else{
a.push({name:n,value:'',type:el.type});
}
}else if(v!==null&&typeof v!=='undefined'){
if(elements){
elements.push(el);
}
a.push({name:n,value:v,type:el.type,required:el.required});
}
}
if(!semantic&&form.clk){
var $input=$(form.clk),input=$input[0];
n=input.name;
if(n&&!input.disabled&&input.type==='image'){
a.push({name:n,value:$input.val()});
a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
}
}
return a;
};
$.fn.formSerialize=function(semantic){
return $.param(this.formToArray(semantic));
};
$.fn.fieldSerialize=function(successful){
var a=[];
this.each(function(){
var n=this.name;
if(!n){
return;
}
var v=$.fieldValue(this,successful);
if(v&&v.constructor===Array){
for(var i=0,max=v.length;i<max;i++){
a.push({name:n,value:v[i]});
}
}else if(v!==null&&typeof v!=='undefined'){
a.push({name:this.name,value:v});
}
});
return $.param(a);
};
$.fn.fieldValue=function(successful){
for(var val=[],i=0,max=this.length;i<max;i++){
var el=this[i];
var v=$.fieldValue(el,successful);
if(v===null||typeof v==='undefined'||(v.constructor===Array&&!v.length)){
continue;
}
if(v.constructor===Array){
$.merge(val,v);
}else{
val.push(v);
}
}
return val;
};
$.fieldValue=function(el,successful){
var n=el.name,t=el.type,tag=el.tagName.toLowerCase();
if(typeof successful==='undefined'){
successful=true;
}
if(successful&&(!n||el.disabled||t==='reset'||t==='button'||
(t==='checkbox'||t==='radio')&&!el.checked||
(t==='submit'||t==='image')&&el.form&&el.form.clk!==el||
tag==='select'&&el.selectedIndex===-1)){
return null;
}
if(tag==='select'){
var index=el.selectedIndex;
if(index<0){
return null;
}
var a=[],ops=el.options;
var one=(t==='select-one');
var max=(one?index+1:ops.length);
for(var i=(one?index:0);i<max;i++){
var op=ops[i];
if(op.selected&&!op.disabled){
var v=op.value;
if(!v){
v=(op.attributes&&op.attributes.value&&!(op.attributes.value.specified))?op.text:op.value;
}
if(one){
return v;
}
a.push(v);
}
}
return a;
}
return $(el).val().replace(rCRLF,'\r\n');
};
$.fn.clearForm=function(includeHidden){
return this.each(function(){
$('input,select,textarea',this).clearFields(includeHidden);
});
};
$.fn.clearFields=$.fn.clearInputs=function(includeHidden){
var re=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;
return this.each(function(){
var t=this.type,tag=this.tagName.toLowerCase();
if(re.test(t)||tag==='textarea'){
this.value='';
}else if(t==='checkbox'||t==='radio'){
this.checked=false;
}else if(tag==='select'){
this.selectedIndex=-1;
}else if(t==='file'){
if(/MSIE/.test(navigator.userAgent)){
$(this).replaceWith($(this).clone(true));
}else{
$(this).val('');
}
}else if(includeHidden){
if((includeHidden===true&&/hidden/.test(t))||
(typeof includeHidden==='string'&&$(this).is(includeHidden))){
this.value='';
}
}
});
};
$.fn.resetForm=function(){
return this.each(function(){
var el=$(this);
var tag=this.tagName.toLowerCase();
switch(tag){
case'input':
this.checked=this.defaultChecked;
case'textarea':
this.value=this.defaultValue;
return true;
case'option':
case'optgroup':
var select=el.parents('select');
if(select.length&&select[0].multiple){
if(tag==='option'){
this.selected=this.defaultSelected;
}else{
el.find('option').resetForm();
}
}else{
select.resetForm();
}
return true;
case'select':
el.find('option').each(function(i){
this.selected=this.defaultSelected;
if(this.defaultSelected&&!el[0].multiple){
el[0].selectedIndex=i;
return false;
}
});
return true;
case'label':
var forEl=$(el.attr('for'));
var list=el.find('input,select,textarea');
if(forEl[0]){
list.unshift(forEl[0]);
}
list.resetForm();
return true;
case'form':
if(typeof this.reset==='function'||(typeof this.reset==='object'&&!this.reset.nodeType)){
this.reset();
}
return true;
default:
el.find('form,input,label,select,textarea').resetForm();
return true;
}
});
};
$.fn.enable=function(b){
if(typeof b==='undefined'){
b=true;
}
return this.each(function(){
this.disabled=!b;
});
};
$.fn.selected=function(select){
if(typeof select==='undefined'){
select=true;
}
return this.each(function(){
var t=this.type;
if(t==='checkbox'||t==='radio'){
this.checked=select;
}else if(this.tagName.toLowerCase()==='option'){
var $sel=$(this).parent('select');
if(select&&$sel[0]&&$sel[0].type==='select-one'){
$sel.find('option').selected(false);
}
this.selected=select;
}
});
};
$.fn.ajaxSubmit.debug=false;
function log(){
if(!$.fn.ajaxSubmit.debug){
return;
}
var msg='[jquery.form] '+Array.prototype.join.call(arguments,'');
if(window.console&&window.console.log){
window.console.log(msg);
}else if(window.opera&&window.opera.postError){
window.opera.postError(msg);
}
}
}));


/* ../prive/javascript/jquery.autosave.js?1672674102 */

(function($){
$.fn.autosave=function(opt){
opt=$.extend({
url:window.location,
confirm:false,
confirmstring:'Sauvegarder ?'
},opt);
var save_changed=function(){
$('form.autosavechanged')
.each(function(){
if(!opt.confirm||confirm(opt.confirmstring)){
var contenu=$(this).serialize();
var d=new Date();
contenu=contenu+"&__timestamp="+Math.round(d.getTime()/1000);
$.post(opt.url,{
'action':'session',
'var':'autosave_'+$('input[name=autosave]',this).val(),
'val':contenu
});
}
}).removeClass('autosavechanged');
};
$(window).on('unload',save_changed);
return this
.on('keyup',function(){
$(this).addClass('autosavechanged');
})
.on('change',function(){
$(this).addClass('autosavechanged');
save_changed();
})
.on('submit',function(){
save_changed();
});
};
})(jQuery);


/* ../prive/javascript/jquery.placeholder-label.js?1672674102 */

(function($){
$.placeholderLabel={
placeholder_class:null,
add_placeholder:function(){
if($(this).val()==$(this).attr('placeholder')){
$(this).val('').removeClass($.placeholderLabel.placeholder_class);
}
},
remove_placeholder:function(){
if($(this).val()==''){
$(this).val($(this).attr('placeholder')).addClass($.placeholderLabel.placeholder_class);
}
},
disable_placeholder_fields:function(){
$(this).find("input[placeholder]").each(function(){
if($(this).val()==$(this).attr('placeholder')){
$(this).val('');
}
});
return true;
}
};
$.fn.placeholderLabel=function(options){
var dummy=document.createElement('input');
if(dummy.placeholder!=undefined){
return this;
}
var config={
placeholder_class:'placeholder'
};
if(options)$.extend(config,options);
$.placeholderLabel.placeholder_class=config.placeholder_class;
this.each(function(){
var input=$(this);
input.focus($.placeholderLabel.add_placeholder);
input.blur($.placeholderLabel.remove_placeholder);
input.triggerHandler('focus');
input.triggerHandler('blur');
$(this.form).submit($.placeholderLabel.disable_placeholder_fields);
});
return this;
}
})(jQuery);


/* ../prive/javascript/ajaxCallback.js?1672674102 */
jQuery.spip=jQuery.spip||{};
jQuery.spip.log=function(){
if(jQuery.spip.debug&&window.console&&window.console.log)
window.console.log.apply(this,arguments);
}
jQuery.spip.test_espace_prive=function(){
if(typeof spipConfig.core.test_espace_prive!=undefined&&spipConfig.core.test_espace_prive){
return true;
}
return false;
}
if(!jQuery.spip.load_handlers){
jQuery.spip.load_handlers=new Array();
function onAjaxLoad(f){
jQuery.spip.load_handlers.push(f);
};
jQuery.spip.triggerAjaxLoad=function(root){
jQuery.spip.log('triggerAjaxLoad');
jQuery.spip.log(root);
for(var i=0;i<jQuery.spip.load_handlers.length;i++)
jQuery.spip.load_handlers[i].apply(root);
};
jQuery.spip.intercepted={};
jQuery.spip.intercepted.load=jQuery.fn.load;
jQuery.fn.load=function(url,params,callback){
if(typeof url!=="string"){
return jQuery.spip.intercepted.load.apply(this,arguments);
}
callback=callback||function(){};
if(params){
if(params.constructor==Function){
callback=params;
params=null;
}
}
params=jQuery.extend(params,{triggerAjaxLoad:false});
var callback2=function(){jQuery.spip.log('jQuery.load');jQuery.spip.triggerAjaxLoad(this);callback.apply(this,arguments);};
return jQuery.spip.intercepted.load.apply(this,[url,params,callback2]);
};
jQuery.spip.intercepted.ajaxSubmit=jQuery.fn.ajaxSubmit;
jQuery.fn.ajaxSubmit=function(options){
options=options||{};
if(typeof options.onAjaxLoad=="undefined"||options.onAjaxLoad!=false){
var me=jQuery(this).parents('div.ajax');
if(me.length)
me=me.parent();
else
me=document;
if(typeof options=='function')
options={success:options};
var callback=options.success||function(){};
options.success=function(){callback.apply(this,arguments);jQuery.spip.log('jQuery.ajaxSubmit');jQuery.spip.triggerAjaxLoad(me);}
}
return jQuery.spip.intercepted.ajaxSubmit.apply(this,[options]);
}
jQuery.spip.intercepted.ajax=jQuery.ajax;
jQuery.ajax=function(url,settings){
if(typeof settings=='undefined'){
settings={};
if(typeof url=='object'){
settings=url;
url=null;
}
}
if(typeof url=='string'){
settings['url']=url;
}
if(settings.data&&settings.data['triggerAjaxLoad']===false){
settings.data['triggerAjaxLoad']=null;
return jQuery.spip.intercepted.ajax(settings);
}
var s=jQuery.extend(true,{},jQuery.ajaxSettings,settings);
var callbackContext=s.context||s;
try{
if(jQuery.ajax.caller==jQuery.spip.intercepted.load||jQuery.ajax.caller==jQuery.spip.intercepted.ajaxSubmit)
return jQuery.spip.intercepted.ajax(settings);
}
catch(err){}
var orig_complete=s.complete||function(){};
settings.complete=function(res,status){
var dataType=settings.dataType;
var ct=(res&&(typeof res.getResponseHeader=='function'))
?res.getResponseHeader("content-type"):'';
var xml=!dataType&&ct&&ct.indexOf("xml")>=0;
orig_complete.call(callbackContext,res,status);
if((!dataType&&!xml)||dataType=="html"){
jQuery.spip.log('jQuery.ajax');
if(typeof s.onAjaxLoad=="undefined"||s.onAjaxLoad!=false)
jQuery.spip.triggerAjaxLoad(s.ajaxTarget?s.ajaxTarget:document);
}
};
return jQuery.spip.intercepted.ajax(settings);
};
}
jQuery.uaMatch=function(ua){
ua=ua.toLowerCase();
var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||
ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||
[];
return{
browser:match[1]||"",
version:match[2]||"0"
};
};
if(!jQuery.browser){
matched=jQuery.uaMatch(navigator.userAgent);
browser={};
if(matched.browser){
browser[matched.browser]=true;
browser.version=matched.version;
}
if(browser.chrome){
browser.webkit=true;
}else if(browser.webkit){
browser.safari=true;
}
jQuery.browser=browser;
}
jQuery.getScript=function(url,callback){
return $.ajax({
url:url,
dataType:"script",
success:callback,
cache:true
});
}
jQuery.fn.positionner=function(force,setfocus){
if(!this.length){
return this;
}
var offset=jQuery(this).offset();
var hauteur=parseInt(jQuery(this).css('height'));
var marge=jQuery.spip.positionner_marge||5;
var scrolltop=self['pageYOffset']||
jQuery.boxModel&&document.documentElement['scrollTop']||
document.body['scrollTop'];
var h=jQuery(window).height();
var scroll=0;
if(force||(offset&&offset['top']-marge<=scrolltop)){
scroll=offset['top']-marge;
}
else if(offset&&offset['top']+hauteur-h+marge>scrolltop){
scroll=Math.min(offset['top']-marge-15,offset['top']+hauteur-h+40);
}
if(scroll)
jQuery('html,body')
.animate({scrollTop:scroll},300);
if(setfocus!==false)
jQuery(jQuery('*',this).filter('input[type=text],textarea')[0]).focus();
return this;
}
jQuery.spip.virtualbuffer_id='spip_virtualbufferupdate';
jQuery.spip.initReaderBuffer=function(){
if(jQuery('#'+jQuery.spip.virtualbuffer_id).length)return;
jQuery('body').append('<div style="float:left;width:0;height:0;position:absolute;left:-5000px;top:-5000px;"><input type="hidden" name="'+jQuery.spip.virtualbuffer_id+'" id="'+jQuery.spip.virtualbuffer_id+'" value="0" /></div>');
}
jQuery.spip.updateReaderBuffer=function(){
var i=jQuery('#'+jQuery.spip.virtualbuffer_id);
if(!i.length)return;
i.val(parseInt(i.val())+1);
}
jQuery.fn.formulaire_setContainer=function(){
if(!this.closest('.ajax-form-container').length){
this.find('script').remove();
var aria=this.data('aria');
var $container=jQuery('<div class="ajax-form-container"></div>');
if(aria&&typeof aria==='object'){
for(var i in aria){
$container=$container.attr(i,aria[i]);
}
}
else{
aria=false;
}
this.wrap($container);
if(aria){
jQuery('form',this).not('[aria-live]').attr('aria-live','off');
}
}
return this;
}
jQuery.fn.formulaire_dyn_ajax=function(target){
if(this.length)
jQuery.spip.initReaderBuffer();
return this.each(function(){
var scrollwhensubmit=!jQuery(this).is('.noscroll');
var cible=target||this;
jQuery(cible).formulaire_setContainer();
jQuery('form:not(.noajax):not(.bouton_action_post)',this).each(function(){
var leform=this;
var leclk,leclk_x,leclk_y;
var onError=function(xhr,status,error,$form){
jQuery(leform).ajaxFormUnbind().find('input[name="var_ajax"]').remove();
var msg="Erreur";
if(typeof(error_on_ajaxform)!=="undefined")msg=error_on_ajaxform;
jQuery(leform).prepend("<p class='error ajax-error none'>"+msg+"</p>").find('.ajax-error').show('fast');
jQuery(cible).closest('.ajax-form-container').endLoading(true);
}
jQuery(this).prepend("<input type='hidden' name='var_ajax' value='form' />")
.ajaxForm({
beforeSubmit:function(){
leclk=leform.clk;
var scrollwhensubmit_button=true;
if(leclk){
scrollwhensubmit_button=!jQuery(leclk).is('.noscroll');
var n=leclk.name;
if(n&&!leclk.disabled&&leclk.type==="image"){
leclk_x=leform.clk_x;
leclk_y=leform.clk_y;
}
}
jQuery(cible).wrap('<div />');
cible=jQuery(cible).parent();
jQuery(cible).closest('.ajax-form-container').animateLoading();
if(scrollwhensubmit&&scrollwhensubmit_button){
jQuery(cible).positionner(false,false);
}
},
error:onError,
success:function(c,status,xhr,$form){
if(c.match(/^\s*noajax\s*$/)){
jQuery("input[name=var_ajax]",leform).remove();
if(leclk){
var n=leclk.name;
if(n&&!leclk.disabled){
jQuery(leform).prepend("<input type='hidden' name='"+n+"' value='"+leclk.value+"' />");
if(leclk.type==="image"){
jQuery(leform).prepend("<input type='hidden' name='"+n+".x' value='"+leform.clk_x+"' />");
jQuery(leform).prepend("<input type='hidden' name='"+n+".y' value='"+leform.clk_y+"' />");
}
}
}
jQuery(leform).ajaxFormUnbind().closest('.formulaire_spip').addClass('resubmit-noajax');
try{
leform.submit();
}catch(err){
var submitFn=document.createElement('form').submit;
submitFn.apply(leform);
}
}
else{
if(!c.length||c.indexOf("ajax-form-is-ok")==-1)
return onError.apply(this,[status,xhr,$form]);
var preloaded=jQuery.spip.preloaded_urls;
jQuery.spip.preloaded_urls={};
jQuery(cible).html(c);
var a=jQuery('a:first',cible).eq(0);
var d=jQuery('div.ajax',cible);
if(!d.length){
jQuery(cible).addClass('ajax');
if(!scrollwhensubmit)
jQuery(cible).addClass('noscroll');
}
else{
d.siblings('br.bugajaxie').remove();
cible=jQuery(":first",cible);
cible.unwrap();
}
if(a.length
&&a.is('a[name=ajax_ancre]')
&&jQuery(a.attr('href'),cible).length){
a=a.attr('href');
if(jQuery(a,cible).length)
setTimeout(function(){
jQuery(a,cible).positionner(false);
},10);
jQuery(cible).closest('.ajax-form-container').endLoading(true);
}
else{
if(a.length&&a.is('a[name=ajax_redirect]')){
a=a.get(0).href;
setTimeout(function(){
var cur=window.location.href.split('#');
document.location.replace(a);
if(cur[0]==a.split('#')[0]){
window.location.reload();
}
},10);
jQuery(cible).closest('.ajax-form-container').animateLoading();
}
else{
jQuery(cible).closest('.ajax-form-container').endLoading(true);
}
}
if(!jQuery('.reponse_formulaire_ok',cible).length)
jQuery.spip.preloaded_urls=preloaded;
jQuery.spip.updateReaderBuffer();
}
}
})
.addClass('noajax hasajax');
});
});
}
jQuery.fn.formulaire_verifier=function(callback,champ){
var erreurs={'message_erreur':'form non ajax'};
var me=this;
if(jQuery(me).closest('.ajax-form-container').attr('aria-busy')!='true'){
if(jQuery(me).is('form.hasajax')){
jQuery(me).ajaxSubmit({
dataType:"json",
data:{formulaire_action_verifier_json:true},
success:function(errs){
var args=[errs,champ]
if(jQuery(me).closest('.ajax-form-container').attr('aria-busy')!='true')
callback.apply(me,args);
}
});
}
else
callback.apply(me,[erreurs,champ]);
}
return this;
}
jQuery.fn.formulaire_activer_verif_auto=function(callback){
callback=callback||formulaire_actualiser_erreurs;
var me=jQuery(this).closest('.ajax-form-container');
var check=function(){
var name=jQuery(this).attr('name');
setTimeout(function(){me.find('form').formulaire_verifier(callback,name);},50);
}
var activer=function(){
if(me.find('form').attr('data-verifjson')!='on'){
me
.find('form')
.attr('data-verifjson','on')
.find('input,select,textarea')
.on('change',check);
}
}
jQuery(activer);
onAjaxLoad(function(){setTimeout(activer,150);});
}
function formulaire_actualiser_erreurs(erreurs){
var parent=jQuery(this).closest('.formulaire_spip');
if(!parent.length)return;
parent.find('.reponse_formulaire,.erreur_message').fadeOut().remove();
parent.find('.erreur').removeClass('erreur');
if(erreurs['message_ok'])
parent.find('form').before('<p class="reponse_formulaire reponse_formulaire_ok">'+erreurs['message_ok']+'</p>');
if(erreurs['message_erreur'])
parent.find('form').before('<p class="reponse_formulaire reponse_formulaire_erreur">'+erreurs['message_erreur']+'</p>');
for(var k in erreurs){
var saisie=parent.find('.editer_'+k);
if(saisie.length){
saisie.addClass('erreur');
saisie.find('label').after('<span class="erreur_message">'+erreurs[k]+'</span>');
}
}
}
var ajax_confirm=true;
var ajax_confirm_date=0;
var spip_confirm=window.confirm;
function _confirm(message){
ajax_confirm=spip_confirm(message);
if(!ajax_confirm){
var d=new Date();
ajax_confirm_date=d.getTime();
}
return ajax_confirm;
}
window.confirm=_confirm;
var ajaxbloc_selecteur;
jQuery.spip.preloaded_urls={};
jQuery.spip.on_ajax_loaded=function(blocfrag,c,href,history){
history=history||(history==null);
if(typeof href==undefined||href==null)
history=false;
if(history)
jQuery.spip.setHistoryState(blocfrag);
if(jQuery(blocfrag).attr('data-loaded-callback')){
var callback=eval(jQuery(blocfrag).attr('data-loaded-callback'));
callback.call(blocfrag,c,href,history);
}
else{
jQuery(blocfrag)
.html(c)
.endLoading();
}
if(typeof href!=undefined)
jQuery(blocfrag).attr('data-url',href);
if(history){
jQuery.spip.pushHistoryState(href);
jQuery.spip.setHistoryState(blocfrag);
}
var a=jQuery('a:first',jQuery(blocfrag)).eq(0);
if(a.length
&&a.is('a[name=ajax_ancre]')
&&jQuery(a.attr('href'),blocfrag).length){
a=a.attr('href');
jQuery(a,blocfrag).positionner(false);
}
jQuery.spip.log('on_ajax_loaded');
jQuery.spip.triggerAjaxLoad(blocfrag);
a=jQuery(blocfrag).parents('form.hasajax')
if(a.length)
a.eq(0).removeClass('noajax').parents('div.ajax').formulaire_dyn_ajax();
jQuery.spip.updateReaderBuffer();
}
jQuery.spip.on_ajax_failed=function(blocfrag,statusCode,href,history){
jQuery(blocfrag).addClass('invalid');
jQuery.spip.log("Echec AJAX statusCode "+statusCode)
history=history||(history==null);
if(history){
if(jQuery.spip.debug){
jQuery.spip.log("On redirige sur sur "+href)
}
else{
window.location.href=href;
}
}
}
jQuery.spip.stateId=0;
jQuery.spip.setHistoryState=function(blocfrag){
if(!window.history.replaceState)return;
if(!blocfrag.attr('id')){
while(jQuery('#ghsid'+jQuery.spip.stateId).length)
jQuery.spip.stateId++;
blocfrag.attr('id','ghsid'+jQuery.spip.stateId);
}
var href=blocfrag.attr('data-url')||blocfrag.attr('data-origin');
href=jQuery("<"+"a href='"+href+"'></a>").get(0).href;
var state={
id:blocfrag.attr('id'),
href:href
};
var ajaxid=blocfrag.attr('class').match(/\bajax-id-[\w-]+\b/);
if(ajaxid&&ajaxid.length)
state["ajaxid"]=ajaxid[0];
window.history.replaceState(state,window.document.title,window.document.location);
}
jQuery.spip.pushHistoryState=function(href,title){
if(!window.history.pushState)
return false;
window.history.pushState({},title,href);
}
window.onpopstate=function(popState){
if(popState.state&&popState.state.href){
var blocfrag=false;
if(popState.state.id){
blocfrag=jQuery('#'+popState.state.id);
}
if((!blocfrag||!blocfrag.length)&&popState.state.ajaxid){
blocfrag=jQuery('.ajaxbloc.'+popState.state.ajaxid);
}
if(blocfrag&&blocfrag.length==1){
jQuery.spip.ajaxClick(blocfrag,popState.state.href,{history:false});
return true;
}
else{
window.location.href=popState.state.href;
}
}
}
jQuery.spip.loadAjax=function(blocfrag,url,href,options){
var force=options.force||false;
if(jQuery(blocfrag).attr('data-loading-callback')){
var callback=eval(jQuery(blocfrag).attr('data-loading-callback'));
callback.call(blocfrag,url,href,options);
}
else{
jQuery(blocfrag).animateLoading();
}
if(jQuery.spip.preloaded_urls[url]&&!force){
if(jQuery.spip.preloaded_urls[url]=="<!--loading-->"){
setTimeout(function(){jQuery.spip.loadAjax(blocfrag,url,href,options);},100);
return;
}
jQuery.spip.on_ajax_loaded(blocfrag,jQuery.spip.preloaded_urls[url],href,options.history);
}else{
var d=new Date();
jQuery.spip.preloaded_urls[url]="<!--loading-->";
jQuery.ajax({
url:parametre_url(url,'var_t',d.getTime()),
onAjaxLoad:false,
success:function(c){
jQuery.spip.on_ajax_loaded(blocfrag,c,href,options.history);
jQuery.spip.preloaded_urls[url]=c;
if(options.callback&&typeof options.callback=="function")
options.callback.apply(blocfrag);
},
error:function(e){
jQuery.spip.preloaded_urls[url]='';
jQuery.spip.on_ajax_failed(blocfrag,e.status,href,options.history);
}
});
}
}
jQuery.spip.makeAjaxUrl=function(href,ajax_env,origin){
var url=href.split('#');
url[0]=parametre_url(url[0],'var_ajax',1);
url[0]=parametre_url(url[0],'var_ajax_env',ajax_env);
if(origin){
var p=origin.indexOf('?');
if(p!==-1){
var args=origin.substring(p+1).split('&');
var val;
var arg;
for(var n=0;n<args.length;n++){
arg=args[n].split('=');
arg=arg[0];
p=arg.indexOf('[');
if(p!==-1)
arg=arg.substring(0,p);
val=parametre_url(href,arg);
if(typeof val=="undefined"||val==null)
url[0]=url[0]+'&'+arg+'=';
}
}
}
if(url[1])
url[0]=parametre_url(url[0],'var_ajax_ancre',url[1]);
return url[0];
}
jQuery.spip.ajaxReload=function(blocfrag,options){
var ajax_env=blocfrag.attr('data-ajax-env');
if(!ajax_env||ajax_env==undefined)return;
var href=options.href||blocfrag.attr('data-url')||blocfrag.attr('data-origin');
if(href&&typeof href!=undefined){
options=options||{};
var callback=options.callback||null;
var history=options.history||false;
var args=options.args||{};
for(var key in args)
href=parametre_url(href,key,args[key]==undefined?'':args[key],'&',args[key]==undefined?false:true);
var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
jQuery.spip.loadAjax(blocfrag,url,href,{force:true,callback:callback,history:history});
return true;
}
}
jQuery.spip.ajaxClick=function(blocfrag,href,options){
var ajax_env=blocfrag.attr('data-ajax-env');
if(!ajax_env||ajax_env==undefined)return;
if(!ajax_confirm){
ajax_confirm=true;
var d=new Date();
if((d.getTime()-ajax_confirm_date)<=2)
return false;
}
var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
jQuery.spip.loadAjax(blocfrag,url,href,options);
return false;
}
jQuery.fn.ajaxbloc=function(){
if(this.length)
jQuery.spip.initReaderBuffer();
if(ajaxbloc_selecteur==undefined)
ajaxbloc_selecteur='.pagination a,a.ajax';
return this.each(function(){
jQuery('div.ajaxbloc',this).ajaxbloc();
var blocfrag=jQuery(this);
var ajax_env=blocfrag.attr('data-ajax-env');
if(!ajax_env||ajax_env==undefined)return;
blocfrag.not('.bind-ajaxReload').on('ajaxReload',function(event,options){
if(jQuery.spip.ajaxReload(blocfrag,options))
event.stopPropagation();
}).addClass('bind-ajaxReload');
jQuery(ajaxbloc_selecteur,this).not('.noajax,.bind-ajax')
.click(function(){return jQuery.spip.ajaxClick(blocfrag,this.href,{force:jQuery(this).is('.nocache'),history:!(jQuery(this).is('.nohistory')||jQuery(this).closest('.box_modalbox').length)});})
.addClass('bind-ajax')
.filter('.preload').each(function(){
var href=this.href;
var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
if(!jQuery.spip.preloaded_urls[url]){
jQuery.spip.preloaded_urls[url]='<!--loading-->';
jQuery.ajax({url:url,onAjaxLoad:false,success:function(r){jQuery.spip.preloaded_urls[url]=r;},error:function(){jQuery.spip.preloaded_urls[url]='';}});
}
});
jQuery('form.bouton_action_post.ajax',this).not('.noajax,.bind-ajax').each(function(){
var leform=this;
var url=jQuery(this).attr('action').split('#');
var scrollwhensubmit=(!jQuery(this).is('.noscroll')&&!jQuery('.submit',this).is('.noscroll'));
jQuery(this)
.prepend("<input type='hidden' name='var_ajax' value='1' /><input type='hidden' name='var_ajax_env' value='"+(ajax_env)+"' />"+(url[1]?"<input type='hidden' name='var_ajax_ancre' value='"+url[1]+"' />":""))
.ajaxForm({
beforeSubmit:function(){
jQuery(blocfrag).animateLoading();
if(scrollwhensubmit){
jQuery(blocfrag).positionner(false);
}
},
onAjaxLoad:false,
success:function(c){
jQuery.spip.on_ajax_loaded(blocfrag,c);
jQuery.spip.preloaded_urls={};
},
error:function(e){
jQuery.spip.preloaded_urls={};
var href=parametre_url(url,'redirect');
if(!href){
href=window.location.href;
}
jQuery.spip.on_ajax_failed(blocfrag,e.status,href,e.status===400);
}
})
.addClass('bind-ajax');
});
});
};
jQuery.fn.followLink=function(){
$(this).click();
if(!$(this).is('.bind-ajax'))
window.location.href=$(this).get(0).href;
return this;
}
function ajaxReload(ajaxid,options){
jQuery('div.ajaxbloc.ajax-id-'+ajaxid).ajaxReload(options);
}
jQuery.fn.ajaxReload=function(options){
options=options||{};
jQuery(this).trigger('ajaxReload',[options]);
return this;
}
jQuery.fn.animateLoading=function(){
this.attr('aria-busy','true').addClass('loading').children().css('opacity',0.5);
if(typeof ajax_image_searching!='undefined'){
var i=(this).find('.image_loading');
if(i.length)i.eq(0).html(ajax_image_searching);
else this.prepend('<span class="image_loading">'+ajax_image_searching+'</span>');
}
return this;
}
jQuery.fn.animeajax=jQuery.fn.animateLoading;
jQuery.fn.endLoading=function(hard){
hard=hard||false;
this.attr('aria-busy','false').removeClass('loading');
if(hard){
this.children().css('opacity','');
this.find('.image_loading').html('');
}
return this;
}
jQuery.fn.animateRemove=function(callback){
if(this.length){
var me=this;
var color=$("<div class='remove'></div>").css('background-color');
var sel=$(this);
if(sel.is('tr'))
sel=sel.add('>td',sel);
sel.addClass('remove').css({backgroundColor:color}).animate({opacity:"0.0"},'fast',function(){
sel.removeClass('remove').css({backgroundColor:''});
if(callback)
callback.apply(me);
});
}
return this;
}
jQuery.fn.animateAppend=function(callback){
if(this.length){
var me=this;
var color=$("<div class='append'></div>").css('background-color');
var origin=$(this).css('background-color')||'#ffffff';
if(origin=='transparent')origin='#ffffff';
var sel=$(this);
if(sel.is('tr'))
sel=sel.add('>td',sel);
sel.css('opacity','0.0').addClass('append').css({backgroundColor:color}).animate({opacity:"1.0"},1000,function(){
sel.animate({backgroundColor:origin},3000,function(){
sel.removeClass('append').css({backgroundColor:''});
if(callback)
callback.apply(me);
});
});
}
return this;
}
function parametre_url(url,c,v,sep,force_vide){
if(typeof(url)=='undefined'){
url='';
}
var p;
var ancre='';
var a='./';
var args=[];
p=url.indexOf('#');
if(p!=-1){
ancre=url.substring(p);
url=url.substring(0,p);
}
p=url.indexOf('?');
if(p!==-1){
if(p>0)a=url.substring(0,p);
args=url.substring(p+1).split('&');
}
else
a=url;
var regexp=new RegExp('^('+c.replace('[]','\\[\\]')+'\\[?\\]?)(=.*)?$');
var ajouts=[];
var u=(typeof(v)!=='object')?encodeURIComponent(v):v;
var na=[];
var v_read=null;
for(var n=0;n<args.length;n++){
var val=args[n];
try{
val=decodeURIComponent(val);
}catch(e){}
var r=val.match(regexp);
if(r&&r.length){
if(v==null){
if(r[1].substr(-2)=='[]'){
if(!v_read)v_read=[];
v_read.push((r.length>2&&typeof r[2]!=='undefined')?r[2].substring(1):'');
}
else{
return(r.length>2&&typeof r[2]!=='undefined')?r[2].substring(1):'';
}
}
else if(!v.length){
}
else if(r[1].substr(-2)!='[]'){
na.push(r[1]+'='+u);
ajouts.push(r[1]);
}
}
else
na.push(args[n]);
}
if(v==null)return v_read;
if(v||v.length||force_vide){
ajouts="="+ajouts.join("=")+"=";
var all=c.split('|');
for(n=0;n<all.length;n++){
if(ajouts.search("="+all[n]+"=")==-1){
if(typeof(v)!=='object'){
na.push(all[n]+'='+u);
}
else{
var id=((all[n].substring(-2)=='[]')?all[n]:all[n]+"[]");
for(p=0;p<v.length;p++)
na.push(id+'='+encodeURIComponent(v[p]));
}
}
}
}
if(na.length){
if(!sep)sep='&';
a=a+"?"+na.join(sep);
}
return a+ancre;
}
function spip_logo_survol_hover(){
var me=jQuery(this);
if(me.attr('data-src-hover')){
me.attr('data-src-original',me.attr('src'));
me.attr('src',me.attr('data-src-hover'));
}
}
function spip_logo_survol_out(){
var me=jQuery(this);
if(me.attr('data-src-original')){
me.attr('src',me.attr('data-src-original'));
}
}
function disableClickAfterFormSubmit(){
jQuery(this)
.addClass('processing-submitted-form')
.find('button[type="submit"]')
.attr('disabled','disabled')
.addClass('disabled')
}
function puce_enable_survol(){
jQuery('span.puce_objet_popup a',this).not('.puce-survol-enabled').click(function(){
selec_statut(jQuery(this).attr('data-puce-id'),jQuery(this).attr('data-puce-type'),jQuery(this).attr('data-puce-decal'),jQuery('img',this).attr('src'),jQuery(this).attr('data-puce-action'));
return false;
}).addClass('puce-survol-enabled');
jQuery('span.puce_objet',this).not('.puce-survol-enabled').mouseover(function(){
if(!this.puce_loaded){
this.puce_loaded=true;prepare_selec_statut(this,jQuery(this).attr('data-puce-nom'),jQuery(this).attr('data-puce-type'),jQuery(this).attr('data-puce-id'),jQuery(this).attr('data-puce-action'));
}
}).addClass('puce-survol-enabled');
}
if(!window.var_zajax_content)
window.var_zajax_content='contenu';
jQuery(function(){
jQuery('form:not(.bouton_action_post)').parents('div.ajax')
.formulaire_dyn_ajax();
jQuery('div.ajaxbloc').ajaxbloc();
jQuery("input[placeholder]:text").placeholderLabel();
jQuery('.spip_logo_survol').hover(spip_logo_survol_hover,spip_logo_survol_out);
puce_enable_survol.apply(this);
jQuery('body').on('submit','form.bouton_action_post',disableClickAfterFormSubmit);
});
onAjaxLoad(function(){
if(jQuery){
jQuery('form:not(.bouton_action_post)',this).parents('div.ajax')
.formulaire_dyn_ajax();
if(jQuery(this).is('div.ajaxbloc'))
jQuery(this).ajaxbloc();
else if(jQuery(this).closest('div.ajaxbloc').length)
jQuery(this).closest('div.ajaxbloc').ajaxbloc();
else
jQuery('div.ajaxbloc',this).ajaxbloc();
jQuery("input[placeholder]:text",this).placeholderLabel();
jQuery('.spip_logo_survol',this).hover(spip_logo_survol_hover,spip_logo_survol_out);
puce_enable_survol.apply(this);
}
});


/* ../prive/javascript/js.cookie.js?1672674102 */

;
(function(global,factory){
typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():
typeof define==='function'&&define.amd?define(factory):
(global=global||self,(function(){
var current=global.Cookies;
var exports=global.Cookies=factory();
exports.noConflict=function(){global.Cookies=current;return exports;};
}()));
}(this,(function(){'use strict';
function assign(target){
for(var i=1;i<arguments.length;i++){
var source=arguments[i];
for(var key in source){
target[key]=source[key];
}
}
return target
}
var defaultConverter={
read:function(value){
if(value[0]==='"'){
value=value.slice(1,-1);
}
return value.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)
},
write:function(value){
return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
decodeURIComponent
)
}
};
function init(converter,defaultAttributes){
function set(key,value,attributes){
if(typeof document==='undefined'){
return
}
attributes=assign({},defaultAttributes,attributes);
if(typeof attributes.expires==='number'){
attributes.expires=new Date(Date.now()+attributes.expires*864e5);
}
if(attributes.expires){
attributes.expires=attributes.expires.toUTCString();
}
key=encodeURIComponent(key)
.replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent)
.replace(/[()]/g,escape);
var stringifiedAttributes='';
for(var attributeName in attributes){
if(!attributes[attributeName]){
continue
}
stringifiedAttributes+='; '+attributeName;
if(attributes[attributeName]===true){
continue
}
stringifiedAttributes+='='+attributes[attributeName].split(';')[0];
}
return(document.cookie=
key+'='+converter.write(value,key)+stringifiedAttributes)
}
function get(key){
if(typeof document==='undefined'||(arguments.length&&!key)){
return
}
var cookies=document.cookie?document.cookie.split('; '):[];
var jar={};
for(var i=0;i<cookies.length;i++){
var parts=cookies[i].split('=');
var value=parts.slice(1).join('=');
try{
var foundKey=decodeURIComponent(parts[0]);
jar[foundKey]=converter.read(value,foundKey);
if(key===foundKey){
break
}
}catch(e){}
}
return key?jar[key]:jar
}
return Object.create(
{
set:set,
get:get,
remove:function(key,attributes){
set(
key,
'',
assign({},attributes,{
expires:-1
})
);
},
withAttributes:function(attributes){
return init(this.converter,assign({},this.attributes,attributes))
},
withConverter:function(converter){
return init(assign({},this.converter,converter),this.attributes)
}
},
{
attributes:{value:Object.freeze(defaultAttributes)},
converter:{value:Object.freeze(converter)}
}
)
}
var api=init(defaultConverter,{path:'/'});
return api;
})));


/* ../prive/javascript/spip_barre.js?1672674102 */

function barre_inserer(text,el=document.activeElement){
if(el.setRangeText){
const[start,end]=[el.selectionStart,el.selectionEnd];
el.setRangeText(text,start,end,'select');
const new_caret_pos=start+text.length;
el.setSelectionRange(new_caret_pos,new_caret_pos);
el.focus();
el.dispatchEvent(new Event('input'));
}
}


/* ../plugins-dist/bigup/javascript/bigup.utils.js?1672674099 */

function _T(code,contexte){
return Trads.traduire(code,contexte);
}
function Traductions(){
this.modules={};
};
Traductions.prototype={
set:function(module,couples_cle_traduction){
this.modules[module]=$.extend(this.modules[module]||{},couples_cle_traduction);
},
get:function(module,code,contexte){
if(typeof this.modules[module]==='undefined'){
return'';
}
if(typeof this.modules[module][code]==='undefined'){
return'';
}
var texte=this.modules[module][code];
$.each(contexte,function(cle,val){
texte=texte.replace('@'+cle+'@',val);
});
return texte;
},
traduire:function(code,contexte){
var desc=this.trouver_module_et_code(code);
return this.get(desc.module,desc.code,contexte)||code;
},
trouver_module_et_code:function(code){
var list=code.split(':',2);
var module=list.shift();
var cle=list.shift();
if(cle){
return{module:module,code:cle};
}
return{module:'spip',cle:module};
},
singulier_ou_pluriel:function(nb,code_singulier,code_pluriel){
return parseInt(nb,10)===1
?this.traduire(code_singulier)
:this.traduire(code_pluriel,{nb:nb});
}
};
Trads=new Traductions();
$.enlever_ancre=function(url){
var p=url.indexOf('#');
if(p!==-1){
url=url.substring(0,p);
}
return url;
};
$.nom2classe=function(nom){
return nom.replace(/\/|\[|&#91/g,'_').replace(/\]|&#93/g,'');
};
$.taille_en_octets=function(taille){
var ko=1024;
if(taille<ko){
return _T('unites:taille_octets',{taille:taille});
}else if(taille<ko*ko){
return _T('unites:taille_ko',{taille:Math.round(taille/ko*10)/10});
}else if(taille<ko*ko*ko){
return _T('unites:taille_mo',{taille:Math.round(taille/ko/ko*10)/10});
}else{
return _T('unites:taille_go',{taille:Math.round(taille/ko/ko/ko*10)/10});
}
};
$.trouver_extension=function(name){
var re=/(?:\.([^.]+))?$/;
var extension=re.exec(name)[1];
extension=extension.toLowerCase();
switch(extension){
case'htm':
extension='html';
break;
case'jpeg':
extension='jpg';
break;
case'tiff':
extension='tif';
break;
case'aif':
extension='aiff';
break;
case'mpeg':
extension='mpg';
break;
}
return extension;
};
$.mime_type_image=function(extension){
extension=extension.toLowerCase();
var mime="image/"+extension;
switch(extension){
case'bmp':
mime="image/x-ms-bmp";
break;
case'jpg':
mime="image/jpeg";
break;
case'svg':
mime="image/svg+xml";
break;
case'tif':
mime="image/tiff";
break;
}
return mime;
};


/* ../plugins-dist/bigup/lib/flow/flow.js?1672674099 */

(function(window,document,undefined){'use strict';
if(!window||!document){
console.warn('Flowjs needs window and document objects to work');
return;
}
var ie10plus=window.navigator.msPointerEnabled;
function Flow(opts){
this.support=(
typeof File!=='undefined'&&
typeof Blob!=='undefined'&&
typeof FileList!=='undefined'&&
(
!!Blob.prototype.slice||!!Blob.prototype.webkitSlice||!!Blob.prototype.mozSlice||
false
)
);
if(!this.support){
return;
}
this.supportDirectory=(/Chrome/.test(window.navigator.userAgent)||/Firefox/.test(window.navigator.userAgent)||/Edge/.test(window.navigator.userAgent)
);
this.files=[];
this.defaults={
chunkSize:1024*1024,
forceChunkSize:false,
simultaneousUploads:3,
singleFile:false,
fileParameterName:'file',
progressCallbacksInterval:500,
speedSmoothingFactor:0.1,
query:{},
headers:{},
withCredentials:false,
preprocess:null,
changeRawDataBeforeSend:null,
method:'multipart',
testMethod:'GET',
uploadMethod:'POST',
prioritizeFirstAndLastChunk:false,
allowDuplicateUploads:false,
target:'/',
testChunks:true,
generateUniqueIdentifier:null,
maxChunkRetries:0,
chunkRetryInterval:null,
permanentErrors:[404,413,415,500,501],
successStatuses:[200,201,202],
onDropStopPropagation:false,
initFileFn:null,
readFileFn:webAPIFileRead
};
this.opts={};
this.events={};
var $=this;
this.onDrop=function(event){
if($.opts.onDropStopPropagation){
event.stopPropagation();
}
event.preventDefault();
var dataTransfer=event.dataTransfer;
if(dataTransfer.items&&dataTransfer.items[0]&&
dataTransfer.items[0].webkitGetAsEntry){
$.webkitReadDataTransfer(event);
}else{
$.addFiles(dataTransfer.files,event);
}
};
this.preventEvent=function(event){
event.preventDefault();
};
this.opts=Flow.extend({},this.defaults,opts||{});
}
Flow.prototype={
on:function(event,callback){
event=event.toLowerCase();
if(!this.events.hasOwnProperty(event)){
this.events[event]=[];
}
this.events[event].push(callback);
},
off:function(event,fn){
if(event!==undefined){
event=event.toLowerCase();
if(fn!==undefined){
if(this.events.hasOwnProperty(event)){
arrayRemove(this.events[event],fn);
}
}else{
delete this.events[event];
}
}else{
this.events={};
}
},
fire:function(event,args){
args=Array.prototype.slice.call(arguments);
event=event.toLowerCase();
var preventDefault=false;
if(this.events.hasOwnProperty(event)){
each(this.events[event],function(callback){
preventDefault=callback.apply(this,args.slice(1))===false||preventDefault;
},this);
}
if(event!='catchall'){
args.unshift('catchAll');
preventDefault=this.fire.apply(this,args)===false||preventDefault;
}
return!preventDefault;
},
webkitReadDataTransfer:function(event){
var $=this;
var queue=event.dataTransfer.items.length;
var files=[];
each(event.dataTransfer.items,function(item){
var entry=item.webkitGetAsEntry();
if(!entry){
decrement();
return;
}
if(entry.isFile){
fileReadSuccess(item.getAsFile(),entry.fullPath);
}else{
readDirectory(entry.createReader());
}
});
function readDirectory(reader){
reader.readEntries(function(entries){
if(entries.length){
queue+=entries.length;
each(entries,function(entry){
if(entry.isFile){
var fullPath=entry.fullPath;
entry.file(function(file){
fileReadSuccess(file,fullPath);
},readError);
}else if(entry.isDirectory){
readDirectory(entry.createReader());
}
});
readDirectory(reader);
}else{
decrement();
}
},readError);
}
function fileReadSuccess(file,fullPath){
file.relativePath=fullPath.substring(1);
files.push(file);
decrement();
}
function readError(fileError){
decrement();
throw fileError;
}
function decrement(){
if(--queue==0){
$.addFiles(files,event);
}
}
},
generateUniqueIdentifier:function(file){
var custom=this.opts.generateUniqueIdentifier;
if(typeof custom==='function'){
return custom(file);
}
var relativePath=file.relativePath||file.webkitRelativePath||file.fileName||file.name;
return file.size+'-'+relativePath.replace(/[^0-9a-zA-Z_-]/img,'');
},
uploadNextChunk:function(preventEvents){
var found=false;
if(this.opts.prioritizeFirstAndLastChunk){
each(this.files,function(file){
if(!file.paused&&file.chunks.length&&
file.chunks[0].status()==='pending'){
file.chunks[0].send();
found=true;
return false;
}
if(!file.paused&&file.chunks.length>1&&
file.chunks[file.chunks.length-1].status()==='pending'){
file.chunks[file.chunks.length-1].send();
found=true;
return false;
}
});
if(found){
return found;
}
}
each(this.files,function(file){
if(!file.paused){
each(file.chunks,function(chunk){
if(chunk.status()==='pending'){
chunk.send();
found=true;
return false;
}
});
}
if(found){
return false;
}
});
if(found){
return true;
}
var outstanding=false;
each(this.files,function(file){
if(!file.isComplete()){
outstanding=true;
return false;
}
});
if(!outstanding&&!preventEvents){
async(function(){
this.fire('complete');
},this);
}
return false;
},
assignBrowse:function(domNodes,isDirectory,singleFile,attributes){
if(domNodes instanceof Element){
domNodes=[domNodes];
}
each(domNodes,function(domNode){
var input;
if(domNode.tagName==='INPUT'&&domNode.type==='file'){
input=domNode;
}else{
input=document.createElement('input');
input.setAttribute('type','file');
extend(input.style,{
visibility:'hidden',
position:'absolute',
width:'1px',
height:'1px'
});
domNode.appendChild(input);
domNode.addEventListener('click',function(){
input.click();
},false);
}
if(!this.opts.singleFile&&!singleFile){
input.setAttribute('multiple','multiple');
}
if(isDirectory){
input.setAttribute('webkitdirectory','webkitdirectory');
}
each(attributes,function(value,key){
input.setAttribute(key,value);
});
var $=this;
input.addEventListener('change',function(e){
if(e.target.value){
$.addFiles(e.target.files,e);
e.target.value='';
}
},false);
},this);
},
assignDrop:function(domNodes){
if(typeof domNodes.length==='undefined'){
domNodes=[domNodes];
}
each(domNodes,function(domNode){
domNode.addEventListener('dragover',this.preventEvent,false);
domNode.addEventListener('dragenter',this.preventEvent,false);
domNode.addEventListener('drop',this.onDrop,false);
},this);
},
unAssignDrop:function(domNodes){
if(typeof domNodes.length==='undefined'){
domNodes=[domNodes];
}
each(domNodes,function(domNode){
domNode.removeEventListener('dragover',this.preventEvent);
domNode.removeEventListener('dragenter',this.preventEvent);
domNode.removeEventListener('drop',this.onDrop);
},this);
},
isUploading:function(){
var uploading=false;
each(this.files,function(file){
if(file.isUploading()){
uploading=true;
return false;
}
});
return uploading;
},
_shouldUploadNext:function(){
var num=0;
var should=true;
var simultaneousUploads=this.opts.simultaneousUploads;
each(this.files,function(file){
each(file.chunks,function(chunk){
if(chunk.status()==='uploading'){
num++;
if(num>=simultaneousUploads){
should=false;
return false;
}
}
});
});
return should&&num;
},
upload:function(){
var ret=this._shouldUploadNext();
if(ret===false){
return;
}
this.fire('uploadStart');
var started=false;
for(var num=1;num<=this.opts.simultaneousUploads-ret;num++){
started=this.uploadNextChunk(true)||started;
}
if(!started){
async(function(){
this.fire('complete');
},this);
}
},
resume:function(){
each(this.files,function(file){
if(!file.isComplete()){
file.resume();
}
});
},
pause:function(){
each(this.files,function(file){
file.pause();
});
},
cancel:function(){
for(var i=this.files.length-1;i>=0;i--){
this.files[i].cancel();
}
},
progress:function(){
var totalDone=0;
var totalSize=0;
each(this.files,function(file){
totalDone+=file.progress()*file.size;
totalSize+=file.size;
});
return totalSize>0?totalDone/totalSize:0;
},
addFile:function(file,event){
this.addFiles([file],event);
},
addFiles:function(fileList,event){
var files=[];
each(fileList,function(file){
if((!ie10plus||ie10plus&&file.size>0)&&!(file.size%4096===0&&(file.name==='.'||file.fileName==='.'))){
var uniqueIdentifier=this.generateUniqueIdentifier(file);
if(this.opts.allowDuplicateUploads||!this.getFromUniqueIdentifier(uniqueIdentifier)){
var f=new FlowFile(this,file,uniqueIdentifier);
if(this.fire('fileAdded',f,event)){
files.push(f);
}
}
}
},this);
if(this.fire('filesAdded',files,event)){
each(files,function(file){
if(this.opts.singleFile&&this.files.length>0){
this.removeFile(this.files[0]);
}
this.files.push(file);
},this);
this.fire('filesSubmitted',files,event);
}
},
removeFile:function(file){
for(var i=this.files.length-1;i>=0;i--){
if(this.files[i]===file){
this.files.splice(i,1);
file.abort();
this.fire('fileRemoved',file);
}
}
},
getFromUniqueIdentifier:function(uniqueIdentifier){
var ret=false;
each(this.files,function(file){
if(file.uniqueIdentifier===uniqueIdentifier){
ret=file;
}
});
return ret;
},
getSize:function(){
var totalSize=0;
each(this.files,function(file){
totalSize+=file.size;
});
return totalSize;
},
sizeUploaded:function(){
var size=0;
each(this.files,function(file){
size+=file.sizeUploaded();
});
return size;
},
timeRemaining:function(){
var sizeDelta=0;
var averageSpeed=0;
each(this.files,function(file){
if(!file.paused&&!file.error){
sizeDelta+=file.size-file.sizeUploaded();
averageSpeed+=file.averageSpeed;
}
});
if(sizeDelta&&!averageSpeed){
return Number.POSITIVE_INFINITY;
}
if(!sizeDelta&&!averageSpeed){
return 0;
}
return Math.floor(sizeDelta/averageSpeed);
}
};
function FlowFile(flowObj,file,uniqueIdentifier){
this.flowObj=flowObj;
this.bytes=null;
this.file=file;
this.name=file.fileName||file.name;
this.size=file.size;
this.relativePath=file.relativePath||file.webkitRelativePath||this.name;
this.uniqueIdentifier=(uniqueIdentifier===undefined?flowObj.generateUniqueIdentifier(file):uniqueIdentifier);
this.chunkSize=0;
this.chunks=[];
this.paused=false;
this.error=false;
this.averageSpeed=0;
this.currentSpeed=0;
this._lastProgressCallback=Date.now();
this._prevUploadedSize=0;
this._prevProgress=0;
this.bootstrap();
}
FlowFile.prototype={
measureSpeed:function(){
var timeSpan=Date.now()-this._lastProgressCallback;
if(!timeSpan){
return;
}
var smoothingFactor=this.flowObj.opts.speedSmoothingFactor;
var uploaded=this.sizeUploaded();
this.currentSpeed=Math.max((uploaded-this._prevUploadedSize)/timeSpan*1000,0);
this.averageSpeed=smoothingFactor*this.currentSpeed+(1-smoothingFactor)*this.averageSpeed;
this._prevUploadedSize=uploaded;
},
chunkEvent:function(chunk,event,message){
switch(event){
case'progress':
if(Date.now()-this._lastProgressCallback<
this.flowObj.opts.progressCallbacksInterval){
break;
}
this.measureSpeed();
this.flowObj.fire('fileProgress',this,chunk);
this.flowObj.fire('progress');
this._lastProgressCallback=Date.now();
break;
case'error':
this.error=true;
this.abort(true);
this.flowObj.fire('fileError',this,message,chunk);
this.flowObj.fire('error',message,this,chunk);
break;
case'success':
if(this.error){
return;
}
this.measureSpeed();
this.flowObj.fire('fileProgress',this,chunk);
this.flowObj.fire('progress');
this._lastProgressCallback=Date.now();
if(this.isComplete()){
this.currentSpeed=0;
this.averageSpeed=0;
this.flowObj.fire('fileSuccess',this,message,chunk);
}
break;
case'retry':
this.flowObj.fire('fileRetry',this,chunk);
break;
}
},
pause:function(){
this.paused=true;
this.abort();
},
resume:function(){
this.paused=false;
this.flowObj.upload();
},
abort:function(reset){
this.currentSpeed=0;
this.averageSpeed=0;
var chunks=this.chunks;
if(reset){
this.chunks=[];
}
each(chunks,function(c){
if(c.status()==='uploading'){
c.abort();
this.flowObj.uploadNextChunk();
}
},this);
},
cancel:function(){
this.flowObj.removeFile(this);
},
retry:function(){
this.bootstrap();
this.flowObj.upload();
},
bootstrap:function(){
if(typeof this.flowObj.opts.initFileFn==="function"){
this.flowObj.opts.initFileFn(this);
}
this.abort(true);
this.error=false;
this._prevProgress=0;
var round=this.flowObj.opts.forceChunkSize?Math.ceil:Math.floor;
this.chunkSize=evalOpts(this.flowObj.opts.chunkSize,this);
var chunks=Math.max(
round(this.size/this.chunkSize),1
);
for(var offset=0;offset<chunks;offset++){
this.chunks.push(
new FlowChunk(this.flowObj,this,offset)
);
}
},
progress:function(){
if(this.error){
return 1;
}
if(this.chunks.length===1){
this._prevProgress=Math.max(this._prevProgress,this.chunks[0].progress());
return this._prevProgress;
}
var bytesLoaded=0;
each(this.chunks,function(c){
bytesLoaded+=c.progress()*(c.endByte-c.startByte);
});
var percent=bytesLoaded/this.size;
this._prevProgress=Math.max(this._prevProgress,percent>0.9999?1:percent);
return this._prevProgress;
},
isUploading:function(){
var uploading=false;
each(this.chunks,function(chunk){
if(chunk.status()==='uploading'){
uploading=true;
return false;
}
});
return uploading;
},
isComplete:function(){
var outstanding=false;
each(this.chunks,function(chunk){
var status=chunk.status();
if(status==='pending'||status==='uploading'||status==='reading'||chunk.preprocessState===1||chunk.readState===1){
outstanding=true;
return false;
}
});
return!outstanding;
},
sizeUploaded:function(){
var size=0;
each(this.chunks,function(chunk){
size+=chunk.sizeUploaded();
});
return size;
},
timeRemaining:function(){
if(this.paused||this.error){
return 0;
}
var delta=this.size-this.sizeUploaded();
if(delta&&!this.averageSpeed){
return Number.POSITIVE_INFINITY;
}
if(!delta&&!this.averageSpeed){
return 0;
}
return Math.floor(delta/this.averageSpeed);
},
getType:function(){
return this.file.type&&this.file.type.split('/')[1];
},
getExtension:function(){
return this.name.substr((~-this.name.lastIndexOf(".")>>>0)+2).toLowerCase();
}
};
function webAPIFileRead(fileObj,startByte,endByte,fileType,chunk){
var function_name='slice';
if(fileObj.file.slice)
function_name='slice';
else if(fileObj.file.mozSlice)
function_name='mozSlice';
else if(fileObj.file.webkitSlice)
function_name='webkitSlice';
chunk.readFinished(fileObj.file[function_name](startByte,endByte,fileType));
}
function FlowChunk(flowObj,fileObj,offset){
this.flowObj=flowObj;
this.fileObj=fileObj;
this.offset=offset;
this.tested=false;
this.retries=0;
this.pendingRetry=false;
this.preprocessState=0;
this.readState=0;
this.loaded=0;
this.total=0;
this.chunkSize=this.fileObj.chunkSize;
this.startByte=this.offset*this.chunkSize;
this.filename=null;
this.computeEndByte=function(){
var endByte=Math.min(this.fileObj.size,(this.offset+1)*this.chunkSize);
if(this.fileObj.size-endByte<this.chunkSize&&!this.flowObj.opts.forceChunkSize){
endByte=this.fileObj.size;
}
return endByte;
}
this.endByte=this.computeEndByte();
this.xhr=null;
var $=this;
this.event=function(event,args){
args=Array.prototype.slice.call(arguments);
args.unshift($);
$.fileObj.chunkEvent.apply($.fileObj,args);
};
this.progressHandler=function(event){
if(event.lengthComputable){
$.loaded=event.loaded;
$.total=event.total;
}
$.event('progress',event);
};
this.testHandler=function(event){
var status=$.status(true);
if(status==='error'){
$.event(status,$.message());
$.flowObj.uploadNextChunk();
}else if(status==='success'){
$.tested=true;
$.event(status,$.message());
$.flowObj.uploadNextChunk();
}else if(!$.fileObj.paused){
$.tested=true;
$.send();
}
};
this.doneHandler=function(event){
var status=$.status();
if(status==='success'||status==='error'){
delete this.data;
$.event(status,$.message());
$.flowObj.uploadNextChunk();
}else if(!$.fileObj.paused){
$.event('retry',$.message());
$.pendingRetry=true;
$.abort();
$.retries++;
var retryInterval=$.flowObj.opts.chunkRetryInterval;
if(retryInterval!==null){
setTimeout(function(){
$.send();
},retryInterval);
}else{
$.send();
}
}
};
}
FlowChunk.prototype={
getParams:function(){
return{
flowChunkNumber:this.offset+1,
flowChunkSize:this.chunkSize,
flowCurrentChunkSize:this.endByte-this.startByte,
flowTotalSize:this.fileObj.size,
flowIdentifier:this.fileObj.uniqueIdentifier,
flowFilename:this.fileObj.name,
flowRelativePath:this.fileObj.relativePath,
flowTotalChunks:this.fileObj.chunks.length
};
},
getTarget:function(target,params){
if(params.length==0){
return target;
}
if(target.indexOf('?')<0){
target+='?';
}else{
target+='&';
}
return target+params.join('&');
},
test:function(){
this.xhr=new XMLHttpRequest();
this.xhr.addEventListener("load",this.testHandler,false);
this.xhr.addEventListener("error",this.testHandler,false);
var testMethod=evalOpts(this.flowObj.opts.testMethod,this.fileObj,this);
var data=this.prepareXhrRequest(testMethod,true);
this.xhr.send(data);
},
preprocessFinished:function(){
this.endByte=this.computeEndByte();
this.preprocessState=2;
this.send();
},
readFinished:function(bytes){
this.readState=2;
this.bytes=bytes;
this.send();
},
send:function(){
var preprocess=this.flowObj.opts.preprocess;
var read=this.flowObj.opts.readFileFn;
if(typeof preprocess==='function'){
switch(this.preprocessState){
case 0:
this.preprocessState=1;
preprocess(this);
return;
case 1:
return;
}
}
switch(this.readState){
case 0:
this.readState=1;
read(this.fileObj,this.startByte,this.endByte,this.fileObj.file.type,this);
return;
case 1:
return;
}
if(this.flowObj.opts.testChunks&&!this.tested){
this.test();
return;
}
this.loaded=0;
this.total=0;
this.pendingRetry=false;
this.xhr=new XMLHttpRequest();
this.xhr.upload.addEventListener('progress',this.progressHandler,false);
this.xhr.addEventListener("load",this.doneHandler,false);
this.xhr.addEventListener("error",this.doneHandler,false);
var uploadMethod=evalOpts(this.flowObj.opts.uploadMethod,this.fileObj,this);
var data=this.prepareXhrRequest(uploadMethod,false,this.flowObj.opts.method,this.bytes);
var changeRawDataBeforeSend=this.flowObj.opts.changeRawDataBeforeSend;
if(typeof changeRawDataBeforeSend==='function'){
data=changeRawDataBeforeSend(this,data);
}
this.xhr.send(data);
},
abort:function(){
var xhr=this.xhr;
this.xhr=null;
if(xhr){
xhr.abort();
}
},
status:function(isTest){
if(this.readState===1){
return'reading';
}else if(this.pendingRetry||this.preprocessState===1){
return'uploading';
}else if(!this.xhr){
return'pending';
}else if(this.xhr.readyState<4){
return'uploading';
}else{
if(this.flowObj.opts.successStatuses.indexOf(this.xhr.status)>-1){
return'success';
}else if(this.flowObj.opts.permanentErrors.indexOf(this.xhr.status)>-1||
!isTest&&this.retries>=this.flowObj.opts.maxChunkRetries){
return'error';
}else{
this.abort();
return'pending';
}
}
},
message:function(){
return this.xhr?this.xhr.responseText:'';
},
progress:function(){
if(this.pendingRetry){
return 0;
}
var s=this.status();
if(s==='success'||s==='error'){
return 1;
}else if(s==='pending'){
return 0;
}else{
return this.total>0?this.loaded/this.total:0;
}
},
sizeUploaded:function(){
var size=this.endByte-this.startByte;
if(this.status()!=='success'){
size=this.progress()*size;
}
return size;
},
prepareXhrRequest:function(method,isTest,paramsMethod,blob){
var query=evalOpts(this.flowObj.opts.query,this.fileObj,this,isTest);
query=extend(query||{},this.getParams());
var target=evalOpts(this.flowObj.opts.target,this.fileObj,this,isTest);
var data=null;
if(method==='GET'||paramsMethod==='octet'){
var params=[];
each(query,function(v,k){
params.push([encodeURIComponent(k),encodeURIComponent(v)].join('='));
});
target=this.getTarget(target,params);
data=blob||null;
}else{
data=new FormData();
each(query,function(v,k){
data.append(k,v);
});
if(typeof blob!=="undefined"){
data.append(this.flowObj.opts.fileParameterName,blob,this.filename||this.fileObj.file.name);
}
}
this.xhr.open(method,target,true);
this.xhr.withCredentials=this.flowObj.opts.withCredentials;
each(evalOpts(this.flowObj.opts.headers,this.fileObj,this,isTest),function(v,k){
this.xhr.setRequestHeader(k,v);
},this);
return data;
}
};
function arrayRemove(array,value){
var index=array.indexOf(value);
if(index>-1){
array.splice(index,1);
}
}
function evalOpts(data,args){
if(typeof data==="function"){
args=Array.prototype.slice.call(arguments);
data=data.apply(null,args.slice(1));
}
return data;
}
Flow.evalOpts=evalOpts;
function async(fn,context){
setTimeout(fn.bind(context),0);
}
function extend(dst,src){
each(arguments,function(obj){
if(obj!==dst){
each(obj,function(value,key){
dst[key]=value;
});
}
});
return dst;
}
Flow.extend=extend;
function each(obj,callback,context){
if(!obj){
return;
}
var key;
if(typeof(obj.length)!=='undefined'){
for(key=0;key<obj.length;key++){
if(callback.call(context,obj[key],key)===false){
return;
}
}
}else{
for(key in obj){
if(obj.hasOwnProperty(key)&&callback.call(context,obj[key],key)===false){
return;
}
}
}
}
Flow.each=each;
Flow.FlowFile=FlowFile;
Flow.FlowChunk=FlowChunk;
Flow.version='2.14.1';
if(typeof module==="object"&&module&&typeof module.exports==="object"){
module.exports=Flow;
}else{
window.Flow=Flow;
if(typeof define==="function"&&define.amd){
define("flow",[],function(){return Flow;});
}
}
})(typeof window!=='undefined'&&window,typeof document!=='undefined'&&document);


/* ../plugins-dist/bigup/javascript/bigup.js?1672674099 */

$.fn.bigup=function(options,callbacks){
var options=options||{};
var callbacks=callbacks||{};
var inputs_a_gerer=$(this).not(".bigup_done").each(function(){
var $editer=$(this).closest('.editer');
if($editer.length){
$editer.addClass('biguping');
var h=$editer.get(0).offsetHeight;
var s=$editer.attr('style');
if(typeof s==="undefined"){
s='';
}
$editer.attr('data-prev-style',s);
s+='height:'+h+'px;overflow:hidden';
$editer.attr('style',s);
}
$(this).addClass('bigup_done');
var $input=$(this);
var $form=$input.parents('form');
var sinon=function(valeur,defaut){
return valeur?valeur:defaut;
}
var conf=$.extend(true,{
maxFileSize:0
},$.bigup_config||{});
var bigup=new Bigup(
{
form:$form,
input:$input,
formulaire_action:$form.find('input[name=formulaire_action]').val(),
formulaire_action_args:$form.find('input[name=formulaire_action_args]').val(),
token:$input.data('token')
},
{
contraintes:{
accept:$input.prop('accept'),
maxFiles:($input.prop('multiple')?sinon($input.data('maxfiles'),0):1),
maxFileSize:sinon($input.data('maxfilesize'),conf.maxFileSize),
}
},
callbacks
);
if(!bigup.support){
return false;
}
bigup.integrer_fichiers_presents();
bigup.gerer_depot_fichiers();
if($editer.length){
$editer.attr('style',$editer.attr('data-prev-style'));
$editer.attr('data-prev-style',null);
$editer.addClass('editer_with_bigup').removeClass('biguping');
}
});
return inputs_a_gerer;
}
function Bigup(params,opts,callbacks){
this.form=params.form;
this.input=params.input;
this.formulaire_action=params.formulaire_action;
this.formulaire_action_args=params.formulaire_action_args;
this.token=params.token;
this.target=$.enlever_ancre(this.form.attr('action'));
this.name=this.input.attr('name');
this.class_name=$.nom2classe(this.name);
this.multiple=this.input.prop('multiple');
this.zones={
depot:null,
depot_etendu:null,
fichiers:null
};
this.defaults={
contraintes:{
accept:'',
maxFiles:1,
maxFileSize:0
},
options:{
previsualisation:{
activer:!!this.input.data("previsualiser"),
fileSizeMax:10
}
},
flow:{
simultaneousUploads:2,
permanentErrors:[403,404,413,415,500,501],
chunkRetryInterval:1000,
maxChunkRetries:5,
},
templates:{
zones:{
depot:function(name,multiple){
var template=
'\n<div class="dropfile dropfile_'+name+'" style="display:none;">'
+'\n\t<span class="dropfilebutton bigup-btn btn btn-default">'
+_T('bigup:choisir')
+'</span>'
+'\n\t<span class="dropfileor">'+_T('bigup:ou')+'</span>'
+'\n\t<span class="dropfiletext">'
+'\n\t\t'
+Trads.singulier_ou_pluriel(multiple?2:1,'bigup:deposer_votre_fichier_ici','bigup:deposer_vos_fichiers_ici')
+'\n\t</:span:>'
+'\n</div>\n';
return template;
},
fichiers:function(name){
var template="<div class='bigup_fichiers fichiers_"+name+"'></div>";
return template;
},
},
fichier:function(file){
var extension=$.trouver_extension(file.name);
var template=
'\n<div class="fichier">'
+'\n\t<div class="description">'
+'\n\t\t<div class="vignette_extension '+extension+'" title="'+file.type+'"><span></span></div>'
+'\n\t\t<div class="infos">'
+'\n\t\t\t<span class="name"><strong>'+file.name+'</strong></span>'
+'\n\t\t\t<span class="size">'+$.taille_en_octets(file.size)+'</span>'
+'\n\t\t</div>'
+'\n\t\t<div class="actions">'
+'\n\t\t\t<span class="bigup-btn btn btn-default cancel" onClick="$.bigup_enlever_fichier(this); return false;">'+_T("bigup:bouton_annuler")+'</span>'
+'\n\t\t</div>'
+'\n\t</div>'
+'\n</div>\n';
return template;
}
}
};
this.opts=$.extend(true,this.defaults,opts||{});
this.singleFile=!this.multiple||(this.opts.contraintes.maxFiles===1);
var me=this;
$.each(callbacks||{},function(nom,callback){
me.input.on('bigup.'+nom,callback);
});
this.flow=new Flow({
input:this.input,
target:this.target,
testChunks:true,
maxFiles:this.opts.contraintes.maxFiles,
singleFile:this.singleFile,
simultaneousUploads:this.opts.flow.simultaneousUploads,
permanentErrors:this.opts.flow.permanentErrors,
chunkRetryInterval:this.opts.flow.chunkRetryInterval,
maxChunkRetries:this.opts.flow.maxChunkRetries,
onDropStopPropagation:true,
query:{
action:"bigup",
bigup_token:this.token,
formulaire_action:this.formulaire_action,
formulaire_action_args:this.formulaire_action_args,
}
});
this.support=this.flow.support;
this.input.data('bigup',this);
this.onDropExtended=function(event){
if(me.eventHasFiles(event)){
me.flow.onDrop(event);
$('.bigup-extended-drop-zone.drag-over').trigger('dragleave');
}
}
}
Bigup.prototype={
setOptions:function(options){
options=options||{};
this.opts.options=$.extend(true,this.opts.options,options);
},
integrer_fichiers_presents:function(){
this.creer_zone_fichiers();
var me=this;
this.zones.fichiers.find('.fichier').each(function(){
var $button=$(this).find("button[name=bigup_enlever_fichier]");
var identifiant=$button.val();
$button.remove();
$(this)
.data('bigup',me)
.data('identifiant',identifiant);
me.ajouter_bouton_enlever(this);
});
this.input.trigger('bigup.ready',[me]);
},
ajouter_bouton_enlever:function(fichier){
var js="$.bigup_enlever_fichier(this); return true;";
var inserer='<span class="bigup-btn btn btn-default" onClick="'+js+'">'
+_T('bigup:bouton_enlever')
+'</span>';
$(fichier).find('.actions').append(inserer);
return this;
},
gerer_depot_fichiers:function(){
this.definir_zone_depot();
var me=this;
this.flow.on('fileAdded',function(file,event){
me.ajouter_fichier(file);
me.input.trigger('bigup.fileAdded',[file]);
me.adapter_visibilite_zone_depot();
if(!me.accepter_fichier(file)){
me.presenter_erreur(file.emplacement,file.erreur);
return false;
}
});
this.flow.on('filesSubmitted',function(files){
if(files.length){
$.each(files,function(key,file){
me.progress.ajouter(file.emplacement);
me.input.trigger('bigup.fileSubmitted',[file]);
});
me.flow.upload();
}
});
this.flow.on('fileProgress',function(file,chunk){
var percent=Math.round(file._prevUploadedSize/file.size*100);
var progress=file.emplacement.find('progress');
progress.text(percent+" %");
me.progress.animer(progress,percent);
});
this.flow.on('fileSuccess',function(file,message,chunk){
var desc="";
try{
desc=JSON.parse(message);
file.emplacement.find(".cancel").fadeOut("normal",function(){
$(this).remove();
if(desc.bigup.identifiant){
file.emplacement.data('identifiant',desc.bigup.identifiant);
me.ajouter_bouton_enlever(file.emplacement);
}
});
me.progress.retirer(file.emplacement.find("progress"));
me.input.trigger('bigup.fileSuccess',[file,desc]);
}catch(e){
desc=_T('bigup:erreur_de_transfert')+" : "+e;
me.progress.retirer(file.emplacement.find("progress"));
me.presenter_erreur(file.emplacement,desc);
}
});
this.flow.on('fileRemoved',function(file){
if(!file.bigup_deleted){
me.enlever_fichier(file.emplacement);
}
});
this.flow.on('complete',function(){
me.input.trigger('bigup.complete');
});
this.flow.on('fileError',function(file,message,chunk){
console.warn("error",file,message,chunk);
var message_erreur=_T('bigup:erreur_de_transfert');
if(message){
try{
data=JSON.parse(message);
if(typeof data.error!=='undefined'){
message_erreur=data.error;
}
}catch(e){
message_erreur+=" : "+e;
}
}
me.progress.retirer(file.emplacement.find("progress"));
me.presenter_erreur(file.emplacement,message_erreur);
});
},
definir_zone_depot:function(){
this.input.hide();
this.creer_zone_depot();
this.adapter_visibilite_zone_depot();
this.flow.assignBrowse(
this.zones.depot.find('.dropfilebutton'),
false,
!this.multiple,
{accept:this.opts.contraintes.accept}
);
this.assignDropExtended(this.zones.depot_etendu);
},
creer_zone_depot:function(){
$.bigup_verifier_depots_etendus();
var $zone_depot=this.form.find(".dropfile_"+this.class_name);
if(!$zone_depot.length){
var template=this.opts.templates.zones.depot(this.class_name,!this.singleFile);
this.input.after(template);
$zone_depot=this.form.find(".dropfile_"+this.class_name);
}
var $depot_etendu=$zone_depot;
var depot_etendu=this.input.data('drop-zone-extended');
if(typeof depot_etendu!=="undefined"){
$depot_etendu=jQuery(depot_etendu)
.not('.bigup-extended-drop-zone')
.addClass('bigup-extended-drop-zone')
.data('bigup',this)
.add($zone_depot);
}
var me=this;
$depot_etendu.on('dragenter dragover',function(event){
if(me.eventHasFiles(event.originalEvent)){
$(this).addClass('drag-over');
$zone_depot.addClass('drag-target');
}
});
$depot_etendu.on('dragleave',function(){
$(this).removeClass('drag-over');
$zone_depot.removeClass('drag-target');
});
$depot_etendu.on('drop',function(){
$depot_etendu.removeClass('drag-target').removeClass('drag-over');
});
this.zones.depot=$zone_depot;
this.zones.depot_etendu=$depot_etendu;
},
creer_zone_fichiers:function(){
var $fichiers=this.form.find(".fichiers_"+this.class_name);
if(!$fichiers.length){
var template=this.opts.templates.zones.fichiers(this.class_name);
this.input.before(template);
$fichiers=this.form.find(".fichiers_"+this.class_name);
}
this.zones.fichiers=$fichiers;
},
adapter_visibilite_zone_depot:function(){
var nb=this.zones.fichiers.find(".fichier").length;
if(!this.opts.contraintes.maxFiles||(this.opts.contraintes.maxFiles>nb)){
this.zones.depot.show();
}else{
this.zones.depot.hide();
}
},
accepter_fichier:function(file){
if(this.opts.contraintes.maxFileSize){
var taille=this.opts.contraintes.maxFileSize*1024*1024;
if(file.size>taille){
file.erreur=_T('bigup:erreur_taille_max',{taille:$.taille_en_octets(taille)});
return false;
}
}
if(this.opts.contraintes.accept){
var accept=this.opts.contraintes.accept;
if(accept&&!this.valider_fichier(file.file,accept)){
file.erreur=_T('bigup:erreur_type_fichier');
return false;
}
}
return true;
},
valider_fichier:function(file,acceptedFiles){
var baseMimeType,mimeType,validType,_i,_len;
if(!acceptedFiles){
return true;
}
acceptedFiles=acceptedFiles.split(",");
mimeType=file.type;
baseMimeType=mimeType.replace(/\/.*$/,"");
for(_i=0,_len=acceptedFiles.length;_i<_len;_i++){
validType=acceptedFiles[_i];
validType=validType.trim();
if(validType.charAt(0)==="."){
if(file.name.toLowerCase().indexOf(validType.toLowerCase(),file.name.length-validType.length)!==-1){
return true;
}
}else if(/\/\*$/.test(validType)){
if(baseMimeType===validType.replace(/\/.*$/,"")){
return true;
}
}else{
if(mimeType===validType){
return true;
}
}
}
return false;
},
ajouter_fichier:function(file){
file.bigup=this;
this.creer_zone_fichiers();
var template=this.opts.templates.fichier(file.file);
this.zones.fichiers.append(template);
var fichier=this.zones.fichiers.find(".fichier:last-child");
file.emplacement=fichier;
this.presenter_previsualisation(file);
fichier
.animateAppend()
.data('file',file)
.data('bigup',this);
return true;
},
enlever_fichier:function(emplacement){
var me=this;
emplacement.addClass('annuler');
var identifiant=emplacement.data('identifiant')
if(file=emplacement.data('file')){
file.abort();
file.bigup_deleted=true;
file.cancel();
if(!identifiant){
identifiant=file.uniqueIdentifier;
}
}
this.post({
bigup_action:'effacer',
identifiant:identifiant
})
.done(function(){
emplacement.animateRemove(function(){
$(this).remove();
me.adapter_visibilite_zone_depot();
me.input.trigger('bigup.fileRemoved',[file]);
});
})
.fail(function(){
emplacement.removeClass('annuler');
me.presenter_erreur(emplacement,_T('bigup:erreur_probleme_survenu'));
});
},
post:function(data){
data=$.extend({
action:"bigup",
formulaire_action:this.formulaire_action,
formulaire_action_args:this.formulaire_action_args,
bigup_token:this.token,
},data);
return $.post(this.target,data);
},
send:function(data,options){
const ajaxOptions=Object.assign({
type:"POST",
url:this.target,
data:data,
processData:false,
contentType:false,
cache:false,
},options||{});
return $.ajax(ajaxOptions);
},
presenter_erreur:function(emplacement,message){
emplacement
.addClass('erreur')
.find('.infos')
.append("<span class='message_erreur'>"+message+"</span>");
return this;
},
presenter_succes:function(emplacement,message){
emplacement
.addClass('succes')
.find('.infos')
.append("<span class='message_ok'>"+message+"</span>");
return this;
},
presenter_previsualisation:function(file){
if(!this.opts.options.previsualisation.activer){
return false;
}
if(this.opts.options.previsualisation.fileSizeMax){
var taille=this.opts.options.previsualisation.fileSizeMax*1024*1024;
if(file.file.size>taille){
return false;
}
}
this.readURL(file.file,function(){
if(this.result){
var title=
file.emplacement.find('.infos .name').text()
+' ('+file.emplacement.find('.infos .size').text()+')';
file.emplacement
.find('.vignette_extension')
.removeClass('vignette_extension')
.addClass('previsualisation')
.attr('title',title)
.find('> span')
.css('background-image','url('+this.result+')');
}
});
},
readURL:function(file,callback){
if(file){
var reader=new FileReader();
var imageType=/^image\/(?:bmp|cis\-cod|gif|ief|jpeg|jpeg|jpeg|pipeg|png|svg\+xml|tiff|x\-cmu\-raster|x\-cmx|x\-icon|x\-portable\-anymap|x\-portable\-bitmap|x\-portable\-graymap|x\-portable\-pixmap|x\-rgb|x\-xbitmap|x\-xpixmap|x\-xwindowdump)$/i;
if(!file.type.match(imageType)){
return false;
}
if(typeof callback=='function'){
reader.addEventListener("load",callback);
}
reader.readAsDataURL(file);
return true;
}
return false;
},
progress:{
ajouter:function(emplacement){
var progress=$('<progress value="0" max="100" style="display:none">0 %</progress>');
emplacement.append(progress);
progress.fadeIn(1000);
return this;
},
animer:function(progress,val){
progress.each(function(){
var me=this;
$({percent:me.value}).animate({percent:val},{
duration:200,
step:function(){me.value=this.percent;}
});
});
return this;
},
retirer:function(progress){
progress.delay(200).fadeOut("normal",function(){
$(this).slideUp("normal",function(){$(this).remove();});
});
return this;
}
},
getFormData:function(){
console.info(
'Method `bigup.getFormData` is deprecated and will be removed in future version of Bigup.',
'Please use `bigup.buildFormData` instead and adapt your code (see #4861)'
);
var inputName,inputType;
var data={};
this.form.find("input, textarea, select, button").each(function(){
inputName=$(this).attr('name');
inputType=$(this).attr('type');
if(inputName){
if(this.tagName==="SELECT"&&this.hasAttribute("multiple")){
$.each(this.options,function(key,option){
if(option.selected){
data[inputName]=option.value;
}
});
}else if(
!inputType
||($.inArray(inputType,["file","checkbox","radio","submit"])==-1)
||this.checked
){
data[inputName]=this.value;
}
}
});
return data;
},
buildFormData:function(){
const formData=new FormData();
const form=this.form[0];
for(let input of form.querySelectorAll(
"input, textarea, select, button"
)){
let inputName=input.getAttribute("name");
let inputType=input.getAttribute("type");
if(inputType)inputType=inputType.toLowerCase();
if(typeof inputName==="undefined"||inputName===null)continue;
if(input.tagName==="SELECT"&&input.hasAttribute("multiple")){
for(let option of input.options){
if(option.selected){
formData.append(inputName,option.value);
}
}
}else if(
!inputType||
(
inputType!=="checkbox"
&&inputType!=="radio"
&&inputType!=="file"
&&inputType!=="submit"
)||
input.checked
){
formData.append(inputName,input.value);
}
}
return formData;
},
assignDropExtended:function(domNodes){
if(typeof domNodes.length==='undefined'){
domNodes=[domNodes];
}
Flow.each(domNodes,function(domNode){
domNode.addEventListener('dragover',this.flow.preventEvent,false);
domNode.addEventListener('dragenter',this.flow.preventEvent,false);
domNode.addEventListener('drop',this.onDropExtended,false);
},this);
},
unAssignDrop:function(domNodes){
if(typeof domNodes.length==='undefined'){
domNodes=[domNodes];
}
Flow.each(domNodes,function(domNode){
domNode.removeEventListener('dragover',this.flow.preventEvent);
domNode.removeEventListener('dragenter',this.flow.preventEvent);
domNode.removeEventListener('drop',this.onDropExtended);
},this);
},
removeExtendedDropZone:function(){
$depot_etendu=this.zones.depot_etendu;
this.unAssignDrop($depot_etendu);
$depot_etendu
.removeClass('bigup-extended-drop-zone')
.off('dragenter dragover')
.off('dragleave drop')
.removeData('bigup');
},
eventHasFiles:function(event){
if(event.dataTransfer.types){
for(var i=0;i<event.dataTransfer.types.length;i++){
if(event.dataTransfer.types[i]==="Files"){
return true;
}
}
}
return false;
}
};
$.bigup_enlever_fichier=function(me){
var emplacement=$(me).parents('.fichier');
var bigup=emplacement.data('bigup');
$(me).addClass('btn-disabled');
bigup.enlever_fichier(emplacement);
};
$.bigup_verifier_depots_etendus=function(){
jQuery('.bigup-extended-drop-zone').each(function(){
var bigup=jQuery(this).data('bigup');
if(!bigup){
$(this).removeClass('bigup-extended-drop-zone')
}else if(!document.body.contains(bigup.zones.depot.get(0))){
bigup.removeExtendedDropZone();
}
});
}


/* ../plugins-dist/bigup/javascript/bigup.loader.js?1672674099 */
jQuery(function($){
var formulaires_avec_bigup=function(){
$.bigup_verifier_depots_etendus();
setTimeout(function(){$(".formulaire_spip form input[type=file].bigup").bigup();},10)
}
formulaires_avec_bigup();
onAjaxLoad(formulaires_avec_bigup);
});


/* ../prive/lib/bootstrap/js/popper.js?1672674102 */

(function(global,factory){
typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():
typeof define==='function'&&define.amd?define(factory):
(global.Popper=factory());
}(this,(function(){'use strict';
var isBrowser=typeof window!=='undefined'&&typeof document!=='undefined'&&typeof navigator!=='undefined';
var timeoutDuration=function(){
var longerTimeoutBrowsers=['Edge','Trident','Firefox'];
for(var i=0;i<longerTimeoutBrowsers.length;i+=1){
if(isBrowser&&navigator.userAgent.indexOf(longerTimeoutBrowsers[i])>=0){
return 1;
}
}
return 0;
}();
function microtaskDebounce(fn){
var called=false;
return function(){
if(called){
return;
}
called=true;
window.Promise.resolve().then(function(){
called=false;
fn();
});
};
}
function taskDebounce(fn){
var scheduled=false;
return function(){
if(!scheduled){
scheduled=true;
setTimeout(function(){
scheduled=false;
fn();
},timeoutDuration);
}
};
}
var supportsMicroTasks=isBrowser&&window.Promise;
var debounce=supportsMicroTasks?microtaskDebounce:taskDebounce;
function isFunction(functionToCheck){
var getType={};
return functionToCheck&&getType.toString.call(functionToCheck)==='[object Function]';
}
function getStyleComputedProperty(element,property){
if(element.nodeType!==1){
return[];
}
var window=element.ownerDocument.defaultView;
var css=window.getComputedStyle(element,null);
return property?css[property]:css;
}
function getParentNode(element){
if(element.nodeName==='HTML'){
return element;
}
return element.parentNode||element.host;
}
function getScrollParent(element){
if(!element){
return document.body;
}
switch(element.nodeName){
case'HTML':
case'BODY':
return element.ownerDocument.body;
case'#document':
return element.body;
}
var _getStyleComputedProp=getStyleComputedProperty(element),
overflow=_getStyleComputedProp.overflow,
overflowX=_getStyleComputedProp.overflowX,
overflowY=_getStyleComputedProp.overflowY;
if(/(auto|scroll|overlay)/.test(overflow+overflowY+overflowX)){
return element;
}
return getScrollParent(getParentNode(element));
}
function getReferenceNode(reference){
return reference&&reference.referenceNode?reference.referenceNode:reference;
}
var isIE11=isBrowser&&!!(window.MSInputMethodContext&&document.documentMode);
var isIE10=isBrowser&&/MSIE 10/.test(navigator.userAgent);
function isIE(version){
if(version===11){
return isIE11;
}
if(version===10){
return isIE10;
}
return isIE11||isIE10;
}
function getOffsetParent(element){
if(!element){
return document.documentElement;
}
var noOffsetParent=isIE(10)?document.body:null;
var offsetParent=element.offsetParent||null;
while(offsetParent===noOffsetParent&&element.nextElementSibling){
offsetParent=(element=element.nextElementSibling).offsetParent;
}
var nodeName=offsetParent&&offsetParent.nodeName;
if(!nodeName||nodeName==='BODY'||nodeName==='HTML'){
return element?element.ownerDocument.documentElement:document.documentElement;
}
if(['TH','TD','TABLE'].indexOf(offsetParent.nodeName)!==-1&&getStyleComputedProperty(offsetParent,'position')==='static'){
return getOffsetParent(offsetParent);
}
return offsetParent;
}
function isOffsetContainer(element){
var nodeName=element.nodeName;
if(nodeName==='BODY'){
return false;
}
return nodeName==='HTML'||getOffsetParent(element.firstElementChild)===element;
}
function getRoot(node){
if(node.parentNode!==null){
return getRoot(node.parentNode);
}
return node;
}
function findCommonOffsetParent(element1,element2){
if(!element1||!element1.nodeType||!element2||!element2.nodeType){
return document.documentElement;
}
var order=element1.compareDocumentPosition(element2)&Node.DOCUMENT_POSITION_FOLLOWING;
var start=order?element1:element2;
var end=order?element2:element1;
var range=document.createRange();
range.setStart(start,0);
range.setEnd(end,0);
var commonAncestorContainer=range.commonAncestorContainer;
if(element1!==commonAncestorContainer&&element2!==commonAncestorContainer||start.contains(end)){
if(isOffsetContainer(commonAncestorContainer)){
return commonAncestorContainer;
}
return getOffsetParent(commonAncestorContainer);
}
var element1root=getRoot(element1);
if(element1root.host){
return findCommonOffsetParent(element1root.host,element2);
}else{
return findCommonOffsetParent(element1,getRoot(element2).host);
}
}
function getScroll(element){
var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'top';
var upperSide=side==='top'?'scrollTop':'scrollLeft';
var nodeName=element.nodeName;
if(nodeName==='BODY'||nodeName==='HTML'){
var html=element.ownerDocument.documentElement;
var scrollingElement=element.ownerDocument.scrollingElement||html;
return scrollingElement[upperSide];
}
return element[upperSide];
}
function includeScroll(rect,element){
var subtract=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;
var scrollTop=getScroll(element,'top');
var scrollLeft=getScroll(element,'left');
var modifier=subtract?-1:1;
rect.top+=scrollTop*modifier;
rect.bottom+=scrollTop*modifier;
rect.left+=scrollLeft*modifier;
rect.right+=scrollLeft*modifier;
return rect;
}
function getBordersSize(styles,axis){
var sideA=axis==='x'?'Left':'Top';
var sideB=sideA==='Left'?'Right':'Bottom';
return parseFloat(styles['border'+sideA+'Width'])+parseFloat(styles['border'+sideB+'Width']);
}
function getSize(axis,body,html,computedStyle){
return Math.max(body['offset'+axis],body['scroll'+axis],html['client'+axis],html['offset'+axis],html['scroll'+axis],isIE(10)?parseInt(html['offset'+axis])+parseInt(computedStyle['margin'+(axis==='Height'?'Top':'Left')])+parseInt(computedStyle['margin'+(axis==='Height'?'Bottom':'Right')]):0);
}
function getWindowSizes(document){
var body=document.body;
var html=document.documentElement;
var computedStyle=isIE(10)&&getComputedStyle(html);
return{
height:getSize('Height',body,html,computedStyle),
width:getSize('Width',body,html,computedStyle)
};
}
var classCallCheck=function(instance,Constructor){
if(!(instance instanceof Constructor)){
throw new TypeError("Cannot call a class as a function");
}
};
var createClass=function(){
function defineProperties(target,props){
for(var i=0;i<props.length;i++){
var descriptor=props[i];
descriptor.enumerable=descriptor.enumerable||false;
descriptor.configurable=true;
if("value"in descriptor)descriptor.writable=true;
Object.defineProperty(target,descriptor.key,descriptor);
}
}
return function(Constructor,protoProps,staticProps){
if(protoProps)defineProperties(Constructor.prototype,protoProps);
if(staticProps)defineProperties(Constructor,staticProps);
return Constructor;
};
}();
var defineProperty=function(obj,key,value){
if(key in obj){
Object.defineProperty(obj,key,{
value:value,
enumerable:true,
configurable:true,
writable:true
});
}else{
obj[key]=value;
}
return obj;
};
var _extends=Object.assign||function(target){
for(var i=1;i<arguments.length;i++){
var source=arguments[i];
for(var key in source){
if(Object.prototype.hasOwnProperty.call(source,key)){
target[key]=source[key];
}
}
}
return target;
};
function getClientRect(offsets){
return _extends({},offsets,{
right:offsets.left+offsets.width,
bottom:offsets.top+offsets.height
});
}
function getBoundingClientRect(element){
var rect={};
try{
if(isIE(10)){
rect=element.getBoundingClientRect();
var scrollTop=getScroll(element,'top');
var scrollLeft=getScroll(element,'left');
rect.top+=scrollTop;
rect.left+=scrollLeft;
rect.bottom+=scrollTop;
rect.right+=scrollLeft;
}else{
rect=element.getBoundingClientRect();
}
}catch(e){}
var result={
left:rect.left,
top:rect.top,
width:rect.right-rect.left,
height:rect.bottom-rect.top
};
var sizes=element.nodeName==='HTML'?getWindowSizes(element.ownerDocument):{};
var width=sizes.width||element.clientWidth||result.width;
var height=sizes.height||element.clientHeight||result.height;
var horizScrollbar=element.offsetWidth-width;
var vertScrollbar=element.offsetHeight-height;
if(horizScrollbar||vertScrollbar){
var styles=getStyleComputedProperty(element);
horizScrollbar-=getBordersSize(styles,'x');
vertScrollbar-=getBordersSize(styles,'y');
result.width-=horizScrollbar;
result.height-=vertScrollbar;
}
return getClientRect(result);
}
function getOffsetRectRelativeToArbitraryNode(children,parent){
var fixedPosition=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;
var isIE10=isIE(10);
var isHTML=parent.nodeName==='HTML';
var childrenRect=getBoundingClientRect(children);
var parentRect=getBoundingClientRect(parent);
var scrollParent=getScrollParent(children);
var styles=getStyleComputedProperty(parent);
var borderTopWidth=parseFloat(styles.borderTopWidth);
var borderLeftWidth=parseFloat(styles.borderLeftWidth);
if(fixedPosition&&isHTML){
parentRect.top=Math.max(parentRect.top,0);
parentRect.left=Math.max(parentRect.left,0);
}
var offsets=getClientRect({
top:childrenRect.top-parentRect.top-borderTopWidth,
left:childrenRect.left-parentRect.left-borderLeftWidth,
width:childrenRect.width,
height:childrenRect.height
});
offsets.marginTop=0;
offsets.marginLeft=0;
if(!isIE10&&isHTML){
var marginTop=parseFloat(styles.marginTop);
var marginLeft=parseFloat(styles.marginLeft);
offsets.top-=borderTopWidth-marginTop;
offsets.bottom-=borderTopWidth-marginTop;
offsets.left-=borderLeftWidth-marginLeft;
offsets.right-=borderLeftWidth-marginLeft;
offsets.marginTop=marginTop;
offsets.marginLeft=marginLeft;
}
if(isIE10&&!fixedPosition?parent.contains(scrollParent):parent===scrollParent&&scrollParent.nodeName!=='BODY'){
offsets=includeScroll(offsets,parent);
}
return offsets;
}
function getViewportOffsetRectRelativeToArtbitraryNode(element){
var excludeScroll=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;
var html=element.ownerDocument.documentElement;
var relativeOffset=getOffsetRectRelativeToArbitraryNode(element,html);
var width=Math.max(html.clientWidth,window.innerWidth||0);
var height=Math.max(html.clientHeight,window.innerHeight||0);
var scrollTop=!excludeScroll?getScroll(html):0;
var scrollLeft=!excludeScroll?getScroll(html,'left'):0;
var offset={
top:scrollTop-relativeOffset.top+relativeOffset.marginTop,
left:scrollLeft-relativeOffset.left+relativeOffset.marginLeft,
width:width,
height:height
};
return getClientRect(offset);
}
function isFixed(element){
var nodeName=element.nodeName;
if(nodeName==='BODY'||nodeName==='HTML'){
return false;
}
if(getStyleComputedProperty(element,'position')==='fixed'){
return true;
}
var parentNode=getParentNode(element);
if(!parentNode){
return false;
}
return isFixed(parentNode);
}
function getFixedPositionOffsetParent(element){
if(!element||!element.parentElement||isIE()){
return document.documentElement;
}
var el=element.parentElement;
while(el&&getStyleComputedProperty(el,'transform')==='none'){
el=el.parentElement;
}
return el||document.documentElement;
}
function getBoundaries(popper,reference,padding,boundariesElement){
var fixedPosition=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;
var boundaries={top:0,left:0};
var offsetParent=fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,getReferenceNode(reference));
if(boundariesElement==='viewport'){
boundaries=getViewportOffsetRectRelativeToArtbitraryNode(offsetParent,fixedPosition);
}else{
var boundariesNode=void 0;
if(boundariesElement==='scrollParent'){
boundariesNode=getScrollParent(getParentNode(reference));
if(boundariesNode.nodeName==='BODY'){
boundariesNode=popper.ownerDocument.documentElement;
}
}else if(boundariesElement==='window'){
boundariesNode=popper.ownerDocument.documentElement;
}else{
boundariesNode=boundariesElement;
}
var offsets=getOffsetRectRelativeToArbitraryNode(boundariesNode,offsetParent,fixedPosition);
if(boundariesNode.nodeName==='HTML'&&!isFixed(offsetParent)){
var _getWindowSizes=getWindowSizes(popper.ownerDocument),
height=_getWindowSizes.height,
width=_getWindowSizes.width;
boundaries.top+=offsets.top-offsets.marginTop;
boundaries.bottom=height+offsets.top;
boundaries.left+=offsets.left-offsets.marginLeft;
boundaries.right=width+offsets.left;
}else{
boundaries=offsets;
}
}
padding=padding||0;
var isPaddingNumber=typeof padding==='number';
boundaries.left+=isPaddingNumber?padding:padding.left||0;
boundaries.top+=isPaddingNumber?padding:padding.top||0;
boundaries.right-=isPaddingNumber?padding:padding.right||0;
boundaries.bottom-=isPaddingNumber?padding:padding.bottom||0;
return boundaries;
}
function getArea(_ref){
var width=_ref.width,
height=_ref.height;
return width*height;
}
function computeAutoPlacement(placement,refRect,popper,reference,boundariesElement){
var padding=arguments.length>5&&arguments[5]!==undefined?arguments[5]:0;
if(placement.indexOf('auto')===-1){
return placement;
}
var boundaries=getBoundaries(popper,reference,padding,boundariesElement);
var rects={
top:{
width:boundaries.width,
height:refRect.top-boundaries.top
},
right:{
width:boundaries.right-refRect.right,
height:boundaries.height
},
bottom:{
width:boundaries.width,
height:boundaries.bottom-refRect.bottom
},
left:{
width:refRect.left-boundaries.left,
height:boundaries.height
}
};
var sortedAreas=Object.keys(rects).map(function(key){
return _extends({
key:key
},rects[key],{
area:getArea(rects[key])
});
}).sort(function(a,b){
return b.area-a.area;
});
var filteredAreas=sortedAreas.filter(function(_ref2){
var width=_ref2.width,
height=_ref2.height;
return width>=popper.clientWidth&&height>=popper.clientHeight;
});
var computedPlacement=filteredAreas.length>0?filteredAreas[0].key:sortedAreas[0].key;
var variation=placement.split('-')[1];
return computedPlacement+(variation?'-'+variation:'');
}
function getReferenceOffsets(state,popper,reference){
var fixedPosition=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;
var commonOffsetParent=fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,getReferenceNode(reference));
return getOffsetRectRelativeToArbitraryNode(reference,commonOffsetParent,fixedPosition);
}
function getOuterSizes(element){
var window=element.ownerDocument.defaultView;
var styles=window.getComputedStyle(element);
var x=parseFloat(styles.marginTop||0)+parseFloat(styles.marginBottom||0);
var y=parseFloat(styles.marginLeft||0)+parseFloat(styles.marginRight||0);
var result={
width:element.offsetWidth+y,
height:element.offsetHeight+x
};
return result;
}
function getOppositePlacement(placement){
var hash={left:'right',right:'left',bottom:'top',top:'bottom'};
return placement.replace(/left|right|bottom|top/g,function(matched){
return hash[matched];
});
}
function getPopperOffsets(popper,referenceOffsets,placement){
placement=placement.split('-')[0];
var popperRect=getOuterSizes(popper);
var popperOffsets={
width:popperRect.width,
height:popperRect.height
};
var isHoriz=['right','left'].indexOf(placement)!==-1;
var mainSide=isHoriz?'top':'left';
var secondarySide=isHoriz?'left':'top';
var measurement=isHoriz?'height':'width';
var secondaryMeasurement=!isHoriz?'height':'width';
popperOffsets[mainSide]=referenceOffsets[mainSide]+referenceOffsets[measurement]/ 2 - popperRect[measurement] /2;
if(placement===secondarySide){
popperOffsets[secondarySide]=referenceOffsets[secondarySide]-popperRect[secondaryMeasurement];
}else{
popperOffsets[secondarySide]=referenceOffsets[getOppositePlacement(secondarySide)];
}
return popperOffsets;
}
function find(arr,check){
if(Array.prototype.find){
return arr.find(check);
}
return arr.filter(check)[0];
}
function findIndex(arr,prop,value){
if(Array.prototype.findIndex){
return arr.findIndex(function(cur){
return cur[prop]===value;
});
}
var match=find(arr,function(obj){
return obj[prop]===value;
});
return arr.indexOf(match);
}
function runModifiers(modifiers,data,ends){
var modifiersToRun=ends===undefined?modifiers:modifiers.slice(0,findIndex(modifiers,'name',ends));
modifiersToRun.forEach(function(modifier){
if(modifier['function']){
console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
}
var fn=modifier['function']||modifier.fn;
if(modifier.enabled&&isFunction(fn)){
data.offsets.popper=getClientRect(data.offsets.popper);
data.offsets.reference=getClientRect(data.offsets.reference);
data=fn(data,modifier);
}
});
return data;
}
function update(){
if(this.state.isDestroyed){
return;
}
var data={
instance:this,
styles:{},
arrowStyles:{},
attributes:{},
flipped:false,
offsets:{}
};
data.offsets.reference=getReferenceOffsets(this.state,this.popper,this.reference,this.options.positionFixed);
data.placement=computeAutoPlacement(this.options.placement,data.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding);
data.originalPlacement=data.placement;
data.positionFixed=this.options.positionFixed;
data.offsets.popper=getPopperOffsets(this.popper,data.offsets.reference,data.placement);
data.offsets.popper.position=this.options.positionFixed?'fixed':'absolute';
data=runModifiers(this.modifiers,data);
if(!this.state.isCreated){
this.state.isCreated=true;
this.options.onCreate(data);
}else{
this.options.onUpdate(data);
}
}
function isModifierEnabled(modifiers,modifierName){
return modifiers.some(function(_ref){
var name=_ref.name,
enabled=_ref.enabled;
return enabled&&name===modifierName;
});
}
function getSupportedPropertyName(property){
var prefixes=[false,'ms','Webkit','Moz','O'];
var upperProp=property.charAt(0).toUpperCase()+property.slice(1);
for(var i=0;i<prefixes.length;i++){
var prefix=prefixes[i];
var toCheck=prefix?''+prefix+upperProp:property;
if(typeof document.body.style[toCheck]!=='undefined'){
return toCheck;
}
}
return null;
}
function destroy(){
this.state.isDestroyed=true;
if(isModifierEnabled(this.modifiers,'applyStyle')){
this.popper.removeAttribute('x-placement');
this.popper.style.position='';
this.popper.style.top='';
this.popper.style.left='';
this.popper.style.right='';
this.popper.style.bottom='';
this.popper.style.willChange='';
this.popper.style[getSupportedPropertyName('transform')]='';
}
this.disableEventListeners();
if(this.options.removeOnDestroy){
this.popper.parentNode.removeChild(this.popper);
}
return this;
}
function getWindow(element){
var ownerDocument=element.ownerDocument;
return ownerDocument?ownerDocument.defaultView:window;
}
function attachToScrollParents(scrollParent,event,callback,scrollParents){
var isBody=scrollParent.nodeName==='BODY';
var target=isBody?scrollParent.ownerDocument.defaultView:scrollParent;
target.addEventListener(event,callback,{passive:true});
if(!isBody){
attachToScrollParents(getScrollParent(target.parentNode),event,callback,scrollParents);
}
scrollParents.push(target);
}
function setupEventListeners(reference,options,state,updateBound){
state.updateBound=updateBound;
getWindow(reference).addEventListener('resize',state.updateBound,{passive:true});
var scrollElement=getScrollParent(reference);
attachToScrollParents(scrollElement,'scroll',state.updateBound,state.scrollParents);
state.scrollElement=scrollElement;
state.eventsEnabled=true;
return state;
}
function enableEventListeners(){
if(!this.state.eventsEnabled){
this.state=setupEventListeners(this.reference,this.options,this.state,this.scheduleUpdate);
}
}
function removeEventListeners(reference,state){
getWindow(reference).removeEventListener('resize',state.updateBound);
state.scrollParents.forEach(function(target){
target.removeEventListener('scroll',state.updateBound);
});
state.updateBound=null;
state.scrollParents=[];
state.scrollElement=null;
state.eventsEnabled=false;
return state;
}
function disableEventListeners(){
if(this.state.eventsEnabled){
cancelAnimationFrame(this.scheduleUpdate);
this.state=removeEventListeners(this.reference,this.state);
}
}
function isNumeric(n){
return n!==''&&!isNaN(parseFloat(n))&&isFinite(n);
}
function setStyles(element,styles){
Object.keys(styles).forEach(function(prop){
var unit='';
if(['width','height','top','right','bottom','left'].indexOf(prop)!==-1&&isNumeric(styles[prop])){
unit='px';
}
element.style[prop]=styles[prop]+unit;
});
}
function setAttributes(element,attributes){
Object.keys(attributes).forEach(function(prop){
var value=attributes[prop];
if(value!==false){
element.setAttribute(prop,attributes[prop]);
}else{
element.removeAttribute(prop);
}
});
}
function applyStyle(data){
setStyles(data.instance.popper,data.styles);
setAttributes(data.instance.popper,data.attributes);
if(data.arrowElement&&Object.keys(data.arrowStyles).length){
setStyles(data.arrowElement,data.arrowStyles);
}
return data;
}
function applyStyleOnLoad(reference,popper,options,modifierOptions,state){
var referenceOffsets=getReferenceOffsets(state,popper,reference,options.positionFixed);
var placement=computeAutoPlacement(options.placement,referenceOffsets,popper,reference,options.modifiers.flip.boundariesElement,options.modifiers.flip.padding);
popper.setAttribute('x-placement',placement);
setStyles(popper,{position:options.positionFixed?'fixed':'absolute'});
return options;
}
function getRoundedOffsets(data,shouldRound){
var _data$offsets=data.offsets,
popper=_data$offsets.popper,
reference=_data$offsets.reference;
var round=Math.round,
floor=Math.floor;
var noRound=function noRound(v){
return v;
};
var referenceWidth=round(reference.width);
var popperWidth=round(popper.width);
var isVertical=['left','right'].indexOf(data.placement)!==-1;
var isVariation=data.placement.indexOf('-')!==-1;
var sameWidthParity=referenceWidth%2===popperWidth%2;
var bothOddWidth=referenceWidth%2===1&&popperWidth%2===1;
var horizontalToInteger=!shouldRound?noRound:isVertical||isVariation||sameWidthParity?round:floor;
var verticalToInteger=!shouldRound?noRound:round;
return{
left:horizontalToInteger(bothOddWidth&&!isVariation&&shouldRound?popper.left-1:popper.left),
top:verticalToInteger(popper.top),
bottom:verticalToInteger(popper.bottom),
right:horizontalToInteger(popper.right)
};
}
var isFirefox=isBrowser&&/Firefox/i.test(navigator.userAgent);
function computeStyle(data,options){
var x=options.x,
y=options.y;
var popper=data.offsets.popper;
var legacyGpuAccelerationOption=find(data.instance.modifiers,function(modifier){
return modifier.name==='applyStyle';
}).gpuAcceleration;
if(legacyGpuAccelerationOption!==undefined){
console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
}
var gpuAcceleration=legacyGpuAccelerationOption!==undefined?legacyGpuAccelerationOption:options.gpuAcceleration;
var offsetParent=getOffsetParent(data.instance.popper);
var offsetParentRect=getBoundingClientRect(offsetParent);
var styles={
position:popper.position
};
var offsets=getRoundedOffsets(data,window.devicePixelRatio<2||!isFirefox);
var sideA=x==='bottom'?'top':'bottom';
var sideB=y==='right'?'left':'right';
var prefixedProperty=getSupportedPropertyName('transform');
var left=void 0,
top=void 0;
if(sideA==='bottom'){
if(offsetParent.nodeName==='HTML'){
top=-offsetParent.clientHeight+offsets.bottom;
}else{
top=-offsetParentRect.height+offsets.bottom;
}
}else{
top=offsets.top;
}
if(sideB==='right'){
if(offsetParent.nodeName==='HTML'){
left=-offsetParent.clientWidth+offsets.right;
}else{
left=-offsetParentRect.width+offsets.right;
}
}else{
left=offsets.left;
}
if(gpuAcceleration&&prefixedProperty){
styles[prefixedProperty]='translate3d('+left+'px, '+top+'px, 0)';
styles[sideA]=0;
styles[sideB]=0;
styles.willChange='transform';
}else{
var invertTop=sideA==='bottom'?-1:1;
var invertLeft=sideB==='right'?-1:1;
styles[sideA]=top*invertTop;
styles[sideB]=left*invertLeft;
styles.willChange=sideA+', '+sideB;
}
var attributes={
'x-placement':data.placement
};
data.attributes=_extends({},attributes,data.attributes);
data.styles=_extends({},styles,data.styles);
data.arrowStyles=_extends({},data.offsets.arrow,data.arrowStyles);
return data;
}
function isModifierRequired(modifiers,requestingName,requestedName){
var requesting=find(modifiers,function(_ref){
var name=_ref.name;
return name===requestingName;
});
var isRequired=!!requesting&&modifiers.some(function(modifier){
return modifier.name===requestedName&&modifier.enabled&&modifier.order<requesting.order;
});
if(!isRequired){
var _requesting='`'+requestingName+'`';
var requested='`'+requestedName+'`';
console.warn(requested+' modifier is required by '+_requesting+' modifier in order to work, be sure to include it before '+_requesting+'!');
}
return isRequired;
}
function arrow(data,options){
var _data$offsets$arrow;
if(!isModifierRequired(data.instance.modifiers,'arrow','keepTogether')){
return data;
}
var arrowElement=options.element;
if(typeof arrowElement==='string'){
arrowElement=data.instance.popper.querySelector(arrowElement);
if(!arrowElement){
return data;
}
}else{
if(!data.instance.popper.contains(arrowElement)){
console.warn('WARNING: `arrow.element` must be child of its popper element!');
return data;
}
}
var placement=data.placement.split('-')[0];
var _data$offsets=data.offsets,
popper=_data$offsets.popper,
reference=_data$offsets.reference;
var isVertical=['left','right'].indexOf(placement)!==-1;
var len=isVertical?'height':'width';
var sideCapitalized=isVertical?'Top':'Left';
var side=sideCapitalized.toLowerCase();
var altSide=isVertical?'left':'top';
var opSide=isVertical?'bottom':'right';
var arrowElementSize=getOuterSizes(arrowElement)[len];
if(reference[opSide]-arrowElementSize<popper[side]){
data.offsets.popper[side]-=popper[side]-(reference[opSide]-arrowElementSize);
}
if(reference[side]+arrowElementSize>popper[opSide]){
data.offsets.popper[side]+=reference[side]+arrowElementSize-popper[opSide];
}
data.offsets.popper=getClientRect(data.offsets.popper);
var center=reference[side]+reference[len]/ 2 - arrowElementSize /2;
var css=getStyleComputedProperty(data.instance.popper);
var popperMarginSide=parseFloat(css['margin'+sideCapitalized]);
var popperBorderSide=parseFloat(css['border'+sideCapitalized+'Width']);
var sideValue=center-data.offsets.popper[side]-popperMarginSide-popperBorderSide;
sideValue=Math.max(Math.min(popper[len]-arrowElementSize,sideValue),0);
data.arrowElement=arrowElement;
data.offsets.arrow=(_data$offsets$arrow={},defineProperty(_data$offsets$arrow,side,Math.round(sideValue)),defineProperty(_data$offsets$arrow,altSide,''),_data$offsets$arrow);
return data;
}
function getOppositeVariation(variation){
if(variation==='end'){
return'start';
}else if(variation==='start'){
return'end';
}
return variation;
}
var placements=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'];
var validPlacements=placements.slice(3);
function clockwise(placement){
var counter=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;
var index=validPlacements.indexOf(placement);
var arr=validPlacements.slice(index+1).concat(validPlacements.slice(0,index));
return counter?arr.reverse():arr;
}
var BEHAVIORS={
FLIP:'flip',
CLOCKWISE:'clockwise',
COUNTERCLOCKWISE:'counterclockwise'
};
function flip(data,options){
if(isModifierEnabled(data.instance.modifiers,'inner')){
return data;
}
if(data.flipped&&data.placement===data.originalPlacement){
return data;
}
var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,options.boundariesElement,data.positionFixed);
var placement=data.placement.split('-')[0];
var placementOpposite=getOppositePlacement(placement);
var variation=data.placement.split('-')[1]||'';
var flipOrder=[];
switch(options.behavior){
case BEHAVIORS.FLIP:
flipOrder=[placement,placementOpposite];
break;
case BEHAVIORS.CLOCKWISE:
flipOrder=clockwise(placement);
break;
case BEHAVIORS.COUNTERCLOCKWISE:
flipOrder=clockwise(placement,true);
break;
default:
flipOrder=options.behavior;
}
flipOrder.forEach(function(step,index){
if(placement!==step||flipOrder.length===index+1){
return data;
}
placement=data.placement.split('-')[0];
placementOpposite=getOppositePlacement(placement);
var popperOffsets=data.offsets.popper;
var refOffsets=data.offsets.reference;
var floor=Math.floor;
var overlapsRef=placement==='left'&&floor(popperOffsets.right)>floor(refOffsets.left)||placement==='right'&&floor(popperOffsets.left)<floor(refOffsets.right)||placement==='top'&&floor(popperOffsets.bottom)>floor(refOffsets.top)||placement==='bottom'&&floor(popperOffsets.top)<floor(refOffsets.bottom);
var overflowsLeft=floor(popperOffsets.left)<floor(boundaries.left);
var overflowsRight=floor(popperOffsets.right)>floor(boundaries.right);
var overflowsTop=floor(popperOffsets.top)<floor(boundaries.top);
var overflowsBottom=floor(popperOffsets.bottom)>floor(boundaries.bottom);
var overflowsBoundaries=placement==='left'&&overflowsLeft||placement==='right'&&overflowsRight||placement==='top'&&overflowsTop||placement==='bottom'&&overflowsBottom;
var isVertical=['top','bottom'].indexOf(placement)!==-1;
var flippedVariationByRef=!!options.flipVariations&&(isVertical&&variation==='start'&&overflowsLeft||isVertical&&variation==='end'&&overflowsRight||!isVertical&&variation==='start'&&overflowsTop||!isVertical&&variation==='end'&&overflowsBottom);
var flippedVariationByContent=!!options.flipVariationsByContent&&(isVertical&&variation==='start'&&overflowsRight||isVertical&&variation==='end'&&overflowsLeft||!isVertical&&variation==='start'&&overflowsBottom||!isVertical&&variation==='end'&&overflowsTop);
var flippedVariation=flippedVariationByRef||flippedVariationByContent;
if(overlapsRef||overflowsBoundaries||flippedVariation){
data.flipped=true;
if(overlapsRef||overflowsBoundaries){
placement=flipOrder[index+1];
}
if(flippedVariation){
variation=getOppositeVariation(variation);
}
data.placement=placement+(variation?'-'+variation:'');
data.offsets.popper=_extends({},data.offsets.popper,getPopperOffsets(data.instance.popper,data.offsets.reference,data.placement));
data=runModifiers(data.instance.modifiers,data,'flip');
}
});
return data;
}
function keepTogether(data){
var _data$offsets=data.offsets,
popper=_data$offsets.popper,
reference=_data$offsets.reference;
var placement=data.placement.split('-')[0];
var floor=Math.floor;
var isVertical=['top','bottom'].indexOf(placement)!==-1;
var side=isVertical?'right':'bottom';
var opSide=isVertical?'left':'top';
var measurement=isVertical?'width':'height';
if(popper[side]<floor(reference[opSide])){
data.offsets.popper[opSide]=floor(reference[opSide])-popper[measurement];
}
if(popper[opSide]>floor(reference[side])){
data.offsets.popper[opSide]=floor(reference[side]);
}
return data;
}
function toValue(str,measurement,popperOffsets,referenceOffsets){
var split=str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);
var value=+split[1];
var unit=split[2];
if(!value){
return str;
}
if(unit.indexOf('%')===0){
var element=void 0;
switch(unit){
case'%p':
element=popperOffsets;
break;
case'%':
case'%r':
default:
element=referenceOffsets;
}
var rect=getClientRect(element);
return rect[measurement]/100*value;
}else if(unit==='vh'||unit==='vw'){
var size=void 0;
if(unit==='vh'){
size=Math.max(document.documentElement.clientHeight,window.innerHeight||0);
}else{
size=Math.max(document.documentElement.clientWidth,window.innerWidth||0);
}
return size/100*value;
}else{
return value;
}
}
function parseOffset(offset,popperOffsets,referenceOffsets,basePlacement){
var offsets=[0,0];
var useHeight=['right','left'].indexOf(basePlacement)!==-1;
var fragments=offset.split(/(\+|\-)/).map(function(frag){
return frag.trim();
});
var divider=fragments.indexOf(find(fragments,function(frag){
return frag.search(/,|\s/)!==-1;
}));
if(fragments[divider]&&fragments[divider].indexOf(',')===-1){
console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
}
var splitRegex=/\s*,\s*|\s+/;
var ops=divider!==-1?[fragments.slice(0,divider).concat([fragments[divider].split(splitRegex)[0]]),[fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider+1))]:[fragments];
ops=ops.map(function(op,index){
var measurement=(index===1?!useHeight:useHeight)?'height':'width';
var mergeWithPrevious=false;
return op
.reduce(function(a,b){
if(a[a.length-1]===''&&['+','-'].indexOf(b)!==-1){
a[a.length-1]=b;
mergeWithPrevious=true;
return a;
}else if(mergeWithPrevious){
a[a.length-1]+=b;
mergeWithPrevious=false;
return a;
}else{
return a.concat(b);
}
},[])
.map(function(str){
return toValue(str,measurement,popperOffsets,referenceOffsets);
});
});
ops.forEach(function(op,index){
op.forEach(function(frag,index2){
if(isNumeric(frag)){
offsets[index]+=frag*(op[index2-1]==='-'?-1:1);
}
});
});
return offsets;
}
function offset(data,_ref){
var offset=_ref.offset;
var placement=data.placement,
_data$offsets=data.offsets,
popper=_data$offsets.popper,
reference=_data$offsets.reference;
var basePlacement=placement.split('-')[0];
var offsets=void 0;
if(isNumeric(+offset)){
offsets=[+offset,0];
}else{
offsets=parseOffset(offset,popper,reference,basePlacement);
}
if(basePlacement==='left'){
popper.top+=offsets[0];
popper.left-=offsets[1];
}else if(basePlacement==='right'){
popper.top+=offsets[0];
popper.left+=offsets[1];
}else if(basePlacement==='top'){
popper.left+=offsets[0];
popper.top-=offsets[1];
}else if(basePlacement==='bottom'){
popper.left+=offsets[0];
popper.top+=offsets[1];
}
data.popper=popper;
return data;
}
function preventOverflow(data,options){
var boundariesElement=options.boundariesElement||getOffsetParent(data.instance.popper);
if(data.instance.reference===boundariesElement){
boundariesElement=getOffsetParent(boundariesElement);
}
var transformProp=getSupportedPropertyName('transform');
var popperStyles=data.instance.popper.style;
var top=popperStyles.top,
left=popperStyles.left,
transform=popperStyles[transformProp];
popperStyles.top='';
popperStyles.left='';
popperStyles[transformProp]='';
var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,boundariesElement,data.positionFixed);
popperStyles.top=top;
popperStyles.left=left;
popperStyles[transformProp]=transform;
options.boundaries=boundaries;
var order=options.priority;
var popper=data.offsets.popper;
var check={
primary:function primary(placement){
var value=popper[placement];
if(popper[placement]<boundaries[placement]&&!options.escapeWithReference){
value=Math.max(popper[placement],boundaries[placement]);
}
return defineProperty({},placement,value);
},
secondary:function secondary(placement){
var mainSide=placement==='right'?'left':'top';
var value=popper[mainSide];
if(popper[placement]>boundaries[placement]&&!options.escapeWithReference){
value=Math.min(popper[mainSide],boundaries[placement]-(placement==='right'?popper.width:popper.height));
}
return defineProperty({},mainSide,value);
}
};
order.forEach(function(placement){
var side=['left','top'].indexOf(placement)!==-1?'primary':'secondary';
popper=_extends({},popper,check[side](placement));
});
data.offsets.popper=popper;
return data;
}
function shift(data){
var placement=data.placement;
var basePlacement=placement.split('-')[0];
var shiftvariation=placement.split('-')[1];
if(shiftvariation){
var _data$offsets=data.offsets,
reference=_data$offsets.reference,
popper=_data$offsets.popper;
var isVertical=['bottom','top'].indexOf(basePlacement)!==-1;
var side=isVertical?'left':'top';
var measurement=isVertical?'width':'height';
var shiftOffsets={
start:defineProperty({},side,reference[side]),
end:defineProperty({},side,reference[side]+reference[measurement]-popper[measurement])
};
data.offsets.popper=_extends({},popper,shiftOffsets[shiftvariation]);
}
return data;
}
function hide(data){
if(!isModifierRequired(data.instance.modifiers,'hide','preventOverflow')){
return data;
}
var refRect=data.offsets.reference;
var bound=find(data.instance.modifiers,function(modifier){
return modifier.name==='preventOverflow';
}).boundaries;
if(refRect.bottom<bound.top||refRect.left>bound.right||refRect.top>bound.bottom||refRect.right<bound.left){
if(data.hide===true){
return data;
}
data.hide=true;
data.attributes['x-out-of-boundaries']='';
}else{
if(data.hide===false){
return data;
}
data.hide=false;
data.attributes['x-out-of-boundaries']=false;
}
return data;
}
function inner(data){
var placement=data.placement;
var basePlacement=placement.split('-')[0];
var _data$offsets=data.offsets,
popper=_data$offsets.popper,
reference=_data$offsets.reference;
var isHoriz=['left','right'].indexOf(basePlacement)!==-1;
var subtractLength=['top','left'].indexOf(basePlacement)===-1;
popper[isHoriz?'left':'top']=reference[basePlacement]-(subtractLength?popper[isHoriz?'width':'height']:0);
data.placement=getOppositePlacement(placement);
data.offsets.popper=getClientRect(popper);
return data;
}
var modifiers={
shift:{
order:100,
enabled:true,
fn:shift
},
offset:{
order:200,
enabled:true,
fn:offset,
offset:0
},
preventOverflow:{
order:300,
enabled:true,
fn:preventOverflow,
priority:['left','right','top','bottom'],
padding:5,
boundariesElement:'scrollParent'
},
keepTogether:{
order:400,
enabled:true,
fn:keepTogether
},
arrow:{
order:500,
enabled:true,
fn:arrow,
element:'[x-arrow]'
},
flip:{
order:600,
enabled:true,
fn:flip,
behavior:'flip',
padding:5,
boundariesElement:'viewport',
flipVariations:false,
flipVariationsByContent:false
},
inner:{
order:700,
enabled:false,
fn:inner
},
hide:{
order:800,
enabled:true,
fn:hide
},
computeStyle:{
order:850,
enabled:true,
fn:computeStyle,
gpuAcceleration:true,
x:'bottom',
y:'right'
},
applyStyle:{
order:900,
enabled:true,
fn:applyStyle,
onLoad:applyStyleOnLoad,
gpuAcceleration:undefined
}
};
var Defaults={
placement:'bottom',
positionFixed:false,
eventsEnabled:true,
removeOnDestroy:false,
onCreate:function onCreate(){},
onUpdate:function onUpdate(){},
modifiers:modifiers
};
var Popper=function(){
function Popper(reference,popper){
var _this=this;
var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};
classCallCheck(this,Popper);
this.scheduleUpdate=function(){
return requestAnimationFrame(_this.update);
};
this.update=debounce(this.update.bind(this));
this.options=_extends({},Popper.Defaults,options);
this.state={
isDestroyed:false,
isCreated:false,
scrollParents:[]
};
this.reference=reference&&reference.jquery?reference[0]:reference;
this.popper=popper&&popper.jquery?popper[0]:popper;
this.options.modifiers={};
Object.keys(_extends({},Popper.Defaults.modifiers,options.modifiers)).forEach(function(name){
_this.options.modifiers[name]=_extends({},Popper.Defaults.modifiers[name]||{},options.modifiers?options.modifiers[name]:{});
});
this.modifiers=Object.keys(this.options.modifiers).map(function(name){
return _extends({
name:name
},_this.options.modifiers[name]);
})
.sort(function(a,b){
return a.order-b.order;
});
this.modifiers.forEach(function(modifierOptions){
if(modifierOptions.enabled&&isFunction(modifierOptions.onLoad)){
modifierOptions.onLoad(_this.reference,_this.popper,_this.options,modifierOptions,_this.state);
}
});
this.update();
var eventsEnabled=this.options.eventsEnabled;
if(eventsEnabled){
this.enableEventListeners();
}
this.state.eventsEnabled=eventsEnabled;
}
createClass(Popper,[{
key:'update',
value:function update$$1(){
return update.call(this);
}
},{
key:'destroy',
value:function destroy$$1(){
return destroy.call(this);
}
},{
key:'enableEventListeners',
value:function enableEventListeners$$1(){
return enableEventListeners.call(this);
}
},{
key:'disableEventListeners',
value:function disableEventListeners$$1(){
return disableEventListeners.call(this);
}
}]);
return Popper;
}();
Popper.Utils=(typeof window!=='undefined'?window:global).PopperUtils;
Popper.placements=placements;
Popper.Defaults=Defaults;
return Popper;
})));


/* ../prive/lib/bootstrap/js/util.js?1672674102 */

(function(global,factory){
typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory(require('jquery')):
typeof define==='function'&&define.amd?define(['jquery'],factory):
(global=typeof globalThis!=='undefined'?globalThis:global||self,global.Util=factory(global.jQuery));
}(this,(function($){'use strict';
function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default'in e?e:{'default':e};}
var $__default=_interopDefaultLegacy($);
var TRANSITION_END='transitionend';
var MAX_UID=1000000;
var MILLISECONDS_MULTIPLIER=1000;
function toType(obj){
if(obj===null||typeof obj==='undefined'){
return""+obj;
}
return{}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
}
function getSpecialTransitionEndEvent(){
return{
bindType:TRANSITION_END,
delegateType:TRANSITION_END,
handle:function handle(event){
if($__default['default'](event.target).is(this)){
return event.handleObj.handler.apply(this,arguments);
}
return undefined;
}
};
}
function transitionEndEmulator(duration){
var _this=this;
var called=false;
$__default['default'](this).one(Util.TRANSITION_END,function(){
called=true;
});
setTimeout(function(){
if(!called){
Util.triggerTransitionEnd(_this);
}
},duration);
return this;
}
function setTransitionEndSupport(){
$__default['default'].fn.emulateTransitionEnd=transitionEndEmulator;
$__default['default'].event.special[Util.TRANSITION_END]=getSpecialTransitionEndEvent();
}
var Util={
TRANSITION_END:'bsTransitionEnd',
getUID:function getUID(prefix){
do{
prefix+=~~(Math.random()*MAX_UID);
}while(document.getElementById(prefix));
return prefix;
},
getSelectorFromElement:function getSelectorFromElement(element){
var selector=element.getAttribute('data-target');
if(!selector||selector==='#'){
var hrefAttr=element.getAttribute('href');
selector=hrefAttr&&hrefAttr!=='#'?hrefAttr.trim():'';
}
try{
return document.querySelector(selector)?selector:null;
}catch(_){
return null;
}
},
getTransitionDurationFromElement:function getTransitionDurationFromElement(element){
if(!element){
return 0;
}
var transitionDuration=$__default['default'](element).css('transition-duration');
var transitionDelay=$__default['default'](element).css('transition-delay');
var floatTransitionDuration=parseFloat(transitionDuration);
var floatTransitionDelay=parseFloat(transitionDelay);
if(!floatTransitionDuration&&!floatTransitionDelay){
return 0;
}
transitionDuration=transitionDuration.split(',')[0];
transitionDelay=transitionDelay.split(',')[0];
return(parseFloat(transitionDuration)+parseFloat(transitionDelay))*MILLISECONDS_MULTIPLIER;
},
reflow:function reflow(element){
return element.offsetHeight;
},
triggerTransitionEnd:function triggerTransitionEnd(element){
$__default['default'](element).trigger(TRANSITION_END);
},
supportsTransitionEnd:function supportsTransitionEnd(){
return Boolean(TRANSITION_END);
},
isElement:function isElement(obj){
return(obj[0]||obj).nodeType;
},
typeCheckConfig:function typeCheckConfig(componentName,config,configTypes){
for(var property in configTypes){
if(Object.prototype.hasOwnProperty.call(configTypes,property)){
var expectedTypes=configTypes[property];
var value=config[property];
var valueType=value&&Util.isElement(value)?'element':toType(value);
if(!new RegExp(expectedTypes).test(valueType)){
throw new Error(componentName.toUpperCase()+": "+("Option \""+property+"\" provided type \""+valueType+"\" ")+("but expected type \""+expectedTypes+"\"."));
}
}
}
},
findShadowRoot:function findShadowRoot(element){
if(!document.documentElement.attachShadow){
return null;
}
if(typeof element.getRootNode==='function'){
var root=element.getRootNode();
return root instanceof ShadowRoot?root:null;
}
if(element instanceof ShadowRoot){
return element;
}
if(!element.parentNode){
return null;
}
return Util.findShadowRoot(element.parentNode);
},
jQueryDetection:function jQueryDetection(){
if(typeof $__default['default']==='undefined'){
throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
}
var version=$__default['default'].fn.jquery.split(' ')[0].split('.');
var minMajor=1;
var ltMajor=2;
var minMinor=9;
var minPatch=1;
var maxMajor=4;
if(version[0]<ltMajor&&version[1]<minMinor||version[0]===minMajor&&version[1]===minMinor&&version[2]<minPatch||version[0]>=maxMajor){
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
}
}
};
Util.jQueryDetection();
setTransitionEndSupport();
return Util;
})));


/* ../prive/lib/bootstrap/js/dropdown.js?1672674102 */

(function(global,factory){
typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory(require('jquery'),require('popper.js'),require('./util.js')):
typeof define==='function'&&define.amd?define(['jquery','popper.js','./util.js'],factory):
(global=typeof globalThis!=='undefined'?globalThis:global||self,global.Dropdown=factory(global.jQuery,global.Popper,global.Util));
}(this,(function($,Popper,Util){'use strict';
function _interopDefaultLegacy(e){return e&&typeof e==='object'&&'default'in e?e:{'default':e};}
var $__default=_interopDefaultLegacy($);
var Popper__default=_interopDefaultLegacy(Popper);
var Util__default=_interopDefaultLegacy(Util);
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}
function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}
function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}
var NAME='dropdown';
var VERSION='4.5.3';
var DATA_KEY='bs.dropdown';
var EVENT_KEY="."+DATA_KEY;
var DATA_API_KEY='.data-api';
var JQUERY_NO_CONFLICT=$__default['default'].fn[NAME];
var ESCAPE_KEYCODE=27;
var SPACE_KEYCODE=32;
var TAB_KEYCODE=9;
var ARROW_UP_KEYCODE=38;
var ARROW_DOWN_KEYCODE=40;
var RIGHT_MOUSE_BUTTON_WHICH=3;
var REGEXP_KEYDOWN=new RegExp(ARROW_UP_KEYCODE+"|"+ARROW_DOWN_KEYCODE+"|"+ESCAPE_KEYCODE);
var EVENT_HIDE="hide"+EVENT_KEY;
var EVENT_HIDDEN="hidden"+EVENT_KEY;
var EVENT_SHOW="show"+EVENT_KEY;
var EVENT_SHOWN="shown"+EVENT_KEY;
var EVENT_CLICK="click"+EVENT_KEY;
var EVENT_CLICK_DATA_API="click"+EVENT_KEY+DATA_API_KEY;
var EVENT_KEYDOWN_DATA_API="keydown"+EVENT_KEY+DATA_API_KEY;
var EVENT_KEYUP_DATA_API="keyup"+EVENT_KEY+DATA_API_KEY;
var CLASS_NAME_DISABLED='disabled';
var CLASS_NAME_SHOW='show';
var CLASS_NAME_DROPUP='dropup';
var CLASS_NAME_DROPRIGHT='dropright';
var CLASS_NAME_DROPLEFT='dropleft';
var CLASS_NAME_MENURIGHT='dropdown-menu-right';
var CLASS_NAME_POSITION_STATIC='position-static';
var SELECTOR_DATA_TOGGLE='[data-toggle="dropdown"]';
var SELECTOR_FORM_CHILD='.dropdown form';
var SELECTOR_MENU='.dropdown-menu';
var SELECTOR_NAVBAR_NAV='.navbar-nav';
var SELECTOR_VISIBLE_ITEMS='.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
var PLACEMENT_TOP='top-start';
var PLACEMENT_TOPEND='top-end';
var PLACEMENT_BOTTOM='bottom-start';
var PLACEMENT_BOTTOMEND='bottom-end';
var PLACEMENT_RIGHT='right-start';
var PLACEMENT_LEFT='left-start';
var Default={
offset:0,
flip:true,
boundary:'scrollParent',
reference:'toggle',
display:'dynamic',
popperConfig:null
};
var DefaultType={
offset:'(number|string|function)',
flip:'boolean',
boundary:'(string|element)',
reference:'(string|element)',
display:'string',
popperConfig:'(null|object)'
};
var Dropdown=function(){
function Dropdown(element,config){
this._element=element;
this._popper=null;
this._config=this._getConfig(config);
this._menu=this._getMenuElement();
this._inNavbar=this._detectNavbar();
this._addEventListeners();
}
var _proto=Dropdown.prototype;
_proto.toggle=function toggle(){
if(this._element.disabled||$__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)){
return;
}
var isActive=$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW);
Dropdown._clearMenus();
if(isActive){
return;
}
this.show(true);
};
_proto.show=function show(usePopper){
if(usePopper===void 0){
usePopper=false;
}
if(this._element.disabled||$__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)||$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW)){
return;
}
var relatedTarget={
relatedTarget:this._element
};
var showEvent=$__default['default'].Event(EVENT_SHOW,relatedTarget);
var parent=Dropdown._getParentFromElement(this._element);
$__default['default'](parent).trigger(showEvent);
if(showEvent.isDefaultPrevented()){
return;
}
if(!this._inNavbar&&usePopper){
if(typeof Popper__default['default']==='undefined'){
throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
}
var referenceElement=this._element;
if(this._config.reference==='parent'){
referenceElement=parent;
}else if(Util__default['default'].isElement(this._config.reference)){
referenceElement=this._config.reference;
if(typeof this._config.reference.jquery!=='undefined'){
referenceElement=this._config.reference[0];
}
}
if(this._config.boundary!=='scrollParent'){
$__default['default'](parent).addClass(CLASS_NAME_POSITION_STATIC);
}
this._popper=new Popper__default['default'](referenceElement,this._menu,this._getPopperConfig());
}
if('ontouchstart'in document.documentElement&&$__default['default'](parent).closest(SELECTOR_NAVBAR_NAV).length===0){
$__default['default'](document.body).children().on('mouseover',null,$__default['default'].noop);
}
this._element.focus();
this._element.setAttribute('aria-expanded',true);
$__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW);
$__default['default'](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default['default'].Event(EVENT_SHOWN,relatedTarget));
};
_proto.hide=function hide(){
if(this._element.disabled||$__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)||!$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW)){
return;
}
var relatedTarget={
relatedTarget:this._element
};
var hideEvent=$__default['default'].Event(EVENT_HIDE,relatedTarget);
var parent=Dropdown._getParentFromElement(this._element);
$__default['default'](parent).trigger(hideEvent);
if(hideEvent.isDefaultPrevented()){
return;
}
if(this._popper){
this._popper.destroy();
}
$__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW);
$__default['default'](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default['default'].Event(EVENT_HIDDEN,relatedTarget));
};
_proto.dispose=function dispose(){
$__default['default'].removeData(this._element,DATA_KEY);
$__default['default'](this._element).off(EVENT_KEY);
this._element=null;
this._menu=null;
if(this._popper!==null){
this._popper.destroy();
this._popper=null;
}
};
_proto.update=function update(){
this._inNavbar=this._detectNavbar();
if(this._popper!==null){
this._popper.scheduleUpdate();
}
}
;
_proto._addEventListeners=function _addEventListeners(){
var _this=this;
$__default['default'](this._element).on(EVENT_CLICK,function(event){
event.preventDefault();
event.stopPropagation();
_this.toggle();
});
};
_proto._getConfig=function _getConfig(config){
config=_extends({},this.constructor.Default,$__default['default'](this._element).data(),config);
Util__default['default'].typeCheckConfig(NAME,config,this.constructor.DefaultType);
return config;
};
_proto._getMenuElement=function _getMenuElement(){
if(!this._menu){
var parent=Dropdown._getParentFromElement(this._element);
if(parent){
this._menu=parent.querySelector(SELECTOR_MENU);
}
}
return this._menu;
};
_proto._getPlacement=function _getPlacement(){
var $parentDropdown=$__default['default'](this._element.parentNode);
var placement=PLACEMENT_BOTTOM;
if($parentDropdown.hasClass(CLASS_NAME_DROPUP)){
placement=$__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT)?PLACEMENT_TOPEND:PLACEMENT_TOP;
}else if($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)){
placement=PLACEMENT_RIGHT;
}else if($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)){
placement=PLACEMENT_LEFT;
}else if($__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT)){
placement=PLACEMENT_BOTTOMEND;
}
return placement;
};
_proto._detectNavbar=function _detectNavbar(){
return $__default['default'](this._element).closest('.navbar').length>0;
};
_proto._getOffset=function _getOffset(){
var _this2=this;
var offset={};
if(typeof this._config.offset==='function'){
offset.fn=function(data){
data.offsets=_extends({},data.offsets,_this2._config.offset(data.offsets,_this2._element)||{});
return data;
};
}else{
offset.offset=this._config.offset;
}
return offset;
};
_proto._getPopperConfig=function _getPopperConfig(){
var popperConfig={
placement:this._getPlacement(),
modifiers:{
offset:this._getOffset(),
flip:{
enabled:this._config.flip
},
preventOverflow:{
boundariesElement:this._config.boundary
}
}
};
if(this._config.display==='static'){
popperConfig.modifiers.applyStyle={
enabled:false
};
}
return _extends({},popperConfig,this._config.popperConfig);
}
;
Dropdown._jQueryInterface=function _jQueryInterface(config){
return this.each(function(){
var data=$__default['default'](this).data(DATA_KEY);
var _config=typeof config==='object'?config:null;
if(!data){
data=new Dropdown(this,_config);
$__default['default'](this).data(DATA_KEY,data);
}
if(typeof config==='string'){
if(typeof data[config]==='undefined'){
throw new TypeError("No method named \""+config+"\"");
}
data[config]();
}
});
};
Dropdown._clearMenus=function _clearMenus(event){
if(event&&(event.which===RIGHT_MOUSE_BUTTON_WHICH||event.type==='keyup'&&event.which!==TAB_KEYCODE)){
return;
}
var toggles=[].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
for(var i=0,len=toggles.length;i<len;i++){
var parent=Dropdown._getParentFromElement(toggles[i]);
var context=$__default['default'](toggles[i]).data(DATA_KEY);
var relatedTarget={
relatedTarget:toggles[i]
};
if(event&&event.type==='click'){
relatedTarget.clickEvent=event;
}
if(!context){
continue;
}
var dropdownMenu=context._menu;
if(!$__default['default'](parent).hasClass(CLASS_NAME_SHOW)){
continue;
}
if(event&&(event.type==='click'&&/input|textarea/i.test(event.target.tagName)||event.type==='keyup'&&event.which===TAB_KEYCODE)&&$__default['default'].contains(parent,event.target)){
continue;
}
var hideEvent=$__default['default'].Event(EVENT_HIDE,relatedTarget);
$__default['default'](parent).trigger(hideEvent);
if(hideEvent.isDefaultPrevented()){
continue;
}
if('ontouchstart'in document.documentElement){
$__default['default'](document.body).children().off('mouseover',null,$__default['default'].noop);
}
toggles[i].setAttribute('aria-expanded','false');
if(context._popper){
context._popper.destroy();
}
$__default['default'](dropdownMenu).removeClass(CLASS_NAME_SHOW);
$__default['default'](parent).removeClass(CLASS_NAME_SHOW).trigger($__default['default'].Event(EVENT_HIDDEN,relatedTarget));
}
};
Dropdown._getParentFromElement=function _getParentFromElement(element){
var parent;
var selector=Util__default['default'].getSelectorFromElement(element);
if(selector){
parent=document.querySelector(selector);
}
return parent||element.parentNode;
}
;
Dropdown._dataApiKeydownHandler=function _dataApiKeydownHandler(event){
if(/input|textarea/i.test(event.target.tagName)?event.which===SPACE_KEYCODE||event.which!==ESCAPE_KEYCODE&&(event.which!==ARROW_DOWN_KEYCODE&&event.which!==ARROW_UP_KEYCODE||$__default['default'](event.target).closest(SELECTOR_MENU).length):!REGEXP_KEYDOWN.test(event.which)){
return;
}
if(this.disabled||$__default['default'](this).hasClass(CLASS_NAME_DISABLED)){
return;
}
var parent=Dropdown._getParentFromElement(this);
var isActive=$__default['default'](parent).hasClass(CLASS_NAME_SHOW);
if(!isActive&&event.which===ESCAPE_KEYCODE){
return;
}
event.preventDefault();
event.stopPropagation();
if(!isActive||event.which===ESCAPE_KEYCODE||event.which===SPACE_KEYCODE){
if(event.which===ESCAPE_KEYCODE){
$__default['default'](parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus');
}
$__default['default'](this).trigger('click');
return;
}
var items=[].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function(item){
return $__default['default'](item).is(':visible');
});
if(items.length===0){
return;
}
var index=items.indexOf(event.target);
if(event.which===ARROW_UP_KEYCODE&&index>0){
index--;
}
if(event.which===ARROW_DOWN_KEYCODE&&index<items.length-1){
index++;
}
if(index<0){
index=0;
}
items[index].focus();
};
_createClass(Dropdown,null,[{
key:"VERSION",
get:function get(){
return VERSION;
}
},{
key:"Default",
get:function get(){
return Default;
}
},{
key:"DefaultType",
get:function get(){
return DefaultType;
}
}]);
return Dropdown;
}();
$__default['default'](document).on(EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE,Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API+" "+EVENT_KEYUP_DATA_API,Dropdown._clearMenus).on(EVENT_CLICK_DATA_API,SELECTOR_DATA_TOGGLE,function(event){
event.preventDefault();
event.stopPropagation();
Dropdown._jQueryInterface.call($__default['default'](this),'toggle');
}).on(EVENT_CLICK_DATA_API,SELECTOR_FORM_CHILD,function(e){
e.stopPropagation();
});
$__default['default'].fn[NAME]=Dropdown._jQueryInterface;
$__default['default'].fn[NAME].Constructor=Dropdown;
$__default['default'].fn[NAME].noConflict=function(){
$__default['default'].fn[NAME]=JQUERY_NO_CONFLICT;
return Dropdown._jQueryInterface;
};
return Dropdown;
})));


/* ../prive/javascript/layer.js?1672674102 */
var url_chargee=new Array();
var xhr_actifs={};
function slide_horizontal(couche,slide,align,depart,etape){
var obj=jQuery("#"+couche);
if(!obj.length)return;
obj=obj.get(0);
if(!etape){
if(align=='left')depart=obj.scrollLeft;
else depart=obj.firstChild.offsetWidth-obj.scrollLeft;
etape=0;
}
etape=Math.round(etape)+1;
pos=Math.round(depart)+Math.round(((slide-depart)/10)*etape);
if(align=='left')obj.scrollLeft=pos;
else obj.scrollLeft=obj.firstChild.offsetWidth-pos;
if(etape<10)setTimeout("slide_horizontal('"+couche+"', '"+slide+"', '"+align+"', '"+depart+"', '"+etape+"')",60);
}
function changerhighlight(couche){
jQuery(couche)
.addClass('on')
.siblings()
.not(couche)
.removeClass('on');
jQuery('.petite-racine.on').removeClass('on');
}
function aff_selection(arg,idom,url,event){
var noeud=jQuery("#"+idom);
if(noeud.length){
noeud.hide();
charger_node_url(url+arg,noeud.get(0),'','',event);
}
return false;
}
function aff_selection_titre(titre,id,idom,nid)
{
var t=jQuery('#titreparent');
var p=t.closest('form');
t.attr('value',titre);
p.find('#'+nid).attr('value',id).trigger('change');
p.find("#"+idom).hide('fast');
if(p.is('.submit_plongeur'))p.get(p.length-1).submit();
else p.find("#"+idom).prev('div').find('a').eq(0).focus();
}
function aff_selection_provisoire(id,racine,url,col,sens,informer,event){
if(url.href=='javascript:void(0)'){
slide_horizontal(racine+'_principal',((col-1)*150),sens);
aff_selection(id,racine+"_selection",informer);
}
else{
charger_id_url(url.href,
racine+'_col_'+(col+1),
function(){
slide_horizontal(racine+'_principal',((col-1)*150),sens);
aff_selection(id,racine+"_selection",informer);
},
event);
}
return false;
}
function onkey_rechercher(valeur,rac,url,img,nid,init){
var Field=jQuery("#"+rac).get(0);
if(!valeur.length){
init=jQuery("#"+init).get(0);
if(init&&init.href){charger_node_url(init.href,Field);}
}else{
charger_node_url(url+valeur,
Field,
function(){
var n=Field.childNodes.length-1;
if((n==1)){
noeud=Field.childNodes[n].firstChild;
if(noeud.title)
aff_selection_titre(noeud.firstChild.nodeValue,noeud.title,rac,nid);
}
},
img);
}
return false;
}
var verifForm_clicked=false;
function verifForm(racine){
verifForm_clicked=false;
if(!jQuery)return;
if(!jQuery.browser.msie)
jQuery('form:not(.bouton_action_post)',racine||document).not('.verifformok')
.keypress(function(e){
if(
((e.ctrlKey&&(
(((e.charCode||e.keyCode)==115)||((e.charCode||e.keyCode)==83))
||(e.charCode==19&&e.keyCode==19)
)
)
||(e.keyCode==19&&jQuery.browser.opera))
&&!verifForm_clicked
){
verifForm_clicked=true;
jQuery(this).find('input[type=submit]')
.click();
return false;
}
}).addClass('verifformok');
else
jQuery('form:not(.bouton_action_post)',racine||document).not('.verifformok')
.keydown(function(e){
if(!e.charCode&&e.keyCode==119&&!verifForm_clicked){
verifForm_clicked=true;
jQuery(this).find('input[type=submit]')
.click();
return false;
}
}).addClass('verifformok');
}
function AjaxSqueezeNode(trig,target,f,event){
var callback;
if(!f){
callback=function(){verifForm(this);}
}else{
callback=function(res,status){
f.apply(this,[res,status]);
verifForm(this);
}
}
if(typeof(trig)==='string'){
jQuery(target).animeajax();
return jQuery.ajax({
"url":trig,
"complete":function(r,s){
AjaxRet(r,s,target,callback);
jQuery(target).endLoading();
}
});
}
jQuery(target).animeajax();
jQuery(trig).ajaxSubmit({
"target":target,
"success":function(res,status){
if(status==='error'){
return this.html('Erreur HTTP');
}
callback.apply(this,[res,status]);
}
});
return true;
}
function AjaxRet(res,status,target,callback){
if(res.aborted){
return;
}
if(status==='error'){
return jQuery(target).html('HTTP Error');
}
jQuery(target)
.html(res.responseText)
.each(callback,[res.responseText,status]);
}
function charger_id_url(myUrl,myField,jjscript,event){
var Field=jQuery("#"+myField);
if(!Field.length)return true;
if(!myUrl){
Field.empty();
retour_id_url(Field.get(0),jjscript);
return true;
}
else
return charger_node_url(myUrl,Field.get(0),jjscript,jQuery('#'+'img_'+myField).get(0),event);
}
function charger_node_url(myUrl,Field,jjscript,img,event){
if(url_chargee[myUrl]){
var el=jQuery(Field).html(url_chargee[myUrl])[0];
retour_id_url(el,jjscript);
jQuery.spip.triggerAjaxLoad(el);
return false;
}
else{
if(img)img.style.visibility="visible";
if(xhr_actifs[Field]){xhr_actifs[Field].aborted=true;xhr_actifs[Field].abort();}
xhr_actifs[Field]=AjaxSqueezeNode(myUrl,
Field,
function(r){
xhr_actifs[Field]=undefined;
if(img)img.style.visibility="hidden";
url_chargee[myUrl]=r;
retour_id_url(Field,jjscript);
slide_horizontal($(Field).children().attr("id")+'_principal',$(Field).width(),$(Field).css("text-align"));
},
event);
return false;
}
}
function retour_id_url(Field,jjscript){
jQuery(Field).css({'visibility':'visible','display':'block'});
if(jjscript)jjscript();
}
function charger_node_url_si_vide(url,noeud,gifanime,jjscript,event){
if(noeud.style.display!='none'){
noeud.style.display='none';}
else{
if(noeud.innerHTML!=""){
noeud.style.visibility="visible";
noeud.style.display="block";
}else{
charger_node_url(url,noeud,'',gifanime,event);
}
}
return false;
}
jQuery(function(){
verifForm();
onAjaxLoad(verifForm);
});


/* ../prive/javascript/presentation.js?1672674102 */

$.fn.hoverClass=function(c){
return this.each(function(){
$(this).hover(
function(){$(this).addClass(c);},
function(){$(this).removeClass(c);}
);
});
};
var accepter_change_statut=false;
function selec_statut(id,type,decal,puce,script){
node=$('.imgstatut'+type+id);
if(!accepter_change_statut)
accepter_change_statut=confirm(confirm_changer_statut);
if(!accepter_change_statut||!node.length)return;
$('.statutdecal'+type+id)
.css('margin-left',decal+'px')
.removeClass('on');
$.get(script,function(c){
if(!c)
node.attr('src',puce);
else{
r=window.open();
r.document.write(c);
r.document.close();
}
});
}
function prepare_selec_statut(node,nom,type,id,action)
{
$(node)
.hoverClass('on')
.addClass('on')
.load(action+'&type='+type+'&id='+id);
}
jQuery.fn.showother=function(cible){
var me=this;
if(me.is('.replie')){
me.addClass('deplie').removeClass('replie');
jQuery(cible)
.slideDown('fast',
function(){
jQuery(me)
.addClass('blocdeplie')
.removeClass('blocreplie')
.removeClass('togglewait');
}
).trigger('deplie');
}
return this;
}
jQuery.fn.hideother=function(cible){
var me=this;
if(!me.is('.replie')){
me.addClass('replie').removeClass('deplie');
jQuery(cible)
.slideUp('fast',
function(){
jQuery(me)
.addClass('blocreplie')
.removeClass('blocdeplie')
.removeClass('togglewait');
}
).trigger('replie');
}
return this;
}
jQuery.fn.toggleother=function(cible){
if(this.is('.deplie'))
return this.hideother(cible);
else
return this.showother(cible);
}
jQuery.fn.depliant=function(cible){
if(!this.is('.depliant')){
var time=400;
var me=this;
this
.addClass('depliant');
if(!me.is('.deplie')){
me.addClass('hover')
.addClass('togglewait');
var t=setTimeout(function(){
me.toggleother(cible);
t=null;
},time);
}
me
.hover(function(e){
me
.addClass('hover');
if(!me.is('.deplie')){
me.addClass('togglewait');
if(t){clearTimeout(t);t=null;}
t=setTimeout(function(){
me.toggleother(cible);
t=null;
},time);
}
}
,function(e){
if(t){clearTimeout(t);t=null;}
me
.removeClass('hover');
})
.end();
}
return this;
}
jQuery.fn.depliant_clicancre=function(cible){
var me=this.parent();
if(me.is('.togglewait'))return false;
me.toggleother(cible);
return false;
}
function reloadExecPage(exec,blocs){
if(window.jQuery){
jQuery(function(){
if(!blocs)
blocs="#navigation,#extra";
jQuery(blocs).find('>div').ajaxReload({args:{exec:exec}});
if(exec.match(/_edit$/))
jQuery('body').addClass('edition');
else
jQuery('body').removeClass('edition');
})
}
}


/* ../prive/javascript/gadgets.js?1672674102 */
function init_gadgets(url_menu_rubrique){
jQuery('#boutonbandeautoutsite').one('mouseover',function(){
jQuery(this).siblings('ul').find('li:first>a').animeajax();
jQuery.ajax({
url:url_menu_rubrique,
success:function(c){
jQuery('#boutonbandeautoutsite').siblings('ul').remove();
jQuery('#boutonbandeautoutsite')
.after(c)
.parent().find('li').menuFocus();
}
});
});
}
function focus_zone(selecteur){
jQuery(selecteur).eq(0).find('a,input:visible').get(0).focus();
return false;
}
jQuery(function(){
init_gadgets(url_menu_rubrique);
var is_open=0;
jQuery.fn.menuItemOpen=function(){
jQuery(this)
.addClass('actif')
.parents('li').addClass('actif');
jQuery(this).siblings('li').removeClass('actif_tempo');
is_open=true;
return this;
}
jQuery.fn.menuItemClose=function(){
jQuery(this)
.removeClass('actif_tempo');
is_open=(jQuery(this).parents('ul').eq(-1).find('li.actif').length>0);
return this;
}
jQuery.fn.menuFocus=function(){
jQuery(this)
.on('mouseenter',
function(){
if(this.timerout)
clearTimeout(this.timerout);
this.timerout=null;
this.timerin=null;
if(is_open)
jQuery(this).menuItemOpen();
else{
var me=jQuery(this);
this.timerin=setTimeout(function(){
me.menuItemOpen(null);
},200);
}
})
.on('mouseleave',
function(){
if(this.timerin)
clearTimeout(this.timerin);
this.timerin=null;
if(is_open){
var me=jQuery(this).removeClass('actif').addClass('actif_tempo');
this.timerout=setTimeout(function(){
me.menuItemClose();
},400);
}
}
)
.has('ul').find(' > a')
.on('touchend',function(event){
event.preventDefault();
var me=jQuery(this).parent();
if(me.hasClass('actif')){
me.trigger('mouseleave').find('> a').trigger('blur');
}else{
me.siblings('.actif').trigger('mouseleave').find('> a').trigger('blur');
me.trigger('mouseenter').find('> a').trigger('focus');
}
})
.end().end()
.find('> a, li > a')
.on('focus, mouseenter',function(){
jQuery(this).parents('li').siblings('.actif').removeClass('actif');
jQuery(this).parents('li').addClass('actif');
})
.on('blur, mouseleave',function(){
jQuery(this).parents('li').removeClass('actif');
});
return this;
}
jQuery('#bando_navigation').on('hover touchstart',function(){
hauteur=parseInt(jQuery('#bando_navigation .largeur').height())
+parseInt(jQuery('#bando_navigation').css("padding-top"))
+parseInt(jQuery('#bando_navigation').css("padding-bottom"));
jQuery('#bando_navigation ul li>ul').css({'top':hauteur});
});
jQuery('#bando_navigation .deroulant > li').menuFocus();
jQuery('#bando_outils ul.bandeau_rubriques li').menuFocus();
jQuery('#bandeau_haut #formRecherche input').on('hover touchstart',function(){
jQuery('#bandeau_haut ul.actif').trigger('mouseout');
});
jQuery('#bando_liens_rapides a')
.on('focus',function(){
jQuery('#bando_liens_rapides').addClass('actif');
})
.on('blur',function(){
jQuery('#bando_liens_rapides').removeClass('actif');
});
if(typeof window.test_accepte_ajax!="undefined"){
test_accepte_ajax();
}
});


/* ../prive/javascript/prefixfree.js?1672674102 */

(function(){
if(!window.addEventListener){
return;
}
var self=window.StyleFix={
optIn:document.currentScript.hasAttribute("data-prefix"),
link:function(link){
var url=link.href||link.getAttribute('data-href');
try{
if(!url||link.rel!=='stylesheet'||link.hasAttribute('data-noprefix')
||(self.optIn&&!link.hasAttribute('data-prefix'))){
return;
}
}
catch(e){
return;
}
var base=url.replace(/[^\/]+$/,''),
base_scheme=(/^[a-z]{3,10}:/.exec(base)||[''])[0],
base_domain=(/^[a-z]{3,10}:\/\/[^\/]+/.exec(base)||[''])[0],
base_query=/^([^?]*)\??/.exec(url)[1],
parent=link.parentNode,
xhr=new XMLHttpRequest(),
process;
xhr.onreadystatechange=function(){
if(xhr.readyState===4){
process();
}
};
process=function(){
var css=xhr.responseText;
if(css&&link.parentNode&&(!xhr.status||xhr.status<400||xhr.status>600)){
css=self.fix(css,true,link);
if(css&&base){
css=css.replace(/url\(\s*?((?:"|')?)(.+?)\1\s*?\)/gi,function($0,quote,url){
if(/^([a-z]{3,10}:|#)/i.test(url)){
return $0;
}
else if(/^\/\//.test(url)){
return'url("'+base_scheme+url+'")';
}
else if(/^\//.test(url)){
return'url("'+base_domain+url+'")';
}
else if(/^\?/.test(url)){
return'url("'+base_query+url+'")';
}
else{
return'url("'+base+url+'")';
}
});
var escaped_base=base.replace(/([\\\^\$*+[\]?{}.=!:(|)])/g,"\\$1");
css=css.replace(RegExp('\\b(behavior:\\s*?url\\(\'?"?)'+escaped_base,'gi'),'$1');
}
var style=document.createElement('style');
style.textContent='/*# sourceURL='+link.getAttribute('href')+' */\n/*@ sourceURL='+link.getAttribute('href')+' */\n'+css;
style.media=link.media;
style.disabled=link.disabled;
style.setAttribute('data-href',link.getAttribute('href'));
if(link.id)style.id=link.id;
parent.insertBefore(style,link);
parent.removeChild(link);
style.media=link.media;
}
};
try{
xhr.open('GET',url);
xhr.send(null);
}catch(e){
if(typeof XDomainRequest!="undefined"){
xhr=new XDomainRequest();
xhr.onerror=xhr.onprogress=function(){};
xhr.onload=process;
xhr.open("GET",url);
xhr.send(null);
}
}
link.setAttribute('data-inprogress','');
},
styleElement:function(style){
if(style.hasAttribute('data-noprefix')){
return;
}
var disabled=style.disabled;
style.textContent=self.fix(style.textContent,true,style);
style.disabled=disabled;
},
styleAttribute:function(element){
var css=element.getAttribute('style');
css=self.fix(css,false,element);
element.setAttribute('style',css);
},
process:function(){
$('link[rel="stylesheet"]:not([data-inprogress])').forEach(StyleFix.link);
$('style').forEach(StyleFix.styleElement);
$('[style]').forEach(StyleFix.styleAttribute);
var event=document.createEvent('Event');
event.initEvent('StyleFixProcessed',true,true);
document.dispatchEvent(event);
},
register:function(fixer,index){
(self.fixers=self.fixers||[])
.splice(index===undefined?self.fixers.length:index,0,fixer);
},
fix:function(css,raw,element){
if(self.fixers){
for(var i=0;i<self.fixers.length;i++){
css=self.fixers[i](css,raw,element)||css;
}
}
return css;
},
camelCase:function(str){
return str.replace(/-([a-z])/g,function($0,$1){return $1.toUpperCase();}).replace('-','');
},
deCamelCase:function(str){
return str.replace(/[A-Z]/g,function($0){return'-'+$0.toLowerCase()});
}
};
(function(){
setTimeout(function(){
$('link[rel="stylesheet"]').forEach(StyleFix.link);
},10);
document.addEventListener('DOMContentLoaded',StyleFix.process,false);
})();
function $(expr,con){
return[].slice.call((con||document).querySelectorAll(expr));
}
})();
(function(root){
if(!window.StyleFix||!window.getComputedStyle){
return;
}
function fix(what,before,after,replacement,css){
what=self[what];
if(what.length){
var regex=RegExp(before+'('+what.join('|')+')'+after,'gi');
css=css.replace(regex,replacement);
}
return css;
}
var self=window.PrefixFree={
prefixCSS:function(css,raw,element){
var prefix=self.prefix;
if(self.functions.indexOf('linear-gradient')>-1){
css=css.replace(/(\s|:|,)(repeating-)?linear-gradient\(\s*(-?\d*\.?\d*)deg/ig,function($0,delim,repeating,deg){
return delim+(repeating||'')+'linear-gradient('+(90-deg)+'deg';
});
}
css=fix('functions','(\\s|:|,)','\\s*\\(','$1'+prefix+'$2(',css);
css=fix('keywords','(\\s|:)','(\\s|;|\\}|$)','$1'+prefix+'$2$3',css);
css=fix('properties','(^|\\{|\\s|;)','\\s*:','$1'+prefix+'$2:',css);
if(self.properties.length){
var regex=RegExp('\\b('+self.properties.join('|')+')(?!:)','gi');
css=fix('valueProperties','\\b',':(.+?);',function($0){
return $0.replace(regex,prefix+"$1")
},css);
}
if(raw){
css=fix('selectors','','\\b',self.prefixSelector,css);
css=fix('atrules','@','\\b','@'+prefix+'$1',css);
}
css=css.replace(RegExp('-'+prefix,'g'),'-');
css=css.replace(/-\*-(?=[a-z]+)/gi,self.prefix);
return css;
},
property:function(property){
return(self.properties.indexOf(property)>=0?self.prefix:'')+property;
},
value:function(value,property){
value=fix('functions','(^|\\s|,)','\\s*\\(','$1'+self.prefix+'$2(',value);
value=fix('keywords','(^|\\s)','(\\s|$)','$1'+self.prefix+'$2$3',value);
if(self.valueProperties.indexOf(property)>=0){
value=fix('properties','(^|\\s|,)','($|\\s|,)','$1'+self.prefix+'$2$3',value);
}
return value;
},
prefixSelector:function(selector){
return self.selectorMap[selector]||selector
},
prefixProperty:function(property,camelCase){
var prefixed=self.prefix+property;
return camelCase?StyleFix.camelCase(prefixed):prefixed;
}
};
(function(){
var prefixes={},
properties=[],
shorthands={},
style=getComputedStyle(document.documentElement,null),
dummy=document.createElement('div').style;
var iterate=function(property){
if(/^-[^-]/.test(property)){
properties.push(property);
var parts=property.split('-'),
prefix=parts[1];
prefixes[prefix]=++prefixes[prefix]||1;
while(parts.length>3){
parts.pop();
var shorthand=parts.join('-');
if(supported(shorthand)&&properties.indexOf(shorthand)===-1){
properties.push(shorthand);
}
}
}
},
supported=function(property){
return StyleFix.camelCase(property)in dummy;
}
if(style&&style.length>0){
for(var i=0;i<style.length;i++){
iterate(style[i])
}
}
else{
for(var property in style){
iterate(StyleFix.deCamelCase(property));
}
}
var highest={uses:0};
for(var prefix in prefixes){
var uses=prefixes[prefix];
if(highest.uses<uses){
highest={prefix:prefix,uses:uses};
}
}
self.prefix='-'+highest.prefix+'-';
self.Prefix=StyleFix.camelCase(self.prefix);
self.properties=[];
for(var i=0;i<properties.length;i++){
var property=properties[i];
if(property.indexOf(self.prefix)===0){
var unprefixed=property.slice(self.prefix.length);
if(!supported(unprefixed)){
self.properties.push(unprefixed);
}
}
}
if(self.Prefix=='Ms'
&&!('transform'in dummy)
&&!('MsTransform'in dummy)
&&('msTransform'in dummy)){
self.properties.push('transform','transform-origin');
}
self.properties.sort();
})();
(function(){
var functions={
'linear-gradient':{
property:'backgroundImage',
params:'red, teal'
},
'calc':{
property:'width',
params:'1px + 5%'
},
'element':{
property:'backgroundImage',
params:'#foo'
},
'cross-fade':{
property:'backgroundImage',
params:'url(a.png), url(b.png), 50%'
},
'image-set':{
property:'backgroundImage',
params:'url(a.png) 1x, url(b.png) 2x'
}
};
functions['repeating-linear-gradient']=
functions['repeating-radial-gradient']=
functions['radial-gradient']=
functions['linear-gradient'];
var keywords={
'initial':'color',
'grab':'cursor',
'grabbing':'cursor',
'zoom-in':'cursor',
'zoom-out':'cursor',
'box':'display',
'flexbox':'display',
'inline-flexbox':'display',
'flex':'display',
'inline-flex':'display',
'grid':'display',
'inline-grid':'display',
'max-content':'width',
'min-content':'width',
'fit-content':'width',
'fill-available':'width',
'contain-floats':'width'
};
self.functions=[];
self.keywords=[];
var style=document.createElement('div').style;
function supported(value,property){
style[property]='';
style[property]=value;
return!!style[property];
}
for(var func in functions){
var test=functions[func],
property=test.property,
value=func+'('+test.params+')';
if(!supported(value,property)
&&supported(self.prefix+value,property)){
self.functions.push(func);
}
}
for(var keyword in keywords){
var property=keywords[keyword];
if(!supported(keyword,property)
&&supported(self.prefix+keyword,property)){
self.keywords.push(keyword);
}
}
})();
(function(){
var
selectors={
':any-link':null,
'::backdrop':null,
':fullscreen':null,
':full-screen':':fullscreen',
'::placeholder':null,
':placeholder':':placeholder-shown',
'::input-placeholder':'::placeholder',
':input-placeholder':':placeholder-shown',
':read-only':null,
':read-write':null,
'::selection':null
},
atrules={
'keyframes':'name',
'viewport':null,
'document':'regexp(".")'
};
self.selectors=[];
self.selectorMap={};
self.atrules=[];
var style=root.appendChild(document.createElement('style'));
function supported(selector){
style.textContent=selector+'{}';
return!!style.sheet.cssRules.length;
}
for(var selector in selectors){
var standard=selectors[selector]||selector
var prefixed=selector.replace(/::?/,function($0){return $0+self.prefix})
if(!supported(standard)&&supported(prefixed)){
self.selectors.push(standard);
self.selectorMap[standard]=prefixed;
}
}
for(var atrule in atrules){
var test=atrule+' '+(atrules[atrule]||'');
if(!supported('@'+test)&&supported('@'+self.prefix+test)){
self.atrules.push(atrule);
}
}
root.removeChild(style);
})();
self.valueProperties=[
'transition',
'transition-property',
'will-change'
]
root.className+=' '+self.prefix;
StyleFix.register(self.prefixCSS);
})(document.documentElement);


/* ../plugins-dist/mediabox/lib/lity/lity.js?1672674099 */

(function(window,factory){
if(typeof define==='function'&&define.amd){
define(['jquery'],function($){
return factory(window,$);
});
}else if(typeof module==='object'&&typeof module.exports==='object'){
module.exports=factory(window,require('jquery'));
}else{
window.lity=factory(window,window.jQuery||window.Zepto);
}
}(typeof window!=="undefined"?window:this,function(window,$){
'use strict';
var document=window.document;
var _win=$(window);
var _deferred=$.Deferred;
var _html=$('html');
var _instances=[];
var _attrAriaHidden='aria-hidden';
var _dataAriaHidden='lity-'+_attrAriaHidden;
var _focusableElementsSelector='a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),iframe,object,embed,[contenteditable],[tabindex]:not([tabindex^="-"])';
var _defaultOptions={
esc:true,
handler:null,
handlers:{
image:imageHandler,
inline:inlineHandler,
iframe:iframeHandler
},
forceFocusInside:false,
template:'<div class="lity" role="dialog" aria-label="Dialog Window (Press escape to close)" tabindex="-1"><div class="lity-wrap" data-lity-close role="document"><div class="lity-loader" aria-hidden="true">Loading...</div><div class="lity-container"><div class="lity-content"></div><button class="lity-close" type="button" aria-label="Close (Press escape to close)" data-lity-close>&times;</button></div></div></div>'
};
var _imageRegexp=/(^data:image\/)|(\.(png|jpe?g|gif|svg|webp|bmp|ico|tiff?)(\?\S*)?$)/i;
var _transitionEndEvent=(function(){
var el=document.createElement('div');
var transEndEventNames={
WebkitTransition:'webkitTransitionEnd',
MozTransition:'transitionend',
OTransition:'oTransitionEnd otransitionend',
transition:'transitionend'
};
for(var name in transEndEventNames){
if(el.style[name]!==undefined){
return transEndEventNames[name];
}
}
return false;
})();
function transitionEnd(element){
var deferred=_deferred();
if(!_transitionEndEvent||!element.length){
deferred.resolve();
}else{
element.one(_transitionEndEvent,deferred.resolve);
setTimeout(deferred.resolve,500);
}
return deferred.promise();
}
function settings(currSettings,key,value){
if(arguments.length===1){
return $.extend({},currSettings);
}
if(typeof key==='string'){
if(typeof value==='undefined'){
return typeof currSettings[key]==='undefined'
?null
:currSettings[key];
}
currSettings[key]=value;
}else{
$.extend(currSettings,key);
}
return this;
}
function parseQueryParams(params){
var pos=params.indexOf('?');
if(pos>-1){
params=params.substr(pos+1);
}
var pairs=decodeURI(params.split('#')[0]).split('&');
var obj={},p;
for(var i=0,n=pairs.length;i<n;i++){
if(!pairs[i]){
continue;
}
p=pairs[i].split('=');
obj[p[0]]=p[1];
}
return obj;
}
function appendQueryParams(url,params){
if(!params){
return url;
}
if('string'===$.type(params)){
params=parseQueryParams(params);
}
if(url.indexOf('?')>-1){
var split=url.split('?');
url=split.shift();
params=$.extend(
{},
parseQueryParams(split[0]),
params
)
}
return url+'?'+$.param(params);
}
function transferHash(originalUrl,newUrl){
var pos=originalUrl.indexOf('#');
if(-1===pos){
return newUrl;
}
if(pos>0){
originalUrl=originalUrl.substr(pos);
}
return newUrl+originalUrl;
}
function iframe(iframeUrl,instance,queryParams,hashUrl){
instance&&instance.element().addClass('lity-iframe');
if(queryParams){
iframeUrl=appendQueryParams(iframeUrl,queryParams);
}
if(hashUrl){
iframeUrl=transferHash(hashUrl,iframeUrl);
}
return'<div class="lity-iframe-container"><iframe frameborder="0" allowfullscreen allow="autoplay; fullscreen" src="'+iframeUrl+'"/></div>';
}
function error(msg){
return $('<span class="lity-error"></span>').append(msg);
}
function imageHandler(target,instance){
var desc=(instance.opener()&&instance.opener().data('lity-desc'))||'Image with no description';
var img=$('<img src="'+target+'" alt="'+desc+'"/>');
var deferred=_deferred();
var failed=function(){
deferred.reject(error('Failed loading image'));
};
img
.on('load',function(){
if(this.naturalWidth===0){
return failed();
}
deferred.resolve(img);
})
.on('error',failed)
;
return deferred.promise();
}
imageHandler.test=function(target){
return _imageRegexp.test(target);
};
function inlineHandler(target,instance){
var el,placeholder,hasHideClass;
try{
el=$(target);
}catch(e){
return false;
}
if(!el.length){
return false;
}
placeholder=$('<i style="display:none !important"></i>');
hasHideClass=el.hasClass('lity-hide');
instance
.element()
.one('lity:remove',function(){
placeholder
.before(el)
.remove()
;
if(hasHideClass&&!el.closest('.lity-content').length){
el.addClass('lity-hide');
}
})
;
return el
.removeClass('lity-hide')
.after(placeholder)
;
}
function iframeHandler(target,instance){
return iframe(target,instance);
}
function winHeight(){
return document.documentElement.clientHeight
?document.documentElement.clientHeight
:Math.round(_win.height());
}
function keydown(e){
var current=currentInstance();
if(!current){
return;
}
if(e.keyCode===27&&!!current.options('esc')){
current.close();
}
if(e.keyCode===9){
handleTabKey(e,current);
}
}
function handleTabKey(e,instance){
var focusableElements=instance.element().find(_focusableElementsSelector);
var focusedIndex=focusableElements.index(document.activeElement);
if(e.shiftKey&&focusedIndex<=0){
focusableElements.get(focusableElements.length-1).focus();
e.preventDefault();
}else if(!e.shiftKey&&focusedIndex===focusableElements.length-1){
focusableElements.get(0).focus();
e.preventDefault();
}
if(focusedIndex===-1&&instance.options().forceFocusInside){
focusableElements.get(0).focus();
e.preventDefault();
}
}
function resize(){
$.each(_instances,function(i,instance){
instance.resize();
});
}
function registerInstance(instanceToRegister){
if(1===_instances.unshift(instanceToRegister)){
_html.addClass('lity-active');
_win
.on({
resize:resize,
keydown:keydown
})
;
}
$('body > *').not(instanceToRegister.element())
.addClass('lity-hidden')
.each(function(){
var el=$(this);
if(undefined!==el.data(_dataAriaHidden)){
return;
}
el.data(_dataAriaHidden,el.attr(_attrAriaHidden)||null);
})
.attr(_attrAriaHidden,'true')
;
}
function removeInstance(instanceToRemove){
var show;
instanceToRemove
.element()
.attr(_attrAriaHidden,'true')
;
if(1===_instances.length){
_html.removeClass('lity-active');
_win
.off({
resize:resize,
keydown:keydown
})
;
}
_instances=$.grep(_instances,function(instance){
return instanceToRemove!==instance;
});
if(!!_instances.length){
show=_instances[0].element();
}else{
show=$('.lity-hidden');
}
show
.removeClass('lity-hidden')
.each(function(){
var el=$(this),oldAttr=el.data(_dataAriaHidden);
if(!oldAttr){
el.removeAttr(_attrAriaHidden);
}else{
el.attr(_attrAriaHidden,oldAttr);
}
el.removeData(_dataAriaHidden);
})
;
}
function currentInstance(){
if(0===_instances.length){
return null;
}
return _instances[0];
}
function factory(target,instance,handlers,preferredHandler){
var handler='inline',content;
var currentHandlers=$.extend({},handlers);
if(preferredHandler&&currentHandlers[preferredHandler]){
content=currentHandlers[preferredHandler](target,instance);
handler=preferredHandler;
}else{
$.each(['inline','iframe'],function(i,name){
delete currentHandlers[name];
currentHandlers[name]=handlers[name];
});
$.each(currentHandlers,function(name,currentHandler){
if(!currentHandler){
return true;
}
if(
currentHandler.test&&
!currentHandler.test(target,instance)
){
return true;
}
content=currentHandler(target,instance);
if(false!==content){
handler=name;
return false;
}
});
}
return{handler:handler,content:content||''};
}
function Lity(target,options,opener,activeElement){
var self=this;
var result;
var isReady=false;
var isClosed=false;
var element;
var content;
options=$.extend(
{},
_defaultOptions,
options
);
element=$(options.template);
self.element=function(){
return element;
};
self.opener=function(){
return opener;
};
self.content=function(){
return content;
};
self.options=$.proxy(settings,self,options);
self.handlers=$.proxy(settings,self,options.handlers);
self.resize=function(){
if(!isReady||isClosed){
return;
}
content
.css('max-height',winHeight()+'px')
.trigger('lity:resize',[self])
;
};
self.close=function(){
if(isClosed){
return;
}
isClosed=true;
removeInstance(self);
var deferred=_deferred();
if(
activeElement&&
(
document.activeElement===element[0]||
$.contains(element[0],document.activeElement)
)
){
try{
activeElement.focus();
}catch(e){
}
}
var trigerable=(content?content:element);
trigerable.trigger('lity:close',[self]);
element
.removeClass('lity-opened')
.addClass('lity-closed')
;
transitionEnd(trigerable.add(element))
.always(function(){
trigerable.trigger('lity:remove',[self]);
element.remove();
element=undefined;
deferred.resolve();
})
;
return deferred.promise();
};
result=factory(target,self,options.handlers,options.handler);
element
.attr(_attrAriaHidden,'false')
.addClass('lity-loading lity-opened lity-'+result.handler)
.appendTo('body')
.focus()
.on('click','[data-lity-close]',function(e){
if($(e.target).is('[data-lity-close]')){
self.close();
}
})
.trigger('lity:open',[self])
;
registerInstance(self);
$.when(result.content)
.always(ready)
;
function ready(result){
if(isClosed){
return;
}
content=$(result)
.css('max-height',winHeight()+'px')
;
element
.find('.lity-loader')
.each(function(){
var loader=$(this);
transitionEnd(loader)
.always(function(){
loader.remove();
})
;
})
;
element
.removeClass('lity-loading')
.find('.lity-content')
.empty()
.append(content)
;
isReady=true;
content
.trigger('lity:ready',[self])
;
}
}
function lity(target,options,opener){
if(!target.preventDefault){
opener=$(opener);
}else{
target.preventDefault();
opener=$(this);
target=opener.data('lity-target')||opener.attr('href')||opener.attr('src');
}
var instance=new Lity(
target,
$.extend(
{},
opener.data('lity-options')||opener.data('lity'),
options
),
opener,
document.activeElement
);
if(!target.preventDefault){
return instance;
}
}
lity.version='3.0.0-dev';
lity.options=$.proxy(settings,lity,_defaultOptions);
lity.handlers=$.proxy(settings,lity,_defaultOptions.handlers);
lity.current=currentInstance;
lity.iframe=iframe;
$(document).on('click.lity','[data-lity]',lity);
return lity;
}));


/* ../plugins-dist/mediabox/lity/js/lity.mediabox.js?1672674100 */
;
(function($){
var litySpip={
nameSpace:'mediabox',
config:{
forceFocusInside:true,
},
strings:{
},
callbacks:{
onOpen:[],
onShow:[],
onClose:[]
},
focusedItem:[],
isTransition:false,
adjustHeight:function(instance){
var $content=instance.content();
var $containerHeight=instance.element().find('.lity-container').height();
if($containerHeight){
var h=Math.round($containerHeight)+'px';
$content
.css('max-height',h)
.find('[data-'+litySpip.nameSpace+'-force-max-height]')
.css('max-height',h);
}
},
template:function(cfg,type,groupName,groupPosition,groupLength){
var className='';
if(!!cfg.className){
className=' '+cfg.className;
}
if(cfg.transitionOnOpen){
className+=' lity-transition-on-open-'+cfg.transitionOnOpen;
}
if(!!cfg.noTransition){
className+=' lity-no-transition';
}
if(!!cfg.slideShow){
className+=' lity-slideshow';
}
var styles=[];
var styles_container='';
var styles_content='';
if(cfg.maxWidth){
styles.push("max-width:"+cfg.maxWidth.replace("%","vw"));
}
if(cfg.maxHeight){
styles.push("max-height:"+cfg.maxHeight.replace("%","vh"));
}
if(cfg.width){
styles.push("width:"+cfg.width.replace("%","vw"));
className+=' lity-width-set';
}
if(cfg.height){
styles.push("height:"+cfg.height.replace("%","vh"));
className+=' lity-height-set';
if(cfg.minHeight){
styles.push("min-height:"+cfg.minHeight.replace("%","vh"));
}
}
if(styles.length){
styles_container=' style="'+styles.join(';')+'"';
}
styles=[];
if(cfg.minWidth){
styles.push("min-width:"+cfg.minWidth.replace("%","vw"));
}
if(cfg.minHeight&&!cfg.height){
styles.push("min-height:"+cfg.minHeight.replace("%","vh"));
}
if(styles.length){
styles_content=' style="'+styles.join(';')+'"';
}
var button_next_prev='',
button_start_stop='',
group_info_text='',
group_info='';
if(groupName&&groupLength){
if(groupLength>1){
var newPosition=(groupPosition<=0?groupLength-1:groupPosition-1);
button_next_prev+='<button class="lity-previous" type="button" data-group-name="'+groupName+'" data-group-position="'+newPosition+'" aria-label="'+litySpip.strings.previous+'" data-lity-previous'
+'><b title="'+litySpip.strings.previous+'">❮</b></button>';
newPosition=(groupPosition>=groupLength-1?0:groupPosition+1);
button_next_prev+='<button class="lity-next" type="button" data-group-name="'+groupName+'" data-group-position="'+newPosition+'"  aria-label="'+litySpip.strings.next+'" data-lity-next'
+'><b title="'+litySpip.strings.next+'">❯</b></button>';
}
group_info_text=" "+litySpip.strings.current;
group_info_text=group_info_text.replace('{current}',(groupPosition+1)+'');
group_info_text=group_info_text.replace('{total}',groupLength+'');
button_start_stop+='<button class="lity-start-stop" type="button" data-lity-stop-start>'
+'<b class="lity-start" aria-label="'+litySpip.strings.slideshowStart+'" title="'+litySpip.strings.slideshowStart+'">▶</b>'
+'<b class="lity-stop" aria-label="'+litySpip.strings.slideshowStop+'" title="'+litySpip.strings.slideshowStop+'">□</b>'
+'</button>';
group_info='<div class="lity-group-caption">'
+'<span class="lity-group-start-stop">'+button_start_stop+'</span>'
+'<span class="lity-group-current">'+group_info_text+'</span>'
+'<span class="lity-group-next-prev">'+button_next_prev+'</span>'
+'<span class="lity-group-progress-bar"><span class="lity-group-progress-bar-status" style="width:0"></span></span>'
+'</div>';
}
var close_button_aria_label=litySpip.strings.close+' ('+litySpip.strings.press_escape+')';
var dialog_title=(type==='image'?litySpip.strings.dialog_title_med:litySpip.strings.dialog_title_def);
dialog_title+=group_info_text+' ('+litySpip.strings.press_escape+')';
var t=
'<dialog class="box_mediabox box_modalbox lity'+className+'" role="dialog" aria-label="'+dialog_title+'" tabindex="-1">'
+'<div class="lity-wrap"'+(cfg.overlayClose===false?'':' data-lity-close')+' role="document">'
+'<div class="lity-loader" aria-hidden="true" aria-label="'+litySpip.strings.loading+'"><span class="box-loading"></span></div>'
+'<div class="lity-container"'+styles_container+'>'
+'<button class="lity-close" type="button" aria-label="'+close_button_aria_label+'" data-lity-close><b data-lity-close title="'+litySpip.strings.close+'">&times;</b></button>'
+'<div class="lity-content"'+styles_content+'></div>'
+group_info
+'</div>'
+'</div>'
+'</dialog>';
return t;
},
failHandler:function(target,instance){
return'<div class="error lity-error">Failed loading content</div>';
},
ajaxHandler:function(target,instance){
var selector,
off=target.indexOf(" ");
if(off>-1){
selector=target.slice(off);
selector=selector.match(/[^\x20\t\r\n\f]+/g)||[];
selector=selector.join(" ");
target=target.slice(0,off);
}
if(jQuery.spip.preloaded_urls[target]){
var content=jQuery.spip.preloaded_urls[target];
if(selector){
content=$("<div>").append($.parseHTML(content)).find(selector);
}
return $('<div class="lity-content-inner"></div>').append(content);
}
var _deferred=$.Deferred;
var deferred=_deferred();
var failed=function(){
deferred.reject($('<span class="error lity-error"></span>').append('Failed loading ajax'));
};
$.get(target)
.done(function(content){
jQuery.spip.preloaded_urls[target]=content;
if(selector){
content=$("<div>").append($.parseHTML(content)).find(selector);
}
deferred.resolve($('<div class="lity-content-inner"></div>').append(content));
})
.fail(failed);
return deferred.promise();
},
imageBuildContent:function(img,desc,longdesc,defaultCaptionClass){
img.attr('alt',desc?desc:'');
desc=(longdesc?longdesc:desc);
if(desc){
defaultCaptionClass=(defaultCaptionClass?defaultCaptionClass:'expanded');
var id='lity-image-caption-'+Date.now().toString(36)+Math.random().toString(36).substr(2);
img.attr('aria-describedby',id);
img=$('<figure class="lity-image-figure"></figure>').append(img).append('<figcaption id="'+id+'" class="lity-image-caption '+defaultCaptionClass+'"><div class="lity-image-caption-text">'+desc+'</div></figcaption>');
}
else{
img=$('<figure class="lity-image-figure"></figure>').append(img);
}
return img;
},
imageHandler:function(target,instance){
var _deferred=$.Deferred;
var desc='';
var longdesc='';
var defaultCaptionClass=(instance.options().defaultCaptionState==='min'?'min':'expanded');
var opener=instance.opener();
if(opener){
desc=opener.attr('title')||$('img[alt]',opener).eq(0).attr('alt')||'';
var by=opener.attr('aria-describedby')||$('img[aria-describedby]',opener).eq(0).attr('aria-describedby')||'';
if(by){
longdesc=$('#'+by).html();
longdesc=longdesc.trim();
}
if(!desc){
desc=desc||instance.opener().attr('aria-label')||'';
}
desc=desc.trim();
}
var img;
var cache=opener.data('lity-image-cache')||{};
if(cache[target]){
img=cache[target];
img=litySpip.imageBuildContent(img,desc,longdesc,defaultCaptionClass);
return img;
}
img=$('<img src="'+target+'" class="lity-image-img" data-'+litySpip.nameSpace+'-force-max-height />');
var deferred=_deferred();
var failed=function(){
deferred.reject($('<span class="error lity-error"></span>').append('Failed loading image'));
};
img
.on('load',function(){
if(this.naturalWidth===0){
img.attr("style","width:25vw;");
}
cache[target]=img;
opener.data('lity-image-cache',cache);
deferred.resolve(litySpip.imageBuildContent(img,desc,longdesc,defaultCaptionClass));
})
.on('error',failed)
;
return deferred.promise();
},
groupElements:function(groupName){
return $('.lity-enabled[data-'+litySpip.nameSpace+'-group'+'='+groupName+']');
},
eventSet:{},
setEvents:function(what){
if(!litySpip.eventSet[what]){
switch(what){
case'opener':
$(document).on('click','.lity-enabled',litySpip.onClickOpener);
break;
case'listener':
$(document).on('click','.lity-previous,.lity-next',litySpip.onPrevNext);
$(document).on('click','.lity-start-stop',litySpip.onSlideShowToggle);
$(window).on('keyup',litySpip.onKeyUp);
$(document).on('click','.lity-image-caption',litySpip.onCaptionToggle);
break;
}
litySpip.eventSet[what]=true;
}
},
onKeyUp:function(event){
var c={37:"previous",39:"next"}[event.keyCode];
if(c){
var current=lity.current();
if(current){
jQuery('.lity-'+c,current.element()).trigger('click');
}
}
},
onCaptionToggle:function(event){
var $caption=$(this);
$caption.toggleClass('min expanded');
},
openerFromPrevNext($button){
var groupName=$button.data('group-name');
var groupPosition=$button.data('group-position');
return litySpip.groupElements(groupName).eq(groupPosition);
},
onPrevNext:function(event){
var $button=$(this);
var newEl=litySpip.openerFromPrevNext($button);
if(newEl){
var element=lity.current().element();
litySpip.isTransition={oldClosed:false,newOpened:true};
element.addClass('lity-no-transition').css('visibility','hidden');
litySpip.slideshowStop(element);
var options={transitionOnOpen:$button.is('.lity-next')?'slide-from-right':'slide-from-left'};
if(element.is('.lity-slideshow')){
options.slideShow=true;
}
lity.current().close();
litySpip.elementOpener(newEl,options);
}
},
slideshowStart:function(element){
var $progress=element.find('.lity-group-progress-bar-status');
$progress.attr('style','');
$progress.css('width','100%');
var delay=litySpip.config.slideshowSpeed;
setTimeout(function(){
$progress.css('transition','width '+((delay-200)/1000)+'s linear');
$progress.css('width','0');
},200);
timer=setTimeout(function(){element.find('.lity-next').trigger('click')},delay);
element.data('lity-timer',timer);
$('.lity-start',element).attr('aria-hidden','true');
$('.lity-stop',element).attr('aria-hidden','false');
jQuery('.lity-start-stop',element).focus();
},
slideshowStop:function(element){
timer=element.data('lity-timer');
if(timer){
clearTimeout(timer);
}
},
onSlideShowToggle:function(event){
var $button=$(this);
var element=$button.closest('.lity');
var slideShowState=(element.is('.lity-slideshow')?true:false);
var timer;
if(!slideShowState){
litySpip.slideshowStart(element);
}
else{
litySpip.slideshowStop(element);
$('.lity-start',element).attr('aria-hidden','false');
$('.lity-stop',element).attr('aria-hidden','true');
}
element.toggleClass('lity-slideshow');
},
onClickOpener:function(event){
event.preventDefault();
var opener=$(this);
litySpip.elementOpener(opener);
},
elementOpener:function(opener,options){
var cfg=opener.data('mediabox-options');
if(options){
cfg=$.extend({},cfg,options);
}
var target=opener.data('href-popin')||opener.data('href')||opener.attr('href')||opener.attr('src');
litySpip.lityOpener(target,cfg,opener.get(0));
},
lityOpener:function(target,cfg,opener){
litySpip.setEvents('listener');
if(!litySpip.isTransition){
litySpip.callbacks.onOpen.push(cfg.onOpen||false);
litySpip.callbacks.onShow.push(cfg.onShow||false);
litySpip.callbacks.onClose.push(cfg.onClose||false);
litySpip.focusedItem.push($(document.activeElement));
}
var type=cfg.type||'';
if(!type&&opener){
type=$(opener).data(litySpip.nameSpace+'-type')||'';
}
var handlers=lity.handlers();
if(type==='ajax'){
handlers.ajax=litySpip.ajaxHandler;
}
handlers.image=litySpip.imageHandler;
if(type==='inline'){
var el=[];
try{
el=$(target);
}catch(e){
el=[];
}
if(!el.length){
handlers.inline=litySpip.failHandler;
}
}
cfg=$.extend({handlers:handlers},cfg);
if(type&&['image','inline','ajax','iframe'].indexOf(type)!==-1){
cfg.handler=type;
}
if(opener&&typeof($.parseMediaboxOptions)!=="undefined"){
cfg=$.extend(cfg,$.parseMediaboxOptions(litySpip.nameSpace,opener));
}
if(!!cfg.preloadOnly){
litySpip.lityPreLoader(target,cfg,opener);
}
else{
var groupPosition=0;
var groupLength=0;
if(opener){
var groupName=cfg.rel||(opener?$(opener).data(litySpip.nameSpace+'-group'):'');
if(groupName){
var elements=litySpip.groupElements(groupName);
groupPosition=elements.index($(opener));
groupLength=elements.length;
}
}
cfg=$.extend({template:litySpip.template(cfg,type,groupName,groupPosition,groupLength)},cfg);
lity(target,cfg,opener);
}
},
lityPreLoader:function(target,cfg,opener){
if(cfg.handler&&cfg.handlers[cfg.handler]){
if(cfg.handler==='image'||cfg.handler==='ajax'){
var instance={
opener:function(){return $(opener);},
options:function(){return cfg}
};
var content=cfg.handlers[cfg.handler](target,instance);
}
}
}
}
jQuery.fn.extend({
mediabox:function(options){
var cfg=$.extend({},litySpip.config,options);
if(this===jQuery.fn){
var href=cfg.href||"";
litySpip.lityOpener(href,cfg,null);
return this;
}else{
if(cfg.rel){
this.attr('data-'+litySpip.nameSpace+'-group',cfg.rel);
}
else{
this.each(function(){
var rel=$(this).attr('rel');
if(rel){
$(this).attr('data-'+litySpip.nameSpace+'-group',rel);
}
});
}
litySpip.setEvents('opener');
this
.data('mediabox-options',cfg)
.addClass('lity-enabled');
(cfg.preload?this:this.filter('[data-'+litySpip.nameSpace+'-preload]')).each(function(){
litySpip.elementOpener($(this),{preloadOnly:true});
});
return this;
}
},
mediaboxClose:function(){
var $current=lity.current();
if($current){
$current.close();
return true;
}
return false;
}
});
var initConfig=function(){
var b=typeof(mediabox_settings)=='object'?mediabox_settings:{};
litySpip.nameSpace=b.ns?b.ns:'mediabox';
litySpip.strings.slideshowStart=b.str_ssStart;
litySpip.strings.slideshowStop=b.str_ssStop;
litySpip.strings.current=b.str_cur;
litySpip.strings.previous=b.str_prev;
litySpip.strings.next=b.str_next;
litySpip.strings.close=b.str_close;
litySpip.strings.loading=b.str_loading;
litySpip.strings.press_escape=b.str_petc;
litySpip.strings.dialog_title_def=b.str_dialTitDef;
litySpip.strings.dialog_title_med=b.str_dialTitMed;
litySpip.config.slideshowSpeed=(b.lity.slideshow_speed?b.lity.slideshow_speed:5000);
litySpip.config.defaultCaptionState=(b.lity.defaultCaptionState?b.lity.defaultCaptionState:'expanded');
var styles={
'container':'',
'content':'',
};
if(b.lity.minWidth){
styles.content+="min-width:"+b.lity.minWidth.replace('%','vw')+';';
}
if(b.lity.maxWidth){
styles.container+="max-width:"+b.lity.maxWidth.replace('%','vw')+';';
}
if(b.lity.minHeight){
styles.content+="min-height:"+b.lity.minHeight.replace('%','vh')+';';
}
if(b.lity.maxHeight){
styles.container+="max-height:"+b.lity.maxHeight.replace('%','vh')+';';
}
var insert='';
for(let key in styles){
if(styles[key]){
insert+='.box_mediabox .lity-'+key+'{'+styles[key]+'}';
}
}
if(b.lity.opacite){
insert+='.box_mediabox:before{opacity:'+b.lity.opacite+'}';
}
if(insert){
$('head').append($('<style type="text/css">'+insert+'</style>'));
}
$(document).on('lity:open',function(event,instance){
if(!instance.element().is('.lity-slideshow')){
jQuery('.lity-close',instance.element()).focus();
}
if(!litySpip.isTransition){
var callback=litySpip.callbacks.onOpen.pop();
if(callback){
callback(event,instance);
}
}
});
$(document).on('lity:ready',function(event,instance){
litySpip.adjustHeight(instance);
if(jQuery.spip){
jQuery.spip.triggerAjaxLoad(instance.element().get(0))
}
if(instance.element().addClass('lity-ready').is('.lity-slideshow')){
litySpip.slideshowStart(instance.element());
}
if(!litySpip.isTransition){
var callback=litySpip.callbacks.onShow.pop();
if(callback){
callback(event,instance);
}
}
else{
litySpip.isTransition.newOpened=true;
if(litySpip.isTransition.oldClosed){
litySpip.isTransition=false;
}
instance.content().trigger('lity:resize',[instance]);
}
var $next=instance.element().find('.lity-next');
if($next.length){
$next=litySpip.openerFromPrevNext($next);
if($next){
litySpip.elementOpener($next,{preloadOnly:true});
}
}
});
$(document).on('lity:close',function(event,instance){
if(!litySpip.isTransition){
if(litySpip.callbacks.onShow.length>litySpip.callbacks.onOpen.length){
litySpip.callbacks.onShow.pop();
}
var callback=litySpip.callbacks.onClose.pop();
if(callback){
callback(event,instance);
}
}
});
$(document).on('lity:remove',function(event,instance){
if(!litySpip.isTransition){
var focused=litySpip.focusedItem.pop();
if(focused){
try{
focused.focus();
}catch(e){
}
}
}
else{
litySpip.isTransition.oldClosed=true;
if(litySpip.isTransition.newOpened){
litySpip.isTransition=false;
}
}
});
$(document).on('lity:resize',function(event,instance){
litySpip.adjustHeight(instance);
});
}
initConfig();
})(jQuery);


/* ../plugins-dist/mediabox/javascript/spip.mediabox.js?1672674099 */
(function($){
$.mediabox
=function(options){
if(typeof(mediabox_autodetect_href)=='function'
&&options.href
&&!options.type){
options.type=mediabox_autodetect_href(options.href);
}
$.fn.mediabox(options);
};
$.modalboxload=$.modalbox=function(href,options){$.mediabox($.extend({href:href,overlayClose:true},options));};
$.modalboxclose=$.mediaboxClose=$.fn.mediaboxClose;
$.parseMediaboxOptions=function(nameSpace,opener){
var options={};
var data2options={"width":"width","height":"height","min-width":"minWidth","min-height":"minHeight","max-width":"maxWidth","max-height":"maxHeight","caption-state":"defaultCaptionState"};
var v;
for(var o in data2options){
v=($(opener).data(nameSpace+'-'+o)||'');
if(v){
options[data2options[o]]=v;
}
}
if(!options.length){
var eltclass=$(opener).prop('class');
if(eltclass){
if(eltclass.indexOf("boxWidth-")!==-1){
var w=eltclass.match(/boxWidth-([^\s'">]*)/);
w=w[1].replace(/pc/,'%');
options["width"]=w;
}
if(eltclass.indexOf("boxHeight-")!==-1){
var h=eltclass.match(/boxHeight-([^\s'">]*)/);
h=h[1].replace(/pc/,'%');
options["height"]=h;
}
if(eltclass.indexOf("boxIframe")!==-1){
options["type"]='iframe';
}
if(eltclass.indexOf("boxInline")!==-1){
options["type"]='inline';
}
}
}
v=($(opener).data(nameSpace+'-'+'type')||'');
if(v){
options["type"]=v;
}
return options;
}
})(jQuery);
var mediaboxInit=function(){
var b=$.extend({},mediabox_settings);
if(b.ns!=='box'){
$('[data-box-type]').each(function(i,e){
var $e=$(e);
var d=$e.attr('data-box-type');
$e.removeAttr('data-box-type').attr('data-'+b.ns+'-type',d);
});
}
if(b.auto_detect){
var $popins=$('[data-href-popin],[data-'+b.ns+'-type]'+(window.var_zajax_content?',[data-var_zajax],a.popin':''))
.add(b.sel_c)
.not(ajaxbloc_selecteur,'.ajaxbloc','.hasbox');
$popins.each(function(i,e){
var $e=$(e);
var url=$e.attr('href')||"./";
var popin=$e.attr('data-href-popin');
var type=$e.attr('data-'+b.ns+'-type')||'';
if(!popin){
var env=$e.attr('data-ajax-env');
if(env){
url=parametre_url(parametre_url(url,'var_ajax',1),'var_ajax_env',env)
$e.removeAttr('data-ajax-env');
type='ajax';
}
var za=$e.attr('data-var_zajax');
if(za!==undefined||$e.hasClass('popin')){
if(za==='content'&&window.var_zajax_content){
za=window.var_zajax_content;
}
url=parametre_url(url,'var_zajax',za||window.var_zajax_content);
$e.removeAttr('data-var_zajax');
type='ajax';
}
if((url!==$e.attr('href')||(!popin&&type))&&url!=="./"){
$e.attr('data-href-popin',url);
}
}
url=popin||url;
if(!type){
var attrs=$e.data();
var types=['inline','html','iframe','image','ajax'];
types.some(function(e){
var k=b.ns+e.charAt(0).toUpperCase()+e.slice(1);
if(attrs[k]){
type=e;
return true;
}
});
}
if(!type&&typeof(mediabox_autodetect_href)=='function'){
type=mediabox_autodetect_href(url);
}
if(!type||$e.hasClass('boxIframe')){
type="iframe";
$e.removeClass('boxIframe');
}
$e.attr('data-'+b.ns+'-type',type);
});
}
if(b.sel_g){
var $items=$();
$(b.sel_g).each(function(i,e){
$items=$items.add(
$(this).is('a[type^=\'image\']')
?$(this)
:$(this).find('a[type^=\'image\']')
);
});
$items
.not('.hasbox')
.removeAttr('onclick')
.mediabox({rel:'galerieauto',slideshow:true,slideshowAuto:false,type:'image'})
.addClass('hasbox');
}
if(b.tt_img){
$('a[type^="image"],a[href$=".png"],a[href$=".jpg"],a[href$=".jpeg"],a[href$=".svg"]')
.not('.hasbox')
.removeAttr('onclick')
.mediabox({type:'image'})
.addClass('hasbox')
;
}
$(b.sel_c)
.not('.hasbox')
.mediabox()
.addClass('hasbox')
;
$('[data-href-popin]',this)
.not('.hasbox')
.click(function(){if($.modalbox)$.modalbox($(this).attr('data-href-popin'),$.parseMediaboxOptions(b.ns,this));return false;})
.addClass('hasbox');
};
(function($){
if(typeof onAjaxLoad=='function')onAjaxLoad(mediaboxInit);
$(mediaboxInit);
})(jQuery);
function mediabox_autodetect_href(href,options){
options=$.extend({
breakMode:true,
tests:{
image:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,
inline:/^[#.]\w/,
html:/^\s*<[\w!][^<]*>/,
ajax:/((\?|&(amp;)?)var_z?ajax=|cache-ajaxload\/)/i,
iframe:/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[/?#]\S*)?$/i,
},
},options);
var matched=options.breakMode?false:[];
$.each(options.tests,function(type,regex){
if(href.match(regex)){
if(options.breakMode){
matched=type;
return false;
}else{
matched.push(type);
}
}
});
return matched;
};


/* ../plugins-dist/porte_plume/javascript/jquery.markitup_pour_spip.js?1672674101 */

;(function($){
$.fn.markItUp=function(settings,extraSettings){
var method,params,options,ctrlKey,shiftKey,altKey;ctrlKey=shiftKey=altKey=false;
markitup_prompt=false;
if(typeof settings=='string'){
method=settings;
params=extraSettings;
}
options={id:'',
nameSpace:'',
root:'',
lang:'',
previewHandler:false,
previewInWindow:'',
previewInElement:'',
previewAutoRefresh:true,
previewPosition:'after',
previewTemplatePath:'~/templates/preview.html',
previewParser:false,
previewParserPath:'',
previewParserVar:'data',
previewParserAjaxType:'POST',
resizeHandle:true,
beforeInsert:'',
afterInsert:'',
onEnter:{},
onShiftEnter:{},
onCtrlEnter:{},
onTab:{},
markupSet:[{}]
};
$.extend(options,settings,extraSettings);
if(!options.root){
$('script').each(function(a,tag){
var miuScript=$(tag).get(0).src.match(/(.*)jquery\.markitup(\.pack)?\.js$/);
if(miuScript!==null){
options.root=miuScript[1];
}
});
}
var uaMatch=function(ua){
ua=ua.toLowerCase();
var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||
ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||
[];
return{
browser:match[1]||"",
version:match[2]||"0"
};
};
var matched=uaMatch(navigator.userAgent);
var browser={};
if(matched.browser){
browser[matched.browser]=true;
browser.version=matched.version;
}
if(browser.chrome){
browser.webkit=true;
}else if(browser.webkit){
browser.safari=true;
}
return this.each(function(){
var $$,textarea,levels,scrollPosition,caretPosition,
clicked,hash,header,footer,previewWindow,template,iFrame,abort,
before,after;
$$=$(this);
textarea=this;
levels=[];
abort=false;
scrollPosition=caretPosition=0;
caretOffset=-1;
options.previewParserPath=localize(options.previewParserPath);
options.previewTemplatePath=localize(options.previewTemplatePath);
if(method){
switch(method){
case'remove':
remove();
break;
case'insert':
markup(params);
break;
default:
$.error('Method '+method+' does not exist on jQuery.markItUp');
}
return;
}
function localize(data,inText){
if(inText){
return data.replace(/("|')~\//g,"$1"+options.root);
}
return data.replace(/^~\//,options.root);
}
function init(){
id='';nameSpace='';
if(options.id){
id='id="'+options.id+'"';
}else if($$.attr("id")){
id='id="markItUp'+($$.attr("id").substr(0,1).toUpperCase())+($$.attr("id").substr(1))+'"';
}
if(options.nameSpace){
nameSpace='class="'+options.nameSpace+'"';
}
currentScrollPosition=$$.scrollTop();
$$.wrap('<div '+nameSpace+'></div>');
$$.wrap('<div '+id+' class="markItUp"></div>');
$$.wrap('<div class="markItUpContainer"></div>');
$$.addClass("markItUpEditor");
$$.scrollTop(currentScrollPosition);
header=$('<div class="markItUpHeader"></div>').insertBefore($$);
$(dropMenus(options.markupSet)).appendTo(header);
$(header).find("li.markItUpDropMenu ul:empty").parent().remove();
footer=$('<div class="markItUpFooter"></div>').insertAfter($$);
if(options.resizeHandle===true&&browser.safari!==true){
resizeHandle=$('<div class="markItUpResizeHandle"></div>')
.insertAfter($$)
.on("mousedown.markItUp",function(e){
var h=$$.height(),y=e.clientY,mouseMove,mouseUp;
mouseMove=function(e){
$$.css("height",Math.max(20,e.clientY+h-y)+"px");
return false;
};
mouseUp=function(e){
$("html").off("mousemove.markItUp",mouseMove).off("mouseup.markItUp",mouseUp);
return false;
};
$("html").on("mousemove.markItUp",mouseMove).on("mouseup.markItUp",mouseUp);
});
footer.append(resizeHandle);
}
$$.on('keydown.markItUp',keyPressed).on('keyup',keyPressed);
$$.on("insertion.markItUp",function(e,settings){
if(settings.target!==false){
get();
}
if(textarea===$.markItUp.focused){
markup(settings);
}
});
$$.on('focus.markItUp',function(){
$.markItUp.focused=this;
});
if(options.previewInElement){
refreshPreview();
}
}
function dropMenus(markupSet){
var ul=$('<ul></ul>'),i=0;
var lang=($$.attr('lang')||options.lang);
$('li:hover > ul',ul).css('display','block');
$.each(markupSet,function(){
var button=this,t='',title,li,j;
if((!lang||!button.lang||($.inArray(lang,button.lang)!=-1))
&&(!button.lang_not||($.inArray(lang,button.lang_not)==-1))){
button.title?title=(button.key)?(button.title||'')+' [Ctrl+'+button.key+']':(button.title||''):title=(button.key)?(button.name||'')+' [Ctrl+'+button.key+']':(button.name||'');
key=(button.key)?'accesskey="'+button.key+'"':'';
if(button.separator){
li=$('<li class="markItUpSeparator">'+(button.separator||'')+'</li>').appendTo(ul);
}else{
i++;
for(j=levels.length-1;j>=0;j--){
t+=levels[j]+"-";
}
li=$('<li class="markItUpButton markItUpButton'+t+(i)+' '+(button.className||'')+'"><a href="#" '+key+' title="'+title+'"><em>'+(button.name||'')+'</em></a></li>')
.on("contextmenu.markItUp",function(){
return false;
}).on('click.markItUp',function(e){
e.preventDefault();
}).on("focusin.markItUp",function(){
setTimeout(function(){
$$.focus();
},0);
}).on('mouseup',function(e){
if(button.call){
eval(button.call)(e);
}
setTimeout(function(){markup(button)},1);
return false;
}).on('mouseenter.markItUp',function(){
$('> a',this).addClass('active');
$('> ul',this).addClass('expanded');
$(document).one('click',function(){
$('ul a',header).removeClass('active');
$('ul ul',header).removeClass('expanded');
}
);
}).on('mouseleave.markItUp',function(){
$('> a',this).removeClass('active');
$('> ul',this).removeClass('expanded');
}).appendTo(ul);
if(button.dropMenu){
levels.push(i);
$(li).addClass('markItUpDropMenu').append(dropMenus(button.dropMenu));
}
}
}
});
levels.pop();
return ul;
}
function magicMarkups(string){
if(string){
string=string.toString();
string=string.replace(/\(\!\(([\s\S]*?)\)\!\)/g,
function(x,a){
var b=a.split('|!|');
if(altKey===true){
return(b[1]!==undefined)?b[1]:b[0];
}else{
return(b[1]===undefined)?"":b[0];
}
}
);
string=string.replace(/\[\!\[([\s\S]*?)\]\!\]/g,
function(x,a){
var b=a.split(':!:');
if(abort===true){
return false;
}
markitup_prompt=true;
value=prompt(b[0],(b[1])?b[1]:'');
if(value===null){
abort=true;
}
setTimeout(function(){markitup_prompt=false;},500);
return value;
}
);
return string;
}
return"";
}
function prepare(action){
if($.isFunction(action)){
action=action(hash);
}
return magicMarkups(action);
}
function build(string){
var openWith=prepare(clicked.openWith);
var placeHolder=prepare(clicked.placeHolder);
var replaceWith=prepare(clicked.replaceWith);
var closeWith=prepare(clicked.closeWith);
var openBlockWith=prepare(clicked.openBlockWith);
var closeBlockWith=prepare(clicked.closeBlockWith);
var multiline=clicked.multiline;
if(replaceWith!==""){
block=openWith+replaceWith+closeWith;
}else if(selection===''&&placeHolder!==''){
block=openWith+placeHolder+closeWith;
}else if(multiline===true){
string=string||selection;
var lines=[string],blocks=[];
if(multiline===true){
lines=string.split(/\r?\n/);
}
for(var l=0;l<lines.length;l++){
line=lines[l];
var trailingSpaces;
if(trailingSpaces=line.match(/ *$/)){
blocks.push(openWith+line.replace(/ *$/g,'')+closeWith+trailingSpaces);
}else{
blocks.push(openWith+line+closeWith);
}
}
block=blocks.join("\n");
}else{
block=openWith+(string||selection)+closeWith;
}
block=openBlockWith+block+closeBlockWith;
return{block:block,
openBlockWith:openBlockWith,
openWith:openWith,
replaceWith:replaceWith,
placeHolder:placeHolder,
closeWith:closeWith,
closeBlockWith:closeBlockWith
};
}
function selectWord(){
selectionBeforeAfter(/\s|[.,;:!¡?¿()]/);
selectionSave();
}
function selectLine(){
selectionBeforeAfter(/\r?\n/);
selectionSave();
}
function selectionRemoveLast(pattern){
if(!pattern)pattern=/\s/;
last=selection[selection.length-1];
if(last&&last.match(pattern)){
set(caretPosition,selection.length-1);
get();
$.extend(hash,{caretPosition:caretPosition,scrollPosition:scrollPosition});
}
}
function selectionBeforeAfter(pattern){
if(!pattern)pattern=/\s/;
sautAvantIE=sautApresIE=0;
if(browser.msie){
lenSelection=selection.length-fixIeBug(selection);
if(caretPosition){
set(caretPosition-1,2);
sautAvantIE=fixIeBug(document.selection.createRange().text);
}
set(caretPosition,2);
sautApresIE=fixIeBug(document.selection.createRange().text);
set(0,caretPosition);
before=document.selection.createRange().text;
set(caretPosition+lenSelection,textarea.value.length);
after=document.selection.createRange().text;
set(caretPosition,lenSelection);
selection=document.selection.createRange().text;
}else{
before=textarea.value.substring(0,caretPosition);
after=textarea.value.substring(caretPosition+selection.length-fixIeBug(selection));
}
before=before.split(pattern);
after=after.split(pattern);
if(sautAvantIE)before.push("");
if(sautApresIE)after.unshift("");
}
function selectionSave(){
nb_before=before?before[before.length-1].length:0;
nb_after=after?after[0].length:0;
nb=nb_before+selection.length+nb_after-fixIeBug(selection);
caretPosition=caretPosition-nb_before;
set(caretPosition,nb);
get();
$.extend(hash,{selection:selection,caretPosition:caretPosition,scrollPosition:scrollPosition});
}
function markup(button){
var len,j,n,i;
hash=clicked=button;
get();
$.extend(hash,{line:"",
root:options.root,
textarea:textarea,
selection:(selection||''),
caretPosition:caretPosition,
ctrlKey:ctrlKey,
shiftKey:shiftKey,
altKey:altKey
}
);
if(button.selectionType){
if(button.selectionType=="word"){
if(!selection){
selectWord();
}else{
selectionRemoveLast(/\s/);
}
}
if(button.selectionType=="line"){
selectLine();
}
if(button.selectionType=="return"){
if(!browser.msie){
selectionBeforeAfter(/\r?\n/);
before_last=before[before.length-1];
after='';
if(r=before_last.match(/^-([*#]+) ?(.*)$/)){
if(r[2]){
button.replaceWith="\n-"+r[1]+' ';
before_last='';
}else{
button.replaceWith="\n";
}
}else{
before_last='';
button.replaceWith="\n";
}
before[before.length-1]=before_last;
selectionSave();
}
}
}
prepare(options.beforeInsert);
prepare(clicked.beforeInsert);
if((ctrlKey===true&&shiftKey===true)||button.multiline===true){
prepare(clicked.beforeMultiInsert);
}
$.extend(hash,{line:1});
if((ctrlKey===true&&shiftKey===true)||button.forceMultiline===true){
lines=selection.split(/\r?\n/);
for(j=0,n=lines.length,i=0;i<n;i++){
if(n==1||$.trim(lines[i])!==''){
$.extend(hash,{line:++j,selection:lines[i]});
lines[i]=build(lines[i]).block;
}else{
lines[i]="";
}
}
string={block:lines.join('\n')};
start=caretPosition;
len=string.block.length+((browser.opera)?n-1:0);
}else if(ctrlKey===true){
string=build(selection);
start=caretPosition+string.openWith.length;
len=string.block.length-string.openWith.length-string.closeWith.length;
len=len-(string.block.match(/ $/)?1:0);
len-=fixIeBug(string.block);
}else if(shiftKey===true){
string=build(selection);
start=caretPosition;
len=string.block.length;
len-=fixIeBug(string.block);
}else{
string=build(selection);
start=caretPosition+string.block.length;
len=0;
start-=fixIeBug(string.block);
}
if((selection===''&&string.replaceWith==='')){
caretOffset+=fixOperaBug(string.block);
start=caretPosition+string.openBlockWith.length+string.openWith.length;
len=string.block.length-string.openBlockWith.length-string.openWith.length-string.closeWith.length-string.closeBlockWith.length;
caretOffset=$$.val().substring(caretPosition,$$.val().length).length;
caretOffset-=fixOperaBug($$.val().substring(0,caretPosition));
}
$.extend(hash,{caretPosition:caretPosition,scrollPosition:scrollPosition});
if(string.block!==selection&&abort===false){
insert(string.block);
set(start,len);
}else{
caretOffset=-1;
}
get();
$.extend(hash,{line:'',selection:selection});
if((ctrlKey===true&&shiftKey===true)||button.multiline===true){
prepare(clicked.afterMultiInsert);
}
prepare(clicked.afterInsert);
prepare(options.afterInsert);
if(previewWindow&&options.previewAutoRefresh){
refreshPreview();
}
textarea.dispatchEvent(new Event('input'));
shiftKey=altKey=ctrlKey=abort=false;
}
function fixOperaBug(string){
if(browser.opera){
return string.length-string.replace(/\n*/g,'').length;
}
return 0;
}
function fixIeBug(string){
if(browser.msie){
return string.length-string.replace(/\r*/g,'').length;
}
return 0;
}
function insert(block){
if(document.selection){
var newSelection=document.selection.createRange();
newSelection.text=block;
}else{
textarea.value=textarea.value.substring(0,caretPosition)+block+textarea.value.substring(caretPosition+selection.length,textarea.value.length);
}
}
function set(start,len){
if(textarea.createTextRange){
if(browser.opera&&browser.version>=9.5&&len==0){
return false;
}
range=textarea.createTextRange();
range.collapse(true);
range.moveStart('character',start);
range.moveEnd('character',len);
range.select();
}else if(textarea.setSelectionRange){
textarea.setSelectionRange(start,start+len);
}
textarea.scrollTop=scrollPosition;
textarea.focus();
}
function get(){
textarea.focus();
scrollPosition=textarea.scrollTop;
if(document.selection){
selection=document.selection.createRange().text;
if(browser.msie){
var range=document.selection.createRange(),rangeCopy=range.duplicate();
rangeCopy.moveToElementText(textarea);
caretPosition=-1;
while(rangeCopy.inRange(range)){
rangeCopy.moveStart('character');
caretPosition++;
}
}else{
caretPosition=textarea.selectionStart;
}
}else{
caretPosition=textarea.selectionStart;
selection=textarea.value.substring(caretPosition,textarea.selectionEnd);
}
return selection;
}
function preview(){
if(typeof options.previewHandler==='function'){
previewWindow=true;
}else if(options.previewInElement){
previewWindow=$(options.previewInElement);
}else if(!previewWindow||previewWindow.closed){
if(options.previewInWindow){
previewWindow=window.open('','preview',options.previewInWindow);
$(window).unload(function(){
previewWindow.close();
});
}else{
iFrame=$('<iframe class="markItUpPreviewFrame"></iframe>');
if(options.previewPosition=='after'){
iFrame.insertAfter(footer);
}else{
iFrame.insertBefore(header);
}
previewWindow=iFrame[iFrame.length-1].contentWindow||frame[iFrame.length-1];
}
}else if(altKey===true){
if(iFrame){
iFrame.remove();
}else{
previewWindow.close();
}
previewWindow=iFrame=false;
}
if(!options.previewAutoRefresh){
refreshPreview();
}
if(options.previewInWindow){
previewWindow.focus();
}
}
function refreshPreview(){
renderPreview();
}
function renderPreview(){
var phtml;
var parsedData=$$.val();
if(options.previewParser&&typeof options.previewParser==='function'){
parsedData=options.previewParser(parsedData);
}
if(options.previewHandler&&typeof options.previewHandler==='function'){
options.previewHandler(parsedData);
}else if(options.previewParserPath!==''){
$.ajax({
type:options.previewParserAjaxType,
dataType:'text',
global:false,
url:options.previewParserPath,
data:options.previewParserVar+'='+encodeURIComponent(parsedData),
success:function(data){
writeInPreview(localize(data,1));
}
});
}else{
if(!template){
$.ajax({
url:options.previewTemplatePath,
dataType:'text',
global:false,
success:function(data){
writeInPreview(localize(data,1).replace(/<!-- content -->/g,parsedData));
}
});
}
}
return false;
}
function writeInPreview(data){
if(options.previewInElement){
$(options.previewInElement).html(data);
}else if(previewWindow&&previewWindow.document){
try{
sp=previewWindow.document.documentElement.scrollTop
}catch(e){
sp=0;
}
previewWindow.document.open();
previewWindow.document.write(data);
previewWindow.document.close();
previewWindow.document.documentElement.scrollTop=sp;
}
}
function keyPressed(e){
shiftKey=e.shiftKey;
altKey=e.altKey;
ctrlKey=(!(e.altKey&&e.ctrlKey))?(e.ctrlKey||e.metaKey):false;
if(e.type==='keydown'){
if(ctrlKey===true){
li=$('a[accesskey="'+((e.keyCode==13)?'\\n':String.fromCharCode(e.keyCode))+'"]',header).parent('li');
if(li.length!==0){
ctrlKey=false;
setTimeout(function(){
li.triggerHandler('mouseup');
},1);
return false;
}
}
if(!browser.opera){
if(e.keyCode===13||e.keyCode===10){
if(ctrlKey===true){
ctrlKey=false;
markup(options.onCtrlEnter);
if(!options.onCtrlEnter.keepDefault){
textarea.dispatchEvent(new Event('input'));
}
return options.onCtrlEnter.keepDefault;
}else if(shiftKey===true){
shiftKey=false;
markup(options.onShiftEnter);
if(!options.onShiftEnter.keepDefault){
textarea.dispatchEvent(new Event('input'));
}
return options.onShiftEnter.keepDefault;
}else{
markup(options.onEnter);
if(!options.onEnter.keepDefault){
textarea.dispatchEvent(new Event('input'));
}
return options.onEnter.keepDefault;
}
}
if(e.keyCode===9){
if(shiftKey==true||ctrlKey==true||altKey==true){
return false;
}
if(caretOffset!==-1){
get();
caretOffset=$$.val().length-caretOffset;
set(caretOffset,0);
caretOffset=-1;
return false;
}else{
markup(options.onTab);
return options.onTab.keepDefault;
}
}
}
}
}
function remove(){
$$.off(".markItUp").removeClass('markItUpEditor');
$$.parent('div').parent('div.markItUp').parent('div').replaceWith($$);
var relativeRef=$$.parent('div').parent('div.markItUp').parent('div');
if(relativeRef.length){
relativeRef.replaceWith($$);
}
$$.data('markItUp',null);
}
init();
});
};
$.fn.markItUpRemove=function(){
return this.each(function(){
$(this).markItUp('remove');
}
);
};
$.markItUp=function(settings){
var options={target:false};
$.extend(options,settings);
if(options.target){
return $(options.target).each(function(){
$(this).focus();
$(this).trigger('insertion',[options]);
});
}else{
$('textarea').trigger('insertion',[options]);
}
};
})(jQuery);


/* ../plugins-dist/porte_plume/javascript/jquery.previsu_spip.js?1672674101 */
;(function($){
$.fn.previsu_spip=function(settings){
var options;
options={
previewParserPath:'',
previewParserVar:'data',
textEditer:'Editer',
textVoir:'Voir',
textFullScreen:'Plein écran'
};
$.extend(options,settings);
return this.each(function(){
var $$,textarea,tabs,preview;
$$=$(this);
textarea=this;
function init(){
$$.addClass("pp_previsualisation");
if(!$$.parent().has('.markItUpContainer').length){
$$.barre_outils('vide');
}
var mark=$$.parent();
tabs=$('<div class="markItUpTabs"></div>').prependTo(mark);
$(tabs).append(
'<a href="#fullscreen" class="fullscreen">'+options.textFullScreen+'</a>'+
'<a href="#previsuVoir" class="previsuVoir">'+options.textVoir+'</a>'+
'<a href="#previsuEditer" class="previsuEditer on">'+options.textEditer+'</a>'
);
preview=$('<div class="markItUpPreview"></div>').insertAfter(mark.find('.markItUpHeader'));
preview.hide();
var is_full_screen=false;
var objet=mark.parents('.formulaire_spip')[0].className.match(/formulaire_editer_(\w+)/);
objet=(objet?objet[1]:'');
var champ=mark.parents('.editer')[0].className.match(/editer_(\w+)/);
champ=(champ?champ[1].toUpperCase():'');
var textarea=mark.find('textarea.pp_previsualisation');
var preview=mark.find('.markItUpPreview');
var dir=textarea.attr('dir');
if(dir){
preview.attr('dir',dir);
}
tabs.find('.fullscreen').click(function(){
if(!mark.is('.fullscreen')){
textarea.data('height-origin',textarea.css('height'));
}
mark.toggleClass('fullscreen');
if(mark.is('.fullscreen')){
$('body').addClass('markitup-fullscreen');
is_full_screen=true;
mark.find('.markItUpHeader a').show();
if(!mark.is('.livepreview')){
var original_texte="";
function refresh_preview(){
var texte=textarea.val();
if(original_texte==texte){
return;
}
renderPreview(preview.addClass('ajaxLoad'),texte,champ,objet);
original_texte=texte;
}
var timerPreview=null;
mark.addClass('livepreview').find('.markItUpEditor').on('keyup click change focus refreshpreview',function(e){
if(is_full_screen){
if(timerPreview)clearTimeout(timerPreview);
timerPreview=setTimeout(refresh_preview,500);
}
});
$(window).on('keyup',function(e){
if(is_full_screen){
if(e.type=='keyup'&&e.keyCode==27&&!markitup_prompt){
mark.removeClass('fullscreen');
textarea.css('height',textarea.data('height-origin'));
is_full_screen=false;
}
}
});
}
mark.find('.markItUpEditor').trigger('refreshpreview');
}
else{
$('body').removeClass('markitup-fullscreen');
textarea.css('height',textarea.data('height-origin'));
if($(this).next().hasClass('on')){
mark.find('.markItUpHeader a').hide();
}
is_full_screen=false;
}
return false;
});
tabs.find('.previsuVoir').click(function(){
preview.height(
mark.find('.markItUpEditor').height()
+mark.find('.markItUpFooter').height()
);
mark.find('.markItUpHeader a,.markItUpEditor,.markItUpFooter').hide();
$(this).addClass('on').next().removeClass('on');
renderPreview(
preview.show().addClass('ajaxLoad'),
mark.find('textarea.pp_previsualisation').val(),
champ,
objet,
false
);
return false;
});
tabs.find('.previsuEditer').click(function(){
mark.find('.markItUpPreview').hide();
mark.find('.markItUpHeader a,.markItUpEditor,.markItUpFooter').show();
$(this).addClass('on').prev().removeClass('on');
return false;
});
}
function renderPreview(node,val,champ,objet,async){
if(options.previewParserPath!==''){
$.ajax({
type:'POST',
async:typeof(async)=="undefined"?true:async,
url:options.previewParserPath,
data:'champ='+champ
+'&objet='+objet
+'&'+options.previewParserVar+'='+encodeURIComponent(val),
success:function(data){
node.html(data).removeClass('ajaxLoad');
$("a",node).attr("target","blank");
$(":input",node).attr("disabled","disabled");
}
});
}
}
init();
});
};
})(jQuery);


/* ../local/cache-js/jsdyn-javascript_porte_plume_start_js-1fc3e371.js?1695819813 */

barre_outils_edition={
"nameSpace":"edition",
"previewAutoRefresh":false,
"onEnter":{
"keepDefault":false,
"selectionType":"return",
"replaceWith":"\n"
},
"onShiftEnter":{
"keepDefault":false,
"replaceWith":"\n_ "
},
"onCtrlEnter":{
"keepDefault":false,
"replaceWith":"\n\n"
},
"markupSet":[
{
"name":"Transformer en {{{intertitre}}}",
"key":"H",
"className":"outil_header1",
"openWith":"\n{{{",
"closeWith":"}}}\n",
"selectionType":"line"
},
{
"name":"Mettre en {{gras}}",
"key":"B",
"className":"outil_bold",
"replaceWith":function(h){return espace_si_accolade(h,'{{','}}');},
"selectionType":"word"
},
{
"name":"Mettre en {italique}",
"key":"I",
"className":"outil_italic",
"replaceWith":function(h){return espace_si_accolade(h,'{','}');},
"selectionType":"word"
},
{
"name":"Mettre en liste",
"className":"outil_liste_ul separateur_avant",
"replaceWith":function(h){return outil_liste(h,'*');},
"selectionType":"line",
"forceMultiline":true,
"dropMenu":[
{
"id":"liste_ol",
"name":"Mettre en liste num\u00e9rot\u00e9e",
"className":"outil_liste_ol",
"replaceWith":function(h){return outil_liste(h,'#');},
"display":true,
"selectionType":"line",
"forceMultiline":true
},
{
"id":"desindenter",
"name":"D\u00e9sindenter une liste",
"className":"outil_desindenter",
"replaceWith":function(h){return outil_desindenter(h);},
"display":true,
"selectionType":"line",
"forceMultiline":true
},
{
"id":"indenter",
"name":"Indenter une liste",
"className":"outil_indenter",
"replaceWith":function(h){return outil_indenter(h);},
"display":true,
"selectionType":"line",
"forceMultiline":true
}
]
},
{
"name":"Transformer en [lien hypertexte->http:\/\/...]",
"key":"L",
"className":"outil_link separateur separateur_apres sepLink",
"openWith":"[",
"closeWith":"->[![Veuillez indiquer l\u2019adresse de votre lien (vous pouvez indiquer une adresse Internet sous la forme http:\/\/www.monsite.com, une adresse courriel, ou simplement indiquer le num\u00e9ro d\u2019un article de ce site.]!]]"
},
{
"name":"Transformer en [[Note de bas de page]]",
"className":"outil_notes separateur_avant",
"openWith":"[[",
"closeWith":"]]",
"selectionType":"word"
},
{
"name":"<quote>Citer un message<\/quote>",
"key":"Q",
"className":"outil_quote separateur separateur_apres sepGuillemets",
"openWith":"\n<quote>",
"closeWith":"<\/quote>\n",
"selectionType":"word",
"dropMenu":[
{
"id":"barre_poesie",
"name":"Mettre en forme comme une <poesie>po\u00e9sie<\/poesie>",
"className":"outil_poesie",
"openWith":"\n<poesie>",
"closeWith":"<\/poesie>\n",
"display":true,
"selectionType":"line"
}
]
},
{
"name":"Ins\u00e9rer un syst\u00e8me d'onglets",
"className":"outil_onglets",
"replaceWith":"\n<onglet|debut|titre=Titre du premier onglet>\ncontenu du premier onglet\n\n<onglet|titre=Titre du deuxi\u00e8me onglet>\ncontenu du deuxi\u00e8me onglet\n\n<onglet|titre=Titre du troisi\u00e8me onglet>\ncontenu du troisi\u00e8me onglet\n\n<onglet|fin>\n"
},
{
"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
"className":"outil_guillemets",
"openWith":"«",
"closeWith":"»",
"lang":[
"fr",
"eo",
"cpf",
"ar",
"es"
],
"selectionType":"word",
"dropMenu":[
{
"id":"guillemets_simples",
"name":"Entourer de \u201cguillemets de second niveau\u201d",
"className":"outil_guillemets_simples",
"openWith":"“",
"closeWith":"”",
"display":true,
"lang":[
"fr",
"eo",
"cpf",
"ar",
"es"
],
"selectionType":"word"
}
]
},
{
"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
"className":"outil_guillemets_de",
"openWith":"„",
"closeWith":"“",
"lang":[
"bg",
"de",
"pl",
"hr",
"src"
],
"selectionType":"word",
"dropMenu":[
{
"id":"guillemets_de_simples",
"name":"Entourer de \u201cguillemets de second niveau\u201d",
"className":"outil_guillemets_de_simples",
"openWith":"&sbquo;",
"closeWith":"‘",
"display":true,
"lang":[
"bg",
"de",
"pl",
"hr",
"src"
],
"selectionType":"word"
}
]
},
{
"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
"className":"outil_guillemets_simples separateur_avant",
"openWith":"“",
"closeWith":"”",
"lang_not":[
"fr",
"eo",
"cpf",
"ar",
"es",
"bg",
"de",
"pl",
"hr",
"src"
],
"selectionType":"word",
"dropMenu":[
{
"id":"guillemets_autres_simples",
"name":"Entourer de \u201cguillemets de second niveau\u201d",
"className":"outil_guillemets_uniques",
"openWith":"‘",
"closeWith":"’",
"display":true,
"lang_not":[
"fr",
"eo",
"cpf",
"ar",
"es",
"bg",
"de",
"pl",
"hr",
"src"
],
"selectionType":"word"
}
]
},
{
"name":"Ins\u00e9rer des caract\u00e8res sp\u00e9cifiques",
"className":"outil_caracteres separateur separateur_apres sepCaracteres separateur_avant",
"dropMenu":[
{
"id":"A_grave",
"name":"Ins\u00e9rer un \u00c0",
"className":"outil_a_maj_grave",
"replaceWith":"À",
"display":true,
"lang":[
"fr",
"eo",
"cpf"
]
},
{
"id":"E_aigu",
"name":"Ins\u00e9rer un \u00c9",
"className":"outil_e_maj_aigu",
"replaceWith":"É",
"display":true,
"lang":[
"fr",
"eo",
"cpf"
]
},
{
"id":"E_grave",
"name":"Ins\u00e9rer un \u00c8",
"className":"outil_e_maj_grave",
"replaceWith":"È",
"display":true,
"lang":[
"fr",
"eo",
"cpf"
]
},
{
"id":"aelig",
"name":"Ins\u00e9rer un \u00e6",
"className":"outil_aelig",
"replaceWith":"æ",
"display":true,
"lang":[
"fr",
"eo",
"cpf"
]
},
{
"id":"AElig",
"name":"Ins\u00e9rer un \u00c6",
"className":"outil_aelig_maj",
"replaceWith":"Æ",
"display":true,
"lang":[
"fr",
"eo",
"cpf"
]
},
{
"id":"oe",
"name":"Ins\u00e9rer un \u0153",
"className":"outil_oe",
"replaceWith":"œ",
"display":true,
"lang":[
"fr"
]
},
{
"id":"OE",
"name":"Ins\u00e9rer un \u0152",
"className":"outil_oe_maj",
"replaceWith":"Œ",
"display":true,
"lang":[
"fr"
]
},
{
"id":"Ccedil",
"name":"Ins\u00e9rer un \u00c7",
"className":"outil_ccedil_maj",
"replaceWith":"Ç",
"display":true,
"lang":[
"fr",
"eo",
"cpf"
]
},
{
"id":"uppercase",
"name":"Passer en majuscules",
"className":"outil_uppercase",
"replaceWith":function(markitup){return markitup.selection.toUpperCase()},
"display":true,
"lang":[
"fr",
"en"
]
},
{
"id":"lowercase",
"name":"Passer en minuscules",
"className":"outil_lowercase",
"replaceWith":function(markitup){return markitup.selection.toLowerCase()},
"display":true,
"lang":[
"fr",
"en"
]
}
]
},
{
"name":"Ins\u00e9rer un code informatique (code)",
"className":"outil_code separateur separateur_apres sepCode",
"openWith":"<code>",
"closeWith":"<\/code>",
"dropMenu":[
{
"id":"cadre",
"name":"Ins\u00e9rer un code pr\u00e9format\u00e9 (cadre)",
"className":"outil_cadre",
"openWith":"<cadre>\n",
"closeWith":"\n<\/cadre>",
"display":true
}
]
}
]
}
function outil_liste(h,c){
if((s=h.selection)&&(r=s.match(/^-([*#]+) (.*)$/))){
r[1]=r[1].replace(/[#*]/g,c);
s='-'+r[1]+' '+r[2];
}else{
s='-'+c+' '+s;
}
return s;
}
function outil_indenter(h){
if(s=h.selection){
if(s.substr(0,2)=='-*'){
s='-**'+s.substr(2);
}else if(s.substr(0,2)=='-#'){
s='-##'+s.substr(2);
}else{
s='-* '+s;
}
}
return s;
}
function outil_desindenter(h){
if(s=h.selection){
if(s.substr(0,3)=='-**'){
s='-*'+s.substr(3);
}else if(s.substr(0,3)=='-* '){
s=s.substr(3);
}else if(s.substr(0,3)=='-##'){
s='-#'+s.substr(3);
}else if(s.substr(0,3)=='-# '){
s=s.substr(3);
}
}
return s;
}
function espace_si_accolade(h,openWith,closeWith){
if(s=h.selection){
if(s.charAt(0)=='{'){
return openWith+' '+s+' '+closeWith;
}
else if(c=h.textarea.selectionStart){
if(h.textarea.value.charAt(c-1)=='{'){
return' '+openWith+s+closeWith+' ';
}
}
}
return openWith+s+closeWith;
}
barre_outils_forum={
"nameSpace":"forum",
"previewAutoRefresh":false,
"onEnter":{
"keepDefault":false,
"selectionType":"return",
"replaceWith":"\n"
},
"onShiftEnter":{
"keepDefault":false,
"replaceWith":"\n_ "
},
"onCtrlEnter":{
"keepDefault":false,
"replaceWith":"\n\n"
},
"markupSet":[
{
"name":"Mettre en {{gras}}",
"key":"B",
"className":"outil_bold",
"replaceWith":function(h){return espace_si_accolade(h,'{{','}}');},
"selectionType":"word"
},
{
"name":"Mettre en {italique}",
"key":"I",
"className":"outil_italic separateur_avant",
"replaceWith":function(h){return espace_si_accolade(h,'{','}');},
"selectionType":"word"
},
{
"name":"Transformer en [lien hypertexte->http:\/\/...]",
"key":"L",
"className":"outil_link separateur separateur_apres sepLink separateur_avant",
"openWith":"[",
"closeWith":"->[![Veuillez indiquer l\u2019adresse de votre lien (vous pouvez indiquer une adresse Internet sous la forme http:\/\/www.monsite.com, une adresse courriel, ou simplement indiquer le num\u00e9ro d\u2019un article de ce site.]!]]"
},
{
"name":"<quote>Citer un message<\/quote>",
"key":"Q",
"className":"outil_quote separateur separateur_apres sepGuillemets",
"openWith":"\n<quote>",
"closeWith":"<\/quote>\n",
"selectionType":"word"
},
{
"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
"className":"outil_guillemets",
"openWith":"«",
"closeWith":"»",
"lang":[
"fr",
"eo",
"cpf",
"ar",
"es"
],
"selectionType":"word",
"dropMenu":[
{
"id":"guillemets_simples",
"name":"Entourer de \u201cguillemets de second niveau\u201d",
"className":"outil_guillemets_simples",
"openWith":"“",
"closeWith":"”",
"display":true,
"lang":[
"fr",
"eo",
"cpf",
"ar",
"es"
],
"selectionType":"word"
}
]
},
{
"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
"className":"outil_guillemets_de",
"openWith":"„",
"closeWith":"“",
"lang":[
"bg",
"de",
"pl",
"hr",
"src"
],
"selectionType":"word",
"dropMenu":[
{
"id":"guillemets_de_simples",
"name":"Entourer de \u201cguillemets de second niveau\u201d",
"className":"outil_guillemets_de_simples",
"openWith":"&sbquo;",
"closeWith":"‘",
"display":true,
"lang":[
"bg",
"de",
"pl",
"hr",
"src"
],
"selectionType":"word"
}
]
},
{
"name":"Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
"className":"outil_guillemets_simples separateur_avant",
"openWith":"“",
"closeWith":"”",
"lang_not":[
"fr",
"eo",
"cpf",
"ar",
"es",
"bg",
"de",
"pl",
"hr",
"src"
],
"selectionType":"word",
"dropMenu":[
{
"id":"guillemets_autres_simples",
"name":"Entourer de \u201cguillemets de second niveau\u201d",
"className":"outil_guillemets_uniques",
"openWith":"‘",
"closeWith":"’",
"display":true,
"lang_not":[
"fr",
"eo",
"cpf",
"ar",
"es",
"bg",
"de",
"pl",
"hr",
"src"
],
"selectionType":"word"
}
]
}
]
}
function outil_liste(h,c){
if((s=h.selection)&&(r=s.match(/^-([*#]+) (.*)$/))){
r[1]=r[1].replace(/[#*]/g,c);
s='-'+r[1]+' '+r[2];
}else{
s='-'+c+' '+s;
}
return s;
}
function outil_indenter(h){
if(s=h.selection){
if(s.substr(0,2)=='-*'){
s='-**'+s.substr(2);
}else if(s.substr(0,2)=='-#'){
s='-##'+s.substr(2);
}else{
s='-* '+s;
}
}
return s;
}
function outil_desindenter(h){
if(s=h.selection){
if(s.substr(0,3)=='-**'){
s='-*'+s.substr(3);
}else if(s.substr(0,3)=='-* '){
s=s.substr(3);
}else if(s.substr(0,3)=='-##'){
s='-#'+s.substr(3);
}else if(s.substr(0,3)=='-# '){
s=s.substr(3);
}
}
return s;
}
function espace_si_accolade(h,openWith,closeWith){
if(s=h.selection){
if(s.charAt(0)=='{'){
return openWith+' '+s+' '+closeWith;
}
else if(c=h.textarea.selectionStart){
if(h.textarea.value.charAt(c-1)=='{'){
return' '+openWith+s+closeWith+' ';
}
}
}
return openWith+s+closeWith;
}
barre_outils_vide={
"nameSpace":"vide",
"previewAutoRefresh":false,
"markupSet":[]
}
;(function($){
$.fn.barre_outils=function(nom,settings){
options={
lang:'fr'
};
$.extend(options,settings);
return $(this)
.not('.markItUpEditor, .no_barre')
.markItUp(eval('barre_outils_'+nom),{lang:options.lang})
.parent().find('.markItUpButton a').attr('tabindex',-1)
.end();
};
$.fn.barre_previsualisation=function(settings){
options={
previewParserPath:"index.php?action=porte_plume_previsu",
textEditer:"Modifier",
textVoir:"Voir"
};
$.extend(options,settings);
return $(this)
.not('.pp_previsualisation, .no_previsualisation')
.previsu_spip(options)
.parent().find('.markItUpTabs a').attr('tabindex',-1)
.end();
};
$(window).on('load',function(){
function barrebouilles(){
$('.formulaire_spip textarea.inserer_barre_forum').barre_outils('forum');
$('.formulaire_spip textarea.inserer_barre_edition').barre_outils('edition');
$('.formulaire_spip textarea.inserer_previsualisation').barre_previsualisation();
$('textarea.textarea_forum').barre_outils('forum');
$('.formulaire_forum textarea[name=texte]').barre_outils('forum');
$('.formulaire_spip textarea[name=texte]')
.barre_outils('edition').end()
.barre_previsualisation();
}
barrebouilles();
onAjaxLoad(barrebouilles);
});
})(jQuery);


/* ../plugins-dist/porte_plume/javascript/porte_plume_forcer_hauteur.js?1672674101 */
function barre_forcer_hauteur(){
jQuery(".markItUpEditor",this==window?null:this).each(function(){
var hauteur_min=jQuery(this).height();
var hauteur_max=parseInt(jQuery(window).height())-200;
var hauteur=hauteur_min;
var signes=jQuery(this).val().length;
if(signes){
var hauteur_signes=Math.round(signes/4)+50;
if(hauteur_signes>hauteur_min&&hauteur_signes<hauteur_max){
hauteur=hauteur_signes;
}else{
if(hauteur_signes>hauteur_max){
hauteur=hauteur_max;
}
}
jQuery(this).height(hauteur);
}
});
}
jQuery(window).on("load",function(){
barre_forcer_hauteur();
onAjaxLoad(barre_forcer_hauteur);
});


/* ../plugins/saisies/javascript/saisies.js?1672592781 */
jQuery(function(){
saisies_fieldset_pliable();
saisies_fieldset_onglet();
saisies_multi_novalidate();
onAjaxLoad(saisies_fieldset_pliable);
onAjaxLoad(saisies_fieldset_onglet);
onAjaxLoad(saisies_multi_novalidate);
});
function saisies_fieldset_pliable(){
jQuery('.fieldset.pliable')
.each(function(){
var fieldset=jQuery(this);
var groupe=jQuery(this).find('> fieldset > .editer-groupe');
var legend=jQuery(this).find('> fieldset > .legend');
if(fieldset.find('.erreur').length>0){
fieldset.removeClass('plie');
}
if(fieldset.is('.plie'))
groupe.hide();
legend
.unbind('click')
.click(
function(){
fieldset.toggleClass('plie');
if(groupe.is(':hidden'))
groupe.show();
else
groupe.hide();
}
);
});
};
function saisies_fieldset_onglet(){
var classes={
wrapper:'saisies-onglets',
tablist:'saisies-menu-onglets',
tablist_items:'saisies-menu-onglets__items',
tablist_item:'saisies-menu-onglets__item',
tablist_link:'saisies-menu-onglets__lien',
active:'actif',
error:'erreur',
scrollable:'scrollable',
tabscontents:'saisies-contenus-onglets',
tabcontent:'saisies-contenu-onglet',
}
var selecteur_fieldset='.fieldset.fieldset_onglet:not(.pliable)';
var storage=window.sessionStorage;
var init=function(){
$.each(collections_fieldsets(),function(i,$fieldsets){
var
$conteneur=$('<div class="'+classes.wrapper+'"></div>'),
$menu=$('<nav class="'+classes.tablist+'"><ul class="'+classes.tablist_items+'" role="tablist"></ul></nav>'),
$contenus=$('<div class="'+classes.tabscontents+'"></div>'),
ids_contenus=[],
$first_fieldset=$fieldsets.first(),
id_menu=null;
$conteneur.append($contenus).insertBefore($first_fieldset);
$fieldsets.each(function(){
var
$contenu=$(this),
id_persistant=$contenu.attr('id')||$contenu.attr('data-id'),
afficher_si=$contenu.attr('data-afficher_si')||'true',
id_contenu=id_persistant||randomId(),
id_onglet='onglet-'+id_contenu;
$contenu
.attr('id',id_contenu)
.addClass(classes.tabcontent)
.attr('role','tabpanel')
.attr('aria-labelledby',id_onglet)
.attr('data-saisies-onglet',true)
.removeAttr('data-afficher_si')
.hide().attr('hidden','')
.appendTo($contenus);
var titre=$contenu.find('> fieldset > legend','> legend').first().hide().text();
var $onglet=$('<li class="'+classes.tablist_item+'"><a class="'+classes.tablist_link+'" href="#'+id_contenu+'" id="'+id_onglet+'" aria-controls="'+id_contenu+'">'+titre+'</a></li>');
$onglet
.attr('data-afficher_si',afficher_si)
.click(function(){
activer_onglet($(this).find('.'+classes.tablist_link));
$(this).siblings().each(function(){
desactiver_onglet($(this).find('.'+classes.tablist_link));
});
return false;
});
$onglet.on('afficher_si_masque_pre',function(){
$this_onglet=$(this);
$lien=$this_onglet.children('a');
if($lien.attr('aria-selected')=='true'){
$nouvel_onglet=$this_onglet.siblings().not('.afficher_si_masque').first().children('a')
desactiver_onglet($lien);
activer_onglet($nouvel_onglet);
}
});
$onglet.on('afficher_si_visible_post',function(){
$voisins=$(this).siblings().not('.afficher_si_masque');
if(!$voisins.length){
activer_onglet($onglet.children('a'));
}
});
if(id_persistant){
ids_contenus.push(id_persistant);
}
if($contenu.find('.editer.erreur').length){
$onglet.children('a').addClass(classes.error);
}
$menu.find('.'+classes.tablist_items).append($onglet);
});
if(ids_contenus.length===$fieldsets.length){
id_menu='onglets-'+hashCode(ids_contenus.join(''));
$menu.attr('data-id',id_menu);
}
$menu.prependTo($conteneur);
if($menu[0].scrollWidth>$menu[0].clientWidth){
$menu.addClass(classes.scrollable);
}
var $onglet_defaut;
if(storage.getItem(id_menu)!==null&&$('#'+escapeId(storage.getItem(id_menu))).length>0){
$onglet_defaut=$('#'+escapeId(storage.getItem(id_menu)));
}else{
$onglet_defaut=$menu.find('.'+classes.tablist_link).first();
}
activer_onglet($onglet_defaut,0,false);
});
}
var collections_fieldsets=function(){
var collections=[];
$(selecteur_fieldset).each(function(){
$fieldsets_niveau=$(this).add($(this).nextUntil(':not('+selecteur_fieldset+')')),
parsed=$(this).data('saisies-onglet-parsed')||false;
if(!parsed){
collections.push($fieldsets_niveau);
$fieldsets_niveau.each(function(){
$(this).data('saisies-onglet-parsed',true);
});
}
});
return collections;
}
var activer_onglet=function($onglet,duree=150,persistant=true){
if($onglet.length){
var $contenu=$(escapeId($onglet.attr('href')));
$onglet.addClass(classes.active).attr('aria-selected',true).removeAttr('tabindex');
$contenu.fadeIn(duree).removeAttr('hidden');
var id_menu=$onglet.parents('.'+classes.tablist).attr('data-id')||null;
if(persistant&&id_menu){
storage.setItem(id_menu,$onglet.attr('id'));
}
}
}
var desactiver_onglet=function($onglet,duree=150){
if($onglet.length){
var $contenu=$(escapeId($onglet.attr('href')));
$onglet.removeClass(classes.active).attr('aria-selected',false).attr('tabindex',-1);
$contenu.hide().attr('hidden','');
}
}
var escapeId=function(id){
id=(id||'').replace(/[^\d\w_\-\#]/gi,'\\$&');
return id;
}
var randomId=function(taille=8){
var random=(Math.random()+1).toString(36);
return random.substring(random.length-taille);
}
var hashCode=function(s){
for(var i=0,h=0;i<s.length;i++)
h=Math.imul(31,h)+s.charCodeAt(i)|0;
return Math.abs(h);
}
init();
}
function saisies_date_jour_mois_annee_changer_date(me,datetime){
var champ=jQuery(me);
var li=champ.closest('.editer');
var jour=jQuery.trim(li.find('.date_jour').val());
var mois=jQuery.trim(li.find('.date_mois').val());
var annee=jQuery.trim(li.find('.date_annee').val());
var date=jQuery.trim(li.find('.datetime').val());
while(jour.length<2){jour='0'+jour;}
while(mois.length<2){mois='0'+mois;}
while(annee.length<4){annee='0'+annee;}
if(datetime=='oui'){
heure=date.substring(10);
if(!heure||!(heure.length==9)){
heure=' 00:00:00';
}
date=annee+'-'+mois+'-'+jour+heure;
}
else{
date=annee+'-'+mois+'-'+jour;
}
li.find('.datetime').attr('value',date);
}
function saisies_multi_novalidate(){
$('[name^="_retour_etape"],[name="aller_a_etape"]').click(function(){
$(this).parents('form').attr('novalidate','novalidate');
});
}


/* ../plugins/saisies/javascript/saisies_afficher_si.js?1672592781 */
$(function(){
afficher_si_init();
onAjaxLoad(afficher_si_init);
});
afficher_si_current_data='';
function afficher_si_init(){
$('form:not([data-afficher_si-init])').each(function(){
if($(this).find('[data-afficher_si]').length!==0){
form=$(this);
form.find('.formulaire_spip__etapes').each(function(){
$(this).css('min-height',$(this).height());
});
afficher_si_set_current_data(form);
form.find('[data-afficher_si]').each(function(){
condition=verifier_afficher_si($(this),true);
animer_afficher_si($(this),condition,true);
}
);
afficher_si_set_etapes_presentation_courante(form);
$(this).find('textarea, input, select').change(function(){
if(name=$(this).attr('name')){
form=$(this).parents('form');
name=name.replace('[]','');
afficher_si_set_current_data(form);
form.find('[data-afficher_si*=\''+name+'\']').each(function(){
condition=verifier_afficher_si($(this));
animer_afficher_si($(this),condition);
})
afficher_si_set_etapes_presentation_courante(form,name);
}
});
$(this).attr('data-afficher_si-init',true);
}
})
}
function afficher_si_set_current_data(form){
current_data=form.serializeArray();
afficher_si_current_data=[];
$(current_data).each(function(){
if(this.name.includes('[]')){
this.name=this.name.replace('[]','');
if(Array.isArray(afficher_si_current_data[this.name])){
afficher_si_current_data[this.name].push(this.value)
}else{
afficher_si_current_data[this.name]=[this.value];
}
}else{
afficher_si_current_data[this.name]=this.value;
}
});
}
function verifier_afficher_si(saisie,chargement=false){
if((saisie.hasClass('erreur')||$('.erreur',saisie).length)&&chargement){
console.log('Attention : saisies masquée par afficher_si avec une erreur...'+saisie.attr('data-id'));
return true;
}
condition=saisie.attr('data-afficher_si');
condition=eval(condition);
return condition
}
function animer_afficher_si(saisie,condition,chargement){
if(condition){
if(!saisie.hasClass('afficher_si_visible')){
saisie.trigger('afficher_si_visible_pre');
saisie.removeClass('afficher_si_masque_chargement').removeClass('afficher_si_masque').addClass('afficher_si_visible').removeAttr('aria-hiden');
if(!saisie.hasClass('etapes__item')){
afficher_si_show(saisie);
}
saisie.find('[data-afficher-si-required]').attr('required',true).attr('data-afficher-si-required',false);
saisie.trigger('afficher_si_visible_post');
}
}else{
if(!saisie.hasClass('afficher_si_masque')){
saisie.trigger('afficher_si_masque_pre');
if(!saisie.hasClass('etapes__item')){
afficher_si_hide(saisie);
}
if(chargement){
saisie.addClass('afficher_si_masque_chargement');
}
saisie.addClass('afficher_si_masque').removeClass('afficher_si_visible').attr('aria-hiden',true);
saisie.find('[required]').attr('required',false).attr('data-afficher-si-required',null);
saisie.trigger('afficher_si_masque_post');
}
}
}
function afficher_si_set_etapes_presentation_courante(form,name=''){
form.find('.formulaire_spip__etapes--courante[data-afficher_si-etapes-futures]').each(function(){
afficher_si_etapes=JSON.parse($(this).attr('data-afficher_si-etapes-futures'));
etape_total=$(this).attr('data-etapes_max');
for(etape in afficher_si_etapes){
condition=afficher_si_etapes[etape];
if(!name||condition.includes(name)){
$(this).attr('data-'+etape,eval(condition));
}
if(condition&&!eval($(this).attr('data-'+etape))){
etape_total--;
}
}
$(this).find('.formulaire_spip_etape__total').text(etape_total);
});
}
function afficher_si(args){
if(afficher_si_current_data.hasOwnProperty(args['champ'])){
valeur_champ=afficher_si_current_data[args['champ']];
}else{
valeur_champ='';
}
valeur=args['valeur'];
if(Array.isArray(valeur_champ)&&!args['total']){
if(args['operateur']=='=='){
args['operateur']='IN';
}else if(args['operateur']=='!='){
args['operateur']='!IN';
}
}
if(args['total']){
if(Array.isArray(valeur_champ)){
valeur_champ=valeur_champ.length;
}else{
valeur_champ=0;
}
}
if(args['operateur']=='IN'||args['operateur']=='!IN'){
valeur=valeur.split(',');
if(!Array.isArray(valeur_champ)){
if(valeur_champ){
valeur_champ=[valeur_champ];
}else{
valeur_champ=[];
}
}
}
switch(args['operateur']){
case'==':
return valeur_champ==valeur;
case'!=':
return valeur_champ!=valeur;
case'>':
return valeur_champ>valeur;
case'>=':
return valeur_champ>=valeur;
case'<':
return valeur_champ<valeur;
case'<=':
return valeur_champ<=valeur;
case'MATCH':
return RegExp(valeur,args.regexp_modif).test(valeur_champ);
case'MATCH':
return!RegExp(valeur,args.regexp_modif).test(valeur_champ);
case'IN':
return $(valeur).filter(valeur_champ).length?true:false;
case'!IN':
return $(valeur).filter(valeur_champ).length?false:true;
default:
return valeur_champ?true:false;
}
}


/* ../plugins/saisies/javascript/saisies_textarea_counter.js?1672592782 */

var Scampi=Scampi||{};
Scampi.textareaCounter=function textareaCounter(){
var textAreaFields=document.querySelectorAll("textarea[maxlength]");
var stepPolite=100;
var stepAssertive=20;
Array.prototype.forEach.call(textAreaFields,function(textarea){
var idTextarea=textarea.id;
if(!document.querySelector("#"+idTextarea+"-counter")){
var maxLength=textarea.getAttribute("maxlength");
var messageLength=textarea.value.length;
var activeValue=countRest(maxLength,messageLength);
textarea.setAttribute("aria-describedby",idTextarea+"-counter");
textarea.insertAdjacentHTML("afterend","<p class='textarea-counter' id='"+idTextarea+"-counter'><span class='textarea-counter-nb'>"+activeValue+"</span> "+saisies_caracteres_restants+"</p>");
textarea.addEventListener("input",handleInput);
textarea.addEventListener("keypress",handleInput);
}
});
function handleInput(evt){
textarea=evt.target;
paragraph=textarea.nextElementSibling;
updateValue(textarea,paragraph);
}
function countRest(maxlength,messageLength){
return maxlength-messageLength;
}
function countStepPolite(maxLengthValue){
return maxLengthValue-stepPolite;
}
function countStepAssertive(maxLengthValue){
return maxLengthValue-stepAssertive;
}
function updateAria(maxLengthValue,messageLength,paragraph){
politeFlag=countStepPolite(maxLengthValue);
assertiveFlag=countStepAssertive(maxLengthValue);
if(messageLength<politeFlag){
paragraph.removeAttribute("aria-live");
paragraph.removeAttribute("aria-atomic");
}
else if(messageLength>=politeFlag&&messageLength<assertiveFlag){
paragraph.setAttribute("aria-live","polite");
paragraph.setAttribute("aria-atomic","true");
}
else if(messageLength>=assertiveFlag){
paragraph.setAttribute("aria-live","assertive");
paragraph.setAttribute("aria-atomic","true");
}
}
function updateValue(textarea,paragraph){
var maxLength=textarea.getAttribute("maxlength");
var messageLength=textarea.value.length;
var counter=paragraph.querySelector(".textarea-counter-nb")
counter.innerText=countRest(maxLength,messageLength);
updateAria(maxLength,messageLength,paragraph);
}
}
jQuery(function(){
Scampi.textareaCounter();
onAjaxLoad(Scampi.textareaCounter);
});


/* ../plugins/jquery_ui/prive/javascript/ui/jquery-ui.js */

(function(factory){
"use strict";
if(typeof define==="function"&&define.amd){
define(["jquery"],factory);
}else{
factory(jQuery);
}
})(function($){
"use strict";
$.ui=$.ui||{};
var version=$.ui.version="1.13.2";
var widgetUuid=0;
var widgetHasOwnProperty=Array.prototype.hasOwnProperty;
var widgetSlice=Array.prototype.slice;
$.cleanData=(function(orig){
return function(elems){
var events,elem,i;
for(i=0;(elem=elems[i])!=null;i++){
events=$._data(elem,"events");
if(events&&events.remove){
$(elem).triggerHandler("remove");
}
}
orig(elems);
};
})($.cleanData);
$.widget=function(name,base,prototype){
var existingConstructor,constructor,basePrototype;
var proxiedPrototype={};
var namespace=name.split(".")[0];
name=name.split(".")[1];
var fullName=namespace+"-"+name;
if(!prototype){
prototype=base;
base=$.Widget;
}
if(Array.isArray(prototype)){
prototype=$.extend.apply(null,[{}].concat(prototype));
}
$.expr.pseudos[fullName.toLowerCase()]=function(elem){
return!!$.data(elem,fullName);
};
$[namespace]=$[namespace]||{};
existingConstructor=$[namespace][name];
constructor=$[namespace][name]=function(options,element){
if(!this||!this._createWidget){
return new constructor(options,element);
}
if(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(typeof value!=="function"){
proxiedPrototype[prop]=value;
return;
}
proxiedPrototype[prop]=(function(){
function _super(){
return base.prototype[prop].apply(this,arguments);
}
function _superApply(args){
return base.prototype[prop].apply(this,args);
}
return function(){
var __super=this._super;
var __superApply=this._superApply;
var 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);
}
$.widget.bridge(name,constructor);
return constructor;
};
$.widget.extend=function(target){
var input=widgetSlice.call(arguments,1);
var inputIndex=0;
var inputLength=input.length;
var key;
var value;
for(;inputIndex<inputLength;inputIndex++){
for(key in input[inputIndex]){
value=input[inputIndex][key];
if(widgetHasOwnProperty.call(input[inputIndex],key)&&value!==undefined){
if($.isPlainObject(value)){
target[key]=$.isPlainObject(target[key])?
$.widget.extend({},target[key],value):
$.widget.extend({},value);
}else{
target[key]=value;
}
}
}
}
return target;
};
$.widget.bridge=function(name,object){
var fullName=object.prototype.widgetFullName||name;
$.fn[name]=function(options){
var isMethodCall=typeof options==="string";
var args=widgetSlice.call(arguments,1);
var returnValue=this;
if(isMethodCall){
if(!this.length&&options==="instance"){
returnValue=undefined;
}else{
this.each(function(){
var methodValue;
var instance=$.data(this,fullName);
if(options==="instance"){
returnValue=instance;
return false;
}
if(!instance){
return $.error("cannot call methods on "+name+
" prior to initialization; "+
"attempted to call method '"+options+"'");
}
if(typeof instance[options]!=="function"||
options.charAt(0)==="_"){
return $.error("no such method '"+options+"' for "+name+
" widget instance");
}
methodValue=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));
}
this.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));
}
});
}
return 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=widgetUuid++;
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);
}
this.options=$.widget.extend({},
this.options,
this._getCreateOptions(),
options);
this._create();
if(this.options.disabled){
this._setOptionDisabled(this.options.disabled);
}
this._trigger("create",null,this._getCreateEventData());
this._init();
},
_getCreateOptions:function(){
return{};
},
_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;
var parts;
var curOption;
var i;
if(arguments.length===0){
return $.widget.extend({},this.options);
}
if(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]];
}
key=parts.pop();
if(arguments.length===1){
return curOption[key]===undefined?null:curOption[key];
}
curOption[key]=value;
}else{
if(arguments.length===1){
return this.options[key]===undefined?null:this.options[key];
}
options[key]=value;
}
}
this._setOptions(options);
return this;
},
_setOptions:function(options){
var key;
for(key in options){
this._setOption(key,options[key]);
}
return this;
},
_setOption:function(key,value){
if(key==="classes"){
this._setOptionClasses(value);
}
this.options[key]=value;
if(key==="disabled"){
this._setOptionDisabled(value);
}
return 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;
}
elements=$(currentElements.get());
this._removeClass(currentElements,classKey);
elements.addClass(this._classes({
element:elements,
keys:classKey,
classes:value,
add:true
}));
}
},
_setOptionDisabled:function(value){
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");
}
},
enable:function(){
return this._setOptions({disabled:false});
},
disable:function(){
return this._setOptions({disabled:true});
},
_classes:function(options){
var full=[];
var that=this;
options=$.extend({
element:this.element,
classes:this.options.classes||{}
},options);
function bindRemoveEvent(){
var nodesToBind=[];
options.element.each(function(_,element){
var isTracked=$.map(that.classesElementLookup,function(elements){
return elements;
})
.some(function(elements){
return elements.is(element);
});
if(!isTracked){
nodesToBind.push(element);
}
});
that._on($(nodesToBind),{
remove:"_untrackClassesElement"
});
}
function processClassString(classes,checkOption){
var current,i;
for(i=0;i<classes.length;i++){
current=that.classesElementLookup[classes[i]]||$();
if(options.add){
bindRemoveEvent();
current=$($.uniqueSort(current.get().concat(options.element.get())));
}else{
current=$(current.not(options.element).get());
}
that.classesElementLookup[classes[i]]=current;
full.push(classes[i]);
if(checkOption&&options.classes[classes[i]]){
full.push(options.classes[classes[i]]);
}
}
}
if(options.keys){
processClassString(options.keys.match(/\S+/g)||[],true);
}
if(options.extra){
processClassString(options.extra.match(/\S+/g)||[]);
}
return full.join(" ");
},
_untrackClassesElement:function(event){
var that=this;
$.each(that.classesElementLookup,function(key,value){
if($.inArray(event.target,value)!==-1){
that.classesElementLookup[key]=$(value.not(event.target).get());
}
});
this._off($(event.target));
},
_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;
var instance=this;
if(typeof suppressDisabledCheck!=="boolean"){
handlers=element;
element=suppressDisabledCheck;
suppressDisabledCheck=false;
}
if(!handlers){
handlers=element;
element=this.element;
delegateElement=this.widget();
}else{
element=delegateElement=$(element);
this.bindings=this.bindings.add(element);
}
$.each(handlers,function(event,handler){
function handlerProxy(){
if(!suppressDisabledCheck&&
(instance.options.disabled===true||
$(this).hasClass("ui-state-disabled"))){
return;
}
return(typeof handler==="string"?instance[handler]:handler)
.apply(instance,arguments);
}
if(typeof handler!=="string"){
handlerProxy.guid=handler.guid=
handler.guid||handlerProxy.guid||$.guid++;
}
var match=event.match(/^([\w:-]*)\s*(.*)$/);
var eventName=match[1]+instance.eventNamespace;
var selector=match[2];
if(selector){
delegateElement.on(eventName,selector,handlerProxy);
}else{
element.on(eventName,handlerProxy);
}
});
},
_off:function(element,eventName){
eventName=(eventName||"").split(" ").join(this.eventNamespace+" ")+
this.eventNamespace;
element.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);
}
var 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;
var 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];
}
}
}
this.element.trigger(event,data);
return!(typeof callback==="function"&&
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};
}
var hasOptions;
var effectName=!options?
method:
options===true||typeof options==="number"?
defaultEffect:
options.effect||defaultEffect;
options=options||{};
if(typeof options==="number"){
options={duration:options};
}else if(options===true){
options={};
}
hasOptions=!$.isEmptyObject(options);
options.complete=callback;
if(options.delay){
element.delay(options.delay);
}
if(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]);
}
next();
});
}
};
});
var widget=$.widget;
(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)
];
}
function parseCss(element,property){
return parseInt($.css(element,property),10)||0;
}
function isWindow(obj){
return obj!=null&&obj===obj.window;
}
function getDimensions(elem){
var raw=elem[0];
if(raw.nodeType===9){
return{
width:elem.width(),
height:elem.height(),
offset:{top:0,left:0}
};
}
if(isWindow(raw)){
return{
width:elem.width(),
height:elem.height(),
offset:{top:elem.scrollTop(),left:elem.scrollLeft()}
};
}
if(raw.preventDefault){
return{
width:0,
height:0,
offset:{top:raw.pageY,left:raw.pageX}
};
}
return{
width:elem.outerWidth(),
height:elem.outerHeight(),
offset:elem.offset()
};
}
$.position={
scrollbarWidth:function(){
if(cachedScrollbarWidth!==undefined){
return cachedScrollbarWidth;
}
var w1,w2,
div=$("<div style="+
"'display:block;position:absolute;width:200px;height:200px;overflow:hidden;'>"+
"<div style='height:300px;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;
}
div.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),
isElemWindow=isWindow(withinElement[0]),
isDocument=!!withinElement[0]&&withinElement[0].nodeType===9,
hasOffset=!isElemWindow&&!isDocument;
return{
element:withinElement,
isWindow:isElemWindow,
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);
}
options=$.extend({},options);
var atOffset,targetWidth,targetHeight,targetOffset,basePosition,dimensions,
target=typeof options.of==="string"?
$(document).find(options.of):
$(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";
}
targetWidth=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"];
}
pos[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];
}
if(options.at[0]==="right"){
basePosition.left+=targetWidth;
}else if(options.at[0]==="center"){
basePosition.left+=targetWidth/2;
}
if(options.at[1]==="bottom"){
basePosition.top+=targetHeight;
}else if(options.at[1]==="center"){
basePosition.top+=targetHeight/2;
}
atOffset=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;
}
if(options.my[1]==="bottom"){
position.top-=elemHeight;
}else if(options.my[1]==="center"){
position.top-=elemHeight/2;
}
position.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";
}
if(targetHeight<elemHeight&&abs(top+bottom)<targetHeight){
feedback.vertical="middle";
}
if(max(abs(left),abs(right))>max(abs(top),abs(bottom))){
feedback.important="horizontal";
}else{
feedback.important="vertical";
}
options.using.call(this,props,feedback);
};
}
elem.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);
}
}
};
})();
var position=$.ui.position;
var data=$.extend($.expr.pseudos,{
data:$.expr.createPseudo?
$.expr.createPseudo(function(dataName){
return function(elem){
return!!$.data(elem,dataName);
};
}):
function(elem,i,match){
return!!$.data(elem,match[3]);
}
});
var disableSelection=$.fn.extend({
disableSelection:(function(){
var eventType="onselectstart"in document.createElement("div")?
"selectstart":
"mousedown";
return function(){
return this.on(eventType+".ui-disableSelection",function(event){
event.preventDefault();
});
};
})(),
enableSelection:function(){
return this.off(".ui-disableSelection");
}
});
$.ui.focusable=function(element,hasTabindex){
var map,mapName,img,focusableIfVisible,fieldset,
nodeName=element.nodeName.toLowerCase();
if("area"===nodeName){
map=element.parentNode;
mapName=map.name;
if(!element.href||!mapName||map.nodeName.toLowerCase()!=="map"){
return false;
}
img=$("img[usemap='#"+mapName+"']");
return img.length>0&&img.is(":visible");
}
if(/^(input|select|textarea|button|object)$/.test(nodeName)){
focusableIfVisible=!element.disabled;
if(focusableIfVisible){
fieldset=$(element).closest("fieldset")[0];
if(fieldset){
focusableIfVisible=!fieldset.disabled;
}
}
}else if("a"===nodeName){
focusableIfVisible=element.href||hasTabindex;
}else{
focusableIfVisible=hasTabindex;
}
return focusableIfVisible&&$(element).is(":visible")&&visible($(element));
};
function visible(element){
var visibility=element.css("visibility");
while(visibility==="inherit"){
element=element.parent();
visibility=element.css("visibility");
}
return visibility==="visible";
}
$.extend($.expr.pseudos,{
focusable:function(element){
return $.ui.focusable(element,$.attr(element,"tabindex")!=null);
}
});
var focusable=$.ui.focusable;
var form=$.fn._form=function(){
return typeof this[0].form==="string"?this.closest("form"):$(this[0].form);
};
var formResetMixin=$.ui.formResetMixin={
_formResetHandler:function(){
var form=$(this);
setTimeout(function(){
var instances=form.data("ui-form-reset-instances");
$.each(instances,function(){
this.refresh();
});
});
},
_bindFormResetHandler:function(){
this.form=this.element._form();
if(!this.form.length){
return;
}
var instances=this.form.data("ui-form-reset-instances")||[];
if(!instances.length){
this.form.on("reset.ui-form-reset",this._formResetHandler);
}
instances.push(this);
this.form.data("ui-form-reset-instances",instances);
},
_unbindFormResetHandler:function(){
if(!this.form.length){
return;
}
var instances=this.form.data("ui-form-reset-instances");
instances.splice($.inArray(this,instances),1);
if(instances.length){
this.form.data("ui-form-reset-instances",instances);
}else{
this.form
.removeData("ui-form-reset-instances")
.off("reset.ui-form-reset");
}
}
};
if(!$.expr.pseudos){
$.expr.pseudos=$.expr[":"];
}
if(!$.uniqueSort){
$.uniqueSort=$.unique;
}
if(!$.escapeSelector){
var rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
var fcssescape=function(ch,asCodePoint){
if(asCodePoint){
if(ch==="\0"){
return"\uFFFD";
}
return ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ";
}
return"\\"+ch;
};
$.escapeSelector=function(sel){
return(sel+"").replace(rcssescape,fcssescape);
};
}
if(!$.fn.even||!$.fn.odd){
$.fn.extend({
even:function(){
return this.filter(function(i){
return i%2===0;
});
},
odd:function(){
return this.filter(function(i){
return i%2===1;
});
}
});
}
;
var keycode=$.ui.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
};
var labels=$.fn.labels=function(){
var ancestor,selector,id,labels,ancestors;
if(!this.length){
return this.pushStack([]);
}
if(this[0].labels&&this[0].labels.length){
return this.pushStack(this[0].labels);
}
labels=this.eq(0).parents("label");
id=this.attr("id");
if(id){
ancestor=this.eq(0).parents().last();
ancestors=ancestor.add(ancestor.length?ancestor.siblings():this.siblings());
selector="label[for='"+$.escapeSelector(id)+"']";
labels=labels.add(ancestors.find(selector).addBack(selector));
}
return this.pushStack(labels);
};
var scrollParent=$.fn.scrollParent=function(includeHidden){
var position=this.css("position"),
excludeStaticParent=position==="absolute",
overflowRegex=includeHidden?/(auto|scroll|hidden)/:/(auto|scroll)/,
scrollParent=this.parents().filter(function(){
var parent=$(this);
if(excludeStaticParent&&parent.css("position")==="static"){
return false;
}
return overflowRegex.test(parent.css("overflow")+parent.css("overflow-y")+
parent.css("overflow-x"));
}).eq(0);
return position==="fixed"||!scrollParent.length?
$(this[0].ownerDocument||document):
scrollParent;
};
var tabbable=$.extend($.expr.pseudos,{
tabbable:function(element){
var tabIndex=$.attr(element,"tabindex"),
hasTabindex=tabIndex!=null;
return(!hasTabindex||tabIndex>=0)&&$.ui.focusable(element,hasTabindex);
}
});
var uniqueId=$.fn.extend({
uniqueId:(function(){
var uuid=0;
return function(){
return this.each(function(){
if(!this.id){
this.id="ui-id-"+(++uuid);
}
});
};
})(),
removeUniqueId:function(){
return this.each(function(){
if(/^ui-id-\d+$/.test(this.id)){
$(this).removeAttr("id");
}
});
}
});
var ie=$.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());
var mouseHandled=false;
$(document).on("mouseup",function(){
mouseHandled=false;
});
var widgetsMouse=$.widget("ui.mouse",{
version:"1.13.2",
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;
}
this._mouseMoved=false;
if(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;
}
this.mouseDelayMet=!this.options.delay;
if(!this.mouseDelayMet){
this._mouseDelayTimer=setTimeout(function(){
that.mouseDelayMet=true;
},this.options.delay);
}
if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){
this._mouseStarted=(this._mouseStart(event)!==false);
if(!this._mouseStarted){
event.preventDefault();
return true;
}
}
if(true===$.data(event.target,this.widgetName+".preventClickEvent")){
$.removeData(event.target,this.widgetName+".preventClickEvent");
}
this._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){
if(event.originalEvent.altKey||event.originalEvent.ctrlKey||
event.originalEvent.metaKey||event.originalEvent.shiftKey){
this.ignoreMissingWhich=true;
}else if(!this.ignoreMissingWhich){
return this._mouseUp(event);
}
}
}
if(event.which||event.button){
this._mouseMoved=true;
}
if(this._mouseStarted){
this._mouseDrag(event);
return event.preventDefault();
}
if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){
this._mouseStarted=
(this._mouseStart(this._mouseDownEvent,event)!==false);
if(this._mouseStarted){
this._mouseDrag(event);
}else{
this._mouseUp(event);
}
}
return!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);
}
this._mouseStop(event);
}
if(this._mouseDelayTimer){
clearTimeout(this._mouseDelayTimer);
delete this._mouseDelayTimer;
}
this.ignoreMissingWhich=false;
mouseHandled=false;
event.preventDefault();
},
_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;
}
});
var plugin=$.ui.plugin={
add:function(module,option,set){
var i,
proto=$.ui[module].prototype;
for(i in set){
proto.plugins[i]=proto.plugins[i]||[];
proto.plugins[i].push([option,set[i]]);
}
},
call:function(instance,name,args,allowDisconnected){
var i,
set=instance.plugins[name];
if(!set){
return;
}
if(!allowDisconnected&&(!instance.element[0].parentNode||
instance.element[0].parentNode.nodeType===11)){
return;
}
for(i=0;i<set.length;i++){
if(instance.options[set[i][0]]){
set[i][1].apply(instance.element,args);
}
}
}
};
var safeActiveElement=$.ui.safeActiveElement=function(document){
var activeElement;
try{
activeElement=document.activeElement;
}catch(error){
activeElement=document.body;
}
if(!activeElement){
activeElement=document.body;
}
if(!activeElement.nodeName){
activeElement=document.body;
}
return activeElement;
};
var safeBlur=$.ui.safeBlur=function(element){
if(element&&element.nodeName.toLowerCase()!=="body"){
$(element).trigger("blur");
}
};
$.widget("ui.draggable",$.ui.mouse,{
version:"1.13.2",
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();
}
if(this.options.addClasses){
this._addClass("ui-draggable");
}
this._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;
}
this._removeHandleClassName();
this._mouseDestroy();
},
_mouseCapture:function(event){
var o=this.options;
if(this.helper||o.disabled||
$(event.target).closest(".ui-resizable-handle").length>0){
return false;
}
this.handle=this._getHandle(event);
if(!this.handle){
return false;
}
this._blurActiveElement(event);
this._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){
var activeElement=$.ui.safeActiveElement(this.document[0]),
target=$(event.target);
if(target.closest(activeElement).length){
return;
}
$.ui.safeBlur(activeElement);
},
_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;
}
this._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;
if(o.cursorAt){
this._adjustOffsetFromHelper(o.cursorAt);
}
this._setContainment();
if(this._trigger("start",event)===false){
this._clear();
return false;
}
this._cacheHelperProportions();
if($.ui.ddmanager&&!o.dropBehaviour){
$.ui.ddmanager.prepareOffsets(this,event);
}
this._mouseDrag(event,true);
if($.ui.ddmanager){
$.ui.ddmanager.dragStart(this,event);
}
return true;
},
_refreshOffsets:function(event){
this.offset={
top:this.positionAbs.top-this.margins.top,
left: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();
}
this.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(new $.Event("mouseup",event));
return false;
}
this.position=ui.position;
}
this.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);
}
return false;
},
_mouseStop:function(event){
var that=this,
dropped=false;
if($.ui.ddmanager&&!this.options.dropBehaviour){
dropped=$.ui.ddmanager.drop(this,event);
}
if(this.dropped){
dropped=this.dropped;
this.dropped=false;
}
if((this.options.revert==="invalid"&&!dropped)||
(this.options.revert==="valid"&&dropped)||
this.options.revert===true||(typeof this.options.revert==="function"&&
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();
}
}
return false;
},
_mouseUp:function(event){
this._unblockFrames();
if($.ui.ddmanager){
$.ui.ddmanager.dragStop(this,event);
}
if(this.handleElement.is(event.target)){
this.element.trigger("focus");
}
return $.ui.mouse.prototype._mouseUp.call(this,event);
},
cancel:function(){
if(this.helper.is(".ui-draggable-dragging")){
this._mouseUp(new $.Event("mouseup",{target:this.element[0]}));
}else{
this._clear();
}
return 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=typeof o.helper==="function",
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));
}
if(helperIsFunction&&helper[0]===this.element[0]){
this._setPositionRelative();
}
if(helper[0]!==this.element[0]&&
!(/(fixed|absolute)/).test(helper.css("position"))){
helper.css("position","absolute");
}
return 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(" ");
}
if(Array.isArray(obj)){
obj={left:+obj[0],top:+obj[1]||0};
}
if("left"in obj){
this.offset.click.left=obj.left+this.margins.left;
}
if("right"in obj){
this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;
}
if("top"in obj){
this.offset.click.top=obj.top+this.margins.top;
}
if("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();
}
if(this._isRootNode(this.offsetParent[0])){
po={top:0,left:0};
}
return{
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};
}
var 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;
}
if(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;
}
if(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;
}
if(o.containment.constructor===Array){
this.containment=o.containment;
return;
}
if(o.containment==="parent"){
o.containment=this.helper[0].parentNode;
}
c=$(o.containment);
ce=c[0];
if(!ce){
return;
}
isUserScrollable=/(scroll|auto)/.test(c.css("overflow"));
this.containment=[
(parseInt(c.css("borderLeftWidth"),10)||0)+
(parseInt(c.css("paddingLeft"),10)||0),
(parseInt(c.css("borderTopWidth"),10)||0)+
(parseInt(c.css("paddingTop"),10)||0),
(isUserScrollable?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-
(parseInt(c.css("borderRightWidth"),10)||0)-
(parseInt(c.css("paddingRight"),10)||0)-
this.helperProportions.width-
this.margins.left-
this.margins.right,
(isUserScrollable?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-
(parseInt(c.css("borderBottomWidth"),10)||0)-
(parseInt(c.css("paddingBottom"),10)||0)-
this.helperProportions.height-
this.margins.top-
this.margins.bottom
];
this.relativeContainer=c;
},
_convertPositionTo:function(d,pos){
if(!pos){
pos=this.position;
}
var mod=d==="absolute"?1:-1,
scrollIsRootNode=this._isRootNode(this.scrollParent[0]);
return{
top:(
pos.top+
this.offset.relative.top*mod+
this.offset.parent.top*mod-
((this.cssPosition==="fixed"?
-this.offset.scroll.top:
(scrollIsRootNode?0:this.offset.scroll.top))*mod)
),
left:(
pos.left+
this.offset.relative.left*mod+
this.offset.parent.left*mod-
((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()
};
}
if(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;
}
if(event.pageX-this.offset.click.left<containment[0]){
pageX=containment[0]+this.offset.click.left;
}
if(event.pageY-this.offset.click.top<containment[1]){
pageY=containment[1]+this.offset.click.top;
}
if(event.pageX-this.offset.click.left>containment[2]){
pageX=containment[2]+this.offset.click.left;
}
if(event.pageY-this.offset.click.top>containment[3]){
pageY=containment[3]+this.offset.click.top;
}
}
if(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;
}
if(o.axis==="y"){
pageX=this.originalPageX;
}
if(o.axis==="x"){
pageY=this.originalPageY;
}
}
return{
top:(
pageY-
this.offset.click.top-
this.offset.relative.top-
this.offset.parent.top+
(this.cssPosition==="fixed"?
-this.offset.scroll.top:
(scrollIsRootNode?0:this.offset.scroll.top))
),
left:(
pageX-
this.offset.click.left-
this.offset.relative.left-
this.offset.parent.left+
(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();
}
this.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;
}
return $.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;
}
return innermostIntersecting;
});
}
if(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-
sortable.offset.parent.left;
sortable.offset.parent.top-=draggable.offset.parent.top-
sortable.offset.parent.top;
draggable._trigger("toSortable",event);
draggable.dropped=sortable.element;
$.each(draggable.sortables,function(){
this.refreshPositions();
});
draggable.currentItem=draggable.element;
sortable.fromOutside=draggable;
}
if(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();
}
ui.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");
}
t.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");
}
t.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);
}
if(i.scrollParentNotHidden[0]!==i.document[0]&&
i.scrollParentNotHidden[0].tagName!=="HTML"){
i.overflowOffset=i.scrollParentNotHidden.offset();
}
},
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;
}
}
if(!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);
}
}
if(!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
);
}
}
}
if(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){
if(inst.options.snap.release){
inst.options.snap.release.call(
inst.element,
event,
$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})
);
}
}
inst.snapElements[i].snapping=false;
continue;
}
if(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;
}
if(bs){
ui.position.top=inst._convertPositionTo("relative",{
top:b,
left:0
}).top;
}
if(ls){
ui.position.left=inst._convertPositionTo("relative",{
top:0,
left:l-inst.helperProportions.width
}).left;
}
if(rs){
ui.position.left=inst._convertPositionTo("relative",{
top:0,
left:r
}).left;
}
}
first=(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;
}
if(bs){
ui.position.top=inst._convertPositionTo("relative",{
top:b-inst.helperProportions.height,
left:0
}).top;
}
if(ls){
ui.position.left=inst._convertPositionTo("relative",{
top:0,
left:l
}).left;
}
if(rs){
ui.position.left=inst._convertPositionTo("relative",{
top:0,
left:r-inst.helperProportions.width
}).left;
}
}
if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first)){
if(inst.options.snap.snap){
inst.options.snap.snap.call(
inst.element,
event,
$.extend(inst._uiHash(),{
snapItem:inst.snapElements[i].item
}));
}
}
inst.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;
}
min=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");
}
t.css("zIndex",o.zIndex);
},
stop:function(event,ui,instance){
var o=instance.options;
if(o._zIndex){
$(ui.helper).css("zIndex",o._zIndex);
}
}
});
var widgetsDraggable=$.ui.draggable;
$.widget("ui.droppable",{
version:"1.13.2",
widgetEventPrefix:"drop",
options:{
accept:"*",
addClasses:true,
greedy:false,
scope:"default",
tolerance:"intersect",
activate:null,
deactivate:null,
drop:null,
out:null,
over:null
},
_create:function(){
var proportions,
o=this.options,
accept=o.accept;
this.isover=false;
this.isout=true;
this.accept=typeof accept==="function"?accept:function(d){
return d.is(accept);
};
this.proportions=function(){
if(arguments.length){
proportions=arguments[0];
}else{
return proportions?
proportions:
proportions={
width:this.element[0].offsetWidth,
height:this.element[0].offsetHeight
};
}
};
this._addToManager(o.scope);
if(o.addClasses){
this._addClass("ui-droppable");
}
},
_addToManager:function(scope){
$.ui.ddmanager.droppables[scope]=$.ui.ddmanager.droppables[scope]||[];
$.ui.ddmanager.droppables[scope].push(this);
},
_splice:function(drop){
var i=0;
for(;i<drop.length;i++){
if(drop[i]===this){
drop.splice(i,1);
}
}
},
_destroy:function(){
var drop=$.ui.ddmanager.droppables[this.options.scope];
this._splice(drop);
},
_setOption:function(key,value){
if(key==="accept"){
this.accept=typeof value==="function"?value:function(d){
return d.is(value);
};
}else if(key==="scope"){
var drop=$.ui.ddmanager.droppables[this.options.scope];
this._splice(drop);
this._addToManager(value);
}
this._super(key,value);
},
_activate:function(event){
var draggable=$.ui.ddmanager.current;
this._addActiveClass();
if(draggable){
this._trigger("activate",event,this.ui(draggable));
}
},
_deactivate:function(event){
var draggable=$.ui.ddmanager.current;
this._removeActiveClass();
if(draggable){
this._trigger("deactivate",event,this.ui(draggable));
}
},
_over:function(event){
var draggable=$.ui.ddmanager.current;
if(!draggable||(draggable.currentItem||
draggable.element)[0]===this.element[0]){
return;
}
if(this.accept.call(this.element[0],(draggable.currentItem||
draggable.element))){
this._addHoverClass();
this._trigger("over",event,this.ui(draggable));
}
},
_out:function(event){
var draggable=$.ui.ddmanager.current;
if(!draggable||(draggable.currentItem||
draggable.element)[0]===this.element[0]){
return;
}
if(this.accept.call(this.element[0],(draggable.currentItem||
draggable.element))){
this._removeHoverClass();
this._trigger("out",event,this.ui(draggable));
}
},
_drop:function(event,custom){
var draggable=custom||$.ui.ddmanager.current,
childrenIntersection=false;
if(!draggable||(draggable.currentItem||
draggable.element)[0]===this.element[0]){
return false;
}
this.element
.find(":data(ui-droppable)")
.not(".ui-draggable-dragging")
.each(function(){
var inst=$(this).droppable("instance");
if(
inst.options.greedy&&
!inst.options.disabled&&
inst.options.scope===draggable.options.scope&&
inst.accept.call(
inst.element[0],(draggable.currentItem||draggable.element)
)&&
$.ui.intersect(
draggable,
$.extend(inst,{offset:inst.element.offset()}),
inst.options.tolerance,event
)
){
childrenIntersection=true;
return false;
}
});
if(childrenIntersection){
return false;
}
if(this.accept.call(this.element[0],
(draggable.currentItem||draggable.element))){
this._removeActiveClass();
this._removeHoverClass();
this._trigger("drop",event,this.ui(draggable));
return this.element;
}
return false;
},
ui:function(c){
return{
draggable:(c.currentItem||c.element),
helper:c.helper,
position:c.position,
offset:c.positionAbs
};
},
_addHoverClass:function(){
this._addClass("ui-droppable-hover");
},
_removeHoverClass:function(){
this._removeClass("ui-droppable-hover");
},
_addActiveClass:function(){
this._addClass("ui-droppable-active");
},
_removeActiveClass:function(){
this._removeClass("ui-droppable-active");
}
});
$.ui.intersect=(function(){
function isOverAxis(x,reference,size){
return(x>=reference)&&(x<(reference+size));
}
return function(draggable,droppable,toleranceMode,event){
if(!droppable.offset){
return false;
}
var x1=(draggable.positionAbs||
draggable.position.absolute).left+draggable.margins.left,
y1=(draggable.positionAbs||
draggable.position.absolute).top+draggable.margins.top,
x2=x1+draggable.helperProportions.width,
y2=y1+draggable.helperProportions.height,
l=droppable.offset.left,
t=droppable.offset.top,
r=l+droppable.proportions().width,
b=t+droppable.proportions().height;
switch(toleranceMode){
case"fit":
return(l<=x1&&x2<=r&&t<=y1&&y2<=b);
case"intersect":
return(l<x1+(draggable.helperProportions.width/2)&&
x2-(draggable.helperProportions.width/2)<r&&
t<y1+(draggable.helperProportions.height/2)&&
y2-(draggable.helperProportions.height/2)<b);
case"pointer":
return isOverAxis(event.pageY,t,droppable.proportions().height)&&
isOverAxis(event.pageX,l,droppable.proportions().width);
case"touch":
return(
(y1>=t&&y1<=b)||
(y2>=t&&y2<=b)||
(y1<t&&y2>b)
)&&(
(x1>=l&&x1<=r)||
(x2>=l&&x2<=r)||
(x1<l&&x2>r)
);
default:
return false;
}
};
})();
$.ui.ddmanager={
current:null,
droppables:{"default":[]},
prepareOffsets:function(t,event){
var i,j,
m=$.ui.ddmanager.droppables[t.options.scope]||[],
type=event?event.type:null,
list=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();
droppablesLoop:for(i=0;i<m.length;i++){
if(m[i].options.disabled||(t&&!m[i].accept.call(m[i].element[0],
(t.currentItem||t.element)))){
continue;
}
for(j=0;j<list.length;j++){
if(list[j]===m[i].element[0]){
m[i].proportions().height=0;
continue droppablesLoop;
}
}
m[i].visible=m[i].element.css("display")!=="none";
if(!m[i].visible){
continue;
}
if(type==="mousedown"){
m[i]._activate.call(m[i],event);
}
m[i].offset=m[i].element.offset();
m[i].proportions({
width:m[i].element[0].offsetWidth,
height:m[i].element[0].offsetHeight
});
}
},
drop:function(draggable,event){
var dropped=false;
$.each(($.ui.ddmanager.droppables[draggable.options.scope]||[]).slice(),function(){
if(!this.options){
return;
}
if(!this.options.disabled&&this.visible&&
$.ui.intersect(draggable,this,this.options.tolerance,event)){
dropped=this._drop.call(this,event)||dropped;
}
if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],
(draggable.currentItem||draggable.element))){
this.isout=true;
this.isover=false;
this._deactivate.call(this,event);
}
});
return dropped;
},
dragStart:function(draggable,event){
draggable.element.parentsUntil("body").on("scroll.droppable",function(){
if(!draggable.options.refreshPositions){
$.ui.ddmanager.prepareOffsets(draggable,event);
}
});
},
drag:function(draggable,event){
if(draggable.options.refreshPositions){
$.ui.ddmanager.prepareOffsets(draggable,event);
}
$.each($.ui.ddmanager.droppables[draggable.options.scope]||[],function(){
if(this.options.disabled||this.greedyChild||!this.visible){
return;
}
var parentInstance,scope,parent,
intersects=$.ui.intersect(draggable,this,this.options.tolerance,event),
c=!intersects&&this.isover?
"isout":
(intersects&&!this.isover?"isover":null);
if(!c){
return;
}
if(this.options.greedy){
scope=this.options.scope;
parent=this.element.parents(":data(ui-droppable)").filter(function(){
return $(this).droppable("instance").options.scope===scope;
});
if(parent.length){
parentInstance=$(parent[0]).droppable("instance");
parentInstance.greedyChild=(c==="isover");
}
}
if(parentInstance&&c==="isover"){
parentInstance.isover=false;
parentInstance.isout=true;
parentInstance._out.call(parentInstance,event);
}
this[c]=true;
this[c==="isout"?"isover":"isout"]=false;
this[c==="isover"?"_over":"_out"].call(this,event);
if(parentInstance&&c==="isout"){
parentInstance.isout=false;
parentInstance.isover=true;
parentInstance._over.call(parentInstance,event);
}
});
},
dragStop:function(draggable,event){
draggable.element.parentsUntil("body").off("scroll.droppable");
if(!draggable.options.refreshPositions){
$.ui.ddmanager.prepareOffsets(draggable,event);
}
}
};
if($.uiBackCompat!==false){
$.widget("ui.droppable",$.ui.droppable,{
options:{
hoverClass:false,
activeClass:false
},
_addActiveClass:function(){
this._super();
if(this.options.activeClass){
this.element.addClass(this.options.activeClass);
}
},
_removeActiveClass:function(){
this._super();
if(this.options.activeClass){
this.element.removeClass(this.options.activeClass);
}
},
_addHoverClass:function(){
this._super();
if(this.options.hoverClass){
this.element.addClass(this.options.hoverClass);
}
},
_removeHoverClass:function(){
this._super();
if(this.options.hoverClass){
this.element.removeClass(this.options.hoverClass);
}
}
});
}
var widgetsDroppable=$.ui.droppable;
$.widget("ui.resizable",$.ui.mouse,{
version:"1.13.2",
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 parseFloat(value)||0;
},
_isNumber:function(value){
return!isNaN(parseFloat(value));
},
_hasScroll:function(el,a){
if($(el).css("overflow")==="hidden"){
return false;
}
var scroll=(a&&a==="left")?"scrollLeft":"scrollTop",
has=false;
if(el[scroll]>0){
return true;
}
try{
el[scroll]=1;
has=(el[scroll]>0);
el[scroll]=0;
}catch(e){
}
return has;
},
_create:function(){
var margins,
o=this.options,
that=this;
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'></div>").css({
overflow:"hidden",
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;
margins={
marginTop:this.originalElement.css("marginTop"),
marginRight:this.originalElement.css("marginRight"),
marginBottom:this.originalElement.css("marginBottom"),
marginLeft:this.originalElement.css("marginLeft")
};
this.element.css(margins);
this.originalElement.css("margin",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(margins);
this._proportionallyResize();
}
this._setupHandles();
if(o.autoHide){
$(this.element)
.on("mouseenter",function(){
if(o.disabled){
return;
}
that._removeClass("ui-resizable-autohide");
that._handles.show();
})
.on("mouseleave",function(){
if(o.disabled){
return;
}
if(!that.resizing){
that._addClass("ui-resizable-autohide");
that._handles.hide();
}
});
}
this._mouseInit();
},
_destroy:function(){
this._mouseDestroy();
this._addedHandles.remove();
var wrapper,
_destroy=function(exp){
$(exp)
.removeData("resizable")
.removeData("ui-resizable")
.off(".resizable");
};
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();
}
this.originalElement.css("resize",this.originalResizeStyle);
_destroy(this.originalElement);
return this;
},
_setOption:function(key,value){
this._super(key,value);
switch(key){
case"handles":
this._removeHandles();
this._setupHandles();
break;
case"aspectRatio":
this._aspectRatio=!!value;
break;
default:
break;
}
},
_setupHandles:function(){
var o=this.options,handle,i,n,hname,axis,that=this;
this.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=$();
this._addedHandles=$();
if(this.handles.constructor===String){
if(this.handles==="all"){
this.handles="n,e,s,w,se,sw,ne,nw";
}
n=this.handles.split(",");
this.handles={};
for(i=0;i<n.length;i++){
handle=String.prototype.trim.call(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;
if(!this.element.children(this.handles[handle]).length){
this.element.append(axis);
this._addedHandles=this._addedHandles.add(axis);
}
}
}
this._renderAxis=function(target){
var i,axis,padPos,padWrapper;
target=target||this.element;
for(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});
}
if(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();
}
this._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);
}
that.axis=axis&&axis[1]?axis[1]:"se";
}
});
if(o.autoHide){
this._handles.hide();
this._addClass("ui-resizable-autohide");
}
},
_removeHandles:function(){
this._addedHandles.remove();
},
_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;
}
}
return!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;
}
this.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;
}
data=trigger.apply(this,[event,dx,dy]);
this._updateVirtualBoundaries(event.shiftKey);
if(this._aspectRatio||event.shiftKey){
data=this._updateRatio(data,event);
}
data=this._respectSize(data,event);
this._updateCache(data);
this._propagate("resize",event);
props=this._applyChanges();
if(!this._helper&&this._proportionallyResizeElements.length){
this._proportionallyResize();
}
if(!$.isEmptyObject(props)){
this._updatePrevProperties();
this._trigger("resize",event,this.ui());
this._applyChanges();
}
return 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=(parseFloat(that.element.css("left"))+
(that.position.left-that.originalPosition.left))||null;
top=(parseFloat(that.element.css("top"))+
(that.position.top-that.originalPosition.top))||null;
if(!o.animate){
this.element.css($.extend(s,{top:top,left:left}));
}
that.helper.height(that.size.height);
that.helper.width(that.size.width);
if(this._helper&&!o.animate){
this._proportionallyResize();
}
}
$("body").css("cursor","auto");
this._removeClass("ui-resizable-resizing");
this._propagate("stop",event);
if(this._helper){
this.helper.remove();
}
return false;
},
_updatePrevProperties:function(){
this.prevPosition={
top:this.position.top,
left: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";
}
if(this.position.left!==this.prevPosition.left){
props.left=this.position.left+"px";
}
if(this.size.width!==this.prevSize.width){
props.width=this.size.width+"px";
}
if(this.size.height!==this.prevSize.height){
props.height=this.size.height+"px";
}
this.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;
}
if(pMinHeight>b.minHeight){
b.minHeight=pMinHeight;
}
if(pMaxWidth<b.maxWidth){
b.maxWidth=pMaxWidth;
}
if(pMaxHeight<b.maxHeight){
b.maxHeight=pMaxHeight;
}
}
this._vBoundaries=b;
},
_updateCache:function(data){
this.offset=this.helper.offset();
if(this._isNumber(data.left)){
this.position.left=data.left;
}
if(this._isNumber(data.top)){
this.position.top=data.top;
}
if(this._isNumber(data.height)){
this.size.height=data.height;
}
if(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);
}
if(a==="sw"){
data.left=cpos.left+(csize.width-data.width);
data.top=null;
}
if(a==="nw"){
data.top=cpos.top+(csize.height-data.height);
data.left=cpos.left+(csize.width-data.width);
}
return 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.originalPosition.top+this.originalSize.height,
cw=/sw|nw|w/.test(a),ch=/nw|ne|n/.test(a);
if(isminw){
data.width=o.minWidth;
}
if(isminh){
data.height=o.minHeight;
}
if(ismaxw){
data.width=o.maxWidth;
}
if(ismaxh){
data.height=o.maxHeight;
}
if(isminw&&cw){
data.left=dw-o.minWidth;
}
if(ismaxw&&cw){
data.left=dw-o.maxWidth;
}
if(isminh&&ch){
data.top=dh-o.minHeight;
}
if(ismaxh&&ch){
data.top=dh-o.maxHeight;
}
if(!data.width&&!data.height&&!data.left&&data.top){
data.top=null;
}else if(!data.width&&!data.height&&!data.top&&data.left){
data.left=null;
}
return 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]=(parseFloat(borders[i])||0);
widths[i]+=(parseFloat(paddings[i])||0);
}
return{
height:widths[0]+widths[2],
width:widths[1]+widths[3]
};
},
_proportionallyResize:function(){
if(!this._proportionallyResizeElements.length){
return;
}
var 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);
}
prel.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></div>").css({overflow:"hidden"});
this._addClass(this.helper,this._helper);
this.helper.css({
width:this.element.outerWidth(),
height:this.element.outerHeight(),
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()]);
if(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=(parseFloat(that.element.css("left"))+
(that.position.left-that.originalPosition.left))||null,
top=(parseFloat(that.element.css("top"))+
(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:parseFloat(that.element.css("width")),
height:parseFloat(that.element.css("height")),
top:parseFloat(that.element.css("top")),
left:parseFloat(that.element.css("left"))
};
if(pr&&pr.length){
$(pr[0]).css({width:data.width,height:data.height});
}
that._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;
if(!ce){
return;
}
that.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;
}
if(cp.left<(that._helper?co.left:0)){
that.size.width=that.size.width+
(that._helper?
(that.position.left-co.left):
(that.position.left-cop.left));
if(pRatio){
that.size.height=that.size.width/that.aspectRatio;
continueResize=false;
}
that.position.left=o.helper?co.left:0;
}
if(cp.top<(that._helper?co.top:0)){
that.size.height=that.size.height+
(that._helper?
(that.position.top-co.top):
that.position.top);
if(pRatio){
that.size.width=that.size.height*that.aspectRatio;
continueResize=false;
}
that.position.top=that._helper?co.top:0;
}
isParent=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;
}
woset=Math.abs(that.sizeDiff.width+
(that._helper?
that.offset.left-cop.left:
(that.offset.left-co.left)));
hoset=Math.abs(that.sizeDiff.height+
(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;
}
}
if(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;
}
}
if(!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
});
}
if(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:parseFloat(el.width()),height:parseFloat(el.height()),
left:parseFloat(el.css("left")),top:parseFloat(el.css("top"))
});
});
},
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:(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("ui-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);
}
that.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;
}
if(isMinHeight){
newHeight+=gridY;
}
if(isMaxWidth){
newWidth-=gridX;
}
if(isMaxHeight){
newHeight-=gridY;
}
if(/^(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);
}
if(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;
}
if(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;
}
}
}
});
var widgetsResizable=$.ui.resizable;
var widgetsSelectable=$.widget("ui.selectable",$.ui.mouse,{
version:"1.13.2",
options:{
appendTo:"body",
autoRefresh:true,
distance:0,
filter:"*",
tolerance:"touch",
selected:null,
selecting:null,
start:null,
stop:null,
unselected:null,
unselecting:null
},
_create:function(){
var that=this;
this._addClass("ui-selectable");
this.dragged=false;
this.refresh=function(){
that.elementPos=$(that.element[0]).offset();
that.selectees=$(that.options.filter,that.element[0]);
that._addClass(that.selectees,"ui-selectee");
that.selectees.each(function(){
var $this=$(this),
selecteeOffset=$this.offset(),
pos={
left:selecteeOffset.left-that.elementPos.left,
top:selecteeOffset.top-that.elementPos.top
};
$.data(this,"selectable-item",{
element:this,
$element:$this,
left:pos.left,
top:pos.top,
right:pos.left+$this.outerWidth(),
bottom:pos.top+$this.outerHeight(),
startselected:false,
selected:$this.hasClass("ui-selected"),
selecting:$this.hasClass("ui-selecting"),
unselecting:$this.hasClass("ui-unselecting")
});
});
};
this.refresh();
this._mouseInit();
this.helper=$("<div>");
this._addClass(this.helper,"ui-selectable-helper");
},
_destroy:function(){
this.selectees.removeData("selectable-item");
this._mouseDestroy();
},
_mouseStart:function(event){
var that=this,
options=this.options;
this.opos=[event.pageX,event.pageY];
this.elementPos=$(this.element[0]).offset();
if(this.options.disabled){
return;
}
this.selectees=$(options.filter,this.element[0]);
this._trigger("start",event);
$(options.appendTo).append(this.helper);
this.helper.css({
"left":event.pageX,
"top":event.pageY,
"width":0,
"height":0
});
if(options.autoRefresh){
this.refresh();
}
this.selectees.filter(".ui-selected").each(function(){
var selectee=$.data(this,"selectable-item");
selectee.startselected=true;
if(!event.metaKey&&!event.ctrlKey){
that._removeClass(selectee.$element,"ui-selected");
selectee.selected=false;
that._addClass(selectee.$element,"ui-unselecting");
selectee.unselecting=true;
that._trigger("unselecting",event,{
unselecting:selectee.element
});
}
});
$(event.target).parents().addBack().each(function(){
var doSelect,
selectee=$.data(this,"selectable-item");
if(selectee){
doSelect=(!event.metaKey&&!event.ctrlKey)||
!selectee.$element.hasClass("ui-selected");
that._removeClass(selectee.$element,doSelect?"ui-unselecting":"ui-selected")
._addClass(selectee.$element,doSelect?"ui-selecting":"ui-unselecting");
selectee.unselecting=!doSelect;
selectee.selecting=doSelect;
selectee.selected=doSelect;
if(doSelect){
that._trigger("selecting",event,{
selecting:selectee.element
});
}else{
that._trigger("unselecting",event,{
unselecting:selectee.element
});
}
return false;
}
});
},
_mouseDrag:function(event){
this.dragged=true;
if(this.options.disabled){
return;
}
var tmp,
that=this,
options=this.options,
x1=this.opos[0],
y1=this.opos[1],
x2=event.pageX,
y2=event.pageY;
if(x1>x2){
tmp=x2;x2=x1;x1=tmp;
}
if(y1>y2){
tmp=y2;y2=y1;y1=tmp;
}
this.helper.css({left:x1,top:y1,width:x2-x1,height:y2-y1});
this.selectees.each(function(){
var selectee=$.data(this,"selectable-item"),
hit=false,
offset={};
if(!selectee||selectee.element===that.element[0]){
return;
}
offset.left=selectee.left+that.elementPos.left;
offset.right=selectee.right+that.elementPos.left;
offset.top=selectee.top+that.elementPos.top;
offset.bottom=selectee.bottom+that.elementPos.top;
if(options.tolerance==="touch"){
hit=(!(offset.left>x2||offset.right<x1||offset.top>y2||
offset.bottom<y1));
}else if(options.tolerance==="fit"){
hit=(offset.left>x1&&offset.right<x2&&offset.top>y1&&
offset.bottom<y2);
}
if(hit){
if(selectee.selected){
that._removeClass(selectee.$element,"ui-selected");
selectee.selected=false;
}
if(selectee.unselecting){
that._removeClass(selectee.$element,"ui-unselecting");
selectee.unselecting=false;
}
if(!selectee.selecting){
that._addClass(selectee.$element,"ui-selecting");
selectee.selecting=true;
that._trigger("selecting",event,{
selecting:selectee.element
});
}
}else{
if(selectee.selecting){
if((event.metaKey||event.ctrlKey)&&selectee.startselected){
that._removeClass(selectee.$element,"ui-selecting");
selectee.selecting=false;
that._addClass(selectee.$element,"ui-selected");
selectee.selected=true;
}else{
that._removeClass(selectee.$element,"ui-selecting");
selectee.selecting=false;
if(selectee.startselected){
that._addClass(selectee.$element,"ui-unselecting");
selectee.unselecting=true;
}
that._trigger("unselecting",event,{
unselecting:selectee.element
});
}
}
if(selectee.selected){
if(!event.metaKey&&!event.ctrlKey&&!selectee.startselected){
that._removeClass(selectee.$element,"ui-selected");
selectee.selected=false;
that._addClass(selectee.$element,"ui-unselecting");
selectee.unselecting=true;
that._trigger("unselecting",event,{
unselecting:selectee.element
});
}
}
}
});
return false;
},
_mouseStop:function(event){
var that=this;
this.dragged=false;
$(".ui-unselecting",this.element[0]).each(function(){
var selectee=$.data(this,"selectable-item");
that._removeClass(selectee.$element,"ui-unselecting");
selectee.unselecting=false;
selectee.startselected=false;
that._trigger("unselected",event,{
unselected:selectee.element
});
});
$(".ui-selecting",this.element[0]).each(function(){
var selectee=$.data(this,"selectable-item");
that._removeClass(selectee.$element,"ui-selecting")
._addClass(selectee.$element,"ui-selected");
selectee.selecting=false;
selectee.selected=true;
selectee.startselected=true;
that._trigger("selected",event,{
selected:selectee.element
});
});
this._trigger("stop",event);
this.helper.remove();
return false;
}
});
var widgetsSortable=$.widget("ui.sortable",$.ui.mouse,{
version:"1.13.2",
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");
}
return this;
},
_mouseCapture:function(event,overrideHandle){
var currentItem=null,
validHandle=false,
that=this;
if(this.reverting){
return false;
}
if(this.options.disabled||this.options.type==="static"){
return false;
}
this._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);
}
if(!currentItem){
return false;
}
if(this.options.handle&&!overrideHandle){
$(this.options.handle,currentItem).find("*").addBack().each(function(){
if(this===event.target){
validHandle=true;
}
});
if(!validHandle){
return false;
}
}
this.currentItem=currentItem;
this._removeCurrentsFromItems();
return true;
},
_mouseStart:function(event,overrideHandle,noActivation){
var i,body,
o=this.options;
this.currentContainer=this;
this.refreshPositions();
this.appendTo=$(o.appendTo!=="parent"?
o.appendTo:
this.currentItem.parent());
this.helper=this._createHelper(event);
this._cacheHelperProportions();
this._cacheMargins();
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
},
relative:this._getRelativeOffset()
});
this.helper.css("position","absolute");
this.cssPosition=this.helper.css("position");
if(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();
}
this._createPlaceholder();
this.scrollParent=this.placeholder.scrollParent();
$.extend(this.offset,{
parent:this._getParentOffset()
});
if(o.containment){
this._setContainment();
}
if(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);
}
if(o.zIndex){
if(this.helper.css("zIndex")){
this._storedZIndex=this.helper.css("zIndex");
}
this.helper.css("zIndex",o.zIndex);
}
if(o.opacity){
if(this.helper.css("opacity")){
this._storedOpacity=this.helper.css("opacity");
}
this.helper.css("opacity",o.opacity);
}
if(this.scrollParent[0]!==this.document[0]&&
this.scrollParent[0].tagName!=="HTML"){
this.overflowOffset=this.scrollParent.offset();
}
this._trigger("start",event,this._uiHash());
if(!this._preserveHelperProportions){
this._cacheHelperProportions();
}
if(!noActivation){
for(i=this.containers.length-1;i>=0;i--){
this.containers[i]._trigger("activate",event,this._uiHash(this));
}
}
if($.ui.ddmanager){
$.ui.ddmanager.current=this;
}
if($.ui.ddmanager&&!o.dropBehaviour){
$.ui.ddmanager.prepareOffsets(this,event);
}
this.dragging=true;
this._addClass(this.helper,"ui-sortable-helper");
if(!this.helper.parent().is(this.appendTo)){
this.helper.detach().appendTo(this.appendTo);
this.offset.parent=this._getParentOffset();
}
this.position=this.originalPosition=this._generatePosition(event);
this.originalPageX=event.pageX;
this.originalPageY=event.pageY;
this.lastPositionAbs=this.positionAbs=this._convertPositionTo("absolute");
this._mouseDrag(event);
return true;
},
_scroll:function(event){
var o=this.options,
scrolled=false;
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;
}
if((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);
}
if(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
);
}
}
return scrolled;
},
_mouseDrag:function(event){
var i,item,itemElement,intersection,
o=this.options;
this.position=this._generatePosition(event);
this.positionAbs=this._convertPositionTo("absolute");
if(!this.options.axis||this.options.axis!=="y"){
this.helper[0].style.left=this.position.left+"px";
}
if(!this.options.axis||this.options.axis!=="x"){
this.helper[0].style.top=this.position.top+"px";
}
if(o.scroll){
if(this._scroll(event)!==false){
this._refreshItemPositions(true);
if($.ui.ddmanager&&!o.dropBehaviour){
$.ui.ddmanager.prepareOffsets(this,event);
}
}
}
this.dragDirection={
vertical:this._getDragVerticalDirection(),
horizontal:this._getDragHorizontalDirection()
};
for(i=this.items.length-1;i>=0;i--){
item=this.items[i];
itemElement=item.item[0];
intersection=this._intersectsWithPointer(item);
if(!intersection){
continue;
}
if(item.instance!==this.currentContainer){
continue;
}
if(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;
}
this._trigger("change",event,this._uiHash());
break;
}
}
this._contactContainers(event);
if($.ui.ddmanager){
$.ui.ddmanager.drag(this,event);
}
this._trigger("sort",event,this._uiHash());
this.lastPositionAbs=this.positionAbs;
return false;
},
_mouseStop:function(event,noPropagation){
if(!event){
return;
}
if($.ui.ddmanager&&!this.options.dropBehaviour){
$.ui.ddmanager.drop(this,event);
}
if(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
);
}
if(!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
);
}
this.reverting=true;
$(this.helper).animate(
animation,
parseInt(this.options.revert,10)||500,
function(){
that._clear(event);
}
);
}else{
this._clear(event,noPropagation);
}
return false;
},
cancel:function(){
if(this.dragging){
this._mouseUp(new $.Event("mouseup",{target:null}));
if(this.options.helper==="original"){
this.currentItem.css(this._storedCSS);
this._removeClass(this.currentItem,"ui-sortable-helper");
}else{
this.currentItem.show();
}
for(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;
}
}
}
if(this.placeholder){
if(this.placeholder[0].parentNode){
this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
}
if(this.options.helper!=="original"&&this.helper&&
this.helper[0].parentNode){
this.helper.remove();
}
$.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);
}
}
return 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+"=");
}
return 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 verticalDirection,horizontalDirection,
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;
if(!isOverElement){
return false;
}
verticalDirection=this.dragDirection.vertical;
horizontalDirection=this.dragDirection.horizontal;
return this.floating?
((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.dragDirection.vertical,
horizontalDirection=this.dragDirection.horizontal;
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([typeof inst.options.items==="function"?
inst.options.items.call(inst.element):
$(inst.options.items,inst.element)
.not(".ui-sortable-helper")
.not(".ui-sortable-placeholder"),inst]);
}
}
}
}
queries.push([typeof this.options.items==="function"?
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);
}
for(i=queries.length-1;i>=0;i--){
queries[i][0].each(addItems);
}
return $(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;
}
}
return true;
});
},
_refreshItems:function(event){
this.items=[];
this.containers=[this];
var i,j,cur,inst,targetData,_queries,item,queriesLength,
items=this.items,
queries=[[typeof this.options.items==="function"?
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([typeof inst.options.items==="function"?
inst.options.items
.call(inst.element[0],event,{item:this.currentItem}):
$(inst.options.items,inst.element),inst]);
this.containers.push(inst);
}
}
}
}
for(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
});
}
}
},
_refreshItemPositions:function(fast){
var i,item,t,p;
for(i=this.items.length-1;i>=0;i--){
item=this.items[i];
if(this.currentContainer&&item.instance!==this.currentContainer&&
item.item[0]!==this.currentItem[0]){
continue;
}
t=this.options.toleranceElement?
$(this.options.toleranceElement,item.item):
item.item;
if(!fast){
item.width=t.outerWidth();
item.height=t.outerHeight();
}
p=t.offset();
item.left=p.left;
item.top=p.top;
}
},
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();
}
this._refreshItemPositions(fast);
var i,p;
if(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();
}
}
return this;
},
_createPlaceholder:function(that){
that=that||this;
var className,nodeName,
o=that.options;
if(!o.placeholder||o.placeholder.constructor===String){
className=o.placeholder;
nodeName=that.currentItem[0].nodeName.toLowerCase();
o.placeholder={
element:function(){
var 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"));
}
if(!className){
element.css("visibility","hidden");
}
return element;
},
update:function(container,p){
if(className&&!o.forcePlaceholderSize){
return;
}
if(!p.height()||(o.forcePlaceholderSize&&
(nodeName==="tbody"||nodeName==="tr"))){
p.height(
that.currentItem.innerHeight()-
parseInt(that.currentItem.css("paddingTop")||0,10)-
parseInt(that.currentItem.css("paddingBottom")||0,10));
}
if(!p.width()){
p.width(
that.currentItem.innerWidth()-
parseInt(that.currentItem.css("paddingLeft")||0,10)-
parseInt(that.currentItem.css("paddingRight")||0,10));
}
}
};
}
that.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>&#160;</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;
}
if(this._intersectsWith(this.containers[i].containerCache)){
if(innermostContainer&&
$.contains(
this.containers[i].element[0],
innermostContainer.element[0])){
continue;
}
innermostContainer=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;
}
}
}
if(!innermostContainer){
return;
}
if(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?"pageX":"pageY";
for(j=this.items.length-1;j>=0;j--){
if(!$.contains(
this.containers[innermostIndex].element[0],this.items[j].item[0])
){
continue;
}
if(this.items[j].item[0]===this.currentItem[0]){
continue;
}
cur=this.items[j].item.offset()[posProperty];
nearBottom=false;
if(event[axis]-cur>this.items[j][sizeProperty]/2){
nearBottom=true;
}
if(Math.abs(event[axis]-cur)<dist){
dist=Math.abs(event[axis]-cur);
itemWithLeastDistance=this.items[j];
this.direction=nearBottom?"up":"down";
}
}
if(!itemWithLeastDistance&&!this.options.dropOnEmpty){
return;
}
if(this.currentContainer===this.containers[innermostIndex]){
if(!this.currentContainer.containerCache.over){
this.containers[innermostIndex]._trigger("over",event,this._uiHash());
this.currentContainer.containerCache.over=1;
}
return;
}
if(itemWithLeastDistance){
this._rearrange(event,itemWithLeastDistance,null,true);
}else{
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.scrollParent=this.placeholder.scrollParent();
if(this.scrollParent[0]!==this.document[0]&&
this.scrollParent[0].tagName!=="HTML"){
this.overflowOffset=this.scrollParent.offset();
}
this.containers[innermostIndex]._trigger("over",event,this._uiHash(this));
this.containers[innermostIndex].containerCache.over=1;
}
},
_createHelper:function(event){
var o=this.options,
helper=typeof o.helper==="function"?
$(o.helper.apply(this.element[0],[event,this.currentItem])):
(o.helper==="clone"?this.currentItem.clone():this.currentItem);
if(!helper.parents("body").length){
this.appendTo[0].appendChild(helper[0]);
}
if(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")
};
}
if(!helper[0].style.width||o.forceHelperSize){
helper.width(this.currentItem.width());
}
if(!helper[0].style.height||o.forceHelperSize){
helper.height(this.currentItem.height());
}
return helper;
},
_adjustOffsetFromHelper:function(obj){
if(typeof obj==="string"){
obj=obj.split(" ");
}
if(Array.isArray(obj)){
obj={left:+obj[0],top:+obj[1]||0};
}
if("left"in obj){
this.offset.click.left=obj.left+this.margins.left;
}
if("right"in obj){
this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;
}
if("top"in obj){
this.offset.click.top=obj.top+this.margins.top;
}
if("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();
}
if(this.offsetParent[0]===this.document[0].body||
(this.offsetParent[0].tagName&&
this.offsetParent[0].tagName.toLowerCase()==="html"&&$.ui.ie)){
po={top:0,left:0};
}
return{
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;
}
if(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.height()||document.body.parentNode.scrollHeight):
this.window.height()||this.document[0].body.parentNode.scrollHeight
)-this.helperProportions.height-this.margins.top
];
}
if(!(/^(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;
}
var 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+
this.offset.relative.top*mod+
this.offset.parent.top*mod-
((this.cssPosition==="fixed"?
-this.scrollParent.scrollTop():
(scrollIsRootNode?0:scroll.scrollTop()))*mod)
),
left:(
pos.left+
this.offset.relative.left*mod+
this.offset.parent.left*mod-
((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();
}
if(this.originalPosition){
if(this.containment){
if(event.pageX-this.offset.click.left<this.containment[0]){
pageX=this.containment[0]+this.offset.click.left;
}
if(event.pageY-this.offset.click.top<this.containment[1]){
pageY=this.containment[1]+this.offset.click.top;
}
if(event.pageX-this.offset.click.left>this.containment[2]){
pageX=this.containment[2]+this.offset.click.left;
}
if(event.pageY-this.offset.click.top>this.containment[3]){
pageY=this.containment[3]+this.offset.click.top;
}
}
if(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;
left=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;
}
}
return{
top:(
pageY-
this.offset.click.top-
this.offset.relative.top-
this.offset.parent.top+
((this.cssPosition==="fixed"?
-this.scrollParent.scrollTop():
(scrollIsRootNode?0:scroll.scrollTop())))
),
left:(
pageX-
this.offset.click.left-
this.offset.relative.left-
this.offset.parent.left+
((this.cssPosition==="fixed"?
-this.scrollParent.scrollLeft():
scrollIsRootNode?0:scroll.scrollLeft()))
)
};
},
_rearrange:function(event,i,a,hardRefresh){
if(a){
a[0].appendChild(this.placeholder[0]);
}else{
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);
}
this._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]="";
}
}
this.currentItem.css(this._storedCSS);
this._removeClass(this.currentItem,"ui-sortable-helper");
}else{
this.currentItem.show();
}
if(this.fromOutside&&!noPropagation){
delayedTriggers.push(function(event){
this._trigger("receive",event,this._uiHash(this.fromOutside));
});
}
if((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());
});
}
if(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));
}
}
function delayEvent(type,instance,container){
return function(event){
container._trigger(type,event,instance._uiHash(instance));
};
}
for(i=this.containers.length-1;i>=0;i--){
if(!noPropagation){
delayedTriggers.push(delayEvent("deactivate",this,this.containers[i]));
}
if(this.containers[i].containerCache.over){
delayedTriggers.push(delayEvent("out",this,this.containers[i]));
this.containers[i].containerCache.over=0;
}
}
if(this.storedCursor){
this.document.find("body").css("cursor",this.storedCursor);
this.storedStylesheet.remove();
}
if(this._storedOpacity){
this.helper.css("opacity",this._storedOpacity);
}
if(this._storedZIndex){
this.helper.css("zIndex",this._storedZIndex==="auto"?"":this._storedZIndex);
}
this.dragging=false;
if(!noPropagation){
this._trigger("beforeStop",event,this._uiHash());
}
this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
if(!this.cancelHelperRemoval){
if(this.helper[0]!==this.currentItem[0]){
this.helper.remove();
}
this.helper=null;
}
if(!noPropagation){
for(i=0;i<delayedTriggers.length;i++){
delayedTriggers[i].call(this,event);
}
this._trigger("stop",event,this._uiHash());
}
this.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
};
}
});
var widgetsAccordion=$.widget("ui.accordion",{
version:"1.13.2",
options:{
active:0,
animate:{},
classes:{
"ui-accordion-header":"ui-corner-top",
"ui-accordion-header-collapsed":"ui-corner-all",
"ui-accordion-content":"ui-corner-bottom"
},
collapsible:false,
event:"click",
header:function(elem){
return elem.find("> li > :first-child").add(elem.find("> :not(li)").even());
},
heightStyle:"auto",
icons:{
activeHeader:"ui-icon-triangle-1-s",
header:"ui-icon-triangle-1-e"
},
activate:null,
beforeActivate:null
},
hideProps:{
borderTopWidth:"hide",
borderBottomWidth:"hide",
paddingTop:"hide",
paddingBottom:"hide",
height:"hide"
},
showProps:{
borderTopWidth:"show",
borderBottomWidth:"show",
paddingTop:"show",
paddingBottom:"show",
height:"show"
},
_create:function(){
var options=this.options;
this.prevShow=this.prevHide=$();
this._addClass("ui-accordion","ui-widget ui-helper-reset");
this.element.attr("role","tablist");
if(!options.collapsible&&(options.active===false||options.active==null)){
options.active=0;
}
this._processPanels();
if(options.active<0){
options.active+=this.headers.length;
}
this._refresh();
},
_getCreateEventData:function(){
return{
header:this.active,
panel:!this.active.length?$():this.active.next()
};
},
_createIcons:function(){
var icon,children,
icons=this.options.icons;
if(icons){
icon=$("<span>");
this._addClass(icon,"ui-accordion-header-icon","ui-icon "+icons.header);
icon.prependTo(this.headers);
children=this.active.children(".ui-accordion-header-icon");
this._removeClass(children,icons.header)
._addClass(children,null,icons.activeHeader)
._addClass(this.headers,"ui-accordion-icons");
}
},
_destroyIcons:function(){
this._removeClass(this.headers,"ui-accordion-icons");
this.headers.children(".ui-accordion-header-icon").remove();
},
_destroy:function(){
var contents;
this.element.removeAttr("role");
this.headers
.removeAttr("role aria-expanded aria-selected aria-controls tabIndex")
.removeUniqueId();
this._destroyIcons();
contents=this.headers.next()
.css("display","")
.removeAttr("role aria-hidden aria-labelledby")
.removeUniqueId();
if(this.options.heightStyle!=="content"){
contents.css("height","");
}
},
_setOption:function(key,value){
if(key==="active"){
this._activate(value);
return;
}
if(key==="event"){
if(this.options.event){
this._off(this.headers,this.options.event);
}
this._setupEvents(value);
}
this._super(key,value);
if(key==="collapsible"&&!value&&this.options.active===false){
this._activate(0);
}
if(key==="icons"){
this._destroyIcons();
if(value){
this._createIcons();
}
}
},
_setOptionDisabled:function(value){
this._super(value);
this.element.attr("aria-disabled",value);
this._toggleClass(null,"ui-state-disabled",!!value);
this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",
!!value);
},
_keydown:function(event){
if(event.altKey||event.ctrlKey){
return;
}
var keyCode=$.ui.keyCode,
length=this.headers.length,
currentIndex=this.headers.index(event.target),
toFocus=false;
switch(event.keyCode){
case keyCode.RIGHT:
case keyCode.DOWN:
toFocus=this.headers[(currentIndex+1)%length];
break;
case keyCode.LEFT:
case keyCode.UP:
toFocus=this.headers[(currentIndex-1+length)%length];
break;
case keyCode.SPACE:
case keyCode.ENTER:
this._eventHandler(event);
break;
case keyCode.HOME:
toFocus=this.headers[0];
break;
case keyCode.END:
toFocus=this.headers[length-1];
break;
}
if(toFocus){
$(event.target).attr("tabIndex",-1);
$(toFocus).attr("tabIndex",0);
$(toFocus).trigger("focus");
event.preventDefault();
}
},
_panelKeyDown:function(event){
if(event.keyCode===$.ui.keyCode.UP&&event.ctrlKey){
$(event.currentTarget).prev().trigger("focus");
}
},
refresh:function(){
var options=this.options;
this._processPanels();
if((options.active===false&&options.collapsible===true)||
!this.headers.length){
options.active=false;
this.active=$();
}else if(options.active===false){
this._activate(0);
}else if(this.active.length&&!$.contains(this.element[0],this.active[0])){
if(this.headers.length===this.headers.find(".ui-state-disabled").length){
options.active=false;
this.active=$();
}else{
this._activate(Math.max(0,options.active-1));
}
}else{
options.active=this.headers.index(this.active);
}
this._destroyIcons();
this._refresh();
},
_processPanels:function(){
var prevHeaders=this.headers,
prevPanels=this.panels;
if(typeof this.options.header==="function"){
this.headers=this.options.header(this.element);
}else{
this.headers=this.element.find(this.options.header);
}
this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed",
"ui-state-default");
this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide();
this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content");
if(prevPanels){
this._off(prevHeaders.not(this.headers));
this._off(prevPanels.not(this.panels));
}
},
_refresh:function(){
var maxHeight,
options=this.options,
heightStyle=options.heightStyle,
parent=this.element.parent();
this.active=this._findActive(options.active);
this._addClass(this.active,"ui-accordion-header-active","ui-state-active")
._removeClass(this.active,"ui-accordion-header-collapsed");
this._addClass(this.active.next(),"ui-accordion-content-active");
this.active.next().show();
this.headers
.attr("role","tab")
.each(function(){
var header=$(this),
headerId=header.uniqueId().attr("id"),
panel=header.next(),
panelId=panel.uniqueId().attr("id");
header.attr("aria-controls",panelId);
panel.attr("aria-labelledby",headerId);
})
.next()
.attr("role","tabpanel");
this.headers
.not(this.active)
.attr({
"aria-selected":"false",
"aria-expanded":"false",
tabIndex:-1
})
.next()
.attr({
"aria-hidden":"true"
})
.hide();
if(!this.active.length){
this.headers.eq(0).attr("tabIndex",0);
}else{
this.active.attr({
"aria-selected":"true",
"aria-expanded":"true",
tabIndex:0
})
.next()
.attr({
"aria-hidden":"false"
});
}
this._createIcons();
this._setupEvents(options.event);
if(heightStyle==="fill"){
maxHeight=parent.height();
this.element.siblings(":visible").each(function(){
var elem=$(this),
position=elem.css("position");
if(position==="absolute"||position==="fixed"){
return;
}
maxHeight-=elem.outerHeight(true);
});
this.headers.each(function(){
maxHeight-=$(this).outerHeight(true);
});
this.headers.next()
.each(function(){
$(this).height(Math.max(0,maxHeight-
$(this).innerHeight()+$(this).height()));
})
.css("overflow","auto");
}else if(heightStyle==="auto"){
maxHeight=0;
this.headers.next()
.each(function(){
var isVisible=$(this).is(":visible");
if(!isVisible){
$(this).show();
}
maxHeight=Math.max(maxHeight,$(this).css("height","").height());
if(!isVisible){
$(this).hide();
}
})
.height(maxHeight);
}
},
_activate:function(index){
var active=this._findActive(index)[0];
if(active===this.active[0]){
return;
}
active=active||this.active[0];
this._eventHandler({
target:active,
currentTarget:active,
preventDefault:$.noop
});
},
_findActive:function(selector){
return typeof selector==="number"?this.headers.eq(selector):$();
},
_setupEvents:function(event){
var events={
keydown:"_keydown"
};
if(event){
$.each(event.split(" "),function(index,eventName){
events[eventName]="_eventHandler";
});
}
this._off(this.headers.add(this.headers.next()));
this._on(this.headers,events);
this._on(this.headers.next(),{keydown:"_panelKeyDown"});
this._hoverable(this.headers);
this._focusable(this.headers);
},
_eventHandler:function(event){
var activeChildren,clickedChildren,
options=this.options,
active=this.active,
clicked=$(event.currentTarget),
clickedIsActive=clicked[0]===active[0],
collapsing=clickedIsActive&&options.collapsible,
toShow=collapsing?$():clicked.next(),
toHide=active.next(),
eventData={
oldHeader:active,
oldPanel:toHide,
newHeader:collapsing?$():clicked,
newPanel:toShow
};
event.preventDefault();
if(
(clickedIsActive&&!options.collapsible)||
(this._trigger("beforeActivate",event,eventData)===false)){
return;
}
options.active=collapsing?false:this.headers.index(clicked);
this.active=clickedIsActive?$():clicked;
this._toggle(eventData);
this._removeClass(active,"ui-accordion-header-active","ui-state-active");
if(options.icons){
activeChildren=active.children(".ui-accordion-header-icon");
this._removeClass(activeChildren,null,options.icons.activeHeader)
._addClass(activeChildren,null,options.icons.header);
}
if(!clickedIsActive){
this._removeClass(clicked,"ui-accordion-header-collapsed")
._addClass(clicked,"ui-accordion-header-active","ui-state-active");
if(options.icons){
clickedChildren=clicked.children(".ui-accordion-header-icon");
this._removeClass(clickedChildren,null,options.icons.header)
._addClass(clickedChildren,null,options.icons.activeHeader);
}
this._addClass(clicked.next(),"ui-accordion-content-active");
}
},
_toggle:function(data){
var toShow=data.newPanel,
toHide=this.prevShow.length?this.prevShow:data.oldPanel;
this.prevShow.add(this.prevHide).stop(true,true);
this.prevShow=toShow;
this.prevHide=toHide;
if(this.options.animate){
this._animate(toShow,toHide,data);
}else{
toHide.hide();
toShow.show();
this._toggleComplete(data);
}
toHide.attr({
"aria-hidden":"true"
});
toHide.prev().attr({
"aria-selected":"false",
"aria-expanded":"false"
});
if(toShow.length&&toHide.length){
toHide.prev().attr({
"tabIndex":-1,
"aria-expanded":"false"
});
}else if(toShow.length){
this.headers.filter(function(){
return parseInt($(this).attr("tabIndex"),10)===0;
})
.attr("tabIndex",-1);
}
toShow
.attr("aria-hidden","false")
.prev()
.attr({
"aria-selected":"true",
"aria-expanded":"true",
tabIndex:0
});
},
_animate:function(toShow,toHide,data){
var total,easing,duration,
that=this,
adjust=0,
boxSizing=toShow.css("box-sizing"),
down=toShow.length&&
(!toHide.length||(toShow.index()<toHide.index())),
animate=this.options.animate||{},
options=down&&animate.down||animate,
complete=function(){
that._toggleComplete(data);
};
if(typeof options==="number"){
duration=options;
}
if(typeof options==="string"){
easing=options;
}
easing=easing||options.easing||animate.easing;
duration=duration||options.duration||animate.duration;
if(!toHide.length){
return toShow.animate(this.showProps,duration,easing,complete);
}
if(!toShow.length){
return toHide.animate(this.hideProps,duration,easing,complete);
}
total=toShow.show().outerHeight();
toHide.animate(this.hideProps,{
duration:duration,
easing:easing,
step:function(now,fx){
fx.now=Math.round(now);
}
});
toShow
.hide()
.animate(this.showProps,{
duration:duration,
easing:easing,
complete:complete,
step:function(now,fx){
fx.now=Math.round(now);
if(fx.prop!=="height"){
if(boxSizing==="content-box"){
adjust+=fx.now;
}
}else if(that.options.heightStyle!=="content"){
fx.now=Math.round(total-toHide.outerHeight()-adjust);
adjust=0;
}
}
});
},
_toggleComplete:function(data){
var toHide=data.oldPanel,
prev=toHide.prev();
this._removeClass(toHide,"ui-accordion-content-active");
this._removeClass(prev,"ui-accordion-header-active")
._addClass(prev,"ui-accordion-header-collapsed");
if(toHide.length){
toHide.parent()[0].className=toHide.parent()[0].className;
}
this._trigger("activate",null,data);
}
});
var widgetsMenu=$.widget("ui.menu",{
version:"1.13.2",
defaultElement:"<ul>",
delay:300,
options:{
icons:{
submenu:"ui-icon-caret-1-e"
},
items:"> *",
menus:"ul",
position:{
my:"left top",
at:"right top"
},
role:"menu",
blur:null,
focus:null,
select:null
},
_create:function(){
this.activeMenu=this.element;
this.mouseHandled=false;
this.lastMousePosition={x:null,y:null};
this.element
.uniqueId()
.attr({
role:this.options.role,
tabIndex:0
});
this._addClass("ui-menu","ui-widget ui-widget-content");
this._on({
"mousedown .ui-menu-item":function(event){
event.preventDefault();
this._activateItem(event);
},
"click .ui-menu-item":function(event){
var target=$(event.target);
var active=$($.ui.safeActiveElement(this.document[0]));
if(!this.mouseHandled&&target.not(".ui-state-disabled").length){
this.select(event);
if(!event.isPropagationStopped()){
this.mouseHandled=true;
}
if(target.has(".ui-menu").length){
this.expand(event);
}else if(!this.element.is(":focus")&&
active.closest(".ui-menu").length){
this.element.trigger("focus",[true]);
if(this.active&&this.active.parents(".ui-menu").length===1){
clearTimeout(this.timer);
}
}
}
},
"mouseenter .ui-menu-item":"_activateItem",
"mousemove .ui-menu-item":"_activateItem",
mouseleave:"collapseAll",
"mouseleave .ui-menu":"collapseAll",
focus:function(event,keepActiveItem){
var item=this.active||this._menuItems().first();
if(!keepActiveItem){
this.focus(event,item);
}
},
blur:function(event){
this._delay(function(){
var notContained=!$.contains(
this.element[0],
$.ui.safeActiveElement(this.document[0])
);
if(notContained){
this.collapseAll(event);
}
});
},
keydown:"_keydown"
});
this.refresh();
this._on(this.document,{
click:function(event){
if(this._closeOnDocumentClick(event)){
this.collapseAll(event,true);
}
this.mouseHandled=false;
}
});
},
_activateItem:function(event){
if(this.previousFilter){
return;
}
if(event.clientX===this.lastMousePosition.x&&
event.clientY===this.lastMousePosition.y){
return;
}
this.lastMousePosition={
x:event.clientX,
y:event.clientY
};
var actualTarget=$(event.target).closest(".ui-menu-item"),
target=$(event.currentTarget);
if(actualTarget[0]!==target[0]){
return;
}
if(target.is(".ui-state-active")){
return;
}
this._removeClass(target.siblings().children(".ui-state-active"),
null,"ui-state-active");
this.focus(event,target);
},
_destroy:function(){
var items=this.element.find(".ui-menu-item")
.removeAttr("role aria-disabled"),
submenus=items.children(".ui-menu-item-wrapper")
.removeUniqueId()
.removeAttr("tabIndex role aria-haspopup");
this.element
.removeAttr("aria-activedescendant")
.find(".ui-menu").addBack()
.removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled "+
"tabIndex")
.removeUniqueId()
.show();
submenus.children().each(function(){
var elem=$(this);
if(elem.data("ui-menu-submenu-caret")){
elem.remove();
}
});
},
_keydown:function(event){
var match,prev,character,skip,
preventDefault=true;
switch(event.keyCode){
case $.ui.keyCode.PAGE_UP:
this.previousPage(event);
break;
case $.ui.keyCode.PAGE_DOWN:
this.nextPage(event);
break;
case $.ui.keyCode.HOME:
this._move("first","first",event);
break;
case $.ui.keyCode.END:
this._move("last","last",event);
break;
case $.ui.keyCode.UP:
this.previous(event);
break;
case $.ui.keyCode.DOWN:
this.next(event);
break;
case $.ui.keyCode.LEFT:
this.collapse(event);
break;
case $.ui.keyCode.RIGHT:
if(this.active&&!this.active.is(".ui-state-disabled")){
this.expand(event);
}
break;
case $.ui.keyCode.ENTER:
case $.ui.keyCode.SPACE:
this._activate(event);
break;
case $.ui.keyCode.ESCAPE:
this.collapse(event);
break;
default:
preventDefault=false;
prev=this.previousFilter||"";
skip=false;
character=event.keyCode>=96&&event.keyCode<=105?
(event.keyCode-96).toString():String.fromCharCode(event.keyCode);
clearTimeout(this.filterTimer);
if(character===prev){
skip=true;
}else{
character=prev+character;
}
match=this._filterMenuItems(character);
match=skip&&match.index(this.active.next())!==-1?
this.active.nextAll(".ui-menu-item"):
match;
if(!match.length){
character=String.fromCharCode(event.keyCode);
match=this._filterMenuItems(character);
}
if(match.length){
this.focus(event,match);
this.previousFilter=character;
this.filterTimer=this._delay(function(){
delete this.previousFilter;
},1000);
}else{
delete this.previousFilter;
}
}
if(preventDefault){
event.preventDefault();
}
},
_activate:function(event){
if(this.active&&!this.active.is(".ui-state-disabled")){
if(this.active.children("[aria-haspopup='true']").length){
this.expand(event);
}else{
this.select(event);
}
}
},
refresh:function(){
var menus,items,newSubmenus,newItems,newWrappers,
that=this,
icon=this.options.icons.submenu,
submenus=this.element.find(this.options.menus);
this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length);
newSubmenus=submenus.filter(":not(.ui-menu)")
.hide()
.attr({
role:this.options.role,
"aria-hidden":"true",
"aria-expanded":"false"
})
.each(function(){
var menu=$(this),
item=menu.prev(),
submenuCaret=$("<span>").data("ui-menu-submenu-caret",true);
that._addClass(submenuCaret,"ui-menu-icon","ui-icon "+icon);
item
.attr("aria-haspopup","true")
.prepend(submenuCaret);
menu.attr("aria-labelledby",item.attr("id"));
});
this._addClass(newSubmenus,"ui-menu","ui-widget ui-widget-content ui-front");
menus=submenus.add(this.element);
items=menus.find(this.options.items);
items.not(".ui-menu-item").each(function(){
var item=$(this);
if(that._isDivider(item)){
that._addClass(item,"ui-menu-divider","ui-widget-content");
}
});
newItems=items.not(".ui-menu-item, .ui-menu-divider");
newWrappers=newItems.children()
.not(".ui-menu")
.uniqueId()
.attr({
tabIndex:-1,
role:this._itemRole()
});
this._addClass(newItems,"ui-menu-item")
._addClass(newWrappers,"ui-menu-item-wrapper");
items.filter(".ui-state-disabled").attr("aria-disabled","true");
if(this.active&&!$.contains(this.element[0],this.active[0])){
this.blur();
}
},
_itemRole:function(){
return{
menu:"menuitem",
listbox:"option"
}[this.options.role];
},
_setOption:function(key,value){
if(key==="icons"){
var icons=this.element.find(".ui-menu-icon");
this._removeClass(icons,null,this.options.icons.submenu)
._addClass(icons,null,value.submenu);
}
this._super(key,value);
},
_setOptionDisabled:function(value){
this._super(value);
this.element.attr("aria-disabled",String(value));
this._toggleClass(null,"ui-state-disabled",!!value);
},
focus:function(event,item){
var nested,focused,activeParent;
this.blur(event,event&&event.type==="focus");
this._scrollIntoView(item);
this.active=item.first();
focused=this.active.children(".ui-menu-item-wrapper");
this._addClass(focused,null,"ui-state-active");
if(this.options.role){
this.element.attr("aria-activedescendant",focused.attr("id"));
}
activeParent=this.active
.parent()
.closest(".ui-menu-item")
.children(".ui-menu-item-wrapper");
this._addClass(activeParent,null,"ui-state-active");
if(event&&event.type==="keydown"){
this._close();
}else{
this.timer=this._delay(function(){
this._close();
},this.delay);
}
nested=item.children(".ui-menu");
if(nested.length&&event&&(/^mouse/.test(event.type))){
this._startOpening(nested);
}
this.activeMenu=item.parent();
this._trigger("focus",event,{item:item});
},
_scrollIntoView:function(item){
var borderTop,paddingTop,offset,scroll,elementHeight,itemHeight;
if(this._hasScroll()){
borderTop=parseFloat($.css(this.activeMenu[0],"borderTopWidth"))||0;
paddingTop=parseFloat($.css(this.activeMenu[0],"paddingTop"))||0;
offset=item.offset().top-this.activeMenu.offset().top-borderTop-paddingTop;
scroll=this.activeMenu.scrollTop();
elementHeight=this.activeMenu.height();
itemHeight=item.outerHeight();
if(offset<0){
this.activeMenu.scrollTop(scroll+offset);
}else if(offset+itemHeight>elementHeight){
this.activeMenu.scrollTop(scroll+offset-elementHeight+itemHeight);
}
}
},
blur:function(event,fromFocus){
if(!fromFocus){
clearTimeout(this.timer);
}
if(!this.active){
return;
}
this._removeClass(this.active.children(".ui-menu-item-wrapper"),
null,"ui-state-active");
this._trigger("blur",event,{item:this.active});
this.active=null;
},
_startOpening:function(submenu){
clearTimeout(this.timer);
if(submenu.attr("aria-hidden")!=="true"){
return;
}
this.timer=this._delay(function(){
this._close();
this._open(submenu);
},this.delay);
},
_open:function(submenu){
var position=$.extend({
of:this.active
},this.options.position);
clearTimeout(this.timer);
this.element.find(".ui-menu").not(submenu.parents(".ui-menu"))
.hide()
.attr("aria-hidden","true");
submenu
.show()
.removeAttr("aria-hidden")
.attr("aria-expanded","true")
.position(position);
},
collapseAll:function(event,all){
clearTimeout(this.timer);
this.timer=this._delay(function(){
var currentMenu=all?this.element:
$(event&&event.target).closest(this.element.find(".ui-menu"));
if(!currentMenu.length){
currentMenu=this.element;
}
this._close(currentMenu);
this.blur(event);
this._removeClass(currentMenu.find(".ui-state-active"),null,"ui-state-active");
this.activeMenu=currentMenu;
},all?0:this.delay);
},
_close:function(startMenu){
if(!startMenu){
startMenu=this.active?this.active.parent():this.element;
}
startMenu.find(".ui-menu")
.hide()
.attr("aria-hidden","true")
.attr("aria-expanded","false");
},
_closeOnDocumentClick:function(event){
return!$(event.target).closest(".ui-menu").length;
},
_isDivider:function(item){
return!/[^\-\u2014\u2013\s]/.test(item.text());
},
collapse:function(event){
var newItem=this.active&&
this.active.parent().closest(".ui-menu-item",this.element);
if(newItem&&newItem.length){
this._close();
this.focus(event,newItem);
}
},
expand:function(event){
var newItem=this.active&&this._menuItems(this.active.children(".ui-menu")).first();
if(newItem&&newItem.length){
this._open(newItem.parent());
this._delay(function(){
this.focus(event,newItem);
});
}
},
next:function(event){
this._move("next","first",event);
},
previous:function(event){
this._move("prev","last",event);
},
isFirstItem:function(){
return this.active&&!this.active.prevAll(".ui-menu-item").length;
},
isLastItem:function(){
return this.active&&!this.active.nextAll(".ui-menu-item").length;
},
_menuItems:function(menu){
return(menu||this.element)
.find(this.options.items)
.filter(".ui-menu-item");
},
_move:function(direction,filter,event){
var next;
if(this.active){
if(direction==="first"||direction==="last"){
next=this.active
[direction==="first"?"prevAll":"nextAll"](".ui-menu-item")
.last();
}else{
next=this.active
[direction+"All"](".ui-menu-item")
.first();
}
}
if(!next||!next.length||!this.active){
next=this._menuItems(this.activeMenu)[filter]();
}
this.focus(event,next);
},
nextPage:function(event){
var item,base,height;
if(!this.active){
this.next(event);
return;
}
if(this.isLastItem()){
return;
}
if(this._hasScroll()){
base=this.active.offset().top;
height=this.element.innerHeight();
if($.fn.jquery.indexOf("3.2.")===0){
height+=this.element[0].offsetHeight-this.element.outerHeight();
}
this.active.nextAll(".ui-menu-item").each(function(){
item=$(this);
return item.offset().top-base-height<0;
});
this.focus(event,item);
}else{
this.focus(event,this._menuItems(this.activeMenu)
[!this.active?"first":"last"]());
}
},
previousPage:function(event){
var item,base,height;
if(!this.active){
this.next(event);
return;
}
if(this.isFirstItem()){
return;
}
if(this._hasScroll()){
base=this.active.offset().top;
height=this.element.innerHeight();
if($.fn.jquery.indexOf("3.2.")===0){
height+=this.element[0].offsetHeight-this.element.outerHeight();
}
this.active.prevAll(".ui-menu-item").each(function(){
item=$(this);
return item.offset().top-base+height>0;
});
this.focus(event,item);
}else{
this.focus(event,this._menuItems(this.activeMenu).first());
}
},
_hasScroll:function(){
return this.element.outerHeight()<this.element.prop("scrollHeight");
},
select:function(event){
this.active=this.active||$(event.target).closest(".ui-menu-item");
var ui={item:this.active};
if(!this.active.has(".ui-menu").length){
this.collapseAll(event,true);
}
this._trigger("select",event,ui);
},
_filterMenuItems:function(character){
var escapedCharacter=character.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),
regex=new RegExp("^"+escapedCharacter,"i");
return this.activeMenu
.find(this.options.items)
.filter(".ui-menu-item")
.filter(function(){
return regex.test(
String.prototype.trim.call(
$(this).children(".ui-menu-item-wrapper").text()));
});
}
});
$.widget("ui.autocomplete",{
version:"1.13.2",
defaultElement:"<input>",
options:{
appendTo:null,
autoFocus:false,
delay:300,
minLength:1,
position:{
my:"left top",
at:"left bottom",
collision:"none"
},
source:null,
change:null,
close:null,
focus:null,
open:null,
response:null,
search:null,
select:null
},
requestIndex:0,
pending:0,
liveRegionTimer:null,
_create:function(){
var suppressKeyPress,suppressKeyPressRepeat,suppressInput,
nodeName=this.element[0].nodeName.toLowerCase(),
isTextarea=nodeName==="textarea",
isInput=nodeName==="input";
this.isMultiLine=isTextarea||!isInput&&this._isContentEditable(this.element);
this.valueMethod=this.element[isTextarea||isInput?"val":"text"];
this.isNewMenu=true;
this._addClass("ui-autocomplete-input");
this.element.attr("autocomplete","off");
this._on(this.element,{
keydown:function(event){
if(this.element.prop("readOnly")){
suppressKeyPress=true;
suppressInput=true;
suppressKeyPressRepeat=true;
return;
}
suppressKeyPress=false;
suppressInput=false;
suppressKeyPressRepeat=false;
var keyCode=$.ui.keyCode;
switch(event.keyCode){
case keyCode.PAGE_UP:
suppressKeyPress=true;
this._move("previousPage",event);
break;
case keyCode.PAGE_DOWN:
suppressKeyPress=true;
this._move("nextPage",event);
break;
case keyCode.UP:
suppressKeyPress=true;
this._keyEvent("previous",event);
break;
case keyCode.DOWN:
suppressKeyPress=true;
this._keyEvent("next",event);
break;
case keyCode.ENTER:
if(this.menu.active){
suppressKeyPress=true;
event.preventDefault();
this.menu.select(event);
}
break;
case keyCode.TAB:
if(this.menu.active){
this.menu.select(event);
}
break;
case keyCode.ESCAPE:
if(this.menu.element.is(":visible")){
if(!this.isMultiLine){
this._value(this.term);
}
this.close(event);
event.preventDefault();
}
break;
default:
suppressKeyPressRepeat=true;
this._searchTimeout(event);
break;
}
},
keypress:function(event){
if(suppressKeyPress){
suppressKeyPress=false;
if(!this.isMultiLine||this.menu.element.is(":visible")){
event.preventDefault();
}
return;
}
if(suppressKeyPressRepeat){
return;
}
var keyCode=$.ui.keyCode;
switch(event.keyCode){
case keyCode.PAGE_UP:
this._move("previousPage",event);
break;
case keyCode.PAGE_DOWN:
this._move("nextPage",event);
break;
case keyCode.UP:
this._keyEvent("previous",event);
break;
case keyCode.DOWN:
this._keyEvent("next",event);
break;
}
},
input:function(event){
if(suppressInput){
suppressInput=false;
event.preventDefault();
return;
}
this._searchTimeout(event);
},
focus:function(){
this.selectedItem=null;
this.previous=this._value();
},
blur:function(event){
clearTimeout(this.searching);
this.close(event);
this._change(event);
}
});
this._initSource();
this.menu=$("<ul>")
.appendTo(this._appendTo())
.menu({
role:null
})
.hide()
.attr({
"unselectable":"on"
})
.menu("instance");
this._addClass(this.menu.element,"ui-autocomplete","ui-front");
this._on(this.menu.element,{
mousedown:function(event){
event.preventDefault();
},
menufocus:function(event,ui){
var label,item;
if(this.isNewMenu){
this.isNewMenu=false;
if(event.originalEvent&&/^mouse/.test(event.originalEvent.type)){
this.menu.blur();
this.document.one("mousemove",function(){
$(event.target).trigger(event.originalEvent);
});
return;
}
}
item=ui.item.data("ui-autocomplete-item");
if(false!==this._trigger("focus",event,{item:item})){
if(event.originalEvent&&/^key/.test(event.originalEvent.type)){
this._value(item.value);
}
}
label=ui.item.attr("aria-label")||item.value;
if(label&&String.prototype.trim.call(label).length){
clearTimeout(this.liveRegionTimer);
this.liveRegionTimer=this._delay(function(){
this.liveRegion.html($("<div>").text(label));
},100);
}
},
menuselect:function(event,ui){
var item=ui.item.data("ui-autocomplete-item"),
previous=this.previous;
if(this.element[0]!==$.ui.safeActiveElement(this.document[0])){
this.element.trigger("focus");
this.previous=previous;
this._delay(function(){
this.previous=previous;
this.selectedItem=item;
});
}
if(false!==this._trigger("select",event,{item:item})){
this._value(item.value);
}
this.term=this._value();
this.close(event);
this.selectedItem=item;
}
});
this.liveRegion=$("<div>",{
role:"status",
"aria-live":"assertive",
"aria-relevant":"additions"
})
.appendTo(this.document[0].body);
this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible");
this._on(this.window,{
beforeunload:function(){
this.element.removeAttr("autocomplete");
}
});
},
_destroy:function(){
clearTimeout(this.searching);
this.element.removeAttr("autocomplete");
this.menu.element.remove();
this.liveRegion.remove();
},
_setOption:function(key,value){
this._super(key,value);
if(key==="source"){
this._initSource();
}
if(key==="appendTo"){
this.menu.element.appendTo(this._appendTo());
}
if(key==="disabled"&&value&&this.xhr){
this.xhr.abort();
}
},
_isEventTargetInWidget:function(event){
var menuElement=this.menu.element[0];
return event.target===this.element[0]||
event.target===menuElement||
$.contains(menuElement,event.target);
},
_closeOnClickOutside:function(event){
if(!this._isEventTargetInWidget(event)){
this.close();
}
},
_appendTo:function(){
var element=this.options.appendTo;
if(element){
element=element.jquery||element.nodeType?
$(element):
this.document.find(element).eq(0);
}
if(!element||!element[0]){
element=this.element.closest(".ui-front, dialog");
}
if(!element.length){
element=this.document[0].body;
}
return element;
},
_initSource:function(){
var array,url,
that=this;
if(Array.isArray(this.options.source)){
array=this.options.source;
this.source=function(request,response){
response($.ui.autocomplete.filter(array,request.term));
};
}else if(typeof this.options.source==="string"){
url=this.options.source;
this.source=function(request,response){
if(that.xhr){
that.xhr.abort();
}
that.xhr=$.ajax({
url:url,
data:request,
dataType:"json",
success:function(data){
response(data);
},
error:function(){
response([]);
}
});
};
}else{
this.source=this.options.source;
}
},
_searchTimeout:function(event){
clearTimeout(this.searching);
this.searching=this._delay(function(){
var equalValues=this.term===this._value(),
menuVisible=this.menu.element.is(":visible"),
modifierKey=event.altKey||event.ctrlKey||event.metaKey||event.shiftKey;
if(!equalValues||(equalValues&&!menuVisible&&!modifierKey)){
this.selectedItem=null;
this.search(null,event);
}
},this.options.delay);
},
search:function(value,event){
value=value!=null?value:this._value();
this.term=this._value();
if(value.length<this.options.minLength){
return this.close(event);
}
if(this._trigger("search",event)===false){
return;
}
return this._search(value);
},
_search:function(value){
this.pending++;
this._addClass("ui-autocomplete-loading");
this.cancelSearch=false;
this.source({term:value},this._response());
},
_response:function(){
var index=++this.requestIndex;
return function(content){
if(index===this.requestIndex){
this.__response(content);
}
this.pending--;
if(!this.pending){
this._removeClass("ui-autocomplete-loading");
}
}.bind(this);
},
__response:function(content){
if(content){
content=this._normalize(content);
}
this._trigger("response",null,{content:content});
if(!this.options.disabled&&content&&content.length&&!this.cancelSearch){
this._suggest(content);
this._trigger("open");
}else{
this._close();
}
},
close:function(event){
this.cancelSearch=true;
this._close(event);
},
_close:function(event){
this._off(this.document,"mousedown");
if(this.menu.element.is(":visible")){
this.menu.element.hide();
this.menu.blur();
this.isNewMenu=true;
this._trigger("close",event);
}
},
_change:function(event){
if(this.previous!==this._value()){
this._trigger("change",event,{item:this.selectedItem});
}
},
_normalize:function(items){
if(items.length&&items[0].label&&items[0].value){
return items;
}
return $.map(items,function(item){
if(typeof item==="string"){
return{
label:item,
value:item
};
}
return $.extend({},item,{
label:item.label||item.value,
value:item.value||item.label
});
});
},
_suggest:function(items){
var ul=this.menu.element.empty();
this._renderMenu(ul,items);
this.isNewMenu=true;
this.menu.refresh();
ul.show();
this._resizeMenu();
ul.position($.extend({
of:this.element
},this.options.position));
if(this.options.autoFocus){
this.menu.next();
}
this._on(this.document,{
mousedown:"_closeOnClickOutside"
});
},
_resizeMenu:function(){
var ul=this.menu.element;
ul.outerWidth(Math.max(
ul.width("").outerWidth()+1,
this.element.outerWidth()
));
},
_renderMenu:function(ul,items){
var that=this;
$.each(items,function(index,item){
that._renderItemData(ul,item);
});
},
_renderItemData:function(ul,item){
return this._renderItem(ul,item).data("ui-autocomplete-item",item);
},
_renderItem:function(ul,item){
return $("<li>")
.append($("<div>").text(item.label))
.appendTo(ul);
},
_move:function(direction,event){
if(!this.menu.element.is(":visible")){
this.search(null,event);
return;
}
if(this.menu.isFirstItem()&&/^previous/.test(direction)||
this.menu.isLastItem()&&/^next/.test(direction)){
if(!this.isMultiLine){
this._value(this.term);
}
this.menu.blur();
return;
}
this.menu[direction](event);
},
widget:function(){
return this.menu.element;
},
_value:function(){
return this.valueMethod.apply(this.element,arguments);
},
_keyEvent:function(keyEvent,event){
if(!this.isMultiLine||this.menu.element.is(":visible")){
this._move(keyEvent,event);
event.preventDefault();
}
},
_isContentEditable:function(element){
if(!element.length){
return false;
}
var editable=element.prop("contentEditable");
if(editable==="inherit"){
return this._isContentEditable(element.parent());
}
return editable==="true";
}
});
$.extend($.ui.autocomplete,{
escapeRegex:function(value){
return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");
},
filter:function(array,term){
var matcher=new RegExp($.ui.autocomplete.escapeRegex(term),"i");
return $.grep(array,function(value){
return matcher.test(value.label||value.value||value);
});
}
});
$.widget("ui.autocomplete",$.ui.autocomplete,{
options:{
messages:{
noResults:"No search results.",
results:function(amount){
return amount+(amount>1?" results are":" result is")+
" available, use up and down arrow keys to navigate.";
}
}
},
__response:function(content){
var message;
this._superApply(arguments);
if(this.options.disabled||this.cancelSearch){
return;
}
if(content&&content.length){
message=this.options.messages.results(content.length);
}else{
message=this.options.messages.noResults;
}
clearTimeout(this.liveRegionTimer);
this.liveRegionTimer=this._delay(function(){
this.liveRegion.html($("<div>").text(message));
},100);
}
});
var widgetsAutocomplete=$.ui.autocomplete;
var controlgroupCornerRegex=/ui-corner-([a-z]){2,6}/g;
var widgetsControlgroup=$.widget("ui.controlgroup",{
version:"1.13.2",
defaultElement:"<div>",
options:{
direction:"horizontal",
disabled:null,
onlyVisible:true,
items:{
"button":"input[type=button], input[type=submit], input[type=reset], button, a",
"controlgroupLabel":".ui-controlgroup-label",
"checkboxradio":"input[type='checkbox'], input[type='radio']",
"selectmenu":"select",
"spinner":".ui-spinner-input"
}
},
_create:function(){
this._enhance();
},
_enhance:function(){
this.element.attr("role","toolbar");
this.refresh();
},
_destroy:function(){
this._callChildMethod("destroy");
this.childWidgets.removeData("ui-controlgroup-data");
this.element.removeAttr("role");
if(this.options.items.controlgroupLabel){
this.element
.find(this.options.items.controlgroupLabel)
.find(".ui-controlgroup-label-contents")
.contents().unwrap();
}
},
_initWidgets:function(){
var that=this,
childWidgets=[];
$.each(this.options.items,function(widget,selector){
var labels;
var options={};
if(!selector){
return;
}
if(widget==="controlgroupLabel"){
labels=that.element.find(selector);
labels.each(function(){
var element=$(this);
if(element.children(".ui-controlgroup-label-contents").length){
return;
}
element.contents()
.wrapAll("<span class='ui-controlgroup-label-contents'></span>");
});
that._addClass(labels,null,"ui-widget ui-widget-content ui-state-default");
childWidgets=childWidgets.concat(labels.get());
return;
}
if(!$.fn[widget]){
return;
}
if(that["_"+widget+"Options"]){
options=that["_"+widget+"Options"]("middle");
}else{
options={classes:{}};
}
that.element
.find(selector)
.each(function(){
var element=$(this);
var instance=element[widget]("instance");
var instanceOptions=$.widget.extend({},options);
if(widget==="button"&&element.parent(".ui-spinner").length){
return;
}
if(!instance){
instance=element[widget]()[widget]("instance");
}
if(instance){
instanceOptions.classes=
that._resolveClassesValues(instanceOptions.classes,instance);
}
element[widget](instanceOptions);
var widgetElement=element[widget]("widget");
$.data(widgetElement[0],"ui-controlgroup-data",
instance?instance:element[widget]("instance"));
childWidgets.push(widgetElement[0]);
});
});
this.childWidgets=$($.uniqueSort(childWidgets));
this._addClass(this.childWidgets,"ui-controlgroup-item");
},
_callChildMethod:function(method){
this.childWidgets.each(function(){
var element=$(this),
data=element.data("ui-controlgroup-data");
if(data&&data[method]){
data[method]();
}
});
},
_updateCornerClass:function(element,position){
var remove="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all";
var add=this._buildSimpleOptions(position,"label").classes.label;
this._removeClass(element,null,remove);
this._addClass(element,null,add);
},
_buildSimpleOptions:function(position,key){
var direction=this.options.direction==="vertical";
var result={
classes:{}
};
result.classes[key]={
"middle":"",
"first":"ui-corner-"+(direction?"top":"left"),
"last":"ui-corner-"+(direction?"bottom":"right"),
"only":"ui-corner-all"
}[position];
return result;
},
_spinnerOptions:function(position){
var options=this._buildSimpleOptions(position,"ui-spinner");
options.classes["ui-spinner-up"]="";
options.classes["ui-spinner-down"]="";
return options;
},
_buttonOptions:function(position){
return this._buildSimpleOptions(position,"ui-button");
},
_checkboxradioOptions:function(position){
return this._buildSimpleOptions(position,"ui-checkboxradio-label");
},
_selectmenuOptions:function(position){
var direction=this.options.direction==="vertical";
return{
width:direction?"auto":false,
classes:{
middle:{
"ui-selectmenu-button-open":"",
"ui-selectmenu-button-closed":""
},
first:{
"ui-selectmenu-button-open":"ui-corner-"+(direction?"top":"tl"),
"ui-selectmenu-button-closed":"ui-corner-"+(direction?"top":"left")
},
last:{
"ui-selectmenu-button-open":direction?"":"ui-corner-tr",
"ui-selectmenu-button-closed":"ui-corner-"+(direction?"bottom":"right")
},
only:{
"ui-selectmenu-button-open":"ui-corner-top",
"ui-selectmenu-button-closed":"ui-corner-all"
}
}[position]
};
},
_resolveClassesValues:function(classes,instance){
var result={};
$.each(classes,function(key){
var current=instance.options.classes[key]||"";
current=String.prototype.trim.call(current.replace(controlgroupCornerRegex,""));
result[key]=(current+" "+classes[key]).replace(/\s+/g," ");
});
return result;
},
_setOption:function(key,value){
if(key==="direction"){
this._removeClass("ui-controlgroup-"+this.options.direction);
}
this._super(key,value);
if(key==="disabled"){
this._callChildMethod(value?"disable":"enable");
return;
}
this.refresh();
},
refresh:function(){
var children,
that=this;
this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction);
if(this.options.direction==="horizontal"){
this._addClass(null,"ui-helper-clearfix");
}
this._initWidgets();
children=this.childWidgets;
if(this.options.onlyVisible){
children=children.filter(":visible");
}
if(children.length){
$.each(["first","last"],function(index,value){
var instance=children[value]().data("ui-controlgroup-data");
if(instance&&that["_"+instance.widgetName+"Options"]){
var options=that["_"+instance.widgetName+"Options"](
children.length===1?"only":value
);
options.classes=that._resolveClassesValues(options.classes,instance);
instance.element[instance.widgetName](options);
}else{
that._updateCornerClass(children[value](),value);
}
});
this._callChildMethod("refresh");
}
}
});
$.widget("ui.checkboxradio",[$.ui.formResetMixin,{
version:"1.13.2",
options:{
disabled:null,
label:null,
icon:true,
classes:{
"ui-checkboxradio-label":"ui-corner-all",
"ui-checkboxradio-icon":"ui-corner-all"
}
},
_getCreateOptions:function(){
var disabled,labels,labelContents;
var options=this._super()||{};
this._readType();
labels=this.element.labels();
this.label=$(labels[labels.length-1]);
if(!this.label.length){
$.error("No label found for checkboxradio widget");
}
this.originalLabel="";
labelContents=this.label.contents().not(this.element[0]);
if(labelContents.length){
this.originalLabel+=labelContents
.clone()
.wrapAll("<div></div>")
.parent()
.html();
}
if(this.originalLabel){
options.label=this.originalLabel;
}
disabled=this.element[0].disabled;
if(disabled!=null){
options.disabled=disabled;
}
return options;
},
_create:function(){
var checked=this.element[0].checked;
this._bindFormResetHandler();
if(this.options.disabled==null){
this.options.disabled=this.element[0].disabled;
}
this._setOption("disabled",this.options.disabled);
this._addClass("ui-checkboxradio","ui-helper-hidden-accessible");
this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget");
if(this.type==="radio"){
this._addClass(this.label,"ui-checkboxradio-radio-label");
}
if(this.options.label&&this.options.label!==this.originalLabel){
this._updateLabel();
}else if(this.originalLabel){
this.options.label=this.originalLabel;
}
this._enhance();
if(checked){
this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active");
}
this._on({
change:"_toggleClasses",
focus:function(){
this._addClass(this.label,null,"ui-state-focus ui-visual-focus");
},
blur:function(){
this._removeClass(this.label,null,"ui-state-focus ui-visual-focus");
}
});
},
_readType:function(){
var nodeName=this.element[0].nodeName.toLowerCase();
this.type=this.element[0].type;
if(nodeName!=="input"||!/radio|checkbox/.test(this.type)){
$.error("Can't create checkboxradio on element.nodeName="+nodeName+
" and element.type="+this.type);
}
},
_enhance:function(){
this._updateIcon(this.element[0].checked);
},
widget:function(){
return this.label;
},
_getRadioGroup:function(){
var group;
var name=this.element[0].name;
var nameSelector="input[name='"+$.escapeSelector(name)+"']";
if(!name){
return $([]);
}
if(this.form.length){
group=$(this.form[0].elements).filter(nameSelector);
}else{
group=$(nameSelector).filter(function(){
return $(this)._form().length===0;
});
}
return group.not(this.element);
},
_toggleClasses:function(){
var checked=this.element[0].checked;
this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",checked);
if(this.options.icon&&this.type==="checkbox"){
this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",checked)
._toggleClass(this.icon,null,"ui-icon-blank",!checked);
}
if(this.type==="radio"){
this._getRadioGroup()
.each(function(){
var instance=$(this).checkboxradio("instance");
if(instance){
instance._removeClass(instance.label,
"ui-checkboxradio-checked","ui-state-active");
}
});
}
},
_destroy:function(){
this._unbindFormResetHandler();
if(this.icon){
this.icon.remove();
this.iconSpace.remove();
}
},
_setOption:function(key,value){
if(key==="label"&&!value){
return;
}
this._super(key,value);
if(key==="disabled"){
this._toggleClass(this.label,null,"ui-state-disabled",value);
this.element[0].disabled=value;
return;
}
this.refresh();
},
_updateIcon:function(checked){
var toAdd="ui-icon ui-icon-background ";
if(this.options.icon){
if(!this.icon){
this.icon=$("<span>");
this.iconSpace=$("<span> </span>");
this._addClass(this.iconSpace,"ui-checkboxradio-icon-space");
}
if(this.type==="checkbox"){
toAdd+=checked?"ui-icon-check ui-state-checked":"ui-icon-blank";
this._removeClass(this.icon,null,checked?"ui-icon-blank":"ui-icon-check");
}else{
toAdd+="ui-icon-blank";
}
this._addClass(this.icon,"ui-checkboxradio-icon",toAdd);
if(!checked){
this._removeClass(this.icon,null,"ui-icon-check ui-state-checked");
}
this.icon.prependTo(this.label).after(this.iconSpace);
}else if(this.icon!==undefined){
this.icon.remove();
this.iconSpace.remove();
delete this.icon;
}
},
_updateLabel:function(){
var contents=this.label.contents().not(this.element[0]);
if(this.icon){
contents=contents.not(this.icon[0]);
}
if(this.iconSpace){
contents=contents.not(this.iconSpace[0]);
}
contents.remove();
this.label.append(this.options.label);
},
refresh:function(){
var checked=this.element[0].checked,
isDisabled=this.element[0].disabled;
this._updateIcon(checked);
this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",checked);
if(this.options.label!==null){
this._updateLabel();
}
if(isDisabled!==this.options.disabled){
this._setOptions({"disabled":isDisabled});
}
}
}]);
var widgetsCheckboxradio=$.ui.checkboxradio;
$.widget("ui.button",{
version:"1.13.2",
defaultElement:"<button>",
options:{
classes:{
"ui-button":"ui-corner-all"
},
disabled:null,
icon:null,
iconPosition:"beginning",
label:null,
showLabel:true
},
_getCreateOptions:function(){
var disabled,
options=this._super()||{};
this.isInput=this.element.is("input");
disabled=this.element[0].disabled;
if(disabled!=null){
options.disabled=disabled;
}
this.originalLabel=this.isInput?this.element.val():this.element.html();
if(this.originalLabel){
options.label=this.originalLabel;
}
return options;
},
_create:function(){
if(!this.option.showLabel&!this.options.icon){
this.options.showLabel=true;
}
if(this.options.disabled==null){
this.options.disabled=this.element[0].disabled||false;
}
this.hasTitle=!!this.element.attr("title");
if(this.options.label&&this.options.label!==this.originalLabel){
if(this.isInput){
this.element.val(this.options.label);
}else{
this.element.html(this.options.label);
}
}
this._addClass("ui-button","ui-widget");
this._setOption("disabled",this.options.disabled);
this._enhance();
if(this.element.is("a")){
this._on({
"keyup":function(event){
if(event.keyCode===$.ui.keyCode.SPACE){
event.preventDefault();
if(this.element[0].click){
this.element[0].click();
}else{
this.element.trigger("click");
}
}
}
});
}
},
_enhance:function(){
if(!this.element.is("button")){
this.element.attr("role","button");
}
if(this.options.icon){
this._updateIcon("icon",this.options.icon);
this._updateTooltip();
}
},
_updateTooltip:function(){
this.title=this.element.attr("title");
if(!this.options.showLabel&&!this.title){
this.element.attr("title",this.options.label);
}
},
_updateIcon:function(option,value){
var icon=option!=="iconPosition",
position=icon?this.options.iconPosition:value,
displayBlock=position==="top"||position==="bottom";
if(!this.icon){
this.icon=$("<span>");
this._addClass(this.icon,"ui-button-icon","ui-icon");
if(!this.options.showLabel){
this._addClass("ui-button-icon-only");
}
}else if(icon){
this._removeClass(this.icon,null,this.options.icon);
}
if(icon){
this._addClass(this.icon,null,value);
}
this._attachIcon(position);
if(displayBlock){
this._addClass(this.icon,null,"ui-widget-icon-block");
if(this.iconSpace){
this.iconSpace.remove();
}
}else{
if(!this.iconSpace){
this.iconSpace=$("<span> </span>");
this._addClass(this.iconSpace,"ui-button-icon-space");
}
this._removeClass(this.icon,null,"ui-wiget-icon-block");
this._attachIconSpace(position);
}
},
_destroy:function(){
this.element.removeAttr("role");
if(this.icon){
this.icon.remove();
}
if(this.iconSpace){
this.iconSpace.remove();
}
if(!this.hasTitle){
this.element.removeAttr("title");
}
},
_attachIconSpace:function(iconPosition){
this.icon[/^(?:end|bottom)/.test(iconPosition)?"before":"after"](this.iconSpace);
},
_attachIcon:function(iconPosition){
this.element[/^(?:end|bottom)/.test(iconPosition)?"append":"prepend"](this.icon);
},
_setOptions:function(options){
var newShowLabel=options.showLabel===undefined?
this.options.showLabel:
options.showLabel,
newIcon=options.icon===undefined?this.options.icon:options.icon;
if(!newShowLabel&&!newIcon){
options.showLabel=true;
}
this._super(options);
},
_setOption:function(key,value){
if(key==="icon"){
if(value){
this._updateIcon(key,value);
}else if(this.icon){
this.icon.remove();
if(this.iconSpace){
this.iconSpace.remove();
}
}
}
if(key==="iconPosition"){
this._updateIcon(key,value);
}
if(key==="showLabel"){
this._toggleClass("ui-button-icon-only",null,!value);
this._updateTooltip();
}
if(key==="label"){
if(this.isInput){
this.element.val(value);
}else{
this.element.html(value);
if(this.icon){
this._attachIcon(this.options.iconPosition);
this._attachIconSpace(this.options.iconPosition);
}
}
}
this._super(key,value);
if(key==="disabled"){
this._toggleClass(null,"ui-state-disabled",value);
this.element[0].disabled=value;
if(value){
this.element.trigger("blur");
}
}
},
refresh:function(){
var isDisabled=this.element.is("input, button")?
this.element[0].disabled:this.element.hasClass("ui-button-disabled");
if(isDisabled!==this.options.disabled){
this._setOptions({disabled:isDisabled});
}
this._updateTooltip();
}
});
if($.uiBackCompat!==false){
$.widget("ui.button",$.ui.button,{
options:{
text:true,
icons:{
primary:null,
secondary:null
}
},
_create:function(){
if(this.options.showLabel&&!this.options.text){
this.options.showLabel=this.options.text;
}
if(!this.options.showLabel&&this.options.text){
this.options.text=this.options.showLabel;
}
if(!this.options.icon&&(this.options.icons.primary||
this.options.icons.secondary)){
if(this.options.icons.primary){
this.options.icon=this.options.icons.primary;
}else{
this.options.icon=this.options.icons.secondary;
this.options.iconPosition="end";
}
}else if(this.options.icon){
this.options.icons.primary=this.options.icon;
}
this._super();
},
_setOption:function(key,value){
if(key==="text"){
this._super("showLabel",value);
return;
}
if(key==="showLabel"){
this.options.text=value;
}
if(key==="icon"){
this.options.icons.primary=value;
}
if(key==="icons"){
if(value.primary){
this._super("icon",value.primary);
this._super("iconPosition","beginning");
}else if(value.secondary){
this._super("icon",value.secondary);
this._super("iconPosition","end");
}
}
this._superApply(arguments);
}
});
$.fn.button=(function(orig){
return function(options){
var isMethodCall=typeof options==="string";
var args=Array.prototype.slice.call(arguments,1);
var returnValue=this;
if(isMethodCall){
if(!this.length&&options==="instance"){
returnValue=undefined;
}else{
this.each(function(){
var methodValue;
var type=$(this).attr("type");
var name=type!=="checkbox"&&type!=="radio"?
"button":
"checkboxradio";
var instance=$.data(this,"ui-"+name);
if(options==="instance"){
returnValue=instance;
return false;
}
if(!instance){
return $.error("cannot call methods on button"+
" prior to initialization; "+
"attempted to call method '"+options+"'");
}
if(typeof instance[options]!=="function"||
options.charAt(0)==="_"){
return $.error("no such method '"+options+"' for button"+
" widget instance");
}
methodValue=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));
}
this.each(function(){
var type=$(this).attr("type");
var name=type!=="checkbox"&&type!=="radio"?"button":"checkboxradio";
var instance=$.data(this,"ui-"+name);
if(instance){
instance.option(options||{});
if(instance._init){
instance._init();
}
}else{
if(name==="button"){
orig.call($(this),options);
return;
}
$(this).checkboxradio($.extend({icon:false},options));
}
});
}
return returnValue;
};
})($.fn.button);
$.fn.buttonset=function(){
if(!$.ui.controlgroup){
$.error("Controlgroup widget missing");
}
if(arguments[0]==="option"&&arguments[1]==="items"&&arguments[2]){
return this.controlgroup.apply(this,
[arguments[0],"items.button",arguments[2]]);
}
if(arguments[0]==="option"&&arguments[1]==="items"){
return this.controlgroup.apply(this,[arguments[0],"items.button"]);
}
if(typeof arguments[0]==="object"&&arguments[0].items){
arguments[0].items={
button:arguments[0].items
};
}
return this.controlgroup.apply(this,arguments);
};
}
var widgetsButton=$.ui.button;
$.extend($.ui,{datepicker:{version:"1.13.2"}});
var datepicker_instActive;
function datepicker_getZindex(elem){
var position,value;
while(elem.length&&elem[0]!==document){
position=elem.css("position");
if(position==="absolute"||position==="relative"||position==="fixed"){
value=parseInt(elem.css("zIndex"),10);
if(!isNaN(value)&&value!==0){
return value;
}
}
elem=elem.parent();
}
return 0;
}
function Datepicker(){
this._curInst=null;
this._keyEvent=false;
this._disabledInputs=[];
this._datepickerShowing=false;
this._inDialog=false;
this._mainDivId="ui-datepicker-div";
this._inlineClass="ui-datepicker-inline";
this._appendClass="ui-datepicker-append";
this._triggerClass="ui-datepicker-trigger";
this._dialogClass="ui-datepicker-dialog";
this._disableClass="ui-datepicker-disabled";
this._unselectableClass="ui-datepicker-unselectable";
this._currentClass="ui-datepicker-current-day";
this._dayOverClass="ui-datepicker-days-cell-over";
this.regional=[];
this.regional[""]={
closeText:"Done",
prevText:"Prev",
nextText:"Next",
currentText:"Today",
monthNames:["January","February","March","April","May","June",
"July","August","September","October","November","December"],
monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],
dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],
dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],
weekHeader:"Wk",
dateFormat:"mm/dd/yy",
firstDay:0,
isRTL:false,
showMonthAfterYear:false,
yearSuffix:"",
selectMonthLabel:"Select month",
selectYearLabel:"Select year"
};
this._defaults={
showOn:"focus",
showAnim:"fadeIn",
showOptions:{},
defaultDate:null,
appendText:"",
buttonText:"...",
buttonImage:"",
buttonImageOnly:false,
hideIfNoPrevNext:false,
navigationAsDateFormat:false,
gotoCurrent:false,
changeMonth:false,
changeYear:false,
yearRange:"c-10:c+10",
showOtherMonths:false,
selectOtherMonths:false,
showWeek:false,
calculateWeek:this.iso8601Week,
shortYearCutoff:"+10",
minDate:null,
maxDate:null,
duration:"fast",
beforeShowDay:null,
beforeShow:null,
onSelect:null,
onChangeMonthYear:null,
onClose:null,
onUpdateDatepicker:null,
numberOfMonths:1,
showCurrentAtPos:0,
stepMonths:1,
stepBigMonths:12,
altField:"",
altFormat:"",
constrainInput:true,
showButtonPanel:false,
autoSize:false,
disabled:false
};
$.extend(this._defaults,this.regional[""]);
this.regional.en=$.extend(true,{},this.regional[""]);
this.regional["en-US"]=$.extend(true,{},this.regional.en);
this.dpDiv=datepicker_bindHover($("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"));
}
$.extend(Datepicker.prototype,{
markerClassName:"hasDatepicker",
maxRows:4,
_widgetDatepicker:function(){
return this.dpDiv;
},
setDefaults:function(settings){
datepicker_extendRemove(this._defaults,settings||{});
return this;
},
_attachDatepicker:function(target,settings){
var nodeName,inline,inst;
nodeName=target.nodeName.toLowerCase();
inline=(nodeName==="div"||nodeName==="span");
if(!target.id){
this.uuid+=1;
target.id="dp"+this.uuid;
}
inst=this._newInst($(target),inline);
inst.settings=$.extend({},settings||{});
if(nodeName==="input"){
this._connectDatepicker(target,inst);
}else if(inline){
this._inlineDatepicker(target,inst);
}
},
_newInst:function(target,inline){
var id=target[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");
return{id:id,input:target,
selectedDay:0,selectedMonth:0,selectedYear:0,
drawMonth:0,drawYear:0,
inline:inline,
dpDiv:(!inline?this.dpDiv:
datepicker_bindHover($("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")))};
},
_connectDatepicker:function(target,inst){
var input=$(target);
inst.append=$([]);
inst.trigger=$([]);
if(input.hasClass(this.markerClassName)){
return;
}
this._attachments(input,inst);
input.addClass(this.markerClassName).on("keydown",this._doKeyDown).
on("keypress",this._doKeyPress).on("keyup",this._doKeyUp);
this._autoSize(inst);
$.data(target,"datepicker",inst);
if(inst.settings.disabled){
this._disableDatepicker(target);
}
},
_attachments:function(input,inst){
var showOn,buttonText,buttonImage,
appendText=this._get(inst,"appendText"),
isRTL=this._get(inst,"isRTL");
if(inst.append){
inst.append.remove();
}
if(appendText){
inst.append=$("<span>")
.addClass(this._appendClass)
.text(appendText);
input[isRTL?"before":"after"](inst.append);
}
input.off("focus",this._showDatepicker);
if(inst.trigger){
inst.trigger.remove();
}
showOn=this._get(inst,"showOn");
if(showOn==="focus"||showOn==="both"){
input.on("focus",this._showDatepicker);
}
if(showOn==="button"||showOn==="both"){
buttonText=this._get(inst,"buttonText");
buttonImage=this._get(inst,"buttonImage");
if(this._get(inst,"buttonImageOnly")){
inst.trigger=$("<img>")
.addClass(this._triggerClass)
.attr({
src:buttonImage,
alt:buttonText,
title:buttonText
});
}else{
inst.trigger=$("<button type='button'>")
.addClass(this._triggerClass);
if(buttonImage){
inst.trigger.html(
$("<img>")
.attr({
src:buttonImage,
alt:buttonText,
title:buttonText
})
);
}else{
inst.trigger.text(buttonText);
}
}
input[isRTL?"before":"after"](inst.trigger);
inst.trigger.on("click",function(){
if($.datepicker._datepickerShowing&&$.datepicker._lastInput===input[0]){
$.datepicker._hideDatepicker();
}else if($.datepicker._datepickerShowing&&$.datepicker._lastInput!==input[0]){
$.datepicker._hideDatepicker();
$.datepicker._showDatepicker(input[0]);
}else{
$.datepicker._showDatepicker(input[0]);
}
return false;
});
}
},
_autoSize:function(inst){
if(this._get(inst,"autoSize")&&!inst.inline){
var findMax,max,maxI,i,
date=new Date(2009,12-1,20),
dateFormat=this._get(inst,"dateFormat");
if(dateFormat.match(/[DM]/)){
findMax=function(names){
max=0;
maxI=0;
for(i=0;i<names.length;i++){
if(names[i].length>max){
max=names[i].length;
maxI=i;
}
}
return maxI;
};
date.setMonth(findMax(this._get(inst,(dateFormat.match(/MM/)?
"monthNames":"monthNamesShort"))));
date.setDate(findMax(this._get(inst,(dateFormat.match(/DD/)?
"dayNames":"dayNamesShort")))+20-date.getDay());
}
inst.input.attr("size",this._formatDate(inst,date).length);
}
},
_inlineDatepicker:function(target,inst){
var divSpan=$(target);
if(divSpan.hasClass(this.markerClassName)){
return;
}
divSpan.addClass(this.markerClassName).append(inst.dpDiv);
$.data(target,"datepicker",inst);
this._setDate(inst,this._getDefaultDate(inst),true);
this._updateDatepicker(inst);
this._updateAlternate(inst);
if(inst.settings.disabled){
this._disableDatepicker(target);
}
inst.dpDiv.css("display","block");
},
_dialogDatepicker:function(input,date,onSelect,settings,pos){
var id,browserWidth,browserHeight,scrollX,scrollY,
inst=this._dialogInst;
if(!inst){
this.uuid+=1;
id="dp"+this.uuid;
this._dialogInput=$("<input type='text' id='"+id+
"' style='position: absolute; top: -100px; width: 0px;'/>");
this._dialogInput.on("keydown",this._doKeyDown);
$("body").append(this._dialogInput);
inst=this._dialogInst=this._newInst(this._dialogInput,false);
inst.settings={};
$.data(this._dialogInput[0],"datepicker",inst);
}
datepicker_extendRemove(inst.settings,settings||{});
date=(date&&date.constructor===Date?this._formatDate(inst,date):date);
this._dialogInput.val(date);
this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);
if(!this._pos){
browserWidth=document.documentElement.clientWidth;
browserHeight=document.documentElement.clientHeight;
scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;
scrollY=document.documentElement.scrollTop||document.body.scrollTop;
this._pos=
[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY];
}
this._dialogInput.css("left",(this._pos[0]+20)+"px").css("top",this._pos[1]+"px");
inst.settings.onSelect=onSelect;
this._inDialog=true;
this.dpDiv.addClass(this._dialogClass);
this._showDatepicker(this._dialogInput[0]);
if($.blockUI){
$.blockUI(this.dpDiv);
}
$.data(this._dialogInput[0],"datepicker",inst);
return this;
},
_destroyDatepicker:function(target){
var nodeName,
$target=$(target),
inst=$.data(target,"datepicker");
if(!$target.hasClass(this.markerClassName)){
return;
}
nodeName=target.nodeName.toLowerCase();
$.removeData(target,"datepicker");
if(nodeName==="input"){
inst.append.remove();
inst.trigger.remove();
$target.removeClass(this.markerClassName).
off("focus",this._showDatepicker).
off("keydown",this._doKeyDown).
off("keypress",this._doKeyPress).
off("keyup",this._doKeyUp);
}else if(nodeName==="div"||nodeName==="span"){
$target.removeClass(this.markerClassName).empty();
}
if(datepicker_instActive===inst){
datepicker_instActive=null;
this._curInst=null;
}
},
_enableDatepicker:function(target){
var nodeName,inline,
$target=$(target),
inst=$.data(target,"datepicker");
if(!$target.hasClass(this.markerClassName)){
return;
}
nodeName=target.nodeName.toLowerCase();
if(nodeName==="input"){
target.disabled=false;
inst.trigger.filter("button").
each(function(){
this.disabled=false;
}).end().
filter("img").css({opacity:"1.0",cursor:""});
}else if(nodeName==="div"||nodeName==="span"){
inline=$target.children("."+this._inlineClass);
inline.children().removeClass("ui-state-disabled");
inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
prop("disabled",false);
}
this._disabledInputs=$.map(this._disabledInputs,
function(value){
return(value===target?null:value);
});
},
_disableDatepicker:function(target){
var nodeName,inline,
$target=$(target),
inst=$.data(target,"datepicker");
if(!$target.hasClass(this.markerClassName)){
return;
}
nodeName=target.nodeName.toLowerCase();
if(nodeName==="input"){
target.disabled=true;
inst.trigger.filter("button").
each(function(){
this.disabled=true;
}).end().
filter("img").css({opacity:"0.5",cursor:"default"});
}else if(nodeName==="div"||nodeName==="span"){
inline=$target.children("."+this._inlineClass);
inline.children().addClass("ui-state-disabled");
inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
prop("disabled",true);
}
this._disabledInputs=$.map(this._disabledInputs,
function(value){
return(value===target?null:value);
});
this._disabledInputs[this._disabledInputs.length]=target;
},
_isDisabledDatepicker:function(target){
if(!target){
return false;
}
for(var i=0;i<this._disabledInputs.length;i++){
if(this._disabledInputs[i]===target){
return true;
}
}
return false;
},
_getInst:function(target){
try{
return $.data(target,"datepicker");
}catch(err){
throw"Missing instance data for this datepicker";
}
},
_optionDatepicker:function(target,name,value){
var settings,date,minDate,maxDate,
inst=this._getInst(target);
if(arguments.length===2&&typeof name==="string"){
return(name==="defaults"?$.extend({},$.datepicker._defaults):
(inst?(name==="all"?$.extend({},inst.settings):
this._get(inst,name)):null));
}
settings=name||{};
if(typeof name==="string"){
settings={};
settings[name]=value;
}
if(inst){
if(this._curInst===inst){
this._hideDatepicker();
}
date=this._getDateDatepicker(target,true);
minDate=this._getMinMaxDate(inst,"min");
maxDate=this._getMinMaxDate(inst,"max");
datepicker_extendRemove(inst.settings,settings);
if(minDate!==null&&settings.dateFormat!==undefined&&settings.minDate===undefined){
inst.settings.minDate=this._formatDate(inst,minDate);
}
if(maxDate!==null&&settings.dateFormat!==undefined&&settings.maxDate===undefined){
inst.settings.maxDate=this._formatDate(inst,maxDate);
}
if("disabled"in settings){
if(settings.disabled){
this._disableDatepicker(target);
}else{
this._enableDatepicker(target);
}
}
this._attachments($(target),inst);
this._autoSize(inst);
this._setDate(inst,date);
this._updateAlternate(inst);
this._updateDatepicker(inst);
}
},
_changeDatepicker:function(target,name,value){
this._optionDatepicker(target,name,value);
},
_refreshDatepicker:function(target){
var inst=this._getInst(target);
if(inst){
this._updateDatepicker(inst);
}
},
_setDateDatepicker:function(target,date){
var inst=this._getInst(target);
if(inst){
this._setDate(inst,date);
this._updateDatepicker(inst);
this._updateAlternate(inst);
}
},
_getDateDatepicker:function(target,noDefault){
var inst=this._getInst(target);
if(inst&&!inst.inline){
this._setDateFromField(inst,noDefault);
}
return(inst?this._getDate(inst):null);
},
_doKeyDown:function(event){
var onSelect,dateStr,sel,
inst=$.datepicker._getInst(event.target),
handled=true,
isRTL=inst.dpDiv.is(".ui-datepicker-rtl");
inst._keyEvent=true;
if($.datepicker._datepickerShowing){
switch(event.keyCode){
case 9:$.datepicker._hideDatepicker();
handled=false;
break;
case 13:sel=$("td."+$.datepicker._dayOverClass+":not(."+
$.datepicker._currentClass+")",inst.dpDiv);
if(sel[0]){
$.datepicker._selectDay(event.target,inst.selectedMonth,inst.selectedYear,sel[0]);
}
onSelect=$.datepicker._get(inst,"onSelect");
if(onSelect){
dateStr=$.datepicker._formatDate(inst);
onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst]);
}else{
$.datepicker._hideDatepicker();
}
return false;
case 27:$.datepicker._hideDatepicker();
break;
case 33:$.datepicker._adjustDate(event.target,(event.ctrlKey?
-$.datepicker._get(inst,"stepBigMonths"):
-$.datepicker._get(inst,"stepMonths")),"M");
break;
case 34:$.datepicker._adjustDate(event.target,(event.ctrlKey?
+$.datepicker._get(inst,"stepBigMonths"):
+$.datepicker._get(inst,"stepMonths")),"M");
break;
case 35:if(event.ctrlKey||event.metaKey){
$.datepicker._clearDate(event.target);
}
handled=event.ctrlKey||event.metaKey;
break;
case 36:if(event.ctrlKey||event.metaKey){
$.datepicker._gotoToday(event.target);
}
handled=event.ctrlKey||event.metaKey;
break;
case 37:if(event.ctrlKey||event.metaKey){
$.datepicker._adjustDate(event.target,(isRTL?+1:-1),"D");
}
handled=event.ctrlKey||event.metaKey;
if(event.originalEvent.altKey){
$.datepicker._adjustDate(event.target,(event.ctrlKey?
-$.datepicker._get(inst,"stepBigMonths"):
-$.datepicker._get(inst,"stepMonths")),"M");
}
break;
case 38:if(event.ctrlKey||event.metaKey){
$.datepicker._adjustDate(event.target,-7,"D");
}
handled=event.ctrlKey||event.metaKey;
break;
case 39:if(event.ctrlKey||event.metaKey){
$.datepicker._adjustDate(event.target,(isRTL?-1:+1),"D");
}
handled=event.ctrlKey||event.metaKey;
if(event.originalEvent.altKey){
$.datepicker._adjustDate(event.target,(event.ctrlKey?
+$.datepicker._get(inst,"stepBigMonths"):
+$.datepicker._get(inst,"stepMonths")),"M");
}
break;
case 40:if(event.ctrlKey||event.metaKey){
$.datepicker._adjustDate(event.target,+7,"D");
}
handled=event.ctrlKey||event.metaKey;
break;
default:handled=false;
}
}else if(event.keyCode===36&&event.ctrlKey){
$.datepicker._showDatepicker(this);
}else{
handled=false;
}
if(handled){
event.preventDefault();
event.stopPropagation();
}
},
_doKeyPress:function(event){
var chars,chr,
inst=$.datepicker._getInst(event.target);
if($.datepicker._get(inst,"constrainInput")){
chars=$.datepicker._possibleChars($.datepicker._get(inst,"dateFormat"));
chr=String.fromCharCode(event.charCode==null?event.keyCode:event.charCode);
return event.ctrlKey||event.metaKey||(chr<" "||!chars||chars.indexOf(chr)>-1);
}
},
_doKeyUp:function(event){
var date,
inst=$.datepicker._getInst(event.target);
if(inst.input.val()!==inst.lastVal){
try{
date=$.datepicker.parseDate($.datepicker._get(inst,"dateFormat"),
(inst.input?inst.input.val():null),
$.datepicker._getFormatConfig(inst));
if(date){
$.datepicker._setDateFromField(inst);
$.datepicker._updateAlternate(inst);
$.datepicker._updateDatepicker(inst);
}
}catch(err){
}
}
return true;
},
_showDatepicker:function(input){
input=input.target||input;
if(input.nodeName.toLowerCase()!=="input"){
input=$("input",input.parentNode)[0];
}
if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput===input){
return;
}
var inst,beforeShow,beforeShowSettings,isFixed,
offset,showAnim,duration;
inst=$.datepicker._getInst(input);
if($.datepicker._curInst&&$.datepicker._curInst!==inst){
$.datepicker._curInst.dpDiv.stop(true,true);
if(inst&&$.datepicker._datepickerShowing){
$.datepicker._hideDatepicker($.datepicker._curInst.input[0]);
}
}
beforeShow=$.datepicker._get(inst,"beforeShow");
beforeShowSettings=beforeShow?beforeShow.apply(input,[input,inst]):{};
if(beforeShowSettings===false){
return;
}
datepicker_extendRemove(inst.settings,beforeShowSettings);
inst.lastVal=null;
$.datepicker._lastInput=input;
$.datepicker._setDateFromField(inst);
if($.datepicker._inDialog){
input.value="";
}
if(!$.datepicker._pos){
$.datepicker._pos=$.datepicker._findPos(input);
$.datepicker._pos[1]+=input.offsetHeight;
}
isFixed=false;
$(input).parents().each(function(){
isFixed|=$(this).css("position")==="fixed";
return!isFixed;
});
offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};
$.datepicker._pos=null;
inst.dpDiv.empty();
inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});
$.datepicker._updateDatepicker(inst);
offset=$.datepicker._checkOffset(inst,offset,isFixed);
inst.dpDiv.css({position:($.datepicker._inDialog&&$.blockUI?
"static":(isFixed?"fixed":"absolute")),display:"none",
left:offset.left+"px",top:offset.top+"px"});
if(!inst.inline){
showAnim=$.datepicker._get(inst,"showAnim");
duration=$.datepicker._get(inst,"duration");
inst.dpDiv.css("z-index",datepicker_getZindex($(input))+1);
$.datepicker._datepickerShowing=true;
if($.effects&&$.effects.effect[showAnim]){
inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration);
}else{
inst.dpDiv[showAnim||"show"](showAnim?duration:null);
}
if($.datepicker._shouldFocusInput(inst)){
inst.input.trigger("focus");
}
$.datepicker._curInst=inst;
}
},
_updateDatepicker:function(inst){
this.maxRows=4;
datepicker_instActive=inst;
inst.dpDiv.empty().append(this._generateHTML(inst));
this._attachHandlers(inst);
var origyearshtml,
numMonths=this._getNumberOfMonths(inst),
cols=numMonths[1],
width=17,
activeCell=inst.dpDiv.find("."+this._dayOverClass+" a"),
onUpdateDatepicker=$.datepicker._get(inst,"onUpdateDatepicker");
if(activeCell.length>0){
datepicker_handleMouseover.apply(activeCell.get(0));
}
inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");
if(cols>1){
inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",(width*cols)+"em");
}
inst.dpDiv[(numMonths[0]!==1||numMonths[1]!==1?"add":"remove")+
"Class"]("ui-datepicker-multi");
inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+
"Class"]("ui-datepicker-rtl");
if(inst===$.datepicker._curInst&&$.datepicker._datepickerShowing&&$.datepicker._shouldFocusInput(inst)){
inst.input.trigger("focus");
}
if(inst.yearshtml){
origyearshtml=inst.yearshtml;
setTimeout(function(){
if(origyearshtml===inst.yearshtml&&inst.yearshtml){
inst.dpDiv.find("select.ui-datepicker-year").first().replaceWith(inst.yearshtml);
}
origyearshtml=inst.yearshtml=null;
},0);
}
if(onUpdateDatepicker){
onUpdateDatepicker.apply((inst.input?inst.input[0]:null),[inst]);
}
},
_shouldFocusInput:function(inst){
return inst.input&&inst.input.is(":visible")&&!inst.input.is(":disabled")&&!inst.input.is(":focus");
},
_checkOffset:function(inst,offset,isFixed){
var dpWidth=inst.dpDiv.outerWidth(),
dpHeight=inst.dpDiv.outerHeight(),
inputWidth=inst.input?inst.input.outerWidth():0,
inputHeight=inst.input?inst.input.outerHeight():0,
viewWidth=document.documentElement.clientWidth+(isFixed?0:$(document).scrollLeft()),
viewHeight=document.documentElement.clientHeight+(isFixed?0:$(document).scrollTop());
offset.left-=(this._get(inst,"isRTL")?(dpWidth-inputWidth):0);
offset.left-=(isFixed&&offset.left===inst.input.offset().left)?$(document).scrollLeft():0;
offset.top-=(isFixed&&offset.top===(inst.input.offset().top+inputHeight))?$(document).scrollTop():0;
offset.left-=Math.min(offset.left,(offset.left+dpWidth>viewWidth&&viewWidth>dpWidth)?
Math.abs(offset.left+dpWidth-viewWidth):0);
offset.top-=Math.min(offset.top,(offset.top+dpHeight>viewHeight&&viewHeight>dpHeight)?
Math.abs(dpHeight+inputHeight):0);
return offset;
},
_findPos:function(obj){
var position,
inst=this._getInst(obj),
isRTL=this._get(inst,"isRTL");
while(obj&&(obj.type==="hidden"||obj.nodeType!==1||$.expr.pseudos.hidden(obj))){
obj=obj[isRTL?"previousSibling":"nextSibling"];
}
position=$(obj).offset();
return[position.left,position.top];
},
_hideDatepicker:function(input){
var showAnim,duration,postProcess,onClose,
inst=this._curInst;
if(!inst||(input&&inst!==$.data(input,"datepicker"))){
return;
}
if(this._datepickerShowing){
showAnim=this._get(inst,"showAnim");
duration=this._get(inst,"duration");
postProcess=function(){
$.datepicker._tidyDialog(inst);
};
if($.effects&&($.effects.effect[showAnim]||$.effects[showAnim])){
inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess);
}else{
inst.dpDiv[(showAnim==="slideDown"?"slideUp":
(showAnim==="fadeIn"?"fadeOut":"hide"))]((showAnim?duration:null),postProcess);
}
if(!showAnim){
postProcess();
}
this._datepickerShowing=false;
onClose=this._get(inst,"onClose");
if(onClose){
onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst]);
}
this._lastInput=null;
if(this._inDialog){
this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});
if($.blockUI){
$.unblockUI();
$("body").append(this.dpDiv);
}
}
this._inDialog=false;
}
},
_tidyDialog:function(inst){
inst.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar");
},
_checkExternalClick:function(event){
if(!$.datepicker._curInst){
return;
}
var $target=$(event.target),
inst=$.datepicker._getInst($target[0]);
if((($target[0].id!==$.datepicker._mainDivId&&
$target.parents("#"+$.datepicker._mainDivId).length===0&&
!$target.hasClass($.datepicker.markerClassName)&&
!$target.closest("."+$.datepicker._triggerClass).length&&
$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)))||
($target.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!==inst)){
$.datepicker._hideDatepicker();
}
},
_adjustDate:function(id,offset,period){
var target=$(id),
inst=this._getInst(target[0]);
if(this._isDisabledDatepicker(target[0])){
return;
}
this._adjustInstDate(inst,offset,period);
this._updateDatepicker(inst);
},
_gotoToday:function(id){
var date,
target=$(id),
inst=this._getInst(target[0]);
if(this._get(inst,"gotoCurrent")&&inst.currentDay){
inst.selectedDay=inst.currentDay;
inst.drawMonth=inst.selectedMonth=inst.currentMonth;
inst.drawYear=inst.selectedYear=inst.currentYear;
}else{
date=new Date();
inst.selectedDay=date.getDate();
inst.drawMonth=inst.selectedMonth=date.getMonth();
inst.drawYear=inst.selectedYear=date.getFullYear();
}
this._notifyChange(inst);
this._adjustDate(target);
},
_selectMonthYear:function(id,select,period){
var target=$(id),
inst=this._getInst(target[0]);
inst["selected"+(period==="M"?"Month":"Year")]=
inst["draw"+(period==="M"?"Month":"Year")]=
parseInt(select.options[select.selectedIndex].value,10);
this._notifyChange(inst);
this._adjustDate(target);
},
_selectDay:function(id,month,year,td){
var inst,
target=$(id);
if($(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])){
return;
}
inst=this._getInst(target[0]);
inst.selectedDay=inst.currentDay=parseInt($("a",td).attr("data-date"));
inst.selectedMonth=inst.currentMonth=month;
inst.selectedYear=inst.currentYear=year;
this._selectDate(id,this._formatDate(inst,
inst.currentDay,inst.currentMonth,inst.currentYear));
},
_clearDate:function(id){
var target=$(id);
this._selectDate(target,"");
},
_selectDate:function(id,dateStr){
var onSelect,
target=$(id),
inst=this._getInst(target[0]);
dateStr=(dateStr!=null?dateStr:this._formatDate(inst));
if(inst.input){
inst.input.val(dateStr);
}
this._updateAlternate(inst);
onSelect=this._get(inst,"onSelect");
if(onSelect){
onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst]);
}else if(inst.input){
inst.input.trigger("change");
}
if(inst.inline){
this._updateDatepicker(inst);
}else{
this._hideDatepicker();
this._lastInput=inst.input[0];
if(typeof(inst.input[0])!=="object"){
inst.input.trigger("focus");
}
this._lastInput=null;
}
},
_updateAlternate:function(inst){
var altFormat,date,dateStr,
altField=this._get(inst,"altField");
if(altField){
altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat");
date=this._getDate(inst);
dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst));
$(document).find(altField).val(dateStr);
}
},
noWeekends:function(date){
var day=date.getDay();
return[(day>0&&day<6),""];
},
iso8601Week:function(date){
var time,
checkDate=new Date(date.getTime());
checkDate.setDate(checkDate.getDate()+4-(checkDate.getDay()||7));
time=checkDate.getTime();
checkDate.setMonth(0);
checkDate.setDate(1);
return Math.floor(Math.round((time-checkDate)/86400000)/7)+1;
},
parseDate:function(format,value,settings){
if(format==null||value==null){
throw"Invalid arguments";
}
value=(typeof value==="object"?value.toString():value+"");
if(value===""){
return null;
}
var iFormat,dim,extra,
iValue=0,
shortYearCutoffTemp=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff,
shortYearCutoff=(typeof shortYearCutoffTemp!=="string"?shortYearCutoffTemp:
new Date().getFullYear()%100+parseInt(shortYearCutoffTemp,10)),
dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort,
dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames,
monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort,
monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames,
year=-1,
month=-1,
day=-1,
doy=-1,
literal=false,
date,
lookAhead=function(match){
var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)===match);
if(matches){
iFormat++;
}
return matches;
},
getNumber=function(match){
var isDoubled=lookAhead(match),
size=(match==="@"?14:(match==="!"?20:
(match==="y"&&isDoubled?4:(match==="o"?3:2)))),
minSize=(match==="y"?size:1),
digits=new RegExp("^\\d{"+minSize+","+size+"}"),
num=value.substring(iValue).match(digits);
if(!num){
throw"Missing number at position "+iValue;
}
iValue+=num[0].length;
return parseInt(num[0],10);
},
getName=function(match,shortNames,longNames){
var index=-1,
names=$.map(lookAhead(match)?longNames:shortNames,function(v,k){
return[[k,v]];
}).sort(function(a,b){
return-(a[1].length-b[1].length);
});
$.each(names,function(i,pair){
var name=pair[1];
if(value.substr(iValue,name.length).toLowerCase()===name.toLowerCase()){
index=pair[0];
iValue+=name.length;
return false;
}
});
if(index!==-1){
return index+1;
}else{
throw"Unknown name at position "+iValue;
}
},
checkLiteral=function(){
if(value.charAt(iValue)!==format.charAt(iFormat)){
throw"Unexpected literal at position "+iValue;
}
iValue++;
};
for(iFormat=0;iFormat<format.length;iFormat++){
if(literal){
if(format.charAt(iFormat)==="'"&&!lookAhead("'")){
literal=false;
}else{
checkLiteral();
}
}else{
switch(format.charAt(iFormat)){
case"d":
day=getNumber("d");
break;
case"D":
getName("D",dayNamesShort,dayNames);
break;
case"o":
doy=getNumber("o");
break;
case"m":
month=getNumber("m");
break;
case"M":
month=getName("M",monthNamesShort,monthNames);
break;
case"y":
year=getNumber("y");
break;
case"@":
date=new Date(getNumber("@"));
year=date.getFullYear();
month=date.getMonth()+1;
day=date.getDate();
break;
case"!":
date=new Date((getNumber("!")-this._ticksTo1970)/10000);
year=date.getFullYear();
month=date.getMonth()+1;
day=date.getDate();
break;
case"'":
if(lookAhead("'")){
checkLiteral();
}else{
literal=true;
}
break;
default:
checkLiteral();
}
}
}
if(iValue<value.length){
extra=value.substr(iValue);
if(!/^\s+/.test(extra)){
throw"Extra/unparsed characters found in date: "+extra;
}
}
if(year===-1){
year=new Date().getFullYear();
}else if(year<100){
year+=new Date().getFullYear()-new Date().getFullYear()%100+
(year<=shortYearCutoff?0:-100);
}
if(doy>-1){
month=1;
day=doy;
do{
dim=this._getDaysInMonth(year,month-1);
if(day<=dim){
break;
}
month++;
day-=dim;
}while(true);
}
date=this._daylightSavingAdjust(new Date(year,month-1,day));
if(date.getFullYear()!==year||date.getMonth()+1!==month||date.getDate()!==day){
throw"Invalid date";
}
return date;
},
ATOM:"yy-mm-dd",
COOKIE:"D, dd M yy",
ISO_8601:"yy-mm-dd",
RFC_822:"D, d M y",
RFC_850:"DD, dd-M-y",
RFC_1036:"D, d M y",
RFC_1123:"D, d M yy",
RFC_2822:"D, d M yy",
RSS:"D, d M y",
TICKS:"!",
TIMESTAMP:"@",
W3C:"yy-mm-dd",
_ticksTo1970:(((1970-1)*365+Math.floor(1970/4)-Math.floor(1970/100)+
Math.floor(1970/400))*24*60*60*10000000),
formatDate:function(format,date,settings){
if(!date){
return"";
}
var iFormat,
dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort,
dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames,
monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort,
monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames,
lookAhead=function(match){
var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)===match);
if(matches){
iFormat++;
}
return matches;
},
formatNumber=function(match,value,len){
var num=""+value;
if(lookAhead(match)){
while(num.length<len){
num="0"+num;
}
}
return num;
},
formatName=function(match,value,shortNames,longNames){
return(lookAhead(match)?longNames[value]:shortNames[value]);
},
output="",
literal=false;
if(date){
for(iFormat=0;iFormat<format.length;iFormat++){
if(literal){
if(format.charAt(iFormat)==="'"&&!lookAhead("'")){
literal=false;
}else{
output+=format.charAt(iFormat);
}
}else{
switch(format.charAt(iFormat)){
case"d":
output+=formatNumber("d",date.getDate(),2);
break;
case"D":
output+=formatName("D",date.getDay(),dayNamesShort,dayNames);
break;
case"o":
output+=formatNumber("o",
Math.round((new Date(date.getFullYear(),date.getMonth(),date.getDate()).getTime()-new Date(date.getFullYear(),0,0).getTime())/86400000),3);
break;
case"m":
output+=formatNumber("m",date.getMonth()+1,2);
break;
case"M":
output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);
break;
case"y":
output+=(lookAhead("y")?date.getFullYear():
(date.getFullYear()%100<10?"0":"")+date.getFullYear()%100);
break;
case"@":
output+=date.getTime();
break;
case"!":
output+=date.getTime()*10000+this._ticksTo1970;
break;
case"'":
if(lookAhead("'")){
output+="'";
}else{
literal=true;
}
break;
default:
output+=format.charAt(iFormat);
}
}
}
}
return output;
},
_possibleChars:function(format){
var iFormat,
chars="",
literal=false,
lookAhead=function(match){
var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)===match);
if(matches){
iFormat++;
}
return matches;
};
for(iFormat=0;iFormat<format.length;iFormat++){
if(literal){
if(format.charAt(iFormat)==="'"&&!lookAhead("'")){
literal=false;
}else{
chars+=format.charAt(iFormat);
}
}else{
switch(format.charAt(iFormat)){
case"d":case"m":case"y":case"@":
chars+="0123456789";
break;
case"D":case"M":
return null;
case"'":
if(lookAhead("'")){
chars+="'";
}else{
literal=true;
}
break;
default:
chars+=format.charAt(iFormat);
}
}
}
return chars;
},
_get:function(inst,name){
return inst.settings[name]!==undefined?
inst.settings[name]:this._defaults[name];
},
_setDateFromField:function(inst,noDefault){
if(inst.input.val()===inst.lastVal){
return;
}
var dateFormat=this._get(inst,"dateFormat"),
dates=inst.lastVal=inst.input?inst.input.val():null,
defaultDate=this._getDefaultDate(inst),
date=defaultDate,
settings=this._getFormatConfig(inst);
try{
date=this.parseDate(dateFormat,dates,settings)||defaultDate;
}catch(event){
dates=(noDefault?"":dates);
}
inst.selectedDay=date.getDate();
inst.drawMonth=inst.selectedMonth=date.getMonth();
inst.drawYear=inst.selectedYear=date.getFullYear();
inst.currentDay=(dates?date.getDate():0);
inst.currentMonth=(dates?date.getMonth():0);
inst.currentYear=(dates?date.getFullYear():0);
this._adjustInstDate(inst);
},
_getDefaultDate:function(inst){
return this._restrictMinMax(inst,
this._determineDate(inst,this._get(inst,"defaultDate"),new Date()));
},
_determineDate:function(inst,date,defaultDate){
var offsetNumeric=function(offset){
var date=new Date();
date.setDate(date.getDate()+offset);
return date;
},
offsetString=function(offset){
try{
return $.datepicker.parseDate($.datepicker._get(inst,"dateFormat"),
offset,$.datepicker._getFormatConfig(inst));
}catch(e){
}
var date=(offset.toLowerCase().match(/^c/)?
$.datepicker._getDate(inst):null)||new Date(),
year=date.getFullYear(),
month=date.getMonth(),
day=date.getDate(),
pattern=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,
matches=pattern.exec(offset);
while(matches){
switch(matches[2]||"d"){
case"d":case"D":
day+=parseInt(matches[1],10);break;
case"w":case"W":
day+=parseInt(matches[1],10)*7;break;
case"m":case"M":
month+=parseInt(matches[1],10);
day=Math.min(day,$.datepicker._getDaysInMonth(year,month));
break;
case"y":case"Y":
year+=parseInt(matches[1],10);
day=Math.min(day,$.datepicker._getDaysInMonth(year,month));
break;
}
matches=pattern.exec(offset);
}
return new Date(year,month,day);
},
newDate=(date==null||date===""?defaultDate:(typeof date==="string"?offsetString(date):
(typeof date==="number"?(isNaN(date)?defaultDate:offsetNumeric(date)):new Date(date.getTime()))));
newDate=(newDate&&newDate.toString()==="Invalid Date"?defaultDate:newDate);
if(newDate){
newDate.setHours(0);
newDate.setMinutes(0);
newDate.setSeconds(0);
newDate.setMilliseconds(0);
}
return this._daylightSavingAdjust(newDate);
},
_daylightSavingAdjust:function(date){
if(!date){
return null;
}
date.setHours(date.getHours()>12?date.getHours()+2:0);
return date;
},
_setDate:function(inst,date,noChange){
var clear=!date,
origMonth=inst.selectedMonth,
origYear=inst.selectedYear,
newDate=this._restrictMinMax(inst,this._determineDate(inst,date,new Date()));
inst.selectedDay=inst.currentDay=newDate.getDate();
inst.drawMonth=inst.selectedMonth=inst.currentMonth=newDate.getMonth();
inst.drawYear=inst.selectedYear=inst.currentYear=newDate.getFullYear();
if((origMonth!==inst.selectedMonth||origYear!==inst.selectedYear)&&!noChange){
this._notifyChange(inst);
}
this._adjustInstDate(inst);
if(inst.input){
inst.input.val(clear?"":this._formatDate(inst));
}
},
_getDate:function(inst){
var startDate=(!inst.currentYear||(inst.input&&inst.input.val()==="")?null:
this._daylightSavingAdjust(new Date(
inst.currentYear,inst.currentMonth,inst.currentDay)));
return startDate;
},
_attachHandlers:function(inst){
var stepMonths=this._get(inst,"stepMonths"),
id="#"+inst.id.replace(/\\\\/g,"\\");
inst.dpDiv.find("[data-handler]").map(function(){
var handler={
prev:function(){
$.datepicker._adjustDate(id,-stepMonths,"M");
},
next:function(){
$.datepicker._adjustDate(id,+stepMonths,"M");
},
hide:function(){
$.datepicker._hideDatepicker();
},
today:function(){
$.datepicker._gotoToday(id);
},
selectDay:function(){
$.datepicker._selectDay(id,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this);
return false;
},
selectMonth:function(){
$.datepicker._selectMonthYear(id,this,"M");
return false;
},
selectYear:function(){
$.datepicker._selectMonthYear(id,this,"Y");
return false;
}
};
$(this).on(this.getAttribute("data-event"),handler[this.getAttribute("data-handler")]);
});
},
_generateHTML:function(inst){
var maxDraw,prevText,prev,nextText,next,currentText,gotoDate,
controls,buttonPanel,firstDay,showWeek,dayNames,dayNamesMin,
monthNames,monthNamesShort,beforeShowDay,showOtherMonths,
selectOtherMonths,defaultDate,html,dow,row,group,col,selectedDate,
cornerClass,calender,thead,day,daysInMonth,leadDays,curRows,numRows,
printDate,dRow,tbody,daySettings,otherMonth,unselectable,
tempDate=new Date(),
today=this._daylightSavingAdjust(
new Date(tempDate.getFullYear(),tempDate.getMonth(),tempDate.getDate())),
isRTL=this._get(inst,"isRTL"),
showButtonPanel=this._get(inst,"showButtonPanel"),
hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext"),
navigationAsDateFormat=this._get(inst,"navigationAsDateFormat"),
numMonths=this._getNumberOfMonths(inst),
showCurrentAtPos=this._get(inst,"showCurrentAtPos"),
stepMonths=this._get(inst,"stepMonths"),
isMultiMonth=(numMonths[0]!==1||numMonths[1]!==1),
currentDate=this._daylightSavingAdjust((!inst.currentDay?new Date(9999,9,9):
new Date(inst.currentYear,inst.currentMonth,inst.currentDay))),
minDate=this._getMinMaxDate(inst,"min"),
maxDate=this._getMinMaxDate(inst,"max"),
drawMonth=inst.drawMonth-showCurrentAtPos,
drawYear=inst.drawYear;
if(drawMonth<0){
drawMonth+=12;
drawYear--;
}
if(maxDate){
maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),
maxDate.getMonth()-(numMonths[0]*numMonths[1])+1,maxDate.getDate()));
maxDraw=(minDate&&maxDraw<minDate?minDate:maxDraw);
while(this._daylightSavingAdjust(new Date(drawYear,drawMonth,1))>maxDraw){
drawMonth--;
if(drawMonth<0){
drawMonth=11;
drawYear--;
}
}
}
inst.drawMonth=drawMonth;
inst.drawYear=drawYear;
prevText=this._get(inst,"prevText");
prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,
this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),
this._getFormatConfig(inst)));
if(this._canAdjustMonth(inst,-1,drawYear,drawMonth)){
prev=$("<a>")
.attr({
"class":"ui-datepicker-prev ui-corner-all",
"data-handler":"prev",
"data-event":"click",
title:prevText
})
.append(
$("<span>")
.addClass("ui-icon ui-icon-circle-triangle-"+
(isRTL?"e":"w"))
.text(prevText)
)[0].outerHTML;
}else if(hideIfNoPrevNext){
prev="";
}else{
prev=$("<a>")
.attr({
"class":"ui-datepicker-prev ui-corner-all ui-state-disabled",
title:prevText
})
.append(
$("<span>")
.addClass("ui-icon ui-icon-circle-triangle-"+
(isRTL?"e":"w"))
.text(prevText)
)[0].outerHTML;
}
nextText=this._get(inst,"nextText");
nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,
this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),
this._getFormatConfig(inst)));
if(this._canAdjustMonth(inst,+1,drawYear,drawMonth)){
next=$("<a>")
.attr({
"class":"ui-datepicker-next ui-corner-all",
"data-handler":"next",
"data-event":"click",
title:nextText
})
.append(
$("<span>")
.addClass("ui-icon ui-icon-circle-triangle-"+
(isRTL?"w":"e"))
.text(nextText)
)[0].outerHTML;
}else if(hideIfNoPrevNext){
next="";
}else{
next=$("<a>")
.attr({
"class":"ui-datepicker-next ui-corner-all ui-state-disabled",
title:nextText
})
.append(
$("<span>")
.attr("class","ui-icon ui-icon-circle-triangle-"+
(isRTL?"w":"e"))
.text(nextText)
)[0].outerHTML;
}
currentText=this._get(inst,"currentText");
gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);
currentText=(!navigationAsDateFormat?currentText:
this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));
controls="";
if(!inst.inline){
controls=$("<button>")
.attr({
type:"button",
"class":"ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all",
"data-handler":"hide",
"data-event":"click"
})
.text(this._get(inst,"closeText"))[0].outerHTML;
}
buttonPanel="";
if(showButtonPanel){
buttonPanel=$("<div class='ui-datepicker-buttonpane ui-widget-content'>")
.append(isRTL?controls:"")
.append(this._isInRange(inst,gotoDate)?
$("<button>")
.attr({
type:"button",
"class":"ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all",
"data-handler":"today",
"data-event":"click"
})
.text(currentText):
"")
.append(isRTL?"":controls)[0].outerHTML;
}
firstDay=parseInt(this._get(inst,"firstDay"),10);
firstDay=(isNaN(firstDay)?0:firstDay);
showWeek=this._get(inst,"showWeek");
dayNames=this._get(inst,"dayNames");
dayNamesMin=this._get(inst,"dayNamesMin");
monthNames=this._get(inst,"monthNames");
monthNamesShort=this._get(inst,"monthNamesShort");
beforeShowDay=this._get(inst,"beforeShowDay");
showOtherMonths=this._get(inst,"showOtherMonths");
selectOtherMonths=this._get(inst,"selectOtherMonths");
defaultDate=this._getDefaultDate(inst);
html="";
for(row=0;row<numMonths[0];row++){
group="";
this.maxRows=4;
for(col=0;col<numMonths[1];col++){
selectedDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,inst.selectedDay));
cornerClass=" ui-corner-all";
calender="";
if(isMultiMonth){
calender+="<div class='ui-datepicker-group";
if(numMonths[1]>1){
switch(col){
case 0:calender+=" ui-datepicker-group-first";
cornerClass=" ui-corner-"+(isRTL?"right":"left");break;
case numMonths[1]-1:calender+=" ui-datepicker-group-last";
cornerClass=" ui-corner-"+(isRTL?"left":"right");break;
default:calender+=" ui-datepicker-group-middle";cornerClass="";break;
}
}
calender+="'>";
}
calender+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+cornerClass+"'>"+
(/all|left/.test(cornerClass)&&row===0?(isRTL?next:prev):"")+
(/all|right/.test(cornerClass)&&row===0?(isRTL?prev:next):"")+
this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,
row>0||col>0,monthNames,monthNamesShort)+
"</div><table class='ui-datepicker-calendar'><thead>"+
"<tr>";
thead=(showWeek?"<th class='ui-datepicker-week-col'>"+this._get(inst,"weekHeader")+"</th>":"");
for(dow=0;dow<7;dow++){
day=(dow+firstDay)%7;
thead+="<th scope='col'"+((dow+firstDay+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+
"<span title='"+dayNames[day]+"'>"+dayNamesMin[day]+"</span></th>";
}
calender+=thead+"</tr></thead><tbody>";
daysInMonth=this._getDaysInMonth(drawYear,drawMonth);
if(drawYear===inst.selectedYear&&drawMonth===inst.selectedMonth){
inst.selectedDay=Math.min(inst.selectedDay,daysInMonth);
}
leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;
curRows=Math.ceil((leadDays+daysInMonth)/7);
numRows=(isMultiMonth?this.maxRows>curRows?this.maxRows:curRows:curRows);
this.maxRows=numRows;
printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));
for(dRow=0;dRow<numRows;dRow++){
calender+="<tr>";
tbody=(!showWeek?"":"<td class='ui-datepicker-week-col'>"+
this._get(inst,"calculateWeek")(printDate)+"</td>");
for(dow=0;dow<7;dow++){
daySettings=(beforeShowDay?
beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);
otherMonth=(printDate.getMonth()!==drawMonth);
unselectable=(otherMonth&&!selectOtherMonths)||!daySettings[0]||
(minDate&&printDate<minDate)||(maxDate&&printDate>maxDate);
tbody+="<td class='"+
((dow+firstDay+6)%7>=5?" ui-datepicker-week-end":"")+
(otherMonth?" ui-datepicker-other-month":"")+
((printDate.getTime()===selectedDate.getTime()&&drawMonth===inst.selectedMonth&&inst._keyEvent)||
(defaultDate.getTime()===printDate.getTime()&&defaultDate.getTime()===selectedDate.getTime())?
" "+this._dayOverClass:"")+
(unselectable?" "+this._unselectableClass+" ui-state-disabled":"")+
(otherMonth&&!showOtherMonths?"":" "+daySettings[1]+
(printDate.getTime()===currentDate.getTime()?" "+this._currentClass:"")+
(printDate.getTime()===today.getTime()?" ui-datepicker-today":""))+"'"+
((!otherMonth||showOtherMonths)&&daySettings[2]?" title='"+daySettings[2].replace(/'/g,"&#39;")+"'":"")+
(unselectable?"":" data-handler='selectDay' data-event='click' data-month='"+printDate.getMonth()+"' data-year='"+printDate.getFullYear()+"'")+">"+
(otherMonth&&!showOtherMonths?"&#xa0;":
(unselectable?"<span class='ui-state-default'>"+printDate.getDate()+"</span>":"<a class='ui-state-default"+
(printDate.getTime()===today.getTime()?" ui-state-highlight":"")+
(printDate.getTime()===currentDate.getTime()?" ui-state-active":"")+
(otherMonth?" ui-priority-secondary":"")+
"' href='#' aria-current='"+(printDate.getTime()===currentDate.getTime()?"true":"false")+
"' data-date='"+printDate.getDate()+
"'>"+printDate.getDate()+"</a>"))+"</td>";
printDate.setDate(printDate.getDate()+1);
printDate=this._daylightSavingAdjust(printDate);
}
calender+=tbody+"</tr>";
}
drawMonth++;
if(drawMonth>11){
drawMonth=0;
drawYear++;
}
calender+="</tbody></table>"+(isMultiMonth?"</div>"+
((numMonths[0]>0&&col===numMonths[1]-1)?"<div class='ui-datepicker-row-break'></div>":""):"");
group+=calender;
}
html+=group;
}
html+=buttonPanel;
inst._keyEvent=false;
return html;
},
_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,
secondary,monthNames,monthNamesShort){
var inMinYear,inMaxYear,month,years,thisYear,determineYear,year,endYear,
changeMonth=this._get(inst,"changeMonth"),
changeYear=this._get(inst,"changeYear"),
showMonthAfterYear=this._get(inst,"showMonthAfterYear"),
selectMonthLabel=this._get(inst,"selectMonthLabel"),
selectYearLabel=this._get(inst,"selectYearLabel"),
html="<div class='ui-datepicker-title'>",
monthHtml="";
if(secondary||!changeMonth){
monthHtml+="<span class='ui-datepicker-month'>"+monthNames[drawMonth]+"</span>";
}else{
inMinYear=(minDate&&minDate.getFullYear()===drawYear);
inMaxYear=(maxDate&&maxDate.getFullYear()===drawYear);
monthHtml+="<select class='ui-datepicker-month' aria-label='"+selectMonthLabel+"' data-handler='selectMonth' data-event='change'>";
for(month=0;month<12;month++){
if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){
monthHtml+="<option value='"+month+"'"+
(month===drawMonth?" selected='selected'":"")+
">"+monthNamesShort[month]+"</option>";
}
}
monthHtml+="</select>";
}
if(!showMonthAfterYear){
html+=monthHtml+(secondary||!(changeMonth&&changeYear)?"&#xa0;":"");
}
if(!inst.yearshtml){
inst.yearshtml="";
if(secondary||!changeYear){
html+="<span class='ui-datepicker-year'>"+drawYear+"</span>";
}else{
years=this._get(inst,"yearRange").split(":");
thisYear=new Date().getFullYear();
determineYear=function(value){
var year=(value.match(/c[+\-].*/)?drawYear+parseInt(value.substring(1),10):
(value.match(/[+\-].*/)?thisYear+parseInt(value,10):
parseInt(value,10)));
return(isNaN(year)?thisYear:year);
};
year=determineYear(years[0]);
endYear=Math.max(year,determineYear(years[1]||""));
year=(minDate?Math.max(year,minDate.getFullYear()):year);
endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);
inst.yearshtml+="<select class='ui-datepicker-year' aria-label='"+selectYearLabel+"' data-handler='selectYear' data-event='change'>";
for(;year<=endYear;year++){
inst.yearshtml+="<option value='"+year+"'"+
(year===drawYear?" selected='selected'":"")+
">"+year+"</option>";
}
inst.yearshtml+="</select>";
html+=inst.yearshtml;
inst.yearshtml=null;
}
}
html+=this._get(inst,"yearSuffix");
if(showMonthAfterYear){
html+=(secondary||!(changeMonth&&changeYear)?"&#xa0;":"")+monthHtml;
}
html+="</div>";
return html;
},
_adjustInstDate:function(inst,offset,period){
var year=inst.selectedYear+(period==="Y"?offset:0),
month=inst.selectedMonth+(period==="M"?offset:0),
day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period==="D"?offset:0),
date=this._restrictMinMax(inst,this._daylightSavingAdjust(new Date(year,month,day)));
inst.selectedDay=date.getDate();
inst.drawMonth=inst.selectedMonth=date.getMonth();
inst.drawYear=inst.selectedYear=date.getFullYear();
if(period==="M"||period==="Y"){
this._notifyChange(inst);
}
},
_restrictMinMax:function(inst,date){
var minDate=this._getMinMaxDate(inst,"min"),
maxDate=this._getMinMaxDate(inst,"max"),
newDate=(minDate&&date<minDate?minDate:date);
return(maxDate&&newDate>maxDate?maxDate:newDate);
},
_notifyChange:function(inst){
var onChange=this._get(inst,"onChangeMonthYear");
if(onChange){
onChange.apply((inst.input?inst.input[0]:null),
[inst.selectedYear,inst.selectedMonth+1,inst]);
}
},
_getNumberOfMonths:function(inst){
var numMonths=this._get(inst,"numberOfMonths");
return(numMonths==null?[1,1]:(typeof numMonths==="number"?[1,numMonths]:numMonths));
},
_getMinMaxDate:function(inst,minMax){
return this._determineDate(inst,this._get(inst,minMax+"Date"),null);
},
_getDaysInMonth:function(year,month){
return 32-this._daylightSavingAdjust(new Date(year,month,32)).getDate();
},
_getFirstDayOfMonth:function(year,month){
return new Date(year,month,1).getDay();
},
_canAdjustMonth:function(inst,offset,curYear,curMonth){
var numMonths=this._getNumberOfMonths(inst),
date=this._daylightSavingAdjust(new Date(curYear,
curMonth+(offset<0?offset:numMonths[0]*numMonths[1]),1));
if(offset<0){
date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()));
}
return this._isInRange(inst,date);
},
_isInRange:function(inst,date){
var yearSplit,currentYear,
minDate=this._getMinMaxDate(inst,"min"),
maxDate=this._getMinMaxDate(inst,"max"),
minYear=null,
maxYear=null,
years=this._get(inst,"yearRange");
if(years){
yearSplit=years.split(":");
currentYear=new Date().getFullYear();
minYear=parseInt(yearSplit[0],10);
maxYear=parseInt(yearSplit[1],10);
if(yearSplit[0].match(/[+\-].*/)){
minYear+=currentYear;
}
if(yearSplit[1].match(/[+\-].*/)){
maxYear+=currentYear;
}
}
return((!minDate||date.getTime()>=minDate.getTime())&&
(!maxDate||date.getTime()<=maxDate.getTime())&&
(!minYear||date.getFullYear()>=minYear)&&
(!maxYear||date.getFullYear()<=maxYear));
},
_getFormatConfig:function(inst){
var shortYearCutoff=this._get(inst,"shortYearCutoff");
shortYearCutoff=(typeof shortYearCutoff!=="string"?shortYearCutoff:
new Date().getFullYear()%100+parseInt(shortYearCutoff,10));
return{shortYearCutoff:shortYearCutoff,
dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),
monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")};
},
_formatDate:function(inst,day,month,year){
if(!day){
inst.currentDay=inst.selectedDay;
inst.currentMonth=inst.selectedMonth;
inst.currentYear=inst.selectedYear;
}
var date=(day?(typeof day==="object"?day:
this._daylightSavingAdjust(new Date(year,month,day))):
this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));
return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst));
}
});
function datepicker_bindHover(dpDiv){
var selector="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
return dpDiv.on("mouseout",selector,function(){
$(this).removeClass("ui-state-hover");
if(this.className.indexOf("ui-datepicker-prev")!==-1){
$(this).removeClass("ui-datepicker-prev-hover");
}
if(this.className.indexOf("ui-datepicker-next")!==-1){
$(this).removeClass("ui-datepicker-next-hover");
}
})
.on("mouseover",selector,datepicker_handleMouseover);
}
function datepicker_handleMouseover(){
if(!$.datepicker._isDisabledDatepicker(datepicker_instActive.inline?datepicker_instActive.dpDiv.parent()[0]:datepicker_instActive.input[0])){
$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
$(this).addClass("ui-state-hover");
if(this.className.indexOf("ui-datepicker-prev")!==-1){
$(this).addClass("ui-datepicker-prev-hover");
}
if(this.className.indexOf("ui-datepicker-next")!==-1){
$(this).addClass("ui-datepicker-next-hover");
}
}
}
function datepicker_extendRemove(target,props){
$.extend(target,props);
for(var name in props){
if(props[name]==null){
target[name]=props[name];
}
}
return target;
}
$.fn.datepicker=function(options){
if(!this.length){
return this;
}
if(!$.datepicker.initialized){
$(document).on("mousedown",$.datepicker._checkExternalClick);
$.datepicker.initialized=true;
}
if($("#"+$.datepicker._mainDivId).length===0){
$("body").append($.datepicker.dpDiv);
}
var otherArgs=Array.prototype.slice.call(arguments,1);
if(typeof options==="string"&&(options==="isDisabled"||options==="getDate"||options==="widget")){
return $.datepicker["_"+options+"Datepicker"].
apply($.datepicker,[this[0]].concat(otherArgs));
}
if(options==="option"&&arguments.length===2&&typeof arguments[1]==="string"){
return $.datepicker["_"+options+"Datepicker"].
apply($.datepicker,[this[0]].concat(otherArgs));
}
return this.each(function(){
if(typeof options==="string"){
$.datepicker["_"+options+"Datepicker"]
.apply($.datepicker,[this].concat(otherArgs));
}else{
$.datepicker._attachDatepicker(this,options);
}
});
};
$.datepicker=new Datepicker();
$.datepicker.initialized=false;
$.datepicker.uuid=new Date().getTime();
$.datepicker.version="1.13.2";
var widgetsDatepicker=$.datepicker;
$.widget("ui.dialog",{
version:"1.13.2",
options:{
appendTo:"body",
autoOpen:true,
buttons:[],
classes:{
"ui-dialog":"ui-corner-all",
"ui-dialog-titlebar":"ui-corner-all"
},
closeOnEscape:true,
closeText:"Close",
draggable:true,
hide:null,
height:"auto",
maxHeight:null,
maxWidth:null,
minHeight:150,
minWidth:150,
modal:false,
position:{
my:"center",
at:"center",
of:window,
collision:"fit",
using:function(pos){
var topOffset=$(this).css(pos).offset().top;
if(topOffset<0){
$(this).css("top",pos.top-topOffset);
}
}
},
resizable:true,
show:null,
title:null,
width:300,
beforeClose:null,
close:null,
drag:null,
dragStart:null,
dragStop:null,
focus:null,
open:null,
resize:null,
resizeStart:null,
resizeStop:null
},
sizeRelatedOptions:{
buttons:true,
height:true,
maxHeight:true,
maxWidth:true,
minHeight:true,
minWidth:true,
width:true
},
resizableRelatedOptions:{
maxHeight:true,
maxWidth:true,
minHeight:true,
minWidth:true
},
_create:function(){
this.originalCss={
display:this.element[0].style.display,
width:this.element[0].style.width,
minHeight:this.element[0].style.minHeight,
maxHeight:this.element[0].style.maxHeight,
height:this.element[0].style.height
};
this.originalPosition={
parent:this.element.parent(),
index:this.element.parent().children().index(this.element)
};
this.originalTitle=this.element.attr("title");
if(this.options.title==null&&this.originalTitle!=null){
this.options.title=this.originalTitle;
}
if(this.options.disabled){
this.options.disabled=false;
}
this._createWrapper();
this.element
.show()
.removeAttr("title")
.appendTo(this.uiDialog);
this._addClass("ui-dialog-content","ui-widget-content");
this._createTitlebar();
this._createButtonPane();
if(this.options.draggable&&$.fn.draggable){
this._makeDraggable();
}
if(this.options.resizable&&$.fn.resizable){
this._makeResizable();
}
this._isOpen=false;
this._trackFocus();
},
_init:function(){
if(this.options.autoOpen){
this.open();
}
},
_appendTo:function(){
var element=this.options.appendTo;
if(element&&(element.jquery||element.nodeType)){
return $(element);
}
return this.document.find(element||"body").eq(0);
},
_destroy:function(){
var next,
originalPosition=this.originalPosition;
this._untrackInstance();
this._destroyOverlay();
this.element
.removeUniqueId()
.css(this.originalCss)
.detach();
this.uiDialog.remove();
if(this.originalTitle){
this.element.attr("title",this.originalTitle);
}
next=originalPosition.parent.children().eq(originalPosition.index);
if(next.length&&next[0]!==this.element[0]){
next.before(this.element);
}else{
originalPosition.parent.append(this.element);
}
},
widget:function(){
return this.uiDialog;
},
disable:$.noop,
enable:$.noop,
close:function(event){
var that=this;
if(!this._isOpen||this._trigger("beforeClose",event)===false){
return;
}
this._isOpen=false;
this._focusedElement=null;
this._destroyOverlay();
this._untrackInstance();
if(!this.opener.filter(":focusable").trigger("focus").length){
$.ui.safeBlur($.ui.safeActiveElement(this.document[0]));
}
this._hide(this.uiDialog,this.options.hide,function(){
that._trigger("close",event);
});
},
isOpen:function(){
return this._isOpen;
},
moveToTop:function(){
this._moveToTop();
},
_moveToTop:function(event,silent){
var moved=false,
zIndices=this.uiDialog.siblings(".ui-front:visible").map(function(){
return+$(this).css("z-index");
}).get(),
zIndexMax=Math.max.apply(null,zIndices);
if(zIndexMax>=+this.uiDialog.css("z-index")){
this.uiDialog.css("z-index",zIndexMax+1);
moved=true;
}
if(moved&&!silent){
this._trigger("focus",event);
}
return moved;
},
open:function(){
var that=this;
if(this._isOpen){
if(this._moveToTop()){
this._focusTabbable();
}
return;
}
this._isOpen=true;
this.opener=$($.ui.safeActiveElement(this.document[0]));
this._size();
this._position();
this._createOverlay();
this._moveToTop(null,true);
if(this.overlay){
this.overlay.css("z-index",this.uiDialog.css("z-index")-1);
}
this._show(this.uiDialog,this.options.show,function(){
that._focusTabbable();
that._trigger("focus");
});
this._makeFocusTarget();
this._trigger("open");
},
_focusTabbable:function(){
var hasFocus=this._focusedElement;
if(!hasFocus){
hasFocus=this.element.find("[autofocus]");
}
if(!hasFocus.length){
hasFocus=this.element.find(":tabbable");
}
if(!hasFocus.length){
hasFocus=this.uiDialogButtonPane.find(":tabbable");
}
if(!hasFocus.length){
hasFocus=this.uiDialogTitlebarClose.filter(":tabbable");
}
if(!hasFocus.length){
hasFocus=this.uiDialog;
}
hasFocus.eq(0).trigger("focus");
},
_restoreTabbableFocus:function(){
var activeElement=$.ui.safeActiveElement(this.document[0]),
isActive=this.uiDialog[0]===activeElement||
$.contains(this.uiDialog[0],activeElement);
if(!isActive){
this._focusTabbable();
}
},
_keepFocus:function(event){
event.preventDefault();
this._restoreTabbableFocus();
this._delay(this._restoreTabbableFocus);
},
_createWrapper:function(){
this.uiDialog=$("<div>")
.hide()
.attr({
tabIndex:-1,
role:"dialog"
})
.appendTo(this._appendTo());
this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front");
this._on(this.uiDialog,{
keydown:function(event){
if(this.options.closeOnEscape&&!event.isDefaultPrevented()&&event.keyCode&&
event.keyCode===$.ui.keyCode.ESCAPE){
event.preventDefault();
this.close(event);
return;
}
if(event.keyCode!==$.ui.keyCode.TAB||event.isDefaultPrevented()){
return;
}
var tabbables=this.uiDialog.find(":tabbable"),
first=tabbables.first(),
last=tabbables.last();
if((event.target===last[0]||event.target===this.uiDialog[0])&&
!event.shiftKey){
this._delay(function(){
first.trigger("focus");
});
event.preventDefault();
}else if((event.target===first[0]||
event.target===this.uiDialog[0])&&event.shiftKey){
this._delay(function(){
last.trigger("focus");
});
event.preventDefault();
}
},
mousedown:function(event){
if(this._moveToTop(event)){
this._focusTabbable();
}
}
});
if(!this.element.find("[aria-describedby]").length){
this.uiDialog.attr({
"aria-describedby":this.element.uniqueId().attr("id")
});
}
},
_createTitlebar:function(){
var uiDialogTitle;
this.uiDialogTitlebar=$("<div>");
this._addClass(this.uiDialogTitlebar,
"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix");
this._on(this.uiDialogTitlebar,{
mousedown:function(event){
if(!$(event.target).closest(".ui-dialog-titlebar-close")){
this.uiDialog.trigger("focus");
}
}
});
this.uiDialogTitlebarClose=$("<button type='button'></button>")
.button({
label:$("<a>").text(this.options.closeText).html(),
icon:"ui-icon-closethick",
showLabel:false
})
.appendTo(this.uiDialogTitlebar);
this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close");
this._on(this.uiDialogTitlebarClose,{
click:function(event){
event.preventDefault();
this.close(event);
}
});
uiDialogTitle=$("<span>").uniqueId().prependTo(this.uiDialogTitlebar);
this._addClass(uiDialogTitle,"ui-dialog-title");
this._title(uiDialogTitle);
this.uiDialogTitlebar.prependTo(this.uiDialog);
this.uiDialog.attr({
"aria-labelledby":uiDialogTitle.attr("id")
});
},
_title:function(title){
if(this.options.title){
title.text(this.options.title);
}else{
title.html("&#160;");
}
},
_createButtonPane:function(){
this.uiDialogButtonPane=$("<div>");
this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane",
"ui-widget-content ui-helper-clearfix");
this.uiButtonSet=$("<div>")
.appendTo(this.uiDialogButtonPane);
this._addClass(this.uiButtonSet,"ui-dialog-buttonset");
this._createButtons();
},
_createButtons:function(){
var that=this,
buttons=this.options.buttons;
this.uiDialogButtonPane.remove();
this.uiButtonSet.empty();
if($.isEmptyObject(buttons)||(Array.isArray(buttons)&&!buttons.length)){
this._removeClass(this.uiDialog,"ui-dialog-buttons");
return;
}
$.each(buttons,function(name,props){
var click,buttonOptions;
props=typeof props==="function"?
{click:props,text:name}:
props;
props=$.extend({type:"button"},props);
click=props.click;
buttonOptions={
icon:props.icon,
iconPosition:props.iconPosition,
showLabel:props.showLabel,
icons:props.icons,
text:props.text
};
delete props.click;
delete props.icon;
delete props.iconPosition;
delete props.showLabel;
delete props.icons;
if(typeof props.text==="boolean"){
delete props.text;
}
$("<button></button>",props)
.button(buttonOptions)
.appendTo(that.uiButtonSet)
.on("click",function(){
click.apply(that.element[0],arguments);
});
});
this._addClass(this.uiDialog,"ui-dialog-buttons");
this.uiDialogButtonPane.appendTo(this.uiDialog);
},
_makeDraggable:function(){
var that=this,
options=this.options;
function filteredUi(ui){
return{
position:ui.position,
offset:ui.offset
};
}
this.uiDialog.draggable({
cancel:".ui-dialog-content, .ui-dialog-titlebar-close",
handle:".ui-dialog-titlebar",
containment:"document",
start:function(event,ui){
that._addClass($(this),"ui-dialog-dragging");
that._blockFrames();
that._trigger("dragStart",event,filteredUi(ui));
},
drag:function(event,ui){
that._trigger("drag",event,filteredUi(ui));
},
stop:function(event,ui){
var left=ui.offset.left-that.document.scrollLeft(),
top=ui.offset.top-that.document.scrollTop();
options.position={
my:"left top",
at:"left"+(left>=0?"+":"")+left+" "+
"top"+(top>=0?"+":"")+top,
of:that.window
};
that._removeClass($(this),"ui-dialog-dragging");
that._unblockFrames();
that._trigger("dragStop",event,filteredUi(ui));
}
});
},
_makeResizable:function(){
var that=this,
options=this.options,
handles=options.resizable,
position=this.uiDialog.css("position"),
resizeHandles=typeof handles==="string"?
handles:
"n,e,s,w,se,sw,ne,nw";
function filteredUi(ui){
return{
originalPosition:ui.originalPosition,
originalSize:ui.originalSize,
position:ui.position,
size:ui.size
};
}
this.uiDialog.resizable({
cancel:".ui-dialog-content",
containment:"document",
alsoResize:this.element,
maxWidth:options.maxWidth,
maxHeight:options.maxHeight,
minWidth:options.minWidth,
minHeight:this._minHeight(),
handles:resizeHandles,
start:function(event,ui){
that._addClass($(this),"ui-dialog-resizing");
that._blockFrames();
that._trigger("resizeStart",event,filteredUi(ui));
},
resize:function(event,ui){
that._trigger("resize",event,filteredUi(ui));
},
stop:function(event,ui){
var offset=that.uiDialog.offset(),
left=offset.left-that.document.scrollLeft(),
top=offset.top-that.document.scrollTop();
options.height=that.uiDialog.height();
options.width=that.uiDialog.width();
options.position={
my:"left top",
at:"left"+(left>=0?"+":"")+left+" "+
"top"+(top>=0?"+":"")+top,
of:that.window
};
that._removeClass($(this),"ui-dialog-resizing");
that._unblockFrames();
that._trigger("resizeStop",event,filteredUi(ui));
}
})
.css("position",position);
},
_trackFocus:function(){
this._on(this.widget(),{
focusin:function(event){
this._makeFocusTarget();
this._focusedElement=$(event.target);
}
});
},
_makeFocusTarget:function(){
this._untrackInstance();
this._trackingInstances().unshift(this);
},
_untrackInstance:function(){
var instances=this._trackingInstances(),
exists=$.inArray(this,instances);
if(exists!==-1){
instances.splice(exists,1);
}
},
_trackingInstances:function(){
var instances=this.document.data("ui-dialog-instances");
if(!instances){
instances=[];
this.document.data("ui-dialog-instances",instances);
}
return instances;
},
_minHeight:function(){
var options=this.options;
return options.height==="auto"?
options.minHeight:
Math.min(options.minHeight,options.height);
},
_position:function(){
var isVisible=this.uiDialog.is(":visible");
if(!isVisible){
this.uiDialog.show();
}
this.uiDialog.position(this.options.position);
if(!isVisible){
this.uiDialog.hide();
}
},
_setOptions:function(options){
var that=this,
resize=false,
resizableOptions={};
$.each(options,function(key,value){
that._setOption(key,value);
if(key in that.sizeRelatedOptions){
resize=true;
}
if(key in that.resizableRelatedOptions){
resizableOptions[key]=value;
}
});
if(resize){
this._size();
this._position();
}
if(this.uiDialog.is(":data(ui-resizable)")){
this.uiDialog.resizable("option",resizableOptions);
}
},
_setOption:function(key,value){
var isDraggable,isResizable,
uiDialog=this.uiDialog;
if(key==="disabled"){
return;
}
this._super(key,value);
if(key==="appendTo"){
this.uiDialog.appendTo(this._appendTo());
}
if(key==="buttons"){
this._createButtons();
}
if(key==="closeText"){
this.uiDialogTitlebarClose.button({
label:$("<a>").text(""+this.options.closeText).html()
});
}
if(key==="draggable"){
isDraggable=uiDialog.is(":data(ui-draggable)");
if(isDraggable&&!value){
uiDialog.draggable("destroy");
}
if(!isDraggable&&value){
this._makeDraggable();
}
}
if(key==="position"){
this._position();
}
if(key==="resizable"){
isResizable=uiDialog.is(":data(ui-resizable)");
if(isResizable&&!value){
uiDialog.resizable("destroy");
}
if(isResizable&&typeof value==="string"){
uiDialog.resizable("option","handles",value);
}
if(!isResizable&&value!==false){
this._makeResizable();
}
}
if(key==="title"){
this._title(this.uiDialogTitlebar.find(".ui-dialog-title"));
}
},
_size:function(){
var nonContentHeight,minContentHeight,maxContentHeight,
options=this.options;
this.element.show().css({
width:"auto",
minHeight:0,
maxHeight:"none",
height:0
});
if(options.minWidth>options.width){
options.width=options.minWidth;
}
nonContentHeight=this.uiDialog.css({
height:"auto",
width:options.width
})
.outerHeight();
minContentHeight=Math.max(0,options.minHeight-nonContentHeight);
maxContentHeight=typeof options.maxHeight==="number"?
Math.max(0,options.maxHeight-nonContentHeight):
"none";
if(options.height==="auto"){
this.element.css({
minHeight:minContentHeight,
maxHeight:maxContentHeight,
height:"auto"
});
}else{
this.element.height(Math.max(0,options.height-nonContentHeight));
}
if(this.uiDialog.is(":data(ui-resizable)")){
this.uiDialog.resizable("option","minHeight",this._minHeight());
}
},
_blockFrames:function(){
this.iframeBlocks=this.document.find("iframe").map(function(){
var iframe=$(this);
return $("<div>")
.css({
position:"absolute",
width:iframe.outerWidth(),
height:iframe.outerHeight()
})
.appendTo(iframe.parent())
.offset(iframe.offset())[0];
});
},
_unblockFrames:function(){
if(this.iframeBlocks){
this.iframeBlocks.remove();
delete this.iframeBlocks;
}
},
_allowInteraction:function(event){
if($(event.target).closest(".ui-dialog").length){
return true;
}
return!!$(event.target).closest(".ui-datepicker").length;
},
_createOverlay:function(){
if(!this.options.modal){
return;
}
var jqMinor=$.fn.jquery.substring(0,4);
var isOpening=true;
this._delay(function(){
isOpening=false;
});
if(!this.document.data("ui-dialog-overlays")){
this.document.on("focusin.ui-dialog",function(event){
if(isOpening){
return;
}
var instance=this._trackingInstances()[0];
if(!instance._allowInteraction(event)){
event.preventDefault();
instance._focusTabbable();
if(jqMinor==="3.4."||jqMinor==="3.5."){
instance._delay(instance._restoreTabbableFocus);
}
}
}.bind(this));
}
this.overlay=$("<div>")
.appendTo(this._appendTo());
this._addClass(this.overlay,null,"ui-widget-overlay ui-front");
this._on(this.overlay,{
mousedown:"_keepFocus"
});
this.document.data("ui-dialog-overlays",
(this.document.data("ui-dialog-overlays")||0)+1);
},
_destroyOverlay:function(){
if(!this.options.modal){
return;
}
if(this.overlay){
var overlays=this.document.data("ui-dialog-overlays")-1;
if(!overlays){
this.document.off("focusin.ui-dialog");
this.document.removeData("ui-dialog-overlays");
}else{
this.document.data("ui-dialog-overlays",overlays);
}
this.overlay.remove();
this.overlay=null;
}
}
});
if($.uiBackCompat!==false){
$.widget("ui.dialog",$.ui.dialog,{
options:{
dialogClass:""
},
_createWrapper:function(){
this._super();
this.uiDialog.addClass(this.options.dialogClass);
},
_setOption:function(key,value){
if(key==="dialogClass"){
this.uiDialog
.removeClass(this.options.dialogClass)
.addClass(value);
}
this._superApply(arguments);
}
});
}
var widgetsDialog=$.ui.dialog;
var widgetsProgressbar=$.widget("ui.progressbar",{
version:"1.13.2",
options:{
classes:{
"ui-progressbar":"ui-corner-all",
"ui-progressbar-value":"ui-corner-left",
"ui-progressbar-complete":"ui-corner-right"
},
max:100,
value:0,
change:null,
complete:null
},
min:0,
_create:function(){
this.oldValue=this.options.value=this._constrainedValue();
this.element.attr({
role:"progressbar",
"aria-valuemin":this.min
});
this._addClass("ui-progressbar","ui-widget ui-widget-content");
this.valueDiv=$("<div>").appendTo(this.element);
this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header");
this._refreshValue();
},
_destroy:function(){
this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow");
this.valueDiv.remove();
},
value:function(newValue){
if(newValue===undefined){
return this.options.value;
}
this.options.value=this._constrainedValue(newValue);
this._refreshValue();
},
_constrainedValue:function(newValue){
if(newValue===undefined){
newValue=this.options.value;
}
this.indeterminate=newValue===false;
if(typeof newValue!=="number"){
newValue=0;
}
return this.indeterminate?false:
Math.min(this.options.max,Math.max(this.min,newValue));
},
_setOptions:function(options){
var value=options.value;
delete options.value;
this._super(options);
this.options.value=this._constrainedValue(value);
this._refreshValue();
},
_setOption:function(key,value){
if(key==="max"){
value=Math.max(this.min,value);
}
this._super(key,value);
},
_setOptionDisabled:function(value){
this._super(value);
this.element.attr("aria-disabled",value);
this._toggleClass(null,"ui-state-disabled",!!value);
},
_percentage:function(){
return this.indeterminate?
100:
100*(this.options.value-this.min)/(this.options.max-this.min);
},
_refreshValue:function(){
var value=this.options.value,
percentage=this._percentage();
this.valueDiv
.toggle(this.indeterminate||value>this.min)
.width(percentage.toFixed(0)+"%");
this
._toggleClass(this.valueDiv,"ui-progressbar-complete",null,
value===this.options.max)
._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate);
if(this.indeterminate){
this.element.removeAttr("aria-valuenow");
if(!this.overlayDiv){
this.overlayDiv=$("<div>").appendTo(this.valueDiv);
this._addClass(this.overlayDiv,"ui-progressbar-overlay");
}
}else{
this.element.attr({
"aria-valuemax":this.options.max,
"aria-valuenow":value
});
if(this.overlayDiv){
this.overlayDiv.remove();
this.overlayDiv=null;
}
}
if(this.oldValue!==value){
this.oldValue=value;
this._trigger("change");
}
if(value===this.options.max){
this._trigger("complete");
}
}
});
var widgetsSelectmenu=$.widget("ui.selectmenu",[$.ui.formResetMixin,{
version:"1.13.2",
defaultElement:"<select>",
options:{
appendTo:null,
classes:{
"ui-selectmenu-button-open":"ui-corner-top",
"ui-selectmenu-button-closed":"ui-corner-all"
},
disabled:null,
icons:{
button:"ui-icon-triangle-1-s"
},
position:{
my:"left top",
at:"left bottom",
collision:"none"
},
width:false,
change:null,
close:null,
focus:null,
open:null,
select:null
},
_create:function(){
var selectmenuId=this.element.uniqueId().attr("id");
this.ids={
element:selectmenuId,
button:selectmenuId+"-button",
menu:selectmenuId+"-menu"
};
this._drawButton();
this._drawMenu();
this._bindFormResetHandler();
this._rendered=false;
this.menuItems=$();
},
_drawButton:function(){
var icon,
that=this,
item=this._parseOption(
this.element.find("option:selected"),
this.element[0].selectedIndex
);
this.labels=this.element.labels().attr("for",this.ids.button);
this._on(this.labels,{
click:function(event){
this.button.trigger("focus");
event.preventDefault();
}
});
this.element.hide();
this.button=$("<span>",{
tabindex:this.options.disabled?-1:0,
id:this.ids.button,
role:"combobox",
"aria-expanded":"false",
"aria-autocomplete":"list",
"aria-owns":this.ids.menu,
"aria-haspopup":"true",
title:this.element.attr("title")
})
.insertAfter(this.element);
this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed",
"ui-button ui-widget");
icon=$("<span>").appendTo(this.button);
this._addClass(icon,"ui-selectmenu-icon","ui-icon "+this.options.icons.button);
this.buttonItem=this._renderButtonItem(item)
.appendTo(this.button);
if(this.options.width!==false){
this._resizeButton();
}
this._on(this.button,this._buttonEvents);
this.button.one("focusin",function(){
if(!that._rendered){
that._refreshMenu();
}
});
},
_drawMenu:function(){
var that=this;
this.menu=$("<ul>",{
"aria-hidden":"true",
"aria-labelledby":this.ids.button,
id:this.ids.menu
});
this.menuWrap=$("<div>").append(this.menu);
this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front");
this.menuWrap.appendTo(this._appendTo());
this.menuInstance=this.menu
.menu({
classes:{
"ui-menu":"ui-corner-bottom"
},
role:"listbox",
select:function(event,ui){
event.preventDefault();
that._setSelection();
that._select(ui.item.data("ui-selectmenu-item"),event);
},
focus:function(event,ui){
var item=ui.item.data("ui-selectmenu-item");
if(that.focusIndex!=null&&item.index!==that.focusIndex){
that._trigger("focus",event,{item:item});
if(!that.isOpen){
that._select(item,event);
}
}
that.focusIndex=item.index;
that.button.attr("aria-activedescendant",
that.menuItems.eq(item.index).attr("id"));
}
})
.menu("instance");
this.menuInstance._off(this.menu,"mouseleave");
this.menuInstance._closeOnDocumentClick=function(){
return false;
};
this.menuInstance._isDivider=function(){
return false;
};
},
refresh:function(){
this._refreshMenu();
this.buttonItem.replaceWith(
this.buttonItem=this._renderButtonItem(
this._getSelectedItem().data("ui-selectmenu-item")||{}
)
);
if(this.options.width===null){
this._resizeButton();
}
},
_refreshMenu:function(){
var item,
options=this.element.find("option");
this.menu.empty();
this._parseOptions(options);
this._renderMenu(this.menu,this.items);
this.menuInstance.refresh();
this.menuItems=this.menu.find("li")
.not(".ui-selectmenu-optgroup")
.find(".ui-menu-item-wrapper");
this._rendered=true;
if(!options.length){
return;
}
item=this._getSelectedItem();
this.menuInstance.focus(null,item);
this._setAria(item.data("ui-selectmenu-item"));
this._setOption("disabled",this.element.prop("disabled"));
},
open:function(event){
if(this.options.disabled){
return;
}
if(!this._rendered){
this._refreshMenu();
}else{
this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active");
this.menuInstance.focus(null,this._getSelectedItem());
}
if(!this.menuItems.length){
return;
}
this.isOpen=true;
this._toggleAttr();
this._resizeMenu();
this._position();
this._on(this.document,this._documentClick);
this._trigger("open",event);
},
_position:function(){
this.menuWrap.position($.extend({of:this.button},this.options.position));
},
close:function(event){
if(!this.isOpen){
return;
}
this.isOpen=false;
this._toggleAttr();
this.range=null;
this._off(this.document);
this._trigger("close",event);
},
widget:function(){
return this.button;
},
menuWidget:function(){
return this.menu;
},
_renderButtonItem:function(item){
var buttonItem=$("<span>");
this._setText(buttonItem,item.label);
this._addClass(buttonItem,"ui-selectmenu-text");
return buttonItem;
},
_renderMenu:function(ul,items){
var that=this,
currentOptgroup="";
$.each(items,function(index,item){
var li;
if(item.optgroup!==currentOptgroup){
li=$("<li>",{
text:item.optgroup
});
that._addClass(li,"ui-selectmenu-optgroup","ui-menu-divider"+
(item.element.parent("optgroup").prop("disabled")?
" ui-state-disabled":
""));
li.appendTo(ul);
currentOptgroup=item.optgroup;
}
that._renderItemData(ul,item);
});
},
_renderItemData:function(ul,item){
return this._renderItem(ul,item).data("ui-selectmenu-item",item);
},
_renderItem:function(ul,item){
var li=$("<li>"),
wrapper=$("<div>",{
title:item.element.attr("title")
});
if(item.disabled){
this._addClass(li,null,"ui-state-disabled");
}
this._setText(wrapper,item.label);
return li.append(wrapper).appendTo(ul);
},
_setText:function(element,value){
if(value){
element.text(value);
}else{
element.html("&#160;");
}
},
_move:function(direction,event){
var item,next,
filter=".ui-menu-item";
if(this.isOpen){
item=this.menuItems.eq(this.focusIndex).parent("li");
}else{
item=this.menuItems.eq(this.element[0].selectedIndex).parent("li");
filter+=":not(.ui-state-disabled)";
}
if(direction==="first"||direction==="last"){
next=item[direction==="first"?"prevAll":"nextAll"](filter).eq(-1);
}else{
next=item[direction+"All"](filter).eq(0);
}
if(next.length){
this.menuInstance.focus(event,next);
}
},
_getSelectedItem:function(){
return this.menuItems.eq(this.element[0].selectedIndex).parent("li");
},
_toggle:function(event){
this[this.isOpen?"close":"open"](event);
},
_setSelection:function(){
var selection;
if(!this.range){
return;
}
if(window.getSelection){
selection=window.getSelection();
selection.removeAllRanges();
selection.addRange(this.range);
}else{
this.range.select();
}
this.button.trigger("focus");
},
_documentClick:{
mousedown:function(event){
if(!this.isOpen){
return;
}
if(!$(event.target).closest(".ui-selectmenu-menu, #"+
$.escapeSelector(this.ids.button)).length){
this.close(event);
}
}
},
_buttonEvents:{
mousedown:function(){
var selection;
if(window.getSelection){
selection=window.getSelection();
if(selection.rangeCount){
this.range=selection.getRangeAt(0);
}
}else{
this.range=document.selection.createRange();
}
},
click:function(event){
this._setSelection();
this._toggle(event);
},
keydown:function(event){
var preventDefault=true;
switch(event.keyCode){
case $.ui.keyCode.TAB:
case $.ui.keyCode.ESCAPE:
this.close(event);
preventDefault=false;
break;
case $.ui.keyCode.ENTER:
if(this.isOpen){
this._selectFocusedItem(event);
}
break;
case $.ui.keyCode.UP:
if(event.altKey){
this._toggle(event);
}else{
this._move("prev",event);
}
break;
case $.ui.keyCode.DOWN:
if(event.altKey){
this._toggle(event);
}else{
this._move("next",event);
}
break;
case $.ui.keyCode.SPACE:
if(this.isOpen){
this._selectFocusedItem(event);
}else{
this._toggle(event);
}
break;
case $.ui.keyCode.LEFT:
this._move("prev",event);
break;
case $.ui.keyCode.RIGHT:
this._move("next",event);
break;
case $.ui.keyCode.HOME:
case $.ui.keyCode.PAGE_UP:
this._move("first",event);
break;
case $.ui.keyCode.END:
case $.ui.keyCode.PAGE_DOWN:
this._move("last",event);
break;
default:
this.menu.trigger(event);
preventDefault=false;
}
if(preventDefault){
event.preventDefault();
}
}
},
_selectFocusedItem:function(event){
var item=this.menuItems.eq(this.focusIndex).parent("li");
if(!item.hasClass("ui-state-disabled")){
this._select(item.data("ui-selectmenu-item"),event);
}
},
_select:function(item,event){
var oldIndex=this.element[0].selectedIndex;
this.element[0].selectedIndex=item.index;
this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(item));
this._setAria(item);
this._trigger("select",event,{item:item});
if(item.index!==oldIndex){
this._trigger("change",event,{item:item});
}
this.close(event);
},
_setAria:function(item){
var id=this.menuItems.eq(item.index).attr("id");
this.button.attr({
"aria-labelledby":id,
"aria-activedescendant":id
});
this.menu.attr("aria-activedescendant",id);
},
_setOption:function(key,value){
if(key==="icons"){
var icon=this.button.find("span.ui-icon");
this._removeClass(icon,null,this.options.icons.button)
._addClass(icon,null,value.button);
}
this._super(key,value);
if(key==="appendTo"){
this.menuWrap.appendTo(this._appendTo());
}
if(key==="width"){
this._resizeButton();
}
},
_setOptionDisabled:function(value){
this._super(value);
this.menuInstance.option("disabled",value);
this.button.attr("aria-disabled",value);
this._toggleClass(this.button,null,"ui-state-disabled",value);
this.element.prop("disabled",value);
if(value){
this.button.attr("tabindex",-1);
this.close();
}else{
this.button.attr("tabindex",0);
}
},
_appendTo:function(){
var element=this.options.appendTo;
if(element){
element=element.jquery||element.nodeType?
$(element):
this.document.find(element).eq(0);
}
if(!element||!element[0]){
element=this.element.closest(".ui-front, dialog");
}
if(!element.length){
element=this.document[0].body;
}
return element;
},
_toggleAttr:function(){
this.button.attr("aria-expanded",this.isOpen);
this._removeClass(this.button,"ui-selectmenu-button-"+
(this.isOpen?"closed":"open"))
._addClass(this.button,"ui-selectmenu-button-"+
(this.isOpen?"open":"closed"))
._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen);
this.menu.attr("aria-hidden",!this.isOpen);
},
_resizeButton:function(){
var width=this.options.width;
if(width===false){
this.button.css("width","");
return;
}
if(width===null){
width=this.element.show().outerWidth();
this.element.hide();
}
this.button.outerWidth(width);
},
_resizeMenu:function(){
this.menu.outerWidth(Math.max(
this.button.outerWidth(),
this.menu.width("").outerWidth()+1
));
},
_getCreateOptions:function(){
var options=this._super();
options.disabled=this.element.prop("disabled");
return options;
},
_parseOptions:function(options){
var that=this,
data=[];
options.each(function(index,item){
if(item.hidden){
return;
}
data.push(that._parseOption($(item),index));
});
this.items=data;
},
_parseOption:function(option,index){
var optgroup=option.parent("optgroup");
return{
element:option,
index:index,
value:option.val(),
label:option.text(),
optgroup:optgroup.attr("label")||"",
disabled:optgroup.prop("disabled")||option.prop("disabled")
};
},
_destroy:function(){
this._unbindFormResetHandler();
this.menuWrap.remove();
this.button.remove();
this.element.show();
this.element.removeUniqueId();
this.labels.attr("for",this.ids.element);
}
}]);
var widgetsSlider=$.widget("ui.slider",$.ui.mouse,{
version:"1.13.2",
widgetEventPrefix:"slide",
options:{
animate:false,
classes:{
"ui-slider":"ui-corner-all",
"ui-slider-handle":"ui-corner-all",
"ui-slider-range":"ui-corner-all ui-widget-header"
},
distance:0,
max:100,
min:0,
orientation:"horizontal",
range:false,
step:1,
value:0,
values:null,
change:null,
slide:null,
start:null,
stop:null
},
numPages:5,
_create:function(){
this._keySliding=false;
this._mouseSliding=false;
this._animateOff=true;
this._handleIndex=null;
this._detectOrientation();
this._mouseInit();
this._calculateNewMax();
this._addClass("ui-slider ui-slider-"+this.orientation,
"ui-widget ui-widget-content");
this._refresh();
this._animateOff=false;
},
_refresh:function(){
this._createRange();
this._createHandles();
this._setupEvents();
this._refreshValue();
},
_createHandles:function(){
var i,handleCount,
options=this.options,
existingHandles=this.element.find(".ui-slider-handle"),
handle="<span tabindex='0'></span>",
handles=[];
handleCount=(options.values&&options.values.length)||1;
if(existingHandles.length>handleCount){
existingHandles.slice(handleCount).remove();
existingHandles=existingHandles.slice(0,handleCount);
}
for(i=existingHandles.length;i<handleCount;i++){
handles.push(handle);
}
this.handles=existingHandles.add($(handles.join("")).appendTo(this.element));
this._addClass(this.handles,"ui-slider-handle","ui-state-default");
this.handle=this.handles.eq(0);
this.handles.each(function(i){
$(this)
.data("ui-slider-handle-index",i)
.attr("tabIndex",0);
});
},
_createRange:function(){
var options=this.options;
if(options.range){
if(options.range===true){
if(!options.values){
options.values=[this._valueMin(),this._valueMin()];
}else if(options.values.length&&options.values.length!==2){
options.values=[options.values[0],options.values[0]];
}else if(Array.isArray(options.values)){
options.values=options.values.slice(0);
}
}
if(!this.range||!this.range.length){
this.range=$("<div>")
.appendTo(this.element);
this._addClass(this.range,"ui-slider-range");
}else{
this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max");
this.range.css({
"left":"",
"bottom":""
});
}
if(options.range==="min"||options.range==="max"){
this._addClass(this.range,"ui-slider-range-"+options.range);
}
}else{
if(this.range){
this.range.remove();
}
this.range=null;
}
},
_setupEvents:function(){
this._off(this.handles);
this._on(this.handles,this._handleEvents);
this._hoverable(this.handles);
this._focusable(this.handles);
},
_destroy:function(){
this.handles.remove();
if(this.range){
this.range.remove();
}
this._mouseDestroy();
},
_mouseCapture:function(event){
var position,normValue,distance,closestHandle,index,allowed,offset,mouseOverHandle,
that=this,
o=this.options;
if(o.disabled){
return false;
}
this.elementSize={
width:this.element.outerWidth(),
height:this.element.outerHeight()
};
this.elementOffset=this.element.offset();
position={x:event.pageX,y:event.pageY};
normValue=this._normValueFromMouse(position);
distance=this._valueMax()-this._valueMin()+1;
this.handles.each(function(i){
var thisDistance=Math.abs(normValue-that.values(i));
if((distance>thisDistance)||
(distance===thisDistance&&
(i===that._lastChangedValue||that.values(i)===o.min))){
distance=thisDistance;
closestHandle=$(this);
index=i;
}
});
allowed=this._start(event,index);
if(allowed===false){
return false;
}
this._mouseSliding=true;
this._handleIndex=index;
this._addClass(closestHandle,null,"ui-state-active");
closestHandle.trigger("focus");
offset=closestHandle.offset();
mouseOverHandle=!$(event.target).parents().addBack().is(".ui-slider-handle");
this._clickOffset=mouseOverHandle?{left:0,top:0}:{
left:event.pageX-offset.left-(closestHandle.width()/2),
top:event.pageY-offset.top-
(closestHandle.height()/2)-
(parseInt(closestHandle.css("borderTopWidth"),10)||0)-
(parseInt(closestHandle.css("borderBottomWidth"),10)||0)+
(parseInt(closestHandle.css("marginTop"),10)||0)
};
if(!this.handles.hasClass("ui-state-hover")){
this._slide(event,index,normValue);
}
this._animateOff=true;
return true;
},
_mouseStart:function(){
return true;
},
_mouseDrag:function(event){
var position={x:event.pageX,y:event.pageY},
normValue=this._normValueFromMouse(position);
this._slide(event,this._handleIndex,normValue);
return false;
},
_mouseStop:function(event){
this._removeClass(this.handles,null,"ui-state-active");
this._mouseSliding=false;
this._stop(event,this._handleIndex);
this._change(event,this._handleIndex);
this._handleIndex=null;
this._clickOffset=null;
this._animateOff=false;
return false;
},
_detectOrientation:function(){
this.orientation=(this.options.orientation==="vertical")?"vertical":"horizontal";
},
_normValueFromMouse:function(position){
var pixelTotal,
pixelMouse,
percentMouse,
valueTotal,
valueMouse;
if(this.orientation==="horizontal"){
pixelTotal=this.elementSize.width;
pixelMouse=position.x-this.elementOffset.left-
(this._clickOffset?this._clickOffset.left:0);
}else{
pixelTotal=this.elementSize.height;
pixelMouse=position.y-this.elementOffset.top-
(this._clickOffset?this._clickOffset.top:0);
}
percentMouse=(pixelMouse/pixelTotal);
if(percentMouse>1){
percentMouse=1;
}
if(percentMouse<0){
percentMouse=0;
}
if(this.orientation==="vertical"){
percentMouse=1-percentMouse;
}
valueTotal=this._valueMax()-this._valueMin();
valueMouse=this._valueMin()+percentMouse*valueTotal;
return this._trimAlignValue(valueMouse);
},
_uiHash:function(index,value,values){
var uiHash={
handle:this.handles[index],
handleIndex:index,
value:value!==undefined?value:this.value()
};
if(this._hasMultipleValues()){
uiHash.value=value!==undefined?value:this.values(index);
uiHash.values=values||this.values();
}
return uiHash;
},
_hasMultipleValues:function(){
return this.options.values&&this.options.values.length;
},
_start:function(event,index){
return this._trigger("start",event,this._uiHash(index));
},
_slide:function(event,index,newVal){
var allowed,otherVal,
currentValue=this.value(),
newValues=this.values();
if(this._hasMultipleValues()){
otherVal=this.values(index?0:1);
currentValue=this.values(index);
if(this.options.values.length===2&&this.options.range===true){
newVal=index===0?Math.min(otherVal,newVal):Math.max(otherVal,newVal);
}
newValues[index]=newVal;
}
if(newVal===currentValue){
return;
}
allowed=this._trigger("slide",event,this._uiHash(index,newVal,newValues));
if(allowed===false){
return;
}
if(this._hasMultipleValues()){
this.values(index,newVal);
}else{
this.value(newVal);
}
},
_stop:function(event,index){
this._trigger("stop",event,this._uiHash(index));
},
_change:function(event,index){
if(!this._keySliding&&!this._mouseSliding){
this._lastChangedValue=index;
this._trigger("change",event,this._uiHash(index));
}
},
value:function(newValue){
if(arguments.length){
this.options.value=this._trimAlignValue(newValue);
this._refreshValue();
this._change(null,0);
return;
}
return this._value();
},
values:function(index,newValue){
var vals,
newValues,
i;
if(arguments.length>1){
this.options.values[index]=this._trimAlignValue(newValue);
this._refreshValue();
this._change(null,index);
return;
}
if(arguments.length){
if(Array.isArray(arguments[0])){
vals=this.options.values;
newValues=arguments[0];
for(i=0;i<vals.length;i+=1){
vals[i]=this._trimAlignValue(newValues[i]);
this._change(null,i);
}
this._refreshValue();
}else{
if(this._hasMultipleValues()){
return this._values(index);
}else{
return this.value();
}
}
}else{
return this._values();
}
},
_setOption:function(key,value){
var i,
valsLength=0;
if(key==="range"&&this.options.range===true){
if(value==="min"){
this.options.value=this._values(0);
this.options.values=null;
}else if(value==="max"){
this.options.value=this._values(this.options.values.length-1);
this.options.values=null;
}
}
if(Array.isArray(this.options.values)){
valsLength=this.options.values.length;
}
this._super(key,value);
switch(key){
case"orientation":
this._detectOrientation();
this._removeClass("ui-slider-horizontal ui-slider-vertical")
._addClass("ui-slider-"+this.orientation);
this._refreshValue();
if(this.options.range){
this._refreshRange(value);
}
this.handles.css(value==="horizontal"?"bottom":"left","");
break;
case"value":
this._animateOff=true;
this._refreshValue();
this._change(null,0);
this._animateOff=false;
break;
case"values":
this._animateOff=true;
this._refreshValue();
for(i=valsLength-1;i>=0;i--){
this._change(null,i);
}
this._animateOff=false;
break;
case"step":
case"min":
case"max":
this._animateOff=true;
this._calculateNewMax();
this._refreshValue();
this._animateOff=false;
break;
case"range":
this._animateOff=true;
this._refresh();
this._animateOff=false;
break;
}
},
_setOptionDisabled:function(value){
this._super(value);
this._toggleClass(null,"ui-state-disabled",!!value);
},
_value:function(){
var val=this.options.value;
val=this._trimAlignValue(val);
return val;
},
_values:function(index){
var val,
vals,
i;
if(arguments.length){
val=this.options.values[index];
val=this._trimAlignValue(val);
return val;
}else if(this._hasMultipleValues()){
vals=this.options.values.slice();
for(i=0;i<vals.length;i+=1){
vals[i]=this._trimAlignValue(vals[i]);
}
return vals;
}else{
return[];
}
},
_trimAlignValue:function(val){
if(val<=this._valueMin()){
return this._valueMin();
}
if(val>=this._valueMax()){
return this._valueMax();
}
var step=(this.options.step>0)?this.options.step:1,
valModStep=(val-this._valueMin())%step,
alignValue=val-valModStep;
if(Math.abs(valModStep)*2>=step){
alignValue+=(valModStep>0)?step:(-step);
}
return parseFloat(alignValue.toFixed(5));
},
_calculateNewMax:function(){
var max=this.options.max,
min=this._valueMin(),
step=this.options.step,
aboveMin=Math.round((max-min)/step)*step;
max=aboveMin+min;
if(max>this.options.max){
max-=step;
}
this.max=parseFloat(max.toFixed(this._precision()));
},
_precision:function(){
var precision=this._precisionOf(this.options.step);
if(this.options.min!==null){
precision=Math.max(precision,this._precisionOf(this.options.min));
}
return precision;
},
_precisionOf:function(num){
var str=num.toString(),
decimal=str.indexOf(".");
return decimal===-1?0:str.length-decimal-1;
},
_valueMin:function(){
return this.options.min;
},
_valueMax:function(){
return this.max;
},
_refreshRange:function(orientation){
if(orientation==="vertical"){
this.range.css({"width":"","left":""});
}
if(orientation==="horizontal"){
this.range.css({"height":"","bottom":""});
}
},
_refreshValue:function(){
var lastValPercent,valPercent,value,valueMin,valueMax,
oRange=this.options.range,
o=this.options,
that=this,
animate=(!this._animateOff)?o.animate:false,
_set={};
if(this._hasMultipleValues()){
this.handles.each(function(i){
valPercent=(that.values(i)-that._valueMin())/(that._valueMax()-
that._valueMin())*100;
_set[that.orientation==="horizontal"?"left":"bottom"]=valPercent+"%";
$(this).stop(1,1)[animate?"animate":"css"](_set,o.animate);
if(that.options.range===true){
if(that.orientation==="horizontal"){
if(i===0){
that.range.stop(1,1)[animate?"animate":"css"]({
left:valPercent+"%"
},o.animate);
}
if(i===1){
that.range[animate?"animate":"css"]({
width:(valPercent-lastValPercent)+"%"
},{
queue:false,
duration:o.animate
});
}
}else{
if(i===0){
that.range.stop(1,1)[animate?"animate":"css"]({
bottom:(valPercent)+"%"
},o.animate);
}
if(i===1){
that.range[animate?"animate":"css"]({
height:(valPercent-lastValPercent)+"%"
},{
queue:false,
duration:o.animate
});
}
}
}
lastValPercent=valPercent;
});
}else{
value=this.value();
valueMin=this._valueMin();
valueMax=this._valueMax();
valPercent=(valueMax!==valueMin)?
(value-valueMin)/(valueMax-valueMin)*100:
0;
_set[this.orientation==="horizontal"?"left":"bottom"]=valPercent+"%";
this.handle.stop(1,1)[animate?"animate":"css"](_set,o.animate);
if(oRange==="min"&&this.orientation==="horizontal"){
this.range.stop(1,1)[animate?"animate":"css"]({
width:valPercent+"%"
},o.animate);
}
if(oRange==="max"&&this.orientation==="horizontal"){
this.range.stop(1,1)[animate?"animate":"css"]({
width:(100-valPercent)+"%"
},o.animate);
}
if(oRange==="min"&&this.orientation==="vertical"){
this.range.stop(1,1)[animate?"animate":"css"]({
height:valPercent+"%"
},o.animate);
}
if(oRange==="max"&&this.orientation==="vertical"){
this.range.stop(1,1)[animate?"animate":"css"]({
height:(100-valPercent)+"%"
},o.animate);
}
}
},
_handleEvents:{
keydown:function(event){
var allowed,curVal,newVal,step,
index=$(event.target).data("ui-slider-handle-index");
switch(event.keyCode){
case $.ui.keyCode.HOME:
case $.ui.keyCode.END:
case $.ui.keyCode.PAGE_UP:
case $.ui.keyCode.PAGE_DOWN:
case $.ui.keyCode.UP:
case $.ui.keyCode.RIGHT:
case $.ui.keyCode.DOWN:
case $.ui.keyCode.LEFT:
event.preventDefault();
if(!this._keySliding){
this._keySliding=true;
this._addClass($(event.target),null,"ui-state-active");
allowed=this._start(event,index);
if(allowed===false){
return;
}
}
break;
}
step=this.options.step;
if(this._hasMultipleValues()){
curVal=newVal=this.values(index);
}else{
curVal=newVal=this.value();
}
switch(event.keyCode){
case $.ui.keyCode.HOME:
newVal=this._valueMin();
break;
case $.ui.keyCode.END:
newVal=this._valueMax();
break;
case $.ui.keyCode.PAGE_UP:
newVal=this._trimAlignValue(
curVal+((this._valueMax()-this._valueMin())/this.numPages)
);
break;
case $.ui.keyCode.PAGE_DOWN:
newVal=this._trimAlignValue(
curVal-((this._valueMax()-this._valueMin())/this.numPages));
break;
case $.ui.keyCode.UP:
case $.ui.keyCode.RIGHT:
if(curVal===this._valueMax()){
return;
}
newVal=this._trimAlignValue(curVal+step);
break;
case $.ui.keyCode.DOWN:
case $.ui.keyCode.LEFT:
if(curVal===this._valueMin()){
return;
}
newVal=this._trimAlignValue(curVal-step);
break;
}
this._slide(event,index,newVal);
},
keyup:function(event){
var index=$(event.target).data("ui-slider-handle-index");
if(this._keySliding){
this._keySliding=false;
this._stop(event,index);
this._change(event,index);
this._removeClass($(event.target),null,"ui-state-active");
}
}
}
});
function spinnerModifier(fn){
return function(){
var previous=this.element.val();
fn.apply(this,arguments);
this._refresh();
if(previous!==this.element.val()){
this._trigger("change");
}
};
}
$.widget("ui.spinner",{
version:"1.13.2",
defaultElement:"<input>",
widgetEventPrefix:"spin",
options:{
classes:{
"ui-spinner":"ui-corner-all",
"ui-spinner-down":"ui-corner-br",
"ui-spinner-up":"ui-corner-tr"
},
culture:null,
icons:{
down:"ui-icon-triangle-1-s",
up:"ui-icon-triangle-1-n"
},
incremental:true,
max:null,
min:null,
numberFormat:null,
page:10,
step:1,
change:null,
spin:null,
start:null,
stop:null
},
_create:function(){
this._setOption("max",this.options.max);
this._setOption("min",this.options.min);
this._setOption("step",this.options.step);
if(this.value()!==""){
this._value(this.element.val(),true);
}
this._draw();
this._on(this._events);
this._refresh();
this._on(this.window,{
beforeunload:function(){
this.element.removeAttr("autocomplete");
}
});
},
_getCreateOptions:function(){
var options=this._super();
var element=this.element;
$.each(["min","max","step"],function(i,option){
var value=element.attr(option);
if(value!=null&&value.length){
options[option]=value;
}
});
return options;
},
_events:{
keydown:function(event){
if(this._start(event)&&this._keydown(event)){
event.preventDefault();
}
},
keyup:"_stop",
focus:function(){
this.previous=this.element.val();
},
blur:function(event){
if(this.cancelBlur){
delete this.cancelBlur;
return;
}
this._stop();
this._refresh();
if(this.previous!==this.element.val()){
this._trigger("change",event);
}
},
mousewheel:function(event,delta){
var activeElement=$.ui.safeActiveElement(this.document[0]);
var isActive=this.element[0]===activeElement;
if(!isActive||!delta){
return;
}
if(!this.spinning&&!this._start(event)){
return false;
}
this._spin((delta>0?1:-1)*this.options.step,event);
clearTimeout(this.mousewheelTimer);
this.mousewheelTimer=this._delay(function(){
if(this.spinning){
this._stop(event);
}
},100);
event.preventDefault();
},
"mousedown .ui-spinner-button":function(event){
var previous;
previous=this.element[0]===$.ui.safeActiveElement(this.document[0])?
this.previous:this.element.val();
function checkFocus(){
var isActive=this.element[0]===$.ui.safeActiveElement(this.document[0]);
if(!isActive){
this.element.trigger("focus");
this.previous=previous;
this._delay(function(){
this.previous=previous;
});
}
}
event.preventDefault();
checkFocus.call(this);
this.cancelBlur=true;
this._delay(function(){
delete this.cancelBlur;
checkFocus.call(this);
});
if(this._start(event)===false){
return;
}
this._repeat(null,$(event.currentTarget)
.hasClass("ui-spinner-up")?1:-1,event);
},
"mouseup .ui-spinner-button":"_stop",
"mouseenter .ui-spinner-button":function(event){
if(!$(event.currentTarget).hasClass("ui-state-active")){
return;
}
if(this._start(event)===false){
return false;
}
this._repeat(null,$(event.currentTarget)
.hasClass("ui-spinner-up")?1:-1,event);
},
"mouseleave .ui-spinner-button":"_stop"
},
_enhance:function(){
this.uiSpinner=this.element
.attr("autocomplete","off")
.wrap("<span>")
.parent()
.append(
"<a></a><a></a>"
);
},
_draw:function(){
this._enhance();
this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content");
this._addClass("ui-spinner-input");
this.element.attr("role","spinbutton");
this.buttons=this.uiSpinner.children("a")
.attr("tabIndex",-1)
.attr("aria-hidden",true)
.button({
classes:{
"ui-button":""
}
});
this._removeClass(this.buttons,"ui-corner-all");
this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up");
this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down");
this.buttons.first().button({
"icon":this.options.icons.up,
"showLabel":false
});
this.buttons.last().button({
"icon":this.options.icons.down,
"showLabel":false
});
if(this.buttons.height()>Math.ceil(this.uiSpinner.height()*0.5)&&
this.uiSpinner.height()>0){
this.uiSpinner.height(this.uiSpinner.height());
}
},
_keydown:function(event){
var options=this.options,
keyCode=$.ui.keyCode;
switch(event.keyCode){
case keyCode.UP:
this._repeat(null,1,event);
return true;
case keyCode.DOWN:
this._repeat(null,-1,event);
return true;
case keyCode.PAGE_UP:
this._repeat(null,options.page,event);
return true;
case keyCode.PAGE_DOWN:
this._repeat(null,-options.page,event);
return true;
}
return false;
},
_start:function(event){
if(!this.spinning&&this._trigger("start",event)===false){
return false;
}
if(!this.counter){
this.counter=1;
}
this.spinning=true;
return true;
},
_repeat:function(i,steps,event){
i=i||500;
clearTimeout(this.timer);
this.timer=this._delay(function(){
this._repeat(40,steps,event);
},i);
this._spin(steps*this.options.step,event);
},
_spin:function(step,event){
var value=this.value()||0;
if(!this.counter){
this.counter=1;
}
value=this._adjustValue(value+step*this._increment(this.counter));
if(!this.spinning||this._trigger("spin",event,{value:value})!==false){
this._value(value);
this.counter++;
}
},
_increment:function(i){
var incremental=this.options.incremental;
if(incremental){
return typeof incremental==="function"?
incremental(i):
Math.floor(i*i*i/50000-i*i/ 500 + 17 * i /200+1);
}
return 1;
},
_precision:function(){
var precision=this._precisionOf(this.options.step);
if(this.options.min!==null){
precision=Math.max(precision,this._precisionOf(this.options.min));
}
return precision;
},
_precisionOf:function(num){
var str=num.toString(),
decimal=str.indexOf(".");
return decimal===-1?0:str.length-decimal-1;
},
_adjustValue:function(value){
var base,aboveMin,
options=this.options;
base=options.min!==null?options.min:0;
aboveMin=value-base;
aboveMin=Math.round(aboveMin/options.step)*options.step;
value=base+aboveMin;
value=parseFloat(value.toFixed(this._precision()));
if(options.max!==null&&value>options.max){
return options.max;
}
if(options.min!==null&&value<options.min){
return options.min;
}
return value;
},
_stop:function(event){
if(!this.spinning){
return;
}
clearTimeout(this.timer);
clearTimeout(this.mousewheelTimer);
this.counter=0;
this.spinning=false;
this._trigger("stop",event);
},
_setOption:function(key,value){
var prevValue,first,last;
if(key==="culture"||key==="numberFormat"){
prevValue=this._parse(this.element.val());
this.options[key]=value;
this.element.val(this._format(prevValue));
return;
}
if(key==="max"||key==="min"||key==="step"){
if(typeof value==="string"){
value=this._parse(value);
}
}
if(key==="icons"){
first=this.buttons.first().find(".ui-icon");
this._removeClass(first,null,this.options.icons.up);
this._addClass(first,null,value.up);
last=this.buttons.last().find(".ui-icon");
this._removeClass(last,null,this.options.icons.down);
this._addClass(last,null,value.down);
}
this._super(key,value);
},
_setOptionDisabled:function(value){
this._super(value);
this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!value);
this.element.prop("disabled",!!value);
this.buttons.button(value?"disable":"enable");
},
_setOptions:spinnerModifier(function(options){
this._super(options);
}),
_parse:function(val){
if(typeof val==="string"&&val!==""){
val=window.Globalize&&this.options.numberFormat?
Globalize.parseFloat(val,10,this.options.culture):+val;
}
return val===""||isNaN(val)?null:val;
},
_format:function(value){
if(value===""){
return"";
}
return window.Globalize&&this.options.numberFormat?
Globalize.format(value,this.options.numberFormat,this.options.culture):
value;
},
_refresh:function(){
this.element.attr({
"aria-valuemin":this.options.min,
"aria-valuemax":this.options.max,
"aria-valuenow":this._parse(this.element.val())
});
},
isValid:function(){
var value=this.value();
if(value===null){
return false;
}
return value===this._adjustValue(value);
},
_value:function(value,allowAny){
var parsed;
if(value!==""){
parsed=this._parse(value);
if(parsed!==null){
if(!allowAny){
parsed=this._adjustValue(parsed);
}
value=this._format(parsed);
}
}
this.element.val(value);
this._refresh();
},
_destroy:function(){
this.element
.prop("disabled",false)
.removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow");
this.uiSpinner.replaceWith(this.element);
},
stepUp:spinnerModifier(function(steps){
this._stepUp(steps);
}),
_stepUp:function(steps){
if(this._start()){
this._spin((steps||1)*this.options.step);
this._stop();
}
},
stepDown:spinnerModifier(function(steps){
this._stepDown(steps);
}),
_stepDown:function(steps){
if(this._start()){
this._spin((steps||1)*-this.options.step);
this._stop();
}
},
pageUp:spinnerModifier(function(pages){
this._stepUp((pages||1)*this.options.page);
}),
pageDown:spinnerModifier(function(pages){
this._stepDown((pages||1)*this.options.page);
}),
value:function(newVal){
if(!arguments.length){
return this._parse(this.element.val());
}
spinnerModifier(this._value).call(this,newVal);
},
widget:function(){
return this.uiSpinner;
}
});
if($.uiBackCompat!==false){
$.widget("ui.spinner",$.ui.spinner,{
_enhance:function(){
this.uiSpinner=this.element
.attr("autocomplete","off")
.wrap(this._uiSpinnerHtml())
.parent()
.append(this._buttonHtml());
},
_uiSpinnerHtml:function(){
return"<span>";
},
_buttonHtml:function(){
return"<a></a><a></a>";
}
});
}
var widgetsSpinner=$.ui.spinner;
$.widget("ui.tabs",{
version:"1.13.2",
delay:300,
options:{
active:null,
classes:{
"ui-tabs":"ui-corner-all",
"ui-tabs-nav":"ui-corner-all",
"ui-tabs-panel":"ui-corner-bottom",
"ui-tabs-tab":"ui-corner-top"
},
collapsible:false,
event:"click",
heightStyle:"content",
hide:null,
show:null,
activate:null,
beforeActivate:null,
beforeLoad:null,
load:null
},
_isLocal:(function(){
var rhash=/#.*$/;
return function(anchor){
var anchorUrl,locationUrl;
anchorUrl=anchor.href.replace(rhash,"");
locationUrl=location.href.replace(rhash,"");
try{
anchorUrl=decodeURIComponent(anchorUrl);
}catch(error){}
try{
locationUrl=decodeURIComponent(locationUrl);
}catch(error){}
return anchor.hash.length>1&&anchorUrl===locationUrl;
};
})(),
_create:function(){
var that=this,
options=this.options;
this.running=false;
this._addClass("ui-tabs","ui-widget ui-widget-content");
this._toggleClass("ui-tabs-collapsible",null,options.collapsible);
this._processTabs();
options.active=this._initialActive();
if(Array.isArray(options.disabled)){
options.disabled=$.uniqueSort(options.disabled.concat(
$.map(this.tabs.filter(".ui-state-disabled"),function(li){
return that.tabs.index(li);
})
)).sort();
}
if(this.options.active!==false&&this.anchors.length){
this.active=this._findActive(options.active);
}else{
this.active=$();
}
this._refresh();
if(this.active.length){
this.load(options.active);
}
},
_initialActive:function(){
var active=this.options.active,
collapsible=this.options.collapsible,
locationHash=location.hash.substring(1);
if(active===null){
if(locationHash){
this.tabs.each(function(i,tab){
if($(tab).attr("aria-controls")===locationHash){
active=i;
return false;
}
});
}
if(active===null){
active=this.tabs.index(this.tabs.filter(".ui-tabs-active"));
}
if(active===null||active===-1){
active=this.tabs.length?0:false;
}
}
if(active!==false){
active=this.tabs.index(this.tabs.eq(active));
if(active===-1){
active=collapsible?false:0;
}
}
if(!collapsible&&active===false&&this.anchors.length){
active=0;
}
return active;
},
_getCreateEventData:function(){
return{
tab:this.active,
panel:!this.active.length?$():this._getPanelForTab(this.active)
};
},
_tabKeydown:function(event){
var focusedTab=$($.ui.safeActiveElement(this.document[0])).closest("li"),
selectedIndex=this.tabs.index(focusedTab),
goingForward=true;
if(this._handlePageNav(event)){
return;
}
switch(event.keyCode){
case $.ui.keyCode.RIGHT:
case $.ui.keyCode.DOWN:
selectedIndex++;
break;
case $.ui.keyCode.UP:
case $.ui.keyCode.LEFT:
goingForward=false;
selectedIndex--;
break;
case $.ui.keyCode.END:
selectedIndex=this.anchors.length-1;
break;
case $.ui.keyCode.HOME:
selectedIndex=0;
break;
case $.ui.keyCode.SPACE:
event.preventDefault();
clearTimeout(this.activating);
this._activate(selectedIndex);
return;
case $.ui.keyCode.ENTER:
event.preventDefault();
clearTimeout(this.activating);
this._activate(selectedIndex===this.options.active?false:selectedIndex);
return;
default:
return;
}
event.preventDefault();
clearTimeout(this.activating);
selectedIndex=this._focusNextTab(selectedIndex,goingForward);
if(!event.ctrlKey&&!event.metaKey){
focusedTab.attr("aria-selected","false");
this.tabs.eq(selectedIndex).attr("aria-selected","true");
this.activating=this._delay(function(){
this.option("active",selectedIndex);
},this.delay);
}
},
_panelKeydown:function(event){
if(this._handlePageNav(event)){
return;
}
if(event.ctrlKey&&event.keyCode===$.ui.keyCode.UP){
event.preventDefault();
this.active.trigger("focus");
}
},
_handlePageNav:function(event){
if(event.altKey&&event.keyCode===$.ui.keyCode.PAGE_UP){
this._activate(this._focusNextTab(this.options.active-1,false));
return true;
}
if(event.altKey&&event.keyCode===$.ui.keyCode.PAGE_DOWN){
this._activate(this._focusNextTab(this.options.active+1,true));
return true;
}
},
_findNextTab:function(index,goingForward){
var lastTabIndex=this.tabs.length-1;
function constrain(){
if(index>lastTabIndex){
index=0;
}
if(index<0){
index=lastTabIndex;
}
return index;
}
while($.inArray(constrain(),this.options.disabled)!==-1){
index=goingForward?index+1:index-1;
}
return index;
},
_focusNextTab:function(index,goingForward){
index=this._findNextTab(index,goingForward);
this.tabs.eq(index).trigger("focus");
return index;
},
_setOption:function(key,value){
if(key==="active"){
this._activate(value);
return;
}
this._super(key,value);
if(key==="collapsible"){
this._toggleClass("ui-tabs-collapsible",null,value);
if(!value&&this.options.active===false){
this._activate(0);
}
}
if(key==="event"){
this._setupEvents(value);
}
if(key==="heightStyle"){
this._setupHeightStyle(value);
}
},
_sanitizeSelector:function(hash){
return hash?hash.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):"";
},
refresh:function(){
var options=this.options,
lis=this.tablist.children(":has(a[href])");
options.disabled=$.map(lis.filter(".ui-state-disabled"),function(tab){
return lis.index(tab);
});
this._processTabs();
if(options.active===false||!this.anchors.length){
options.active=false;
this.active=$();
}else if(this.active.length&&!$.contains(this.tablist[0],this.active[0])){
if(this.tabs.length===options.disabled.length){
options.active=false;
this.active=$();
}else{
this._activate(this._findNextTab(Math.max(0,options.active-1),false));
}
}else{
options.active=this.tabs.index(this.active);
}
this._refresh();
},
_refresh:function(){
this._setOptionDisabled(this.options.disabled);
this._setupEvents(this.options.event);
this._setupHeightStyle(this.options.heightStyle);
this.tabs.not(this.active).attr({
"aria-selected":"false",
"aria-expanded":"false",
tabIndex:-1
});
this.panels.not(this._getPanelForTab(this.active))
.hide()
.attr({
"aria-hidden":"true"
});
if(!this.active.length){
this.tabs.eq(0).attr("tabIndex",0);
}else{
this.active
.attr({
"aria-selected":"true",
"aria-expanded":"true",
tabIndex:0
});
this._addClass(this.active,"ui-tabs-active","ui-state-active");
this._getPanelForTab(this.active)
.show()
.attr({
"aria-hidden":"false"
});
}
},
_processTabs:function(){
var that=this,
prevTabs=this.tabs,
prevAnchors=this.anchors,
prevPanels=this.panels;
this.tablist=this._getList().attr("role","tablist");
this._addClass(this.tablist,"ui-tabs-nav",
"ui-helper-reset ui-helper-clearfix ui-widget-header");
this.tablist
.on("mousedown"+this.eventNamespace,"> li",function(event){
if($(this).is(".ui-state-disabled")){
event.preventDefault();
}
})
.on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){
if($(this).closest("li").is(".ui-state-disabled")){
this.blur();
}
});
this.tabs=this.tablist.find("> li:has(a[href])")
.attr({
role:"tab",
tabIndex:-1
});
this._addClass(this.tabs,"ui-tabs-tab","ui-state-default");
this.anchors=this.tabs.map(function(){
return $("a",this)[0];
})
.attr({
tabIndex:-1
});
this._addClass(this.anchors,"ui-tabs-anchor");
this.panels=$();
this.anchors.each(function(i,anchor){
var selector,panel,panelId,
anchorId=$(anchor).uniqueId().attr("id"),
tab=$(anchor).closest("li"),
originalAriaControls=tab.attr("aria-controls");
if(that._isLocal(anchor)){
selector=anchor.hash;
panelId=selector.substring(1);
panel=that.element.find(that._sanitizeSelector(selector));
}else{
panelId=tab.attr("aria-controls")||$({}).uniqueId()[0].id;
selector="#"+panelId;
panel=that.element.find(selector);
if(!panel.length){
panel=that._createPanel(panelId);
panel.insertAfter(that.panels[i-1]||that.tablist);
}
panel.attr("aria-live","polite");
}
if(panel.length){
that.panels=that.panels.add(panel);
}
if(originalAriaControls){
tab.data("ui-tabs-aria-controls",originalAriaControls);
}
tab.attr({
"aria-controls":panelId,
"aria-labelledby":anchorId
});
panel.attr("aria-labelledby",anchorId);
});
this.panels.attr("role","tabpanel");
this._addClass(this.panels,"ui-tabs-panel","ui-widget-content");
if(prevTabs){
this._off(prevTabs.not(this.tabs));
this._off(prevAnchors.not(this.anchors));
this._off(prevPanels.not(this.panels));
}
},
_getList:function(){
return this.tablist||this.element.find("ol, ul").eq(0);
},
_createPanel:function(id){
return $("<div>")
.attr("id",id)
.data("ui-tabs-destroy",true);
},
_setOptionDisabled:function(disabled){
var currentItem,li,i;
if(Array.isArray(disabled)){
if(!disabled.length){
disabled=false;
}else if(disabled.length===this.anchors.length){
disabled=true;
}
}
for(i=0;(li=this.tabs[i]);i++){
currentItem=$(li);
if(disabled===true||$.inArray(i,disabled)!==-1){
currentItem.attr("aria-disabled","true");
this._addClass(currentItem,null,"ui-state-disabled");
}else{
currentItem.removeAttr("aria-disabled");
this._removeClass(currentItem,null,"ui-state-disabled");
}
}
this.options.disabled=disabled;
this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,
disabled===true);
},
_setupEvents:function(event){
var events={};
if(event){
$.each(event.split(" "),function(index,eventName){
events[eventName]="_eventHandler";
});
}
this._off(this.anchors.add(this.tabs).add(this.panels));
this._on(true,this.anchors,{
click:function(event){
event.preventDefault();
}
});
this._on(this.anchors,events);
this._on(this.tabs,{keydown:"_tabKeydown"});
this._on(this.panels,{keydown:"_panelKeydown"});
this._focusable(this.tabs);
this._hoverable(this.tabs);
},
_setupHeightStyle:function(heightStyle){
var maxHeight,
parent=this.element.parent();
if(heightStyle==="fill"){
maxHeight=parent.height();
maxHeight-=this.element.outerHeight()-this.element.height();
this.element.siblings(":visible").each(function(){
var elem=$(this),
position=elem.css("position");
if(position==="absolute"||position==="fixed"){
return;
}
maxHeight-=elem.outerHeight(true);
});
this.element.children().not(this.panels).each(function(){
maxHeight-=$(this).outerHeight(true);
});
this.panels.each(function(){
$(this).height(Math.max(0,maxHeight-
$(this).innerHeight()+$(this).height()));
})
.css("overflow","auto");
}else if(heightStyle==="auto"){
maxHeight=0;
this.panels.each(function(){
maxHeight=Math.max(maxHeight,$(this).height("").height());
}).height(maxHeight);
}
},
_eventHandler:function(event){
var options=this.options,
active=this.active,
anchor=$(event.currentTarget),
tab=anchor.closest("li"),
clickedIsActive=tab[0]===active[0],
collapsing=clickedIsActive&&options.collapsible,
toShow=collapsing?$():this._getPanelForTab(tab),
toHide=!active.length?$():this._getPanelForTab(active),
eventData={
oldTab:active,
oldPanel:toHide,
newTab:collapsing?$():tab,
newPanel:toShow
};
event.preventDefault();
if(tab.hasClass("ui-state-disabled")||
tab.hasClass("ui-tabs-loading")||
this.running||
(clickedIsActive&&!options.collapsible)||
(this._trigger("beforeActivate",event,eventData)===false)){
return;
}
options.active=collapsing?false:this.tabs.index(tab);
this.active=clickedIsActive?$():tab;
if(this.xhr){
this.xhr.abort();
}
if(!toHide.length&&!toShow.length){
$.error("jQuery UI Tabs: Mismatching fragment identifier.");
}
if(toShow.length){
this.load(this.tabs.index(tab),event);
}
this._toggle(event,eventData);
},
_toggle:function(event,eventData){
var that=this,
toShow=eventData.newPanel,
toHide=eventData.oldPanel;
this.running=true;
function complete(){
that.running=false;
that._trigger("activate",event,eventData);
}
function show(){
that._addClass(eventData.newTab.closest("li"),"ui-tabs-active","ui-state-active");
if(toShow.length&&that.options.show){
that._show(toShow,that.options.show,complete);
}else{
toShow.show();
complete();
}
}
if(toHide.length&&this.options.hide){
this._hide(toHide,this.options.hide,function(){
that._removeClass(eventData.oldTab.closest("li"),
"ui-tabs-active","ui-state-active");
show();
});
}else{
this._removeClass(eventData.oldTab.closest("li"),
"ui-tabs-active","ui-state-active");
toHide.hide();
show();
}
toHide.attr("aria-hidden","true");
eventData.oldTab.attr({
"aria-selected":"false",
"aria-expanded":"false"
});
if(toShow.length&&toHide.length){
eventData.oldTab.attr("tabIndex",-1);
}else if(toShow.length){
this.tabs.filter(function(){
return $(this).attr("tabIndex")===0;
})
.attr("tabIndex",-1);
}
toShow.attr("aria-hidden","false");
eventData.newTab.attr({
"aria-selected":"true",
"aria-expanded":"true",
tabIndex:0
});
},
_activate:function(index){
var anchor,
active=this._findActive(index);
if(active[0]===this.active[0]){
return;
}
if(!active.length){
active=this.active;
}
anchor=active.find(".ui-tabs-anchor")[0];
this._eventHandler({
target:anchor,
currentTarget:anchor,
preventDefault:$.noop
});
},
_findActive:function(index){
return index===false?$():this.tabs.eq(index);
},
_getIndex:function(index){
if(typeof index==="string"){
index=this.anchors.index(this.anchors.filter("[href$='"+
$.escapeSelector(index)+"']"));
}
return index;
},
_destroy:function(){
if(this.xhr){
this.xhr.abort();
}
this.tablist
.removeAttr("role")
.off(this.eventNamespace);
this.anchors
.removeAttr("role tabIndex")
.removeUniqueId();
this.tabs.add(this.panels).each(function(){
if($.data(this,"ui-tabs-destroy")){
$(this).remove();
}else{
$(this).removeAttr("role tabIndex "+
"aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded");
}
});
this.tabs.each(function(){
var li=$(this),
prev=li.data("ui-tabs-aria-controls");
if(prev){
li
.attr("aria-controls",prev)
.removeData("ui-tabs-aria-controls");
}else{
li.removeAttr("aria-controls");
}
});
this.panels.show();
if(this.options.heightStyle!=="content"){
this.panels.css("height","");
}
},
enable:function(index){
var disabled=this.options.disabled;
if(disabled===false){
return;
}
if(index===undefined){
disabled=false;
}else{
index=this._getIndex(index);
if(Array.isArray(disabled)){
disabled=$.map(disabled,function(num){
return num!==index?num:null;
});
}else{
disabled=$.map(this.tabs,function(li,num){
return num!==index?num:null;
});
}
}
this._setOptionDisabled(disabled);
},
disable:function(index){
var disabled=this.options.disabled;
if(disabled===true){
return;
}
if(index===undefined){
disabled=true;
}else{
index=this._getIndex(index);
if($.inArray(index,disabled)!==-1){
return;
}
if(Array.isArray(disabled)){
disabled=$.merge([index],disabled).sort();
}else{
disabled=[index];
}
}
this._setOptionDisabled(disabled);
},
load:function(index,event){
index=this._getIndex(index);
var that=this,
tab=this.tabs.eq(index),
anchor=tab.find(".ui-tabs-anchor"),
panel=this._getPanelForTab(tab),
eventData={
tab:tab,
panel:panel
},
complete=function(jqXHR,status){
if(status==="abort"){
that.panels.stop(false,true);
}
that._removeClass(tab,"ui-tabs-loading");
panel.removeAttr("aria-busy");
if(jqXHR===that.xhr){
delete that.xhr;
}
};
if(this._isLocal(anchor[0])){
return;
}
this.xhr=$.ajax(this._ajaxSettings(anchor,event,eventData));
if(this.xhr&&this.xhr.statusText!=="canceled"){
this._addClass(tab,"ui-tabs-loading");
panel.attr("aria-busy","true");
this.xhr
.done(function(response,status,jqXHR){
setTimeout(function(){
panel.html(response);
that._trigger("load",event,eventData);
complete(jqXHR,status);
},1);
})
.fail(function(jqXHR,status){
setTimeout(function(){
complete(jqXHR,status);
},1);
});
}
},
_ajaxSettings:function(anchor,event,eventData){
var that=this;
return{
url:anchor.attr("href").replace(/#.*$/,""),
beforeSend:function(jqXHR,settings){
return that._trigger("beforeLoad",event,
$.extend({jqXHR:jqXHR,ajaxSettings:settings},eventData));
}
};
},
_getPanelForTab:function(tab){
var id=$(tab).attr("aria-controls");
return this.element.find(this._sanitizeSelector("#"+id));
}
});
if($.uiBackCompat!==false){
$.widget("ui.tabs",$.ui.tabs,{
_processTabs:function(){
this._superApply(arguments);
this._addClass(this.tabs,"ui-tab");
}
});
}
var widgetsTabs=$.ui.tabs;
$.widget("ui.tooltip",{
version:"1.13.2",
options:{
classes:{
"ui-tooltip":"ui-corner-all ui-widget-shadow"
},
content:function(){
var title=$(this).attr("title");
return $("<a>").text(title).html();
},
hide:true,
items:"[title]:not([disabled])",
position:{
my:"left top+15",
at:"left bottom",
collision:"flipfit flip"
},
show:true,
track:false,
close:null,
open:null
},
_addDescribedBy:function(elem,id){
var describedby=(elem.attr("aria-describedby")||"").split(/\s+/);
describedby.push(id);
elem
.data("ui-tooltip-id",id)
.attr("aria-describedby",String.prototype.trim.call(describedby.join(" ")));
},
_removeDescribedBy:function(elem){
var id=elem.data("ui-tooltip-id"),
describedby=(elem.attr("aria-describedby")||"").split(/\s+/),
index=$.inArray(id,describedby);
if(index!==-1){
describedby.splice(index,1);
}
elem.removeData("ui-tooltip-id");
describedby=String.prototype.trim.call(describedby.join(" "));
if(describedby){
elem.attr("aria-describedby",describedby);
}else{
elem.removeAttr("aria-describedby");
}
},
_create:function(){
this._on({
mouseover:"open",
focusin:"open"
});
this.tooltips={};
this.parents={};
this.liveRegion=$("<div>")
.attr({
role:"log",
"aria-live":"assertive",
"aria-relevant":"additions"
})
.appendTo(this.document[0].body);
this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible");
this.disabledTitles=$([]);
},
_setOption:function(key,value){
var that=this;
this._super(key,value);
if(key==="content"){
$.each(this.tooltips,function(id,tooltipData){
that._updateContent(tooltipData.element);
});
}
},
_setOptionDisabled:function(value){
this[value?"_disable":"_enable"]();
},
_disable:function(){
var that=this;
$.each(this.tooltips,function(id,tooltipData){
var event=$.Event("blur");
event.target=event.currentTarget=tooltipData.element[0];
that.close(event,true);
});
this.disabledTitles=this.disabledTitles.add(
this.element.find(this.options.items).addBack()
.filter(function(){
var element=$(this);
if(element.is("[title]")){
return element
.data("ui-tooltip-title",element.attr("title"))
.removeAttr("title");
}
})
);
},
_enable:function(){
this.disabledTitles.each(function(){
var element=$(this);
if(element.data("ui-tooltip-title")){
element.attr("title",element.data("ui-tooltip-title"));
}
});
this.disabledTitles=$([]);
},
open:function(event){
var that=this,
target=$(event?event.target:this.element)
.closest(this.options.items);
if(!target.length||target.data("ui-tooltip-id")){
return;
}
if(target.attr("title")){
target.data("ui-tooltip-title",target.attr("title"));
}
target.data("ui-tooltip-open",true);
if(event&&event.type==="mouseover"){
target.parents().each(function(){
var parent=$(this),
blurEvent;
if(parent.data("ui-tooltip-open")){
blurEvent=$.Event("blur");
blurEvent.target=blurEvent.currentTarget=this;
that.close(blurEvent,true);
}
if(parent.attr("title")){
parent.uniqueId();
that.parents[this.id]={
element:this,
title:parent.attr("title")
};
parent.attr("title","");
}
});
}
this._registerCloseHandlers(event,target);
this._updateContent(target,event);
},
_updateContent:function(target,event){
var content,
contentOption=this.options.content,
that=this,
eventType=event?event.type:null;
if(typeof contentOption==="string"||contentOption.nodeType||
contentOption.jquery){
return this._open(event,target,contentOption);
}
content=contentOption.call(target[0],function(response){
that._delay(function(){
if(!target.data("ui-tooltip-open")){
return;
}
if(event){
event.type=eventType;
}
this._open(event,target,response);
});
});
if(content){
this._open(event,target,content);
}
},
_open:function(event,target,content){
var tooltipData,tooltip,delayedShow,a11yContent,
positionOption=$.extend({},this.options.position);
if(!content){
return;
}
tooltipData=this._find(target);
if(tooltipData){
tooltipData.tooltip.find(".ui-tooltip-content").html(content);
return;
}
if(target.is("[title]")){
if(event&&event.type==="mouseover"){
target.attr("title","");
}else{
target.removeAttr("title");
}
}
tooltipData=this._tooltip(target);
tooltip=tooltipData.tooltip;
this._addDescribedBy(target,tooltip.attr("id"));
tooltip.find(".ui-tooltip-content").html(content);
this.liveRegion.children().hide();
a11yContent=$("<div>").html(tooltip.find(".ui-tooltip-content").html());
a11yContent.removeAttr("name").find("[name]").removeAttr("name");
a11yContent.removeAttr("id").find("[id]").removeAttr("id");
a11yContent.appendTo(this.liveRegion);
function position(event){
positionOption.of=event;
if(tooltip.is(":hidden")){
return;
}
tooltip.position(positionOption);
}
if(this.options.track&&event&&/^mouse/.test(event.type)){
this._on(this.document,{
mousemove:position
});
position(event);
}else{
tooltip.position($.extend({
of:target
},this.options.position));
}
tooltip.hide();
this._show(tooltip,this.options.show);
if(this.options.track&&this.options.show&&this.options.show.delay){
delayedShow=this.delayedShow=setInterval(function(){
if(tooltip.is(":visible")){
position(positionOption.of);
clearInterval(delayedShow);
}
},13);
}
this._trigger("open",event,{tooltip:tooltip});
},
_registerCloseHandlers:function(event,target){
var events={
keyup:function(event){
if(event.keyCode===$.ui.keyCode.ESCAPE){
var fakeEvent=$.Event(event);
fakeEvent.currentTarget=target[0];
this.close(fakeEvent,true);
}
}
};
if(target[0]!==this.element[0]){
events.remove=function(){
var targetElement=this._find(target);
if(targetElement){
this._removeTooltip(targetElement.tooltip);
}
};
}
if(!event||event.type==="mouseover"){
events.mouseleave="close";
}
if(!event||event.type==="focusin"){
events.focusout="close";
}
this._on(true,target,events);
},
close:function(event){
var tooltip,
that=this,
target=$(event?event.currentTarget:this.element),
tooltipData=this._find(target);
if(!tooltipData){
target.removeData("ui-tooltip-open");
return;
}
tooltip=tooltipData.tooltip;
if(tooltipData.closing){
return;
}
clearInterval(this.delayedShow);
if(target.data("ui-tooltip-title")&&!target.attr("title")){
target.attr("title",target.data("ui-tooltip-title"));
}
this._removeDescribedBy(target);
tooltipData.hiding=true;
tooltip.stop(true);
this._hide(tooltip,this.options.hide,function(){
that._removeTooltip($(this));
});
target.removeData("ui-tooltip-open");
this._off(target,"mouseleave focusout keyup");
if(target[0]!==this.element[0]){
this._off(target,"remove");
}
this._off(this.document,"mousemove");
if(event&&event.type==="mouseleave"){
$.each(this.parents,function(id,parent){
$(parent.element).attr("title",parent.title);
delete that.parents[id];
});
}
tooltipData.closing=true;
this._trigger("close",event,{tooltip:tooltip});
if(!tooltipData.hiding){
tooltipData.closing=false;
}
},
_tooltip:function(element){
var tooltip=$("<div>").attr("role","tooltip"),
content=$("<div>").appendTo(tooltip),
id=tooltip.uniqueId().attr("id");
this._addClass(content,"ui-tooltip-content");
this._addClass(tooltip,"ui-tooltip","ui-widget ui-widget-content");
tooltip.appendTo(this._appendTo(element));
return this.tooltips[id]={
element:element,
tooltip:tooltip
};
},
_find:function(target){
var id=target.data("ui-tooltip-id");
return id?this.tooltips[id]:null;
},
_removeTooltip:function(tooltip){
clearInterval(this.delayedShow);
tooltip.remove();
delete this.tooltips[tooltip.attr("id")];
},
_appendTo:function(target){
var element=target.closest(".ui-front, dialog");
if(!element.length){
element=this.document[0].body;
}
return element;
},
_destroy:function(){
var that=this;
$.each(this.tooltips,function(id,tooltipData){
var event=$.Event("blur"),
element=tooltipData.element;
event.target=event.currentTarget=element[0];
that.close(event,true);
$("#"+id).remove();
if(element.data("ui-tooltip-title")){
if(!element.attr("title")){
element.attr("title",element.data("ui-tooltip-title"));
}
element.removeData("ui-tooltip-title");
}
});
this.liveRegion.remove();
}
});
if($.uiBackCompat!==false){
$.widget("ui.tooltip",$.ui.tooltip,{
options:{
tooltipClass:null
},
_tooltip:function(){
var tooltipData=this._superApply(arguments);
if(this.options.tooltipClass){
tooltipData.tooltip.addClass(this.options.tooltipClass);
}
return tooltipData;
}
});
}
var widgetsTooltip=$.ui.tooltip;
var jQuery=$;
var stepHooks="backgroundColor borderBottomColor borderLeftColor borderRightColor "+
"borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
class2type={},
toString=class2type.toString,
rplusequals=/^([\-+])=\s*(\d+\.?\d*)/,
stringParsers=[{
re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
parse:function(execResult){
return[
execResult[1],
execResult[2],
execResult[3],
execResult[4]
];
}
},{
re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
parse:function(execResult){
return[
execResult[1]*2.55,
execResult[2]*2.55,
execResult[3]*2.55,
execResult[4]
];
}
},{
re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?/,
parse:function(execResult){
return[
parseInt(execResult[1],16),
parseInt(execResult[2],16),
parseInt(execResult[3],16),
execResult[4]?
(parseInt(execResult[4],16)/255).toFixed(2):
1
];
}
},{
re:/#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?/,
parse:function(execResult){
return[
parseInt(execResult[1]+execResult[1],16),
parseInt(execResult[2]+execResult[2],16),
parseInt(execResult[3]+execResult[3],16),
execResult[4]?
(parseInt(execResult[4]+execResult[4],16)/255)
.toFixed(2):
1
];
}
},{
re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
space:"hsla",
parse:function(execResult){
return[
execResult[1],
execResult[2]/100,
execResult[3]/100,
execResult[4]
];
}
}],
color=jQuery.Color=function(color,green,blue,alpha){
return new jQuery.Color.fn.parse(color,green,blue,alpha);
},
spaces={
rgba:{
props:{
red:{
idx:0,
type:"byte"
},
green:{
idx:1,
type:"byte"
},
blue:{
idx:2,
type:"byte"
}
}
},
hsla:{
props:{
hue:{
idx:0,
type:"degrees"
},
saturation:{
idx:1,
type:"percent"
},
lightness:{
idx:2,
type:"percent"
}
}
}
},
propTypes={
"byte":{
floor:true,
max:255
},
"percent":{
max:1
},
"degrees":{
mod:360,
floor:true
}
},
support=color.support={},
supportElem=jQuery("<p>")[0],
colors,
each=jQuery.each;
supportElem.style.cssText="background-color:rgba(1,1,1,.5)";
support.rgba=supportElem.style.backgroundColor.indexOf("rgba")>-1;
each(spaces,function(spaceName,space){
space.cache="_"+spaceName;
space.props.alpha={
idx:3,
type:"percent",
def:1
};
});
jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),
function(_i,name){
class2type["[object "+name+"]"]=name.toLowerCase();
});
function getType(obj){
if(obj==null){
return obj+"";
}
return typeof obj==="object"?
class2type[toString.call(obj)]||"object":
typeof obj;
}
function clamp(value,prop,allowEmpty){
var type=propTypes[prop.type]||{};
if(value==null){
return(allowEmpty||!prop.def)?null:prop.def;
}
value=type.floor?~~value:parseFloat(value);
if(isNaN(value)){
return prop.def;
}
if(type.mod){
return(value+type.mod)%type.mod;
}
return Math.min(type.max,Math.max(0,value));
}
function stringParse(string){
var inst=color(),
rgba=inst._rgba=[];
string=string.toLowerCase();
each(stringParsers,function(_i,parser){
var parsed,
match=parser.re.exec(string),
values=match&&parser.parse(match),
spaceName=parser.space||"rgba";
if(values){
parsed=inst[spaceName](values);
inst[spaces[spaceName].cache]=parsed[spaces[spaceName].cache];
rgba=inst._rgba=parsed._rgba;
return false;
}
});
if(rgba.length){
if(rgba.join()==="0,0,0,0"){
jQuery.extend(rgba,colors.transparent);
}
return inst;
}
return colors[string];
}
color.fn=jQuery.extend(color.prototype,{
parse:function(red,green,blue,alpha){
if(red===undefined){
this._rgba=[null,null,null,null];
return this;
}
if(red.jquery||red.nodeType){
red=jQuery(red).css(green);
green=undefined;
}
var inst=this,
type=getType(red),
rgba=this._rgba=[];
if(green!==undefined){
red=[red,green,blue,alpha];
type="array";
}
if(type==="string"){
return this.parse(stringParse(red)||colors._default);
}
if(type==="array"){
each(spaces.rgba.props,function(_key,prop){
rgba[prop.idx]=clamp(red[prop.idx],prop);
});
return this;
}
if(type==="object"){
if(red instanceof color){
each(spaces,function(_spaceName,space){
if(red[space.cache]){
inst[space.cache]=red[space.cache].slice();
}
});
}else{
each(spaces,function(_spaceName,space){
var cache=space.cache;
each(space.props,function(key,prop){
if(!inst[cache]&&space.to){
if(key==="alpha"||red[key]==null){
return;
}
inst[cache]=space.to(inst._rgba);
}
inst[cache][prop.idx]=clamp(red[key],prop,true);
});
if(inst[cache]&&jQuery.inArray(null,inst[cache].slice(0,3))<0){
if(inst[cache][3]==null){
inst[cache][3]=1;
}
if(space.from){
inst._rgba=space.from(inst[cache]);
}
}
});
}
return this;
}
},
is:function(compare){
var is=color(compare),
same=true,
inst=this;
each(spaces,function(_,space){
var localCache,
isCache=is[space.cache];
if(isCache){
localCache=inst[space.cache]||space.to&&space.to(inst._rgba)||[];
each(space.props,function(_,prop){
if(isCache[prop.idx]!=null){
same=(isCache[prop.idx]===localCache[prop.idx]);
return same;
}
});
}
return same;
});
return same;
},
_space:function(){
var used=[],
inst=this;
each(spaces,function(spaceName,space){
if(inst[space.cache]){
used.push(spaceName);
}
});
return used.pop();
},
transition:function(other,distance){
var end=color(other),
spaceName=end._space(),
space=spaces[spaceName],
startColor=this.alpha()===0?color("transparent"):this,
start=startColor[space.cache]||space.to(startColor._rgba),
result=start.slice();
end=end[space.cache];
each(space.props,function(_key,prop){
var index=prop.idx,
startValue=start[index],
endValue=end[index],
type=propTypes[prop.type]||{};
if(endValue===null){
return;
}
if(startValue===null){
result[index]=endValue;
}else{
if(type.mod){
if(endValue-startValue>type.mod/2){
startValue+=type.mod;
}else if(startValue-endValue>type.mod/2){
startValue-=type.mod;
}
}
result[index]=clamp((endValue-startValue)*distance+startValue,prop);
}
});
return this[spaceName](result);
},
blend:function(opaque){
if(this._rgba[3]===1){
return this;
}
var rgb=this._rgba.slice(),
a=rgb.pop(),
blend=color(opaque)._rgba;
return color(jQuery.map(rgb,function(v,i){
return(1-a)*blend[i]+a*v;
}));
},
toRgbaString:function(){
var prefix="rgba(",
rgba=jQuery.map(this._rgba,function(v,i){
if(v!=null){
return v;
}
return i>2?1:0;
});
if(rgba[3]===1){
rgba.pop();
prefix="rgb(";
}
return prefix+rgba.join()+")";
},
toHslaString:function(){
var prefix="hsla(",
hsla=jQuery.map(this.hsla(),function(v,i){
if(v==null){
v=i>2?1:0;
}
if(i&&i<3){
v=Math.round(v*100)+"%";
}
return v;
});
if(hsla[3]===1){
hsla.pop();
prefix="hsl(";
}
return prefix+hsla.join()+")";
},
toHexString:function(includeAlpha){
var rgba=this._rgba.slice(),
alpha=rgba.pop();
if(includeAlpha){
rgba.push(~~(alpha*255));
}
return"#"+jQuery.map(rgba,function(v){
v=(v||0).toString(16);
return v.length===1?"0"+v:v;
}).join("");
},
toString:function(){
return this._rgba[3]===0?"transparent":this.toRgbaString();
}
});
color.fn.parse.prototype=color.fn;
function hue2rgb(p,q,h){
h=(h+1)%1;
if(h*6<1){
return p+(q-p)*h*6;
}
if(h*2<1){
return q;
}
if(h*3<2){
return p+(q-p)*((2/3)-h)*6;
}
return p;
}
spaces.hsla.to=function(rgba){
if(rgba[0]==null||rgba[1]==null||rgba[2]==null){
return[null,null,null,rgba[3]];
}
var r=rgba[0]/255,
g=rgba[1]/255,
b=rgba[2]/255,
a=rgba[3],
max=Math.max(r,g,b),
min=Math.min(r,g,b),
diff=max-min,
add=max+min,
l=add*0.5,
h,s;
if(min===max){
h=0;
}else if(r===max){
h=(60*(g-b)/diff)+360;
}else if(g===max){
h=(60*(b-r)/diff)+120;
}else{
h=(60*(r-g)/diff)+240;
}
if(diff===0){
s=0;
}else if(l<=0.5){
s=diff/add;
}else{
s=diff/(2-add);
}
return[Math.round(h)%360,s,l,a==null?1:a];
};
spaces.hsla.from=function(hsla){
if(hsla[0]==null||hsla[1]==null||hsla[2]==null){
return[null,null,null,hsla[3]];
}
var h=hsla[0]/360,
s=hsla[1],
l=hsla[2],
a=hsla[3],
q=l<=0.5?l*(1+s):l+s-l*s,
p=2*l-q;
return[
Math.round(hue2rgb(p,q,h+(1/3))*255),
Math.round(hue2rgb(p,q,h)*255),
Math.round(hue2rgb(p,q,h-(1/3))*255),
a
];
};
each(spaces,function(spaceName,space){
var props=space.props,
cache=space.cache,
to=space.to,
from=space.from;
color.fn[spaceName]=function(value){
if(to&&!this[cache]){
this[cache]=to(this._rgba);
}
if(value===undefined){
return this[cache].slice();
}
var ret,
type=getType(value),
arr=(type==="array"||type==="object")?value:arguments,
local=this[cache].slice();
each(props,function(key,prop){
var val=arr[type==="object"?key:prop.idx];
if(val==null){
val=local[prop.idx];
}
local[prop.idx]=clamp(val,prop);
});
if(from){
ret=color(from(local));
ret[cache]=local;
return ret;
}else{
return color(local);
}
};
each(props,function(key,prop){
if(color.fn[key]){
return;
}
color.fn[key]=function(value){
var local,cur,match,fn,
vtype=getType(value);
if(key==="alpha"){
fn=this._hsla?"hsla":"rgba";
}else{
fn=spaceName;
}
local=this[fn]();
cur=local[prop.idx];
if(vtype==="undefined"){
return cur;
}
if(vtype==="function"){
value=value.call(this,cur);
vtype=getType(value);
}
if(value==null&&prop.empty){
return this;
}
if(vtype==="string"){
match=rplusequals.exec(value);
if(match){
value=cur+parseFloat(match[2])*(match[1]==="+"?1:-1);
}
}
local[prop.idx]=value;
return this[fn](local);
};
});
});
color.hook=function(hook){
var hooks=hook.split(" ");
each(hooks,function(_i,hook){
jQuery.cssHooks[hook]={
set:function(elem,value){
var parsed,curElem,
backgroundColor="";
if(value!=="transparent"&&(getType(value)!=="string"||(parsed=stringParse(value)))){
value=color(parsed||value);
if(!support.rgba&&value._rgba[3]!==1){
curElem=hook==="backgroundColor"?elem.parentNode:elem;
while(
(backgroundColor===""||backgroundColor==="transparent")&&
curElem&&curElem.style
){
try{
backgroundColor=jQuery.css(curElem,"backgroundColor");
curElem=curElem.parentNode;
}catch(e){
}
}
value=value.blend(backgroundColor&&backgroundColor!=="transparent"?
backgroundColor:
"_default");
}
value=value.toRgbaString();
}
try{
elem.style[hook]=value;
}catch(e){
}
}
};
jQuery.fx.step[hook]=function(fx){
if(!fx.colorInit){
fx.start=color(fx.elem,hook);
fx.end=color(fx.end);
fx.colorInit=true;
}
jQuery.cssHooks[hook].set(fx.elem,fx.start.transition(fx.end,fx.pos));
};
});
};
color.hook(stepHooks);
jQuery.cssHooks.borderColor={
expand:function(value){
var expanded={};
each(["Top","Right","Bottom","Left"],function(_i,part){
expanded["border"+part+"Color"]=value;
});
return expanded;
}
};
colors=jQuery.Color.names={
aqua:"#00ffff",
black:"#000000",
blue:"#0000ff",
fuchsia:"#ff00ff",
gray:"#808080",
green:"#008000",
lime:"#00ff00",
maroon:"#800000",
navy:"#000080",
olive:"#808000",
purple:"#800080",
red:"#ff0000",
silver:"#c0c0c0",
teal:"#008080",
white:"#ffffff",
yellow:"#ffff00",
transparent:[null,null,null,0],
_default:"#ffffff"
};
var dataSpace="ui-effects-",
dataSpaceStyle="ui-effects-style",
dataSpaceAnimated="ui-effects-animated";
$.effects={
effect:{}
};
(function(){
var classAnimationActions=["add","remove","toggle"],
shorthandStyles={
border:1,
borderBottom:1,
borderColor:1,
borderLeft:1,
borderRight:1,
borderTop:1,
borderWidth:1,
margin:1,
padding:1
};
$.each(
["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],
function(_,prop){
$.fx.step[prop]=function(fx){
if(fx.end!=="none"&&!fx.setAttr||fx.pos===1&&!fx.setAttr){
jQuery.style(fx.elem,prop,fx.end);
fx.setAttr=true;
}
};
}
);
function camelCase(string){
return string.replace(/-([\da-z])/gi,function(all,letter){
return letter.toUpperCase();
});
}
function getElementStyles(elem){
var key,len,
style=elem.ownerDocument.defaultView?
elem.ownerDocument.defaultView.getComputedStyle(elem,null):
elem.currentStyle,
styles={};
if(style&&style.length&&style[0]&&style[style[0]]){
len=style.length;
while(len--){
key=style[len];
if(typeof style[key]==="string"){
styles[camelCase(key)]=style[key];
}
}
}else{
for(key in style){
if(typeof style[key]==="string"){
styles[key]=style[key];
}
}
}
return styles;
}
function styleDifference(oldStyle,newStyle){
var diff={},
name,value;
for(name in newStyle){
value=newStyle[name];
if(oldStyle[name]!==value){
if(!shorthandStyles[name]){
if($.fx.step[name]||!isNaN(parseFloat(value))){
diff[name]=value;
}
}
}
}
return diff;
}
if(!$.fn.addBack){
$.fn.addBack=function(selector){
return this.add(selector==null?
this.prevObject:this.prevObject.filter(selector)
);
};
}
$.effects.animateClass=function(value,duration,easing,callback){
var o=$.speed(duration,easing,callback);
return this.queue(function(){
var animated=$(this),
baseClass=animated.attr("class")||"",
applyClassChange,
allAnimations=o.children?animated.find("*").addBack():animated;
allAnimations=allAnimations.map(function(){
var el=$(this);
return{
el:el,
start:getElementStyles(this)
};
});
applyClassChange=function(){
$.each(classAnimationActions,function(i,action){
if(value[action]){
animated[action+"Class"](value[action]);
}
});
};
applyClassChange();
allAnimations=allAnimations.map(function(){
this.end=getElementStyles(this.el[0]);
this.diff=styleDifference(this.start,this.end);
return this;
});
animated.attr("class",baseClass);
allAnimations=allAnimations.map(function(){
var styleInfo=this,
dfd=$.Deferred(),
opts=$.extend({},o,{
queue:false,
complete:function(){
dfd.resolve(styleInfo);
}
});
this.el.animate(this.diff,opts);
return dfd.promise();
});
$.when.apply($,allAnimations.get()).done(function(){
applyClassChange();
$.each(arguments,function(){
var el=this.el;
$.each(this.diff,function(key){
el.css(key,"");
});
});
o.complete.call(animated[0]);
});
});
};
$.fn.extend({
addClass:(function(orig){
return function(classNames,speed,easing,callback){
return speed?
$.effects.animateClass.call(this,
{add:classNames},speed,easing,callback):
orig.apply(this,arguments);
};
})($.fn.addClass),
removeClass:(function(orig){
return function(classNames,speed,easing,callback){
return arguments.length>1?
$.effects.animateClass.call(this,
{remove:classNames},speed,easing,callback):
orig.apply(this,arguments);
};
})($.fn.removeClass),
toggleClass:(function(orig){
return function(classNames,force,speed,easing,callback){
if(typeof force==="boolean"||force===undefined){
if(!speed){
return orig.apply(this,arguments);
}else{
return $.effects.animateClass.call(this,
(force?{add:classNames}:{remove:classNames}),
speed,easing,callback);
}
}else{
return $.effects.animateClass.call(this,
{toggle:classNames},force,speed,easing);
}
};
})($.fn.toggleClass),
switchClass:function(remove,add,speed,easing,callback){
return $.effects.animateClass.call(this,{
add:add,
remove:remove
},speed,easing,callback);
}
});
})();
(function(){
if($.expr&&$.expr.pseudos&&$.expr.pseudos.animated){
$.expr.pseudos.animated=(function(orig){
return function(elem){
return!!$(elem).data(dataSpaceAnimated)||orig(elem);
};
})($.expr.pseudos.animated);
}
if($.uiBackCompat!==false){
$.extend($.effects,{
save:function(element,set){
var i=0,length=set.length;
for(;i<length;i++){
if(set[i]!==null){
element.data(dataSpace+set[i],element[0].style[set[i]]);
}
}
},
restore:function(element,set){
var val,i=0,length=set.length;
for(;i<length;i++){
if(set[i]!==null){
val=element.data(dataSpace+set[i]);
element.css(set[i],val);
}
}
},
setMode:function(el,mode){
if(mode==="toggle"){
mode=el.is(":hidden")?"show":"hide";
}
return mode;
},
createWrapper:function(element){
if(element.parent().is(".ui-effects-wrapper")){
return element.parent();
}
var props={
width:element.outerWidth(true),
height:element.outerHeight(true),
"float":element.css("float")
},
wrapper=$("<div></div>")
.addClass("ui-effects-wrapper")
.css({
fontSize:"100%",
background:"transparent",
border:"none",
margin:0,
padding:0
}),
size={
width:element.width(),
height:element.height()
},
active=document.activeElement;
try{
active.id;
}catch(e){
active=document.body;
}
element.wrap(wrapper);
if(element[0]===active||$.contains(element[0],active)){
$(active).trigger("focus");
}
wrapper=element.parent();
if(element.css("position")==="static"){
wrapper.css({position:"relative"});
element.css({position:"relative"});
}else{
$.extend(props,{
position:element.css("position"),
zIndex:element.css("z-index")
});
$.each(["top","left","bottom","right"],function(i,pos){
props[pos]=element.css(pos);
if(isNaN(parseInt(props[pos],10))){
props[pos]="auto";
}
});
element.css({
position:"relative",
top:0,
left:0,
right:"auto",
bottom:"auto"
});
}
element.css(size);
return wrapper.css(props).show();
},
removeWrapper:function(element){
var active=document.activeElement;
if(element.parent().is(".ui-effects-wrapper")){
element.parent().replaceWith(element);
if(element[0]===active||$.contains(element[0],active)){
$(active).trigger("focus");
}
}
return element;
}
});
}
$.extend($.effects,{
version:"1.13.2",
define:function(name,mode,effect){
if(!effect){
effect=mode;
mode="effect";
}
$.effects.effect[name]=effect;
$.effects.effect[name].mode=mode;
return effect;
},
scaledDimensions:function(element,percent,direction){
if(percent===0){
return{
height:0,
width:0,
outerHeight:0,
outerWidth:0
};
}
var x=direction!=="horizontal"?((percent||100)/100):1,
y=direction!=="vertical"?((percent||100)/100):1;
return{
height:element.height()*y,
width:element.width()*x,
outerHeight:element.outerHeight()*y,
outerWidth:element.outerWidth()*x
};
},
clipToBox:function(animation){
return{
width:animation.clip.right-animation.clip.left,
height:animation.clip.bottom-animation.clip.top,
left:animation.clip.left,
top:animation.clip.top
};
},
unshift:function(element,queueLength,count){
var queue=element.queue();
if(queueLength>1){
queue.splice.apply(queue,
[1,0].concat(queue.splice(queueLength,count)));
}
element.dequeue();
},
saveStyle:function(element){
element.data(dataSpaceStyle,element[0].style.cssText);
},
restoreStyle:function(element){
element[0].style.cssText=element.data(dataSpaceStyle)||"";
element.removeData(dataSpaceStyle);
},
mode:function(element,mode){
var hidden=element.is(":hidden");
if(mode==="toggle"){
mode=hidden?"show":"hide";
}
if(hidden?mode==="hide":mode==="show"){
mode="none";
}
return mode;
},
getBaseline:function(origin,original){
var y,x;
switch(origin[0]){
case"top":
y=0;
break;
case"middle":
y=0.5;
break;
case"bottom":
y=1;
break;
default:
y=origin[0]/original.height;
}
switch(origin[1]){
case"left":
x=0;
break;
case"center":
x=0.5;
break;
case"right":
x=1;
break;
default:
x=origin[1]/original.width;
}
return{
x:x,
y:y
};
},
createPlaceholder:function(element){
var placeholder,
cssPosition=element.css("position"),
position=element.position();
element.css({
marginTop:element.css("marginTop"),
marginBottom:element.css("marginBottom"),
marginLeft:element.css("marginLeft"),
marginRight:element.css("marginRight")
})
.outerWidth(element.outerWidth())
.outerHeight(element.outerHeight());
if(/^(static|relative)/.test(cssPosition)){
cssPosition="absolute";
placeholder=$("<"+element[0].nodeName+">").insertAfter(element).css({
display:/^(inline|ruby)/.test(element.css("display"))?
"inline-block":
"block",
visibility:"hidden",
marginTop:element.css("marginTop"),
marginBottom:element.css("marginBottom"),
marginLeft:element.css("marginLeft"),
marginRight:element.css("marginRight"),
"float":element.css("float")
})
.outerWidth(element.outerWidth())
.outerHeight(element.outerHeight())
.addClass("ui-effects-placeholder");
element.data(dataSpace+"placeholder",placeholder);
}
element.css({
position:cssPosition,
left:position.left,
top:position.top
});
return placeholder;
},
removePlaceholder:function(element){
var dataKey=dataSpace+"placeholder",
placeholder=element.data(dataKey);
if(placeholder){
placeholder.remove();
element.removeData(dataKey);
}
},
cleanUp:function(element){
$.effects.restoreStyle(element);
$.effects.removePlaceholder(element);
},
setTransition:function(element,list,factor,value){
value=value||{};
$.each(list,function(i,x){
var unit=element.cssUnit(x);
if(unit[0]>0){
value[x]=unit[0]*factor+unit[1];
}
});
return value;
}
});
function _normalizeArguments(effect,options,speed,callback){
if($.isPlainObject(effect)){
options=effect;
effect=effect.effect;
}
effect={effect:effect};
if(options==null){
options={};
}
if(typeof options==="function"){
callback=options;
speed=null;
options={};
}
if(typeof options==="number"||$.fx.speeds[options]){
callback=speed;
speed=options;
options={};
}
if(typeof speed==="function"){
callback=speed;
speed=null;
}
if(options){
$.extend(effect,options);
}
speed=speed||options.duration;
effect.duration=$.fx.off?0:
typeof speed==="number"?speed:
speed in $.fx.speeds?$.fx.speeds[speed]:
$.fx.speeds._default;
effect.complete=callback||options.complete;
return effect;
}
function standardAnimationOption(option){
if(!option||typeof option==="number"||$.fx.speeds[option]){
return true;
}
if(typeof option==="string"&&!$.effects.effect[option]){
return true;
}
if(typeof option==="function"){
return true;
}
if(typeof option==="object"&&!option.effect){
return true;
}
return false;
}
$.fn.extend({
effect:function(){
var args=_normalizeArguments.apply(this,arguments),
effectMethod=$.effects.effect[args.effect],
defaultMode=effectMethod.mode,
queue=args.queue,
queueName=queue||"fx",
complete=args.complete,
mode=args.mode,
modes=[],
prefilter=function(next){
var el=$(this),
normalizedMode=$.effects.mode(el,mode)||defaultMode;
el.data(dataSpaceAnimated,true);
modes.push(normalizedMode);
if(defaultMode&&(normalizedMode==="show"||
(normalizedMode===defaultMode&&normalizedMode==="hide"))){
el.show();
}
if(!defaultMode||normalizedMode!=="none"){
$.effects.saveStyle(el);
}
if(typeof next==="function"){
next();
}
};
if($.fx.off||!effectMethod){
if(mode){
return this[mode](args.duration,complete);
}else{
return this.each(function(){
if(complete){
complete.call(this);
}
});
}
}
function run(next){
var elem=$(this);
function cleanup(){
elem.removeData(dataSpaceAnimated);
$.effects.cleanUp(elem);
if(args.mode==="hide"){
elem.hide();
}
done();
}
function done(){
if(typeof complete==="function"){
complete.call(elem[0]);
}
if(typeof next==="function"){
next();
}
}
args.mode=modes.shift();
if($.uiBackCompat!==false&&!defaultMode){
if(elem.is(":hidden")?mode==="hide":mode==="show"){
elem[mode]();
done();
}else{
effectMethod.call(elem[0],args,done);
}
}else{
if(args.mode==="none"){
elem[mode]();
done();
}else{
effectMethod.call(elem[0],args,cleanup);
}
}
}
return queue===false?
this.each(prefilter).each(run):
this.queue(queueName,prefilter).queue(queueName,run);
},
show:(function(orig){
return function(option){
if(standardAnimationOption(option)){
return orig.apply(this,arguments);
}else{
var args=_normalizeArguments.apply(this,arguments);
args.mode="show";
return this.effect.call(this,args);
}
};
})($.fn.show),
hide:(function(orig){
return function(option){
if(standardAnimationOption(option)){
return orig.apply(this,arguments);
}else{
var args=_normalizeArguments.apply(this,arguments);
args.mode="hide";
return this.effect.call(this,args);
}
};
})($.fn.hide),
toggle:(function(orig){
return function(option){
if(standardAnimationOption(option)||typeof option==="boolean"){
return orig.apply(this,arguments);
}else{
var args=_normalizeArguments.apply(this,arguments);
args.mode="toggle";
return this.effect.call(this,args);
}
};
})($.fn.toggle),
cssUnit:function(key){
var style=this.css(key),
val=[];
$.each(["em","px","%","pt"],function(i,unit){
if(style.indexOf(unit)>0){
val=[parseFloat(style),unit];
}
});
return val;
},
cssClip:function(clipObj){
if(clipObj){
return this.css("clip","rect("+clipObj.top+"px "+clipObj.right+"px "+
clipObj.bottom+"px "+clipObj.left+"px)");
}
return parseClip(this.css("clip"),this);
},
transfer:function(options,done){
var element=$(this),
target=$(options.to),
targetFixed=target.css("position")==="fixed",
body=$("body"),
fixTop=targetFixed?body.scrollTop():0,
fixLeft=targetFixed?body.scrollLeft():0,
endPosition=target.offset(),
animation={
top:endPosition.top-fixTop,
left:endPosition.left-fixLeft,
height:target.innerHeight(),
width:target.innerWidth()
},
startPosition=element.offset(),
transfer=$("<div class='ui-effects-transfer'></div>");
transfer
.appendTo("body")
.addClass(options.className)
.css({
top:startPosition.top-fixTop,
left:startPosition.left-fixLeft,
height:element.innerHeight(),
width:element.innerWidth(),
position:targetFixed?"fixed":"absolute"
})
.animate(animation,options.duration,options.easing,function(){
transfer.remove();
if(typeof done==="function"){
done();
}
});
}
});
function parseClip(str,element){
var outerWidth=element.outerWidth(),
outerHeight=element.outerHeight(),
clipRegex=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,
values=clipRegex.exec(str)||["",0,outerWidth,outerHeight,0];
return{
top:parseFloat(values[1])||0,
right:values[2]==="auto"?outerWidth:parseFloat(values[2]),
bottom:values[3]==="auto"?outerHeight:parseFloat(values[3]),
left:parseFloat(values[4])||0
};
}
$.fx.step.clip=function(fx){
if(!fx.clipInit){
fx.start=$(fx.elem).cssClip();
if(typeof fx.end==="string"){
fx.end=parseClip(fx.end,fx.elem);
}
fx.clipInit=true;
}
$(fx.elem).cssClip({
top:fx.pos*(fx.end.top-fx.start.top)+fx.start.top,
right:fx.pos*(fx.end.right-fx.start.right)+fx.start.right,
bottom:fx.pos*(fx.end.bottom-fx.start.bottom)+fx.start.bottom,
left:fx.pos*(fx.end.left-fx.start.left)+fx.start.left
});
};
})();
(function(){
var baseEasings={};
$.each(["Quad","Cubic","Quart","Quint","Expo"],function(i,name){
baseEasings[name]=function(p){
return Math.pow(p,i+2);
};
});
$.extend(baseEasings,{
Sine:function(p){
return 1-Math.cos(p*Math.PI/2);
},
Circ:function(p){
return 1-Math.sqrt(1-p*p);
},
Elastic:function(p){
return p===0||p===1?p:
-Math.pow(2,8*(p-1))*Math.sin(((p-1)*80-7.5)*Math.PI/15);
},
Back:function(p){
return p*p*(3*p-2);
},
Bounce:function(p){
var pow2,
bounce=4;
while(p<((pow2=Math.pow(2,--bounce))-1)/11){}
return 1/Math.pow(4,3-bounce)-7.5625*Math.pow((pow2*3-2)/22-p,2);
}
});
$.each(baseEasings,function(name,easeIn){
$.easing["easeIn"+name]=easeIn;
$.easing["easeOut"+name]=function(p){
return 1-easeIn(1-p);
};
$.easing["easeInOut"+name]=function(p){
return p<0.5?
easeIn(p*2)/2:
1-easeIn(p*-2+2)/2;
};
});
})();
var effect=$.effects;
var effectsEffectBlind=$.effects.define("blind","hide",function(options,done){
var map={
up:["bottom","top"],
vertical:["bottom","top"],
down:["top","bottom"],
left:["right","left"],
horizontal:["right","left"],
right:["left","right"]
},
element=$(this),
direction=options.direction||"up",
start=element.cssClip(),
animate={clip:$.extend({},start)},
placeholder=$.effects.createPlaceholder(element);
animate.clip[map[direction][0]]=animate.clip[map[direction][1]];
if(options.mode==="show"){
element.cssClip(animate.clip);
if(placeholder){
placeholder.css($.effects.clipToBox(animate));
}
animate.clip=start;
}
if(placeholder){
placeholder.animate($.effects.clipToBox(animate),options.duration,options.easing);
}
element.animate(animate,{
queue:false,
duration:options.duration,
easing:options.easing,
complete:done
});
});
var effectsEffectBounce=$.effects.define("bounce",function(options,done){
var upAnim,downAnim,refValue,
element=$(this),
mode=options.mode,
hide=mode==="hide",
show=mode==="show",
direction=options.direction||"up",
distance=options.distance,
times=options.times||5,
anims=times*2+(show||hide?1:0),
speed=options.duration/anims,
easing=options.easing,
ref=(direction==="up"||direction==="down")?"top":"left",
motion=(direction==="up"||direction==="left"),
i=0,
queuelen=element.queue().length;
$.effects.createPlaceholder(element);
refValue=element.css(ref);
if(!distance){
distance=element[ref==="top"?"outerHeight":"outerWidth"]()/3;
}
if(show){
downAnim={opacity:1};
downAnim[ref]=refValue;
element
.css("opacity",0)
.css(ref,motion?-distance*2:distance*2)
.animate(downAnim,speed,easing);
}
if(hide){
distance=distance/Math.pow(2,times-1);
}
downAnim={};
downAnim[ref]=refValue;
for(;i<times;i++){
upAnim={};
upAnim[ref]=(motion?"-=":"+=")+distance;
element
.animate(upAnim,speed,easing)
.animate(downAnim,speed,easing);
distance=hide?distance*2:distance/2;
}
if(hide){
upAnim={opacity:0};
upAnim[ref]=(motion?"-=":"+=")+distance;
element.animate(upAnim,speed,easing);
}
element.queue(done);
$.effects.unshift(element,queuelen,anims+1);
});
var effectsEffectClip=$.effects.define("clip","hide",function(options,done){
var start,
animate={},
element=$(this),
direction=options.direction||"vertical",
both=direction==="both",
horizontal=both||direction==="horizontal",
vertical=both||direction==="vertical";
start=element.cssClip();
animate.clip={
top:vertical?(start.bottom-start.top)/2:start.top,
right:horizontal?(start.right-start.left)/2:start.right,
bottom:vertical?(start.bottom-start.top)/2:start.bottom,
left:horizontal?(start.right-start.left)/2:start.left
};
$.effects.createPlaceholder(element);
if(options.mode==="show"){
element.cssClip(animate.clip);
animate.clip=start;
}
element.animate(animate,{
queue:false,
duration:options.duration,
easing:options.easing,
complete:done
});
});
var effectsEffectDrop=$.effects.define("drop","hide",function(options,done){
var distance,
element=$(this),
mode=options.mode,
show=mode==="show",
direction=options.direction||"left",
ref=(direction==="up"||direction==="down")?"top":"left",
motion=(direction==="up"||direction==="left")?"-=":"+=",
oppositeMotion=(motion==="+=")?"-=":"+=",
animation={
opacity:0
};
$.effects.createPlaceholder(element);
distance=options.distance||
element[ref==="top"?"outerHeight":"outerWidth"](true)/2;
animation[ref]=motion+distance;
if(show){
element.css(animation);
animation[ref]=oppositeMotion+distance;
animation.opacity=1;
}
element.animate(animation,{
queue:false,
duration:options.duration,
easing:options.easing,
complete:done
});
});
var effectsEffectExplode=$.effects.define("explode","hide",function(options,done){
var i,j,left,top,mx,my,
rows=options.pieces?Math.round(Math.sqrt(options.pieces)):3,
cells=rows,
element=$(this),
mode=options.mode,
show=mode==="show",
offset=element.show().css("visibility","hidden").offset(),
width=Math.ceil(element.outerWidth()/cells),
height=Math.ceil(element.outerHeight()/rows),
pieces=[];
function childComplete(){
pieces.push(this);
if(pieces.length===rows*cells){
animComplete();
}
}
for(i=0;i<rows;i++){
top=offset.top+i*height;
my=i-(rows-1)/2;
for(j=0;j<cells;j++){
left=offset.left+j*width;
mx=j-(cells-1)/2;
element
.clone()
.appendTo("body")
.wrap("<div></div>")
.css({
position:"absolute",
visibility:"visible",
left:-j*width,
top:-i*height
})
.parent()
.addClass("ui-effects-explode")
.css({
position:"absolute",
overflow:"hidden",
width:width,
height:height,
left:left+(show?mx*width:0),
top:top+(show?my*height:0),
opacity:show?0:1
})
.animate({
left:left+(show?0:mx*width),
top:top+(show?0:my*height),
opacity:show?1:0
},options.duration||500,options.easing,childComplete);
}
}
function animComplete(){
element.css({
visibility:"visible"
});
$(pieces).remove();
done();
}
});
var effectsEffectFade=$.effects.define("fade","toggle",function(options,done){
var show=options.mode==="show";
$(this)
.css("opacity",show?0:1)
.animate({
opacity:show?1:0
},{
queue:false,
duration:options.duration,
easing:options.easing,
complete:done
});
});
var effectsEffectFold=$.effects.define("fold","hide",function(options,done){
var element=$(this),
mode=options.mode,
show=mode==="show",
hide=mode==="hide",
size=options.size||15,
percent=/([0-9]+)%/.exec(size),
horizFirst=!!options.horizFirst,
ref=horizFirst?["right","bottom"]:["bottom","right"],
duration=options.duration/2,
placeholder=$.effects.createPlaceholder(element),
start=element.cssClip(),
animation1={clip:$.extend({},start)},
animation2={clip:$.extend({},start)},
distance=[start[ref[0]],start[ref[1]]],
queuelen=element.queue().length;
if(percent){
size=parseInt(percent[1],10)/100*distance[hide?0:1];
}
animation1.clip[ref[0]]=size;
animation2.clip[ref[0]]=size;
animation2.clip[ref[1]]=0;
if(show){
element.cssClip(animation2.clip);
if(placeholder){
placeholder.css($.effects.clipToBox(animation2));
}
animation2.clip=start;
}
element
.queue(function(next){
if(placeholder){
placeholder
.animate($.effects.clipToBox(animation1),duration,options.easing)
.animate($.effects.clipToBox(animation2),duration,options.easing);
}
next();
})
.animate(animation1,duration,options.easing)
.animate(animation2,duration,options.easing)
.queue(done);
$.effects.unshift(element,queuelen,4);
});
var effectsEffectHighlight=$.effects.define("highlight","show",function(options,done){
var element=$(this),
animation={
backgroundColor:element.css("backgroundColor")
};
if(options.mode==="hide"){
animation.opacity=0;
}
$.effects.saveStyle(element);
element
.css({
backgroundImage:"none",
backgroundColor:options.color||"#ffff99"
})
.animate(animation,{
queue:false,
duration:options.duration,
easing:options.easing,
complete:done
});
});
var effectsEffectSize=$.effects.define("size",function(options,done){
var baseline,factor,temp,
element=$(this),
cProps=["fontSize"],
vProps=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],
hProps=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],
mode=options.mode,
restore=mode!=="effect",
scale=options.scale||"both",
origin=options.origin||["middle","center"],
position=element.css("position"),
pos=element.position(),
original=$.effects.scaledDimensions(element),
from=options.from||original,
to=options.to||$.effects.scaledDimensions(element,0);
$.effects.createPlaceholder(element);
if(mode==="show"){
temp=from;
from=to;
to=temp;
}
factor={
from:{
y:from.height/original.height,
x:from.width/original.width
},
to:{
y:to.height/original.height,
x:to.width/original.width
}
};
if(scale==="box"||scale==="both"){
if(factor.from.y!==factor.to.y){
from=$.effects.setTransition(element,vProps,factor.from.y,from);
to=$.effects.setTransition(element,vProps,factor.to.y,to);
}
if(factor.from.x!==factor.to.x){
from=$.effects.setTransition(element,hProps,factor.from.x,from);
to=$.effects.setTransition(element,hProps,factor.to.x,to);
}
}
if(scale==="content"||scale==="both"){
if(factor.from.y!==factor.to.y){
from=$.effects.setTransition(element,cProps,factor.from.y,from);
to=$.effects.setTransition(element,cProps,factor.to.y,to);
}
}
if(origin){
baseline=$.effects.getBaseline(origin,original);
from.top=(original.outerHeight-from.outerHeight)*baseline.y+pos.top;
from.left=(original.outerWidth-from.outerWidth)*baseline.x+pos.left;
to.top=(original.outerHeight-to.outerHeight)*baseline.y+pos.top;
to.left=(original.outerWidth-to.outerWidth)*baseline.x+pos.left;
}
delete from.outerHeight;
delete from.outerWidth;
element.css(from);
if(scale==="content"||scale==="both"){
vProps=vProps.concat(["marginTop","marginBottom"]).concat(cProps);
hProps=hProps.concat(["marginLeft","marginRight"]);
element.find("*[width]").each(function(){
var child=$(this),
childOriginal=$.effects.scaledDimensions(child),
childFrom={
height:childOriginal.height*factor.from.y,
width:childOriginal.width*factor.from.x,
outerHeight:childOriginal.outerHeight*factor.from.y,
outerWidth:childOriginal.outerWidth*factor.from.x
},
childTo={
height:childOriginal.height*factor.to.y,
width:childOriginal.width*factor.to.x,
outerHeight:childOriginal.height*factor.to.y,
outerWidth:childOriginal.width*factor.to.x
};
if(factor.from.y!==factor.to.y){
childFrom=$.effects.setTransition(child,vProps,factor.from.y,childFrom);
childTo=$.effects.setTransition(child,vProps,factor.to.y,childTo);
}
if(factor.from.x!==factor.to.x){
childFrom=$.effects.setTransition(child,hProps,factor.from.x,childFrom);
childTo=$.effects.setTransition(child,hProps,factor.to.x,childTo);
}
if(restore){
$.effects.saveStyle(child);
}
child.css(childFrom);
child.animate(childTo,options.duration,options.easing,function(){
if(restore){
$.effects.restoreStyle(child);
}
});
});
}
element.animate(to,{
queue:false,
duration:options.duration,
easing:options.easing,
complete:function(){
var offset=element.offset();
if(to.opacity===0){
element.css("opacity",from.opacity);
}
if(!restore){
element
.css("position",position==="static"?"relative":position)
.offset(offset);
$.effects.saveStyle(element);
}
done();
}
});
});
var effectsEffectScale=$.effects.define("scale",function(options,done){
var el=$(this),
mode=options.mode,
percent=parseInt(options.percent,10)||
(parseInt(options.percent,10)===0?0:(mode!=="effect"?0:100)),
newOptions=$.extend(true,{
from:$.effects.scaledDimensions(el),
to:$.effects.scaledDimensions(el,percent,options.direction||"both"),
origin:options.origin||["middle","center"]
},options);
if(options.fade){
newOptions.from.opacity=1;
newOptions.to.opacity=0;
}
$.effects.effect.size.call(this,newOptions,done);
});
var effectsEffectPuff=$.effects.define("puff","hide",function(options,done){
var newOptions=$.extend(true,{},options,{
fade:true,
percent:parseInt(options.percent,10)||150
});
$.effects.effect.scale.call(this,newOptions,done);
});
var effectsEffectPulsate=$.effects.define("pulsate","show",function(options,done){
var element=$(this),
mode=options.mode,
show=mode==="show",
hide=mode==="hide",
showhide=show||hide,
anims=((options.times||5)*2)+(showhide?1:0),
duration=options.duration/anims,
animateTo=0,
i=1,
queuelen=element.queue().length;
if(show||!element.is(":visible")){
element.css("opacity",0).show();
animateTo=1;
}
for(;i<anims;i++){
element.animate({opacity:animateTo},duration,options.easing);
animateTo=1-animateTo;
}
element.animate({opacity:animateTo},duration,options.easing);
element.queue(done);
$.effects.unshift(element,queuelen,anims+1);
});
var effectsEffectShake=$.effects.define("shake",function(options,done){
var i=1,
element=$(this),
direction=options.direction||"left",
distance=options.distance||20,
times=options.times||3,
anims=times*2+1,
speed=Math.round(options.duration/anims),
ref=(direction==="up"||direction==="down")?"top":"left",
positiveMotion=(direction==="up"||direction==="left"),
animation={},
animation1={},
animation2={},
queuelen=element.queue().length;
$.effects.createPlaceholder(element);
animation[ref]=(positiveMotion?"-=":"+=")+distance;
animation1[ref]=(positiveMotion?"+=":"-=")+distance*2;
animation2[ref]=(positiveMotion?"-=":"+=")+distance*2;
element.animate(animation,speed,options.easing);
for(;i<times;i++){
element
.animate(animation1,speed,options.easing)
.animate(animation2,speed,options.easing);
}
element
.animate(animation1,speed,options.easing)
.animate(animation,speed/2,options.easing)
.queue(done);
$.effects.unshift(element,queuelen,anims+1);
});
var effectsEffectSlide=$.effects.define("slide","show",function(options,done){
var startClip,startRef,
element=$(this),
map={
up:["bottom","top"],
down:["top","bottom"],
left:["right","left"],
right:["left","right"]
},
mode=options.mode,
direction=options.direction||"left",
ref=(direction==="up"||direction==="down")?"top":"left",
positiveMotion=(direction==="up"||direction==="left"),
distance=options.distance||
element[ref==="top"?"outerHeight":"outerWidth"](true),
animation={};
$.effects.createPlaceholder(element);
startClip=element.cssClip();
startRef=element.position()[ref];
animation[ref]=(positiveMotion?-1:1)*distance+startRef;
animation.clip=element.cssClip();
animation.clip[map[direction][1]]=animation.clip[map[direction][0]];
if(mode==="show"){
element.cssClip(animation.clip);
element.css(ref,animation[ref]);
animation.clip=startClip;
animation[ref]=startRef;
}
element.animate(animation,{
queue:false,
duration:options.duration,
easing:options.easing,
complete:done
});
});
var effect;
if($.uiBackCompat!==false){
effect=$.effects.define("transfer",function(options,done){
$(this).transfer(options,done);
});
}
var effectsEffectTransfer=effect;
});



SAMX