/* compact [
	prive/javascript/jquery.js
	prive/javascript/jquery.form.js
	prive/javascript/jquery.autosave.js
	prive/javascript/jquery.placeholder-label.js
	prive/javascript/ajaxCallback.js
	prive/javascript/jquery.cookie.js
	prive/javascript/ui/jquery.ui.core.js
	extensions/mediabox/javascript/jquery.colorbox.js?1326121373
	extensions/mediabox/javascript/spip.mediabox.js?1326121373
] 59.1% */

/* prive/javascript/jquery.js */

(function(window,undefined){
var document=window.document,
navigator=window.navigator,
location=window.location;
var jQuery=(function(){
var jQuery=function(selector,context){
return new jQuery.fn.init(selector,context,rootjQuery);
},
_jQuery=window.jQuery,
_$=window.$,
rootjQuery,
quickExpr=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
rnotwhite=/\S/,
trimLeft=/^\s+/,
trimRight=/\s+$/,
rdigit=/\d/,
rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,
rvalidchars=/^[\],:{}\s]*$/,
rvalidescape=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
rvalidtokens=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
rvalidbraces=/(?:^|:|,)(?:\s*\[)+/g,
rwebkit=/(webkit)[ \/]([\w.]+)/,
ropera=/(opera)(?:.*version)?[ \/]([\w.]+)/,
rmsie=/(msie) ([\w.]+)/,
rmozilla=/(mozilla)(?:.*? rv:([\w.]+))?/,
rdashAlpha=/-([a-z]|[0-9])/ig,
rmsPrefix=/^-ms-/,
fcamelCase=function(all,letter){
return(letter+"").toUpperCase();
},
userAgent=navigator.userAgent,
browserMatch,
readyList,
DOMContentLoaded,
toString=Object.prototype.toString,
hasOwn=Object.prototype.hasOwnProperty,
push=Array.prototype.push,
slice=Array.prototype.slice,
trim=String.prototype.trim,
indexOf=Array.prototype.indexOf,
class2type={};
jQuery.fn=jQuery.prototype={
constructor:jQuery,
init:function(selector,context,rootjQuery){
var match,elem,ret,doc;
if(!selector){
return this;
}
if(selector.nodeType){
this.context=this[0]=selector;
this.length=1;
return this;
}
if(selector==="body"&&!context&&document.body){
this.context=document;
this[0]=document.body;
this.selector=selector;
this.length=1;
return this;
}
if(typeof selector==="string"){
if(selector.charAt(0)==="<"&&selector.charAt(selector.length-1)===">"&&selector.length>=3){
match=[null,selector,null];
}else{
match=quickExpr.exec(selector);
}
if(match&&(match[1]||!context)){
if(match[1]){
context=context instanceof jQuery?context[0]:context;
doc=(context?context.ownerDocument||context:document);
ret=rsingleTag.exec(selector);
if(ret){
if(jQuery.isPlainObject(context)){
selector=[document.createElement(ret[1])];
jQuery.fn.attr.call(selector,context,true);
}else{
selector=[doc.createElement(ret[1])];
}
}else{
ret=jQuery.buildFragment([match[1]],[doc]);
selector=(ret.cacheable?jQuery.clone(ret.fragment):ret.fragment).childNodes;
}
return jQuery.merge(this,selector);
}else{
elem=document.getElementById(match[2]);
if(elem&&elem.parentNode){
if(elem.id!==match[2]){
return rootjQuery.find(selector);
}
this.length=1;
this[0]=elem;
}
this.context=document;
this.selector=selector;
return this;
}
}else if(!context||context.jquery){
return(context||rootjQuery).find(selector);
}else{
return this.constructor(context).find(selector);
}
}else if(jQuery.isFunction(selector)){
return rootjQuery.ready(selector);
}
if(selector.selector!==undefined){
this.selector=selector.selector;
this.context=selector.context;
}
return jQuery.makeArray(selector,this);
},
selector:"",
jquery:"1.6.4",
length:0,
size:function(){
return this.length;
},
toArray:function(){
return slice.call(this,0);
},
get:function(num){
return num==null?
this.toArray():
(num<0?this[this.length+num]:this[num]);
},
pushStack:function(elems,name,selector){
var ret=this.constructor();
if(jQuery.isArray(elems)){
push.apply(ret,elems);
}else{
jQuery.merge(ret,elems);
}
ret.prevObject=this;
ret.context=this.context;
if(name==="find"){
ret.selector=this.selector+(this.selector?" ":"")+selector;
}else if(name){
ret.selector=this.selector+"."+name+"("+selector+")";
}
return ret;
},
each:function(callback,args){
return jQuery.each(this,callback,args);
},
ready:function(fn){
jQuery.bindReady();
readyList.done(fn);
return this;
},
eq:function(i){
return i===-1?
this.slice(i):
this.slice(i,+i+1);
},
first:function(){
return this.eq(0);
},
last:function(){
return this.eq(-1);
},
slice:function(){
return this.pushStack(slice.apply(this,arguments),
"slice",slice.call(arguments).join(","));
},
map:function(callback){
return this.pushStack(jQuery.map(this,function(elem,i){
return callback.call(elem,i,elem);
}));
},
end:function(){
return this.prevObject||this.constructor(null);
},
push:push,
sort:[].sort,
splice:[].splice
};
jQuery.fn.init.prototype=jQuery.fn;
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[1]||{};
i=2;
}
if(typeof target!=="object"&&!jQuery.isFunction(target)){
target={};
}
if(length===i){
target=this;
--i;
}
for(;i<length;i++){
if((options=arguments[i])!=null){
for(name in options){
src=target[name];
copy=options[name];
if(target===copy){
continue;
}
if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){
if(copyIsArray){
copyIsArray=false;
clone=src&&jQuery.isArray(src)?src:[];
}else{
clone=src&&jQuery.isPlainObject(src)?src:{};
}
target[name]=jQuery.extend(deep,clone,copy);
}else if(copy!==undefined){
target[name]=copy;
}
}
}
}
return target;
};
jQuery.extend({
noConflict:function(deep){
if(window.$===jQuery){
window.$=_$;
}
if(deep&&window.jQuery===jQuery){
window.jQuery=_jQuery;
}
return jQuery;
},
isReady:false,
readyWait:1,
holdReady:function(hold){
if(hold){
jQuery.readyWait++;
}else{
jQuery.ready(true);
}
},
ready:function(wait){
if((wait===true&&!--jQuery.readyWait)||(wait!==true&&!jQuery.isReady)){
if(!document.body){
return setTimeout(jQuery.ready,1);
}
jQuery.isReady=true;
if(wait!==true&&--jQuery.readyWait>0){
return;
}
readyList.resolveWith(document,[jQuery]);
if(jQuery.fn.trigger){
jQuery(document).trigger("ready").unbind("ready");
}
}
},
bindReady:function(){
if(readyList){
return;
}
readyList=jQuery._Deferred();
if(document.readyState==="complete"){
return setTimeout(jQuery.ready,1);
}
if(document.addEventListener){
document.addEventListener("DOMContentLoaded",DOMContentLoaded,false);
window.addEventListener("load",jQuery.ready,false);
}else if(document.attachEvent){
document.attachEvent("onreadystatechange",DOMContentLoaded);
window.attachEvent("onload",jQuery.ready);
var toplevel=false;
try{
toplevel=window.frameElement==null;
}catch(e){}
if(document.documentElement.doScroll&&toplevel){
doScrollCheck();
}
}
},
isFunction:function(obj){
return jQuery.type(obj)==="function";
},
isArray:Array.isArray||function(obj){
return jQuery.type(obj)==="array";
},
isWindow:function(obj){
return obj&&typeof obj==="object"&&"setInterval"in obj;
},
isNaN:function(obj){
return obj==null||!rdigit.test(obj)||isNaN(obj);
},
type:function(obj){
return obj==null?
String(obj):
class2type[toString.call(obj)]||"object";
},
isPlainObject:function(obj){
if(!obj||jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj)){
return false;
}
try{
if(obj.constructor&&
!hasOwn.call(obj,"constructor")&&
!hasOwn.call(obj.constructor.prototype,"isPrototypeOf")){
return false;
}
}catch(e){
return false;
}
var key;
for(key in obj){}
return key===undefined||hasOwn.call(obj,key);
},
isEmptyObject:function(obj){
for(var name in obj){
return false;
}
return true;
},
error:function(msg){
throw msg;
},
parseJSON:function(data){
if(typeof data!=="string"||!data){
return null;
}
data=jQuery.trim(data);
if(window.JSON&&window.JSON.parse){
return window.JSON.parse(data);
}
if(rvalidchars.test(data.replace(rvalidescape,"@")
.replace(rvalidtokens,"]")
.replace(rvalidbraces,""))){
return(new Function("return "+data))();
}
jQuery.error("Invalid JSON: "+data);
},
parseXML:function(data){
var xml,tmp;
try{
if(window.DOMParser){tmp=new DOMParser();
xml=tmp.parseFromString(data,"text/xml");
}else{xml=new ActiveXObject("Microsoft.XMLDOM");
xml.async="false";
xml.loadXML(data);
}
}catch(e){
xml=undefined;
}
if(!xml||!xml.documentElement||xml.getElementsByTagName("parsererror").length){
jQuery.error("Invalid XML: "+data);
}
return xml;
},
noop:function(){},
globalEval:function(data){
if(data&&rnotwhite.test(data)){
(window.execScript||function(data){
window["eval"].call(window,data);
})(data);
}
},
camelCase:function(string){
return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase);
},
nodeName:function(elem,name){
return elem.nodeName&&elem.nodeName.toUpperCase()===name.toUpperCase();
},
each:function(object,callback,args){
var name,i=0,
length=object.length,
isObj=length===undefined||jQuery.isFunction(object);
if(args){
if(isObj){
for(name in object){
if(callback.apply(object[name],args)===false){
break;
}
}
}else{
for(;i<length;){
if(callback.apply(object[i++],args)===false){
break;
}
}
}
}else{
if(isObj){
for(name in object){
if(callback.call(object[name],name,object[name])===false){
break;
}
}
}else{
for(;i<length;){
if(callback.call(object[i],i,object[i++])===false){
break;
}
}
}
}
return object;
},
trim:trim?
function(text){
return text==null?
"":
trim.call(text);
}:
function(text){
return text==null?
"":
text.toString().replace(trimLeft,"").replace(trimRight,"");
},
makeArray:function(array,results){
var ret=results||[];
if(array!=null){
var type=jQuery.type(array);
if(array.length==null||type==="string"||type==="function"||type==="regexp"||jQuery.isWindow(array)){
push.call(ret,array);
}else{
jQuery.merge(ret,array);
}
}
return ret;
},
inArray:function(elem,array){
if(!array){
return-1;
}
if(indexOf){
return indexOf.call(array,elem);
}
for(var i=0,length=array.length;i<length;i++){
if(array[i]===elem){
return i;
}
}
return-1;
},
merge:function(first,second){
var i=first.length,
j=0;
if(typeof second.length==="number"){
for(var l=second.length;j<l;j++){
first[i++]=second[j];
}
}else{
while(second[j]!==undefined){
first[i++]=second[j++];
}
}
first.length=i;
return first;
},
grep:function(elems,callback,inv){
var ret=[],retVal;
inv=!!inv;
for(var i=0,length=elems.length;i<length;i++){
retVal=!!callback(elems[i],i);
if(inv!==retVal){
ret.push(elems[i]);
}
}
return ret;
},
map:function(elems,callback,arg){
var value,key,ret=[],
i=0,
length=elems.length,
isArray=elems instanceof jQuery||length!==undefined&&typeof length==="number"&&((length>0&&elems[0]&&elems[length-1])||length===0||jQuery.isArray(elems));
if(isArray){
for(;i<length;i++){
value=callback(elems[i],i,arg);
if(value!=null){
ret[ret.length]=value;
}
}
}else{
for(key in elems){
value=callback(elems[key],key,arg);
if(value!=null){
ret[ret.length]=value;
}
}
}
return ret.concat.apply([],ret);
},
guid:1,
proxy:function(fn,context){
if(typeof context==="string"){
var tmp=fn[context];
context=fn;
fn=tmp;
}
if(!jQuery.isFunction(fn)){
return undefined;
}
var args=slice.call(arguments,2),
proxy=function(){
return fn.apply(context,args.concat(slice.call(arguments)));
};
proxy.guid=fn.guid=fn.guid||proxy.guid||jQuery.guid++;
return proxy;
},
access:function(elems,key,value,exec,fn,pass){
var length=elems.length;
if(typeof key==="object"){
for(var k in key){
jQuery.access(elems,k,key[k],exec,fn,value);
}
return elems;
}
if(value!==undefined){
exec=!pass&&exec&&jQuery.isFunction(value);
for(var i=0;i<length;i++){
fn(elems[i],key,exec?value.call(elems[i],i,fn(elems[i],key)):value,pass);
}
return elems;
}
return length?fn(elems[0],key):undefined;
},
now:function(){
return(new Date()).getTime();
},
uaMatch:function(ua){
ua=ua.toLowerCase();
var match=rwebkit.exec(ua)||
ropera.exec(ua)||
rmsie.exec(ua)||
ua.indexOf("compatible")<0&&rmozilla.exec(ua)||
[];
return{browser:match[1]||"",version:match[2]||"0"};
},
sub:function(){
function jQuerySub(selector,context){
return new jQuerySub.fn.init(selector,context);
}
jQuery.extend(true,jQuerySub,this);
jQuerySub.superclass=this;
jQuerySub.fn=jQuerySub.prototype=this();
jQuerySub.fn.constructor=jQuerySub;
jQuerySub.sub=this.sub;
jQuerySub.fn.init=function init(selector,context){
if(context&&context instanceof jQuery&&!(context instanceof jQuerySub)){
context=jQuerySub(context);
}
return jQuery.fn.init.call(this,selector,context,rootjQuerySub);
};
jQuerySub.fn.init.prototype=jQuerySub.fn;
var rootjQuerySub=jQuerySub(document);
return jQuerySub;
},
browser:{}
});
jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(i,name){
class2type["[object "+name+"]"]=name.toLowerCase();
});
browserMatch=jQuery.uaMatch(userAgent);
if(browserMatch.browser){
jQuery.browser[browserMatch.browser]=true;
jQuery.browser.version=browserMatch.version;
}
if(jQuery.browser.webkit){
jQuery.browser.safari=true;
}
if(rnotwhite.test("\xA0")){
trimLeft=/^[\s\xA0]+/;
trimRight=/[\s\xA0]+$/;
}
rootjQuery=jQuery(document);
if(document.addEventListener){
DOMContentLoaded=function(){
document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);
jQuery.ready();
};
}else if(document.attachEvent){
DOMContentLoaded=function(){
if(document.readyState==="complete"){
document.detachEvent("onreadystatechange",DOMContentLoaded);
jQuery.ready();
}
};
}
function doScrollCheck(){
if(jQuery.isReady){
return;
}
try{
document.documentElement.doScroll("left");
}catch(e){
setTimeout(doScrollCheck,1);
return;
}
jQuery.ready();
}
return jQuery;
})();
var promiseMethods="done fail isResolved isRejected promise then always pipe".split(" "),
sliceDeferred=[].slice;
jQuery.extend({
_Deferred:function(){
var callbacks=[],
fired,
firing,
cancelled,
deferred={
done:function(){
if(!cancelled){
var args=arguments,
i,
length,
elem,
type,
_fired;
if(fired){
_fired=fired;
fired=0;
}
for(i=0,length=args.length;i<length;i++){
elem=args[i];
type=jQuery.type(elem);
if(type==="array"){
deferred.done.apply(deferred,elem);
}else if(type==="function"){
callbacks.push(elem);
}
}
if(_fired){
deferred.resolveWith(_fired[0],_fired[1]);
}
}
return this;
},
resolveWith:function(context,args){
if(!cancelled&&!fired&&!firing){
args=args||[];
firing=1;
try{
while(callbacks[0]){
callbacks.shift().apply(context,args);
}
}
finally{
fired=[context,args];
firing=0;
}
}
return this;
},
resolve:function(){
deferred.resolveWith(this,arguments);
return this;
},
isResolved:function(){
return!!(firing||fired);
},
cancel:function(){
cancelled=1;
callbacks=[];
return this;
}
};
return deferred;
},
Deferred:function(func){
var deferred=jQuery._Deferred(),
failDeferred=jQuery._Deferred(),
promise;
jQuery.extend(deferred,{
then:function(doneCallbacks,failCallbacks){
deferred.done(doneCallbacks).fail(failCallbacks);
return this;
},
always:function(){
return deferred.done.apply(deferred,arguments).fail.apply(this,arguments);
},
fail:failDeferred.done,
rejectWith:failDeferred.resolveWith,
reject:failDeferred.resolve,
isRejected:failDeferred.isResolved,
pipe:function(fnDone,fnFail){
return jQuery.Deferred(function(newDefer){
jQuery.each({
done:[fnDone,"resolve"],
fail:[fnFail,"reject"]
},function(handler,data){
var fn=data[0],
action=data[1],
returned;
if(jQuery.isFunction(fn)){
deferred[handler](function(){
returned=fn.apply(this,arguments);
if(returned&&jQuery.isFunction(returned.promise)){
returned.promise().then(newDefer.resolve,newDefer.reject);
}else{
newDefer[action+"With"](this===deferred?newDefer:this,[returned]);
}
});
}else{
deferred[handler](newDefer[action]);
}
});
}).promise();
},
promise:function(obj){
if(obj==null){
if(promise){
return promise;
}
promise=obj={};
}
var i=promiseMethods.length;
while(i--){
obj[promiseMethods[i]]=deferred[promiseMethods[i]];
}
return obj;
}
});
deferred.done(failDeferred.cancel).fail(deferred.cancel);
delete deferred.cancel;
if(func){
func.call(deferred,deferred);
}
return deferred;
},
when:function(firstParam){
var args=arguments,
i=0,
length=args.length,
count=length,
deferred=length<=1&&firstParam&&jQuery.isFunction(firstParam.promise)?
firstParam:
jQuery.Deferred();
function resolveFunc(i){
return function(value){
args[i]=arguments.length>1?sliceDeferred.call(arguments,0):value;
if(!(--count)){
deferred.resolveWith(deferred,sliceDeferred.call(args,0));
}
};
}
if(length>1){
for(;i<length;i++){
if(args[i]&&jQuery.isFunction(args[i].promise)){
args[i].promise().then(resolveFunc(i),deferred.reject);
}else{
--count;
}
}
if(!count){
deferred.resolveWith(deferred,args);
}
}else if(deferred!==firstParam){
deferred.resolveWith(deferred,length?[firstParam]:[]);
}
return deferred.promise();
}
});
jQuery.support=(function(){
var div=document.createElement("div"),
documentElement=document.documentElement,
all,
a,
select,
opt,
input,
marginDiv,
support,
fragment,
body,
testElementParent,
testElement,
testElementStyle,
tds,
events,
eventName,
i,
isSupported;
div.setAttribute("className","t");
div.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
all=div.getElementsByTagName("*");
a=div.getElementsByTagName("a")[0];
if(!all||!all.length||!a){
return{};
}
select=document.createElement("select");
opt=select.appendChild(document.createElement("option"));
input=div.getElementsByTagName("input")[0];
support={
leadingWhitespace:(div.firstChild.nodeType===3),
tbody:!div.getElementsByTagName("tbody").length,
htmlSerialize:!!div.getElementsByTagName("link").length,
style:/top/.test(a.getAttribute("style")),
hrefNormalized:(a.getAttribute("href")==="/a"),
opacity:/^0.55$/.test(a.style.opacity),
cssFloat:!!a.style.cssFloat,
checkOn:(input.value==="on"),
optSelected:opt.selected,
getSetAttribute:div.className!=="t",
submitBubbles:true,
changeBubbles:true,
focusinBubbles:false,
deleteExpando:true,
noCloneEvent:true,
inlineBlockNeedsLayout:false,
shrinkWrapBlocks:false,
reliableMarginRight:true
};
input.checked=true;
support.noCloneChecked=input.cloneNode(true).checked;
select.disabled=true;
support.optDisabled=!opt.disabled;
try{
delete div.test;
}catch(e){
support.deleteExpando=false;
}
if(!div.addEventListener&&div.attachEvent&&div.fireEvent){
div.attachEvent("onclick",function(){
support.noCloneEvent=false;
});
div.cloneNode(true).fireEvent("onclick");
}
input=document.createElement("input");
input.value="t";
input.setAttribute("type","radio");
support.radioValue=input.value==="t";
input.setAttribute("checked","checked");
div.appendChild(input);
fragment=document.createDocumentFragment();
fragment.appendChild(div.firstChild);
support.checkClone=fragment.cloneNode(true).cloneNode(true).lastChild.checked;
div.innerHTML="";
div.style.width=div.style.paddingLeft="1px";
body=document.getElementsByTagName("body")[0];
testElement=document.createElement(body?"div":"body");
testElementStyle={
visibility:"hidden",
width:0,
height:0,
border:0,
margin:0,
background:"none"
};
if(body){
jQuery.extend(testElementStyle,{
position:"absolute",
left:"-1000px",
top:"-1000px"
});
}
for(i in testElementStyle){
testElement.style[i]=testElementStyle[i];
}
testElement.appendChild(div);
testElementParent=body||documentElement;
testElementParent.insertBefore(testElement,testElementParent.firstChild);
support.appendChecked=input.checked;
support.boxModel=div.offsetWidth===2;
if("zoom"in div.style){
div.style.display="inline";
div.style.zoom=1;
support.inlineBlockNeedsLayout=(div.offsetWidth===2);
div.style.display="";
div.innerHTML="<div style='width:4px;'></div>";
support.shrinkWrapBlocks=(div.offsetWidth!==2);
}
div.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";
tds=div.getElementsByTagName("td");
isSupported=(tds[0].offsetHeight===0);
tds[0].style.display="";
tds[1].style.display="none";
support.reliableHiddenOffsets=isSupported&&(tds[0].offsetHeight===0);
div.innerHTML="";
if(document.defaultView&&document.defaultView.getComputedStyle){
marginDiv=document.createElement("div");
marginDiv.style.width="0";
marginDiv.style.marginRight="0";
div.appendChild(marginDiv);
support.reliableMarginRight=
(parseInt((document.defaultView.getComputedStyle(marginDiv,null)||{marginRight:0}).marginRight,10)||0)===0;
}
testElement.innerHTML="";
testElementParent.removeChild(testElement);
if(div.attachEvent){
for(i in{
submit:1,
change:1,
focusin:1
}){
eventName="on"+i;
isSupported=(eventName in div);
if(!isSupported){
div.setAttribute(eventName,"return;");
isSupported=(typeof div[eventName]==="function");
}
support[i+"Bubbles"]=isSupported;
}
}
testElement=fragment=select=opt=body=marginDiv=div=input=null;
return support;
})();
jQuery.boxModel=jQuery.support.boxModel;
var rbrace=/^(?:\{.*\}|\[.*\])$/,
rmultiDash=/([A-Z])/g;
jQuery.extend({
cache:{},
uuid:0,
expando:"jQuery"+(jQuery.fn.jquery+Math.random()).replace(/\D/g,""),
noData:{
"embed":true,
"object":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
"applet":true
},
hasData:function(elem){
elem=elem.nodeType?jQuery.cache[elem[jQuery.expando]]:elem[jQuery.expando];
return!!elem&&!isEmptyDataObject(elem);
},
data:function(elem,name,data,pvt){
if(!jQuery.acceptData(elem)){
return;
}
var thisCache,ret,
internalKey=jQuery.expando,
getByName=typeof name==="string",
isNode=elem.nodeType,
cache=isNode?jQuery.cache:elem,
id=isNode?elem[jQuery.expando]:elem[jQuery.expando]&&jQuery.expando;
if((!id||(pvt&&id&&(cache[id]&&!cache[id][internalKey])))&&getByName&&data===undefined){
return;
}
if(!id){
if(isNode){
elem[jQuery.expando]=id=++jQuery.uuid;
}else{
id=jQuery.expando;
}
}
if(!cache[id]){
cache[id]={};
if(!isNode){
cache[id].toJSON=jQuery.noop;
}
}
if(typeof name==="object"||typeof name==="function"){
if(pvt){
cache[id][internalKey]=jQuery.extend(cache[id][internalKey],name);
}else{
cache[id]=jQuery.extend(cache[id],name);
}
}
thisCache=cache[id];
if(pvt){
if(!thisCache[internalKey]){
thisCache[internalKey]={};
}
thisCache=thisCache[internalKey];
}
if(data!==undefined){
thisCache[jQuery.camelCase(name)]=data;
}
if(name==="events"&&!thisCache[name]){
return thisCache[internalKey]&&thisCache[internalKey].events;
}
if(getByName){
ret=thisCache[name];
if(ret==null){
ret=thisCache[jQuery.camelCase(name)];
}
}else{
ret=thisCache;
}
return ret;
},
removeData:function(elem,name,pvt){
if(!jQuery.acceptData(elem)){
return;
}
var thisCache,
internalKey=jQuery.expando,
isNode=elem.nodeType,
cache=isNode?jQuery.cache:elem,
id=isNode?elem[jQuery.expando]:jQuery.expando;
if(!cache[id]){
return;
}
if(name){
thisCache=pvt?cache[id][internalKey]:cache[id];
if(thisCache){
if(!thisCache[name]){
name=jQuery.camelCase(name);
}
delete thisCache[name];
if(!isEmptyDataObject(thisCache)){
return;
}
}
}
if(pvt){
delete cache[id][internalKey];
if(!isEmptyDataObject(cache[id])){
return;
}
}
var internalCache=cache[id][internalKey];
if(jQuery.support.deleteExpando||!cache.setInterval){
delete cache[id];
}else{
cache[id]=null;
}
if(internalCache){
cache[id]={};
if(!isNode){
cache[id].toJSON=jQuery.noop;
}
cache[id][internalKey]=internalCache;
}else if(isNode){
if(jQuery.support.deleteExpando){
delete elem[jQuery.expando];
}else if(elem.removeAttribute){
elem.removeAttribute(jQuery.expando);
}else{
elem[jQuery.expando]=null;
}
}
},
_data:function(elem,name,data){
return jQuery.data(elem,name,data,true);
},
acceptData:function(elem){
if(elem.nodeName){
var match=jQuery.noData[elem.nodeName.toLowerCase()];
if(match){
return!(match===true||elem.getAttribute("classid")!==match);
}
}
return true;
}
});
jQuery.fn.extend({
data:function(key,value){
var data=null;
if(typeof key==="undefined"){
if(this.length){
data=jQuery.data(this[0]);
if(this[0].nodeType===1){
var attr=this[0].attributes,name;
for(var i=0,l=attr.length;i<l;i++){
name=attr[i].name;
if(name.indexOf("data-")===0){
name=jQuery.camelCase(name.substring(5));
dataAttr(this[0],name,data[name]);
}
}
}
}
return data;
}else if(typeof key==="object"){
return this.each(function(){
jQuery.data(this,key);
});
}
var parts=key.split(".");
parts[1]=parts[1]?"."+parts[1]:"";
if(value===undefined){
data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);
if(data===undefined&&this.length){
data=jQuery.data(this[0],key);
data=dataAttr(this[0],key,data);
}
return data===undefined&&parts[1]?
this.data(parts[0]):
data;
}else{
return this.each(function(){
var $this=jQuery(this),
args=[parts[0],value];
$this.triggerHandler("setData"+parts[1]+"!",args);
jQuery.data(this,key,value);
$this.triggerHandler("changeData"+parts[1]+"!",args);
});
}
},
removeData:function(key){
return this.each(function(){
jQuery.removeData(this,key);
});
}
});
function dataAttr(elem,key,data){
if(data===undefined&&elem.nodeType===1){
var name="data-"+key.replace(rmultiDash,"-$1").toLowerCase();
data=elem.getAttribute(name);
if(typeof data==="string"){
try{
data=data==="true"?true:
data==="false"?false:
data==="null"?null:
!jQuery.isNaN(data)?parseFloat(data):
rbrace.test(data)?jQuery.parseJSON(data):
data;
}catch(e){}
jQuery.data(elem,key,data);
}else{
data=undefined;
}
}
return data;
}
function isEmptyDataObject(obj){
for(var name in obj){
if(name!=="toJSON"){
return false;
}
}
return true;
}
function handleQueueMarkDefer(elem,type,src){
var deferDataKey=type+"defer",
queueDataKey=type+"queue",
markDataKey=type+"mark",
defer=jQuery.data(elem,deferDataKey,undefined,true);
if(defer&&
(src==="queue"||!jQuery.data(elem,queueDataKey,undefined,true))&&
(src==="mark"||!jQuery.data(elem,markDataKey,undefined,true))){
setTimeout(function(){
if(!jQuery.data(elem,queueDataKey,undefined,true)&&
!jQuery.data(elem,markDataKey,undefined,true)){
jQuery.removeData(elem,deferDataKey,true);
defer.resolve();
}
},0);
}
}
jQuery.extend({
_mark:function(elem,type){
if(elem){
type=(type||"fx")+"mark";
jQuery.data(elem,type,(jQuery.data(elem,type,undefined,true)||0)+1,true);
}
},
_unmark:function(force,elem,type){
if(force!==true){
type=elem;
elem=force;
force=false;
}
if(elem){
type=type||"fx";
var key=type+"mark",
count=force?0:((jQuery.data(elem,key,undefined,true)||1)-1);
if(count){
jQuery.data(elem,key,count,true);
}else{
jQuery.removeData(elem,key,true);
handleQueueMarkDefer(elem,type,"mark");
}
}
},
queue:function(elem,type,data){
if(elem){
type=(type||"fx")+"queue";
var q=jQuery.data(elem,type,undefined,true);
if(data){
if(!q||jQuery.isArray(data)){
q=jQuery.data(elem,type,jQuery.makeArray(data),true);
}else{
q.push(data);
}
}
return q||[];
}
},
dequeue:function(elem,type){
type=type||"fx";
var queue=jQuery.queue(elem,type),
fn=queue.shift(),
defer;
if(fn==="inprogress"){
fn=queue.shift();
}
if(fn){
if(type==="fx"){
queue.unshift("inprogress");
}
fn.call(elem,function(){
jQuery.dequeue(elem,type);
});
}
if(!queue.length){
jQuery.removeData(elem,type+"queue",true);
handleQueueMarkDefer(elem,type,"queue");
}
}
});
jQuery.fn.extend({
queue:function(type,data){
if(typeof type!=="string"){
data=type;
type="fx";
}
if(data===undefined){
return jQuery.queue(this[0],type);
}
return this.each(function(){
var queue=jQuery.queue(this,type,data);
if(type==="fx"&&queue[0]!=="inprogress"){
jQuery.dequeue(this,type);
}
});
},
dequeue:function(type){
return this.each(function(){
jQuery.dequeue(this,type);
});
},
delay:function(time,type){
time=jQuery.fx?jQuery.fx.speeds[time]||time:time;
type=type||"fx";
return this.queue(type,function(){
var elem=this;
setTimeout(function(){
jQuery.dequeue(elem,type);
},time);
});
},
clearQueue:function(type){
return this.queue(type||"fx",[]);
},
promise:function(type,object){
if(typeof type!=="string"){
object=type;
type=undefined;
}
type=type||"fx";
var defer=jQuery.Deferred(),
elements=this,
i=elements.length,
count=1,
deferDataKey=type+"defer",
queueDataKey=type+"queue",
markDataKey=type+"mark",
tmp;
function resolve(){
if(!(--count)){
defer.resolveWith(elements,[elements]);
}
}
while(i--){
if((tmp=jQuery.data(elements[i],deferDataKey,undefined,true)||
(jQuery.data(elements[i],queueDataKey,undefined,true)||
jQuery.data(elements[i],markDataKey,undefined,true))&&
jQuery.data(elements[i],deferDataKey,jQuery._Deferred(),true))){
count++;
tmp.done(resolve);
}
}
resolve();
return defer.promise();
}
});
var rclass=/[\n\t\r]/g,
rspace=/\s+/,
rreturn=/\r/g,
rtype=/^(?:button|input)$/i,
rfocusable=/^(?:button|input|object|select|textarea)$/i,
rclickable=/^a(?:rea)?$/i,
rboolean=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
nodeHook,boolHook;
jQuery.fn.extend({
attr:function(name,value){
return jQuery.access(this,name,value,true,jQuery.attr);
},
removeAttr:function(name){
return this.each(function(){
jQuery.removeAttr(this,name);
});
},
prop:function(name,value){
return jQuery.access(this,name,value,true,jQuery.prop);
},
removeProp:function(name){
name=jQuery.propFix[name]||name;
return this.each(function(){
try{
this[name]=undefined;
delete this[name];
}catch(e){}
});
},
addClass:function(value){
var classNames,i,l,elem,
setClass,c,cl;
if(jQuery.isFunction(value)){
return this.each(function(j){
jQuery(this).addClass(value.call(this,j,this.className));
});
}
if(value&&typeof value==="string"){
classNames=value.split(rspace);
for(i=0,l=this.length;i<l;i++){
elem=this[i];
if(elem.nodeType===1){
if(!elem.className&&classNames.length===1){
elem.className=value;
}else{
setClass=" "+elem.className+" ";
for(c=0,cl=classNames.length;c<cl;c++){
if(!~setClass.indexOf(" "+classNames[c]+" ")){
setClass+=classNames[c]+" ";
}
}
elem.className=jQuery.trim(setClass);
}
}
}
}
return this;
},
removeClass:function(value){
var classNames,i,l,elem,className,c,cl;
if(jQuery.isFunction(value)){
return this.each(function(j){
jQuery(this).removeClass(value.call(this,j,this.className));
});
}
if((value&&typeof value==="string")||value===undefined){
classNames=(value||"").split(rspace);
for(i=0,l=this.length;i<l;i++){
elem=this[i];
if(elem.nodeType===1&&elem.className){
if(value){
className=(" "+elem.className+" ").replace(rclass," ");
for(c=0,cl=classNames.length;c<cl;c++){
className=className.replace(" "+classNames[c]+" "," ");
}
elem.className=jQuery.trim(className);
}else{
elem.className="";
}
}
}
}
return this;
},
toggleClass:function(value,stateVal){
var type=typeof value,
isBool=typeof stateVal==="boolean";
if(jQuery.isFunction(value)){
return this.each(function(i){
jQuery(this).toggleClass(value.call(this,i,this.className,stateVal),stateVal);
});
}
return this.each(function(){
if(type==="string"){
var className,
i=0,
self=jQuery(this),
state=stateVal,
classNames=value.split(rspace);
while((className=classNames[i++])){
state=isBool?state:!self.hasClass(className);
self[state?"addClass":"removeClass"](className);
}
}else if(type==="undefined"||type==="boolean"){
if(this.className){
jQuery._data(this,"__className__",this.className);
}
this.className=this.className||value===false?"":jQuery._data(this,"__className__")||"";
}
});
},
hasClass:function(selector){
var className=" "+selector+" ";
for(var i=0,l=this.length;i<l;i++){
if(this[i].nodeType===1&&(" "+this[i].className+" ").replace(rclass," ").indexOf(className)>-1){
return true;
}
}
return false;
},
val:function(value){
var hooks,ret,
elem=this[0];
if(!arguments.length){
if(elem){
hooks=jQuery.valHooks[elem.nodeName.toLowerCase()]||jQuery.valHooks[elem.type];
if(hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined){
return ret;
}
ret=elem.value;
return typeof ret==="string"?
ret.replace(rreturn,""):
ret==null?"":ret;
}
return undefined;
}
var isFunction=jQuery.isFunction(value);
return this.each(function(i){
var self=jQuery(this),val;
if(this.nodeType!==1){
return;
}
if(isFunction){
val=value.call(this,i,self.val());
}else{
val=value;
}
if(val==null){
val="";
}else if(typeof val==="number"){
val+="";
}else if(jQuery.isArray(val)){
val=jQuery.map(val,function(value){
return value==null?"":value+"";
});
}
hooks=jQuery.valHooks[this.nodeName.toLowerCase()]||jQuery.valHooks[this.type];
if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){
this.value=val;
}
});
}
});
jQuery.extend({
valHooks:{
option:{
get:function(elem){
var val=elem.attributes.value;
return!val||val.specified?elem.value:elem.text;
}
},
select:{
get:function(elem){
var value,
index=elem.selectedIndex,
values=[],
options=elem.options,
one=elem.type==="select-one";
if(index<0){
return null;
}
for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){
var option=options[i];
if(option.selected&&(jQuery.support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&
(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){
value=jQuery(option).val();
if(one){
return value;
}
values.push(value);
}
}
if(one&&!values.length&&options.length){
return jQuery(options[index]).val();
}
return values;
},
set:function(elem,value){
var values=jQuery.makeArray(value);
jQuery(elem).find("option").each(function(){
this.selected=jQuery.inArray(jQuery(this).val(),values)>=0;
});
if(!values.length){
elem.selectedIndex=-1;
}
return values;
}
}
},
attrFn:{
val:true,
css:true,
html:true,
text:true,
data:true,
width:true,
height:true,
offset:true
},
attrFix:{
tabindex:"tabIndex"
},
attr:function(elem,name,value,pass){
var nType=elem.nodeType;
if(!elem||nType===3||nType===8||nType===2){
return undefined;
}
if(pass&&name in jQuery.attrFn){
return jQuery(elem)[name](value);
}
if(!("getAttribute"in elem)){
return jQuery.prop(elem,name,value);
}
var ret,hooks,
notxml=nType!==1||!jQuery.isXMLDoc(elem);
if(notxml){
name=jQuery.attrFix[name]||name;
hooks=jQuery.attrHooks[name];
if(!hooks){
if(rboolean.test(name)){
hooks=boolHook;
}else if(nodeHook){
hooks=nodeHook;
}
}
}
if(value!==undefined){
if(value===null){
jQuery.removeAttr(elem,name);
return undefined;
}else if(hooks&&"set"in hooks&&notxml&&(ret=hooks.set(elem,value,name))!==undefined){
return ret;
}else{
elem.setAttribute(name,""+value);
return value;
}
}else if(hooks&&"get"in hooks&&notxml&&(ret=hooks.get(elem,name))!==null){
return ret;
}else{
ret=elem.getAttribute(name);
return ret===null?
undefined:
ret;
}
},
removeAttr:function(elem,name){
var propName;
if(elem.nodeType===1){
name=jQuery.attrFix[name]||name;
jQuery.attr(elem,name,"");
elem.removeAttribute(name);
if(rboolean.test(name)&&(propName=jQuery.propFix[name]||name)in elem){
elem[propName]=false;
}
}
},
attrHooks:{
type:{
set:function(elem,value){
if(rtype.test(elem.nodeName)&&elem.parentNode){
jQuery.error("type property can't be changed");
}else if(!jQuery.support.radioValue&&value==="radio"&&jQuery.nodeName(elem,"input")){
var val=elem.value;
elem.setAttribute("type",value);
if(val){
elem.value=val;
}
return value;
}
}
},
value:{
get:function(elem,name){
if(nodeHook&&jQuery.nodeName(elem,"button")){
return nodeHook.get(elem,name);
}
return name in elem?
elem.value:
null;
},
set:function(elem,value,name){
if(nodeHook&&jQuery.nodeName(elem,"button")){
return nodeHook.set(elem,value,name);
}
elem.value=value;
}
}
},
propFix:{
tabindex:"tabIndex",
readonly:"readOnly",
"for":"htmlFor",
"class":"className",
maxlength:"maxLength",
cellspacing:"cellSpacing",
cellpadding:"cellPadding",
rowspan:"rowSpan",
colspan:"colSpan",
usemap:"useMap",
frameborder:"frameBorder",
contenteditable:"contentEditable"
},
prop:function(elem,name,value){
var nType=elem.nodeType;
if(!elem||nType===3||nType===8||nType===2){
return undefined;
}
var ret,hooks,
notxml=nType!==1||!jQuery.isXMLDoc(elem);
if(notxml){
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;
}else{
return(elem[name]=value);
}
}else{
if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){
return ret;
}else{
return elem[name];
}
}
},
propHooks:{
tabIndex:{
get:function(elem){
var attributeNode=elem.getAttributeNode("tabindex");
return attributeNode&&attributeNode.specified?
parseInt(attributeNode.value,10):
rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?
0:
undefined;
}
}
}
});
jQuery.attrHooks.tabIndex=jQuery.propHooks.tabIndex;
boolHook={
get:function(elem,name){
var attrNode;
return jQuery.prop(elem,name)===true||(attrNode=elem.getAttributeNode(name))&&attrNode.nodeValue!==false?
name.toLowerCase():
undefined;
},
set:function(elem,value,name){
var propName;
if(value===false){
jQuery.removeAttr(elem,name);
}else{
propName=jQuery.propFix[name]||name;
if(propName in elem){
elem[propName]=true;
}
elem.setAttribute(name,name.toLowerCase());
}
return name;
}
};
if(!jQuery.support.getSetAttribute){
nodeHook=jQuery.valHooks.button={
get:function(elem,name){
var ret;
ret=elem.getAttributeNode(name);
return ret&&ret.nodeValue!==""?
ret.nodeValue:
undefined;
},
set:function(elem,value,name){
var ret=elem.getAttributeNode(name);
if(!ret){
ret=document.createAttribute(name);
elem.setAttributeNode(ret);
}
return(ret.nodeValue=value+"");
}
};
jQuery.each(["width","height"],function(i,name){
jQuery.attrHooks[name]=jQuery.extend(jQuery.attrHooks[name],{
set:function(elem,value){
if(value===""){
elem.setAttribute(name,"auto");
return value;
}
}
});
});
}
if(!jQuery.support.hrefNormalized){
jQuery.each(["href","src","width","height"],function(i,name){
jQuery.attrHooks[name]=jQuery.extend(jQuery.attrHooks[name],{
get:function(elem){
var ret=elem.getAttribute(name,2);
return ret===null?undefined:ret;
}
});
});
}
if(!jQuery.support.style){
jQuery.attrHooks.style={
get:function(elem){
return elem.style.cssText.toLowerCase()||undefined;
},
set:function(elem,value){
return(elem.style.cssText=""+value);
}
};
}
if(!jQuery.support.optSelected){
jQuery.propHooks.selected=jQuery.extend(jQuery.propHooks.selected,{
get:function(elem){
var parent=elem.parentNode;
if(parent){
parent.selectedIndex;
if(parent.parentNode){
parent.parentNode.selectedIndex;
}
}
return null;
}
});
}
if(!jQuery.support.checkOn){
jQuery.each(["radio","checkbox"],function(){
jQuery.valHooks[this]={
get:function(elem){
return elem.getAttribute("value")===null?"on":elem.value;
}
};
});
}
jQuery.each(["radio","checkbox"],function(){
jQuery.valHooks[this]=jQuery.extend(jQuery.valHooks[this],{
set:function(elem,value){
if(jQuery.isArray(value)){
return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>=0);
}
}
});
});
var rnamespaces=/\.(.*)$/,
rformElems=/^(?:textarea|input|select)$/i,
rperiod=/\./g,
rspaces=/ /g,
rescape=/[^\w\s.|`]/g,
fcleanup=function(nm){
return nm.replace(rescape,"\\$&");
};
jQuery.event={
add:function(elem,types,handler,data){
if(elem.nodeType===3||elem.nodeType===8){
return;
}
if(handler===false){
handler=returnFalse;
}else if(!handler){
return;
}
var handleObjIn,handleObj;
if(handler.handler){
handleObjIn=handler;
handler=handleObjIn.handler;
}
if(!handler.guid){
handler.guid=jQuery.guid++;
}
var elemData=jQuery._data(elem);
if(!elemData){
return;
}
var events=elemData.events,
eventHandle=elemData.handle;
if(!events){
elemData.events=events={};
}
if(!eventHandle){
elemData.handle=eventHandle=function(e){
return typeof jQuery!=="undefined"&&(!e||jQuery.event.triggered!==e.type)?
jQuery.event.handle.apply(eventHandle.elem,arguments):
undefined;
};
}
eventHandle.elem=elem;
types=types.split(" ");
var type,i=0,namespaces;
while((type=types[i++])){
handleObj=handleObjIn?
jQuery.extend({},handleObjIn):
{handler:handler,data:data};
if(type.indexOf(".")>-1){
namespaces=type.split(".");
type=namespaces.shift();
handleObj.namespace=namespaces.slice(0).sort().join(".");
}else{
namespaces=[];
handleObj.namespace="";
}
handleObj.type=type;
if(!handleObj.guid){
handleObj.guid=handler.guid;
}
var handlers=events[type],
special=jQuery.event.special[type]||{};
if(!handlers){
handlers=events[type]=[];
if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){
if(elem.addEventListener){
elem.addEventListener(type,eventHandle,false);
}else if(elem.attachEvent){
elem.attachEvent("on"+type,eventHandle);
}
}
}
if(special.add){
special.add.call(elem,handleObj);
if(!handleObj.handler.guid){
handleObj.handler.guid=handler.guid;
}
}
handlers.push(handleObj);
jQuery.event.global[type]=true;
}
elem=null;
},
global:{},
remove:function(elem,types,handler,pos){
if(elem.nodeType===3||elem.nodeType===8){
return;
}
if(handler===false){
handler=returnFalse;
}
var ret,type,fn,j,i=0,all,namespaces,namespace,special,eventType,handleObj,origType,
elemData=jQuery.hasData(elem)&&jQuery._data(elem),
events=elemData&&elemData.events;
if(!elemData||!events){
return;
}
if(types&&types.type){
handler=types.handler;
types=types.type;
}
if(!types||typeof types==="string"&&types.charAt(0)==="."){
types=types||"";
for(type in events){
jQuery.event.remove(elem,type+types);
}
return;
}
types=types.split(" ");
while((type=types[i++])){
origType=type;
handleObj=null;
all=type.indexOf(".")<0;
namespaces=[];
if(!all){
namespaces=type.split(".");
type=namespaces.shift();
namespace=new RegExp("(^|\\.)"+
jQuery.map(namespaces.slice(0).sort(),fcleanup).join("\\.(?:.*\\.)?")+"(\\.|$)");
}
eventType=events[type];
if(!eventType){
continue;
}
if(!handler){
for(j=0;j<eventType.length;j++){
handleObj=eventType[j];
if(all||namespace.test(handleObj.namespace)){
jQuery.event.remove(elem,origType,handleObj.handler,j);
eventType.splice(j--,1);
}
}
continue;
}
special=jQuery.event.special[type]||{};
for(j=pos||0;j<eventType.length;j++){
handleObj=eventType[j];
if(handler.guid===handleObj.guid){
if(all||namespace.test(handleObj.namespace)){
if(pos==null){
eventType.splice(j--,1);
}
if(special.remove){
special.remove.call(elem,handleObj);
}
}
if(pos!=null){
break;
}
}
}
if(eventType.length===0||pos!=null&&eventType.length===1){
if(!special.teardown||special.teardown.call(elem,namespaces)===false){
jQuery.removeEvent(elem,type,elemData.handle);
}
ret=null;
delete events[type];
}
}
if(jQuery.isEmptyObject(events)){
var handle=elemData.handle;
if(handle){
handle.elem=null;
}
delete elemData.events;
delete elemData.handle;
if(jQuery.isEmptyObject(elemData)){
jQuery.removeData(elem,undefined,true);
}
}
},
customEvent:{
"getData":true,
"setData":true,
"changeData":true
},
trigger:function(event,data,elem,onlyHandlers){
var type=event.type||event,
namespaces=[],
exclusive;
if(type.indexOf("!")>=0){
type=type.slice(0,-1);
exclusive=true;
}
if(type.indexOf(".")>=0){
namespaces=type.split(".");
type=namespaces.shift();
namespaces.sort();
}
if((!elem||jQuery.event.customEvent[type])&&!jQuery.event.global[type]){
return;
}
event=typeof event==="object"?
event[jQuery.expando]?event:
new jQuery.Event(type,event):
new jQuery.Event(type);
event.type=type;
event.exclusive=exclusive;
event.namespace=namespaces.join(".");
event.namespace_re=new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.)?")+"(\\.|$)");
if(onlyHandlers||!elem){
event.preventDefault();
event.stopPropagation();
}
if(!elem){
jQuery.each(jQuery.cache,function(){
var internalKey=jQuery.expando,
internalCache=this[internalKey];
if(internalCache&&internalCache.events&&internalCache.events[type]){
jQuery.event.trigger(event,data,internalCache.handle.elem);
}
});
return;
}
if(elem.nodeType===3||elem.nodeType===8){
return;
}
event.result=undefined;
event.target=elem;
data=data!=null?jQuery.makeArray(data):[];
data.unshift(event);
var cur=elem,
ontype=type.indexOf(":")<0?"on"+type:"";
do{
var handle=jQuery._data(cur,"handle");
event.currentTarget=cur;
if(handle){
handle.apply(cur,data);
}
if(ontype&&jQuery.acceptData(cur)&&cur[ontype]&&cur[ontype].apply(cur,data)===false){
event.result=false;
event.preventDefault();
}
cur=cur.parentNode||cur.ownerDocument||cur===event.target.ownerDocument&&window;
}while(cur&&!event.isPropagationStopped());
if(!event.isDefaultPrevented()){
var old,
special=jQuery.event.special[type]||{};
if((!special._default||special._default.call(elem.ownerDocument,event)===false)&&
!(type==="click"&&jQuery.nodeName(elem,"a"))&&jQuery.acceptData(elem)){
try{
if(ontype&&elem[type]){
old=elem[ontype];
if(old){
elem[ontype]=null;
}
jQuery.event.triggered=type;
elem[type]();
}
}catch(ieError){}
if(old){
elem[ontype]=old;
}
jQuery.event.triggered=undefined;
}
}
return event.result;
},
handle:function(event){
event=jQuery.event.fix(event||window.event);
var handlers=((jQuery._data(this,"events")||{})[event.type]||[]).slice(0),
run_all=!event.exclusive&&!event.namespace,
args=Array.prototype.slice.call(arguments,0);
args[0]=event;
event.currentTarget=this;
for(var j=0,l=handlers.length;j<l;j++){
var handleObj=handlers[j];
if(run_all||event.namespace_re.test(handleObj.namespace)){
event.handler=handleObj.handler;
event.data=handleObj.data;
event.handleObj=handleObj;
var ret=handleObj.handler.apply(this,args);
if(ret!==undefined){
event.result=ret;
if(ret===false){
event.preventDefault();
event.stopPropagation();
}
}
if(event.isImmediatePropagationStopped()){
break;
}
}
}
return event.result;
},
props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix:function(event){
if(event[jQuery.expando]){
return event;
}
var originalEvent=event;
event=jQuery.Event(originalEvent);
for(var i=this.props.length,prop;i;){
prop=this.props[--i];
event[prop]=originalEvent[prop];
}
if(!event.target){
event.target=event.srcElement||document;
}
if(event.target.nodeType===3){
event.target=event.target.parentNode;
}
if(!event.relatedTarget&&event.fromElement){
event.relatedTarget=event.fromElement===event.target?event.toElement:event.fromElement;
}
if(event.pageX==null&&event.clientX!=null){
var eventDocument=event.target.ownerDocument||document,
doc=eventDocument.documentElement,
body=eventDocument.body;
event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);
event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0);
}
if(event.which==null&&(event.charCode!=null||event.keyCode!=null)){
event.which=event.charCode!=null?event.charCode:event.keyCode;
}
if(!event.metaKey&&event.ctrlKey){
event.metaKey=event.ctrlKey;
}
if(!event.which&&event.button!==undefined){
event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));
}
return event;
},
guid:1E8,
proxy:jQuery.proxy,
special:{
ready:{
setup:jQuery.bindReady,
teardown:jQuery.noop
},
live:{
add:function(handleObj){
jQuery.event.add(this,
liveConvert(handleObj.origType,handleObj.selector),
jQuery.extend({},handleObj,{handler:liveHandler,guid:handleObj.handler.guid}));
},
remove:function(handleObj){
jQuery.event.remove(this,liveConvert(handleObj.origType,handleObj.selector),handleObj);
}
},
beforeunload:{
setup:function(data,namespaces,eventHandle){
if(jQuery.isWindow(this)){
this.onbeforeunload=eventHandle;
}
},
teardown:function(namespaces,eventHandle){
if(this.onbeforeunload===eventHandle){
this.onbeforeunload=null;
}
}
}
}
};
jQuery.removeEvent=document.removeEventListener?
function(elem,type,handle){
if(elem.removeEventListener){
elem.removeEventListener(type,handle,false);
}
}:
function(elem,type,handle){
if(elem.detachEvent){
elem.detachEvent("on"+type,handle);
}
};
jQuery.Event=function(src,props){
if(!this.preventDefault){
return new jQuery.Event(src,props);
}
if(src&&src.type){
this.originalEvent=src;
this.type=src.type;
this.isDefaultPrevented=(src.defaultPrevented||src.returnValue===false||
src.getPreventDefault&&src.getPreventDefault())?returnTrue:returnFalse;
}else{
this.type=src;
}
if(props){
jQuery.extend(this,props);
}
this.timeStamp=jQuery.now();
this[jQuery.expando]=true;
};
function returnFalse(){
return false;
}
function returnTrue(){
return true;
}
jQuery.Event.prototype={
preventDefault:function(){
this.isDefaultPrevented=returnTrue;
var e=this.originalEvent;
if(!e){
return;
}
if(e.preventDefault){
e.preventDefault();
}else{
e.returnValue=false;
}
},
stopPropagation:function(){
this.isPropagationStopped=returnTrue;
var e=this.originalEvent;
if(!e){
return;
}
if(e.stopPropagation){
e.stopPropagation();
}
e.cancelBubble=true;
},
stopImmediatePropagation:function(){
this.isImmediatePropagationStopped=returnTrue;
this.stopPropagation();
},
isDefaultPrevented:returnFalse,
isPropagationStopped:returnFalse,
isImmediatePropagationStopped:returnFalse
};
var withinElement=function(event){
var related=event.relatedTarget,
inside=false,
eventType=event.type;
event.type=event.data;
if(related!==this){
if(related){
inside=jQuery.contains(this,related);
}
if(!inside){
jQuery.event.handle.apply(this,arguments);
event.type=eventType;
}
}
},
delegate=function(event){
event.type=event.data;
jQuery.event.handle.apply(this,arguments);
};
jQuery.each({
mouseenter:"mouseover",
mouseleave:"mouseout"
},function(orig,fix){
jQuery.event.special[orig]={
setup:function(data){
jQuery.event.add(this,fix,data&&data.selector?delegate:withinElement,orig);
},
teardown:function(data){
jQuery.event.remove(this,fix,data&&data.selector?delegate:withinElement);
}
};
});
if(!jQuery.support.submitBubbles){
jQuery.event.special.submit={
setup:function(data,namespaces){
if(!jQuery.nodeName(this,"form")){
jQuery.event.add(this,"click.specialSubmit",function(e){
var elem=e.target,
type=jQuery.nodeName(elem,"input")||jQuery.nodeName(elem,"button")?elem.type:"";
if((type==="submit"||type==="image")&&jQuery(elem).closest("form").length){
trigger("submit",this,arguments);
}
});
jQuery.event.add(this,"keypress.specialSubmit",function(e){
var elem=e.target,
type=jQuery.nodeName(elem,"input")||jQuery.nodeName(elem,"button")?elem.type:"";
if((type==="text"||type==="password")&&jQuery(elem).closest("form").length&&e.keyCode===13){
trigger("submit",this,arguments);
}
});
}else{
return false;
}
},
teardown:function(namespaces){
jQuery.event.remove(this,".specialSubmit");
}
};
}
if(!jQuery.support.changeBubbles){
var changeFilters,
getVal=function(elem){
var type=jQuery.nodeName(elem,"input")?elem.type:"",
val=elem.value;
if(type==="radio"||type==="checkbox"){
val=elem.checked;
}else if(type==="select-multiple"){
val=elem.selectedIndex>-1?
jQuery.map(elem.options,function(elem){
return elem.selected;
}).join("-"):
"";
}else if(jQuery.nodeName(elem,"select")){
val=elem.selectedIndex;
}
return val;
},
testChange=function testChange(e){
var elem=e.target,data,val;
if(!rformElems.test(elem.nodeName)||elem.readOnly){
return;
}
data=jQuery._data(elem,"_change_data");
val=getVal(elem);
if(e.type!=="focusout"||elem.type!=="radio"){
jQuery._data(elem,"_change_data",val);
}
if(data===undefined||val===data){
return;
}
if(data!=null||val){
e.type="change";
e.liveFired=undefined;
jQuery.event.trigger(e,arguments[1],elem);
}
};
jQuery.event.special.change={
filters:{
focusout:testChange,
beforedeactivate:testChange,
click:function(e){
var elem=e.target,type=jQuery.nodeName(elem,"input")?elem.type:"";
if(type==="radio"||type==="checkbox"||jQuery.nodeName(elem,"select")){
testChange.call(this,e);
}
},
keydown:function(e){
var elem=e.target,type=jQuery.nodeName(elem,"input")?elem.type:"";
if((e.keyCode===13&&!jQuery.nodeName(elem,"textarea"))||
(e.keyCode===32&&(type==="checkbox"||type==="radio"))||
type==="select-multiple"){
testChange.call(this,e);
}
},
beforeactivate:function(e){
var elem=e.target;
jQuery._data(elem,"_change_data",getVal(elem));
}
},
setup:function(data,namespaces){
if(this.type==="file"){
return false;
}
for(var type in changeFilters){
jQuery.event.add(this,type+".specialChange",changeFilters[type]);
}
return rformElems.test(this.nodeName);
},
teardown:function(namespaces){
jQuery.event.remove(this,".specialChange");
return rformElems.test(this.nodeName);
}
};
changeFilters=jQuery.event.special.change.filters;
changeFilters.focus=changeFilters.beforeactivate;
}
function trigger(type,elem,args){
var event=jQuery.extend({},args[0]);
event.type=type;
event.originalEvent={};
event.liveFired=undefined;
jQuery.event.handle.call(elem,event);
if(event.isDefaultPrevented()){
args[0].preventDefault();
}
}
if(!jQuery.support.focusinBubbles){
jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){
var attaches=0;
jQuery.event.special[fix]={
setup:function(){
if(attaches++===0){
document.addEventListener(orig,handler,true);
}
},
teardown:function(){
if(--attaches===0){
document.removeEventListener(orig,handler,true);
}
}
};
function handler(donor){
var e=jQuery.event.fix(donor);
e.type=fix;
e.originalEvent={};
jQuery.event.trigger(e,null,e.target);
if(e.isDefaultPrevented()){
donor.preventDefault();
}
}
});
}
jQuery.each(["bind","one"],function(i,name){
jQuery.fn[name]=function(type,data,fn){
var handler;
if(typeof type==="object"){
for(var key in type){
this[name](key,data,type[key],fn);
}
return this;
}
if(arguments.length===2||data===false){
fn=data;
data=undefined;
}
if(name==="one"){
handler=function(event){
jQuery(this).unbind(event,handler);
return fn.apply(this,arguments);
};
handler.guid=fn.guid||jQuery.guid++;
}else{
handler=fn;
}
if(type==="unload"&&name!=="one"){
this.one(type,data,fn);
}else{
for(var i=0,l=this.length;i<l;i++){
jQuery.event.add(this[i],type,handler,data);
}
}
return this;
};
});
jQuery.fn.extend({
unbind:function(type,fn){
if(typeof type==="object"&&!type.preventDefault){
for(var key in type){
this.unbind(key,type[key]);
}
}else{
for(var i=0,l=this.length;i<l;i++){
jQuery.event.remove(this[i],type,fn);
}
}
return this;
},
delegate:function(selector,types,data,fn){
return this.live(types,data,fn,selector);
},
undelegate:function(selector,types,fn){
if(arguments.length===0){
return this.unbind("live");
}else{
return this.die(types,null,fn,selector);
}
},
trigger:function(type,data){
return this.each(function(){
jQuery.event.trigger(type,data,this);
});
},
triggerHandler:function(type,data){
if(this[0]){
return jQuery.event.trigger(type,data,this[0],true);
}
},
toggle:function(fn){
var args=arguments,
guid=fn.guid||jQuery.guid++,
i=0,
toggler=function(event){
var lastToggle=(jQuery.data(this,"lastToggle"+fn.guid)||0)%i;
jQuery.data(this,"lastToggle"+fn.guid,lastToggle+1);
event.preventDefault();
return args[lastToggle].apply(this,arguments)||false;
};
toggler.guid=guid;
while(i<args.length){
args[i++].guid=guid;
}
return this.click(toggler);
},
hover:function(fnOver,fnOut){
return this.mouseenter(fnOver).mouseleave(fnOut||fnOver);
}
});
var liveMap={
focus:"focusin",
blur:"focusout",
mouseenter:"mouseover",
mouseleave:"mouseout"
};
jQuery.each(["live","die"],function(i,name){
jQuery.fn[name]=function(types,data,fn,origSelector){
var type,i=0,match,namespaces,preType,
selector=origSelector||this.selector,
context=origSelector?this:jQuery(this.context);
if(typeof types==="object"&&!types.preventDefault){
for(var key in types){
context[name](key,data,types[key],selector);
}
return this;
}
if(name==="die"&&!types&&
origSelector&&origSelector.charAt(0)==="."){
context.unbind(origSelector);
return this;
}
if(data===false||jQuery.isFunction(data)){
fn=data||returnFalse;
data=undefined;
}
types=(types||"").split(" ");
while((type=types[i++])!=null){
match=rnamespaces.exec(type);
namespaces="";
if(match){
namespaces=match[0];
type=type.replace(rnamespaces,"");
}
if(type==="hover"){
types.push("mouseenter"+namespaces,"mouseleave"+namespaces);
continue;
}
preType=type;
if(liveMap[type]){
types.push(liveMap[type]+namespaces);
type=type+namespaces;
}else{
type=(liveMap[type]||type)+namespaces;
}
if(name==="live"){
for(var j=0,l=context.length;j<l;j++){
jQuery.event.add(context[j],"live."+liveConvert(type,selector),
{data:data,selector:selector,handler:fn,origType:type,origHandler:fn,preType:preType});
}
}else{
context.unbind("live."+liveConvert(type,selector),fn);
}
}
return this;
};
});
function liveHandler(event){
var stop,maxLevel,related,match,handleObj,elem,j,i,l,data,close,namespace,ret,
elems=[],
selectors=[],
events=jQuery._data(this,"events");
if(event.liveFired===this||!events||!events.live||event.target.disabled||event.button&&event.type==="click"){
return;
}
if(event.namespace){
namespace=new RegExp("(^|\\.)"+event.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");
}
event.liveFired=this;
var live=events.live.slice(0);
for(j=0;j<live.length;j++){
handleObj=live[j];
if(handleObj.origType.replace(rnamespaces,"")===event.type){
selectors.push(handleObj.selector);
}else{
live.splice(j--,1);
}
}
match=jQuery(event.target).closest(selectors,event.currentTarget);
for(i=0,l=match.length;i<l;i++){
close=match[i];
for(j=0;j<live.length;j++){
handleObj=live[j];
if(close.selector===handleObj.selector&&(!namespace||namespace.test(handleObj.namespace))&&!close.elem.disabled){
elem=close.elem;
related=null;
if(handleObj.preType==="mouseenter"||handleObj.preType==="mouseleave"){
event.type=handleObj.preType;
related=jQuery(event.relatedTarget).closest(handleObj.selector)[0];
if(related&&jQuery.contains(elem,related)){
related=elem;
}
}
if(!related||related!==elem){
elems.push({elem:elem,handleObj:handleObj,level:close.level});
}
}
}
}
for(i=0,l=elems.length;i<l;i++){
match=elems[i];
if(maxLevel&&match.level>maxLevel){
break;
}
event.currentTarget=match.elem;
event.data=match.handleObj.data;
event.handleObj=match.handleObj;
ret=match.handleObj.origHandler.apply(match.elem,arguments);
if(ret===false||event.isPropagationStopped()){
maxLevel=match.level;
if(ret===false){
stop=false;
}
if(event.isImmediatePropagationStopped()){
break;
}
}
}
return stop;
}
function liveConvert(type,selector){
return(type&&type!=="*"?type+".":"")+selector.replace(rperiod,"`").replace(rspaces,"&");
}
jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick "+
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+
"change select submit keydown keypress keyup error").split(" "),function(i,name){
jQuery.fn[name]=function(data,fn){
if(fn==null){
fn=data;
data=null;
}
return arguments.length>0?
this.bind(name,data,fn):
this.trigger(name);
};
if(jQuery.attrFn){
jQuery.attrFn[name]=true;
}
});
(function(){
var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
done=0,
toString=Object.prototype.toString,
hasDuplicate=false,
baseHasDuplicate=true,
rBackslash=/\\/g,
rNonWord=/\W/;
[0,0].sort(function(){
baseHasDuplicate=false;
return 0;
});
var Sizzle=function(selector,context,results,seed){
results=results||[];
context=context||document;
var origContext=context;
if(context.nodeType!==1&&context.nodeType!==9){
return[];
}
if(!selector||typeof selector!=="string"){
return results;
}
var m,set,checkSet,extra,ret,cur,pop,i,
prune=true,
contextXML=Sizzle.isXML(context),
parts=[],
soFar=selector;
do{
chunker.exec("");
m=chunker.exec(soFar);
if(m){
soFar=m[3];
parts.push(m[1]);
if(m[2]){
extra=m[3];
break;
}
}
}while(m);
if(parts.length>1&&origPOS.exec(selector)){
if(parts.length===2&&Expr.relative[parts[0]]){
set=posProcess(parts[0]+parts[1],context);
}else{
set=Expr.relative[parts[0]]?
[context]:
Sizzle(parts.shift(),context);
while(parts.length){
selector=parts.shift();
if(Expr.relative[selector]){
selector+=parts.shift();
}
set=posProcess(selector,set);
}
}
}else{
if(!seed&&parts.length>1&&context.nodeType===9&&!contextXML&&
Expr.match.ID.test(parts[0])&&!Expr.match.ID.test(parts[parts.length-1])){
ret=Sizzle.find(parts.shift(),context,contextXML);
context=ret.expr?
Sizzle.filter(ret.expr,ret.set)[0]:
ret.set[0];
}
if(context){
ret=seed?
{expr:parts.pop(),set:makeArray(seed)}:
Sizzle.find(parts.pop(),parts.length===1&&(parts[0]==="~"||parts[0]==="+")&&context.parentNode?context.parentNode:context,contextXML);
set=ret.expr?
Sizzle.filter(ret.expr,ret.set):
ret.set;
if(parts.length>0){
checkSet=makeArray(set);
}else{
prune=false;
}
while(parts.length){
cur=parts.pop();
pop=cur;
if(!Expr.relative[cur]){
cur="";
}else{
pop=parts.pop();
}
if(pop==null){
pop=context;
}
Expr.relative[cur](checkSet,pop,contextXML);
}
}else{
checkSet=parts=[];
}
}
if(!checkSet){
checkSet=set;
}
if(!checkSet){
Sizzle.error(cur||selector);
}
if(toString.call(checkSet)==="[object Array]"){
if(!prune){
results.push.apply(results,checkSet);
}else if(context&&context.nodeType===1){
for(i=0;checkSet[i]!=null;i++){
if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&Sizzle.contains(context,checkSet[i]))){
results.push(set[i]);
}
}
}else{
for(i=0;checkSet[i]!=null;i++){
if(checkSet[i]&&checkSet[i].nodeType===1){
results.push(set[i]);
}
}
}
}else{
makeArray(checkSet,results);
}
if(extra){
Sizzle(extra,origContext,results,seed);
Sizzle.uniqueSort(results);
}
return results;
};
Sizzle.uniqueSort=function(results){
if(sortOrder){
hasDuplicate=baseHasDuplicate;
results.sort(sortOrder);
if(hasDuplicate){
for(var i=1;i<results.length;i++){
if(results[i]===results[i-1]){
results.splice(i--,1);
}
}
}
}
return results;
};
Sizzle.matches=function(expr,set){
return Sizzle(expr,null,null,set);
};
Sizzle.matchesSelector=function(node,expr){
return Sizzle(expr,null,null,[node]).length>0;
};
Sizzle.find=function(expr,context,isXML){
var set;
if(!expr){
return[];
}
for(var i=0,l=Expr.order.length;i<l;i++){
var match,
type=Expr.order[i];
if((match=Expr.leftMatch[type].exec(expr))){
var left=match[1];
match.splice(1,1);
if(left.substr(left.length-1)!=="\\"){
match[1]=(match[1]||"").replace(rBackslash,"");
set=Expr.find[type](match,context,isXML);
if(set!=null){
expr=expr.replace(Expr.match[type],"");
break;
}
}
}
}
if(!set){
set=typeof context.getElementsByTagName!=="undefined"?
context.getElementsByTagName("*"):
[];
}
return{set:set,expr:expr};
};
Sizzle.filter=function(expr,set,inplace,not){
var match,anyFound,
old=expr,
result=[],
curLoop=set,
isXMLFilter=set&&set[0]&&Sizzle.isXML(set[0]);
while(expr&&set.length){
for(var type in Expr.filter){
if((match=Expr.leftMatch[type].exec(expr))!=null&&match[2]){
var found,item,
filter=Expr.filter[type],
left=match[1];
anyFound=false;
match.splice(1,1);
if(left.substr(left.length-1)==="\\"){
continue;
}
if(curLoop===result){
result=[];
}
if(Expr.preFilter[type]){
match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);
if(!match){
anyFound=found=true;
}else if(match===true){
continue;
}
}
if(match){
for(var i=0;(item=curLoop[i])!=null;i++){
if(item){
found=filter(item,match,i,curLoop);
var pass=not^!!found;
if(inplace&&found!=null){
if(pass){
anyFound=true;
}else{
curLoop[i]=false;
}
}else if(pass){
result.push(item);
anyFound=true;
}
}
}
}
if(found!==undefined){
if(!inplace){
curLoop=result;
}
expr=expr.replace(Expr.match[type],"");
if(!anyFound){
return[];
}
break;
}
}
}
if(expr===old){
if(anyFound==null){
Sizzle.error(expr);
}else{
break;
}
}
old=expr;
}
return curLoop;
};
Sizzle.error=function(msg){
throw"Syntax error, unrecognized expression: "+msg;
};
var Expr=Sizzle.selectors={
order:["ID","NAME","TAG"],
match:{
ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
},
leftMatch:{},
attrMap:{
"class":"className",
"for":"htmlFor"
},
attrHandle:{
href:function(elem){
return elem.getAttribute("href");
},
type:function(elem){
return elem.getAttribute("type");
}
},
relative:{
"+":function(checkSet,part){
var isPartStr=typeof part==="string",
isTag=isPartStr&&!rNonWord.test(part),
isPartStrNotTag=isPartStr&&!isTag;
if(isTag){
part=part.toLowerCase();
}
for(var i=0,l=checkSet.length,elem;i<l;i++){
if((elem=checkSet[i])){
while((elem=elem.previousSibling)&&elem.nodeType!==1){}
checkSet[i]=isPartStrNotTag||elem&&elem.nodeName.toLowerCase()===part?
elem||false:
elem===part;
}
}
if(isPartStrNotTag){
Sizzle.filter(part,checkSet,true);
}
},
">":function(checkSet,part){
var elem,
isPartStr=typeof part==="string",
i=0,
l=checkSet.length;
if(isPartStr&&!rNonWord.test(part)){
part=part.toLowerCase();
for(;i<l;i++){
elem=checkSet[i];
if(elem){
var parent=elem.parentNode;
checkSet[i]=parent.nodeName.toLowerCase()===part?parent:false;
}
}
}else{
for(;i<l;i++){
elem=checkSet[i];
if(elem){
checkSet[i]=isPartStr?
elem.parentNode:
elem.parentNode===part;
}
}
if(isPartStr){
Sizzle.filter(part,checkSet,true);
}
}
},
"":function(checkSet,part,isXML){
var nodeCheck,
doneName=done++,
checkFn=dirCheck;
if(typeof part==="string"&&!rNonWord.test(part)){
part=part.toLowerCase();
nodeCheck=part;
checkFn=dirNodeCheck;
}
checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);
},
"~":function(checkSet,part,isXML){
var nodeCheck,
doneName=done++,
checkFn=dirCheck;
if(typeof part==="string"&&!rNonWord.test(part)){
part=part.toLowerCase();
nodeCheck=part;
checkFn=dirNodeCheck;
}
checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);
}
},
find:{
ID:function(match,context,isXML){
if(typeof context.getElementById!=="undefined"&&!isXML){
var m=context.getElementById(match[1]);
return m&&m.parentNode?[m]:[];
}
},
NAME:function(match,context){
if(typeof context.getElementsByName!=="undefined"){
var ret=[],
results=context.getElementsByName(match[1]);
for(var i=0,l=results.length;i<l;i++){
if(results[i].getAttribute("name")===match[1]){
ret.push(results[i]);
}
}
return ret.length===0?null:ret;
}
},
TAG:function(match,context){
if(typeof context.getElementsByTagName!=="undefined"){
return context.getElementsByTagName(match[1]);
}
}
},
preFilter:{
CLASS:function(match,curLoop,inplace,result,not,isXML){
match=" "+match[1].replace(rBackslash,"")+" ";
if(isXML){
return match;
}
for(var i=0,elem;(elem=curLoop[i])!=null;i++){
if(elem){
if(not^(elem.className&&(" "+elem.className+" ").replace(/[\t\n\r]/g," ").indexOf(match)>=0)){
if(!inplace){
result.push(elem);
}
}else if(inplace){
curLoop[i]=false;
}
}
}
return false;
},
ID:function(match){
return match[1].replace(rBackslash,"");
},
TAG:function(match,curLoop){
return match[1].replace(rBackslash,"").toLowerCase();
},
CHILD:function(match){
if(match[1]==="nth"){
if(!match[2]){
Sizzle.error(match[0]);
}
match[2]=match[2].replace(/^\+|\s*/g,'');
var test=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(
match[2]==="even"&&"2n"||match[2]==="odd"&&"2n+1"||
!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);
match[2]=(test[1]+(test[2]||1))-0;
match[3]=test[3]-0;
}
else if(match[2]){
Sizzle.error(match[0]);
}
match[0]=done++;
return match;
},
ATTR:function(match,curLoop,inplace,result,not,isXML){
var name=match[1]=match[1].replace(rBackslash,"");
if(!isXML&&Expr.attrMap[name]){
match[1]=Expr.attrMap[name];
}
match[4]=(match[4]||match[5]||"").replace(rBackslash,"");
if(match[2]==="~="){
match[4]=" "+match[4]+" ";
}
return match;
},
PSEUDO:function(match,curLoop,inplace,result,not){
if(match[1]==="not"){
if((chunker.exec(match[3])||"").length>1||/^\w/.test(match[3])){
match[3]=Sizzle(match[3],null,null,curLoop);
}else{
var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);
if(!inplace){
result.push.apply(result,ret);
}
return false;
}
}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){
return true;
}
return match;
},
POS:function(match){
match.unshift(true);
return match;
}
},
filters:{
enabled:function(elem){
return elem.disabled===false&&elem.type!=="hidden";
},
disabled:function(elem){
return elem.disabled===true;
},
checked:function(elem){
return elem.checked===true;
},
selected:function(elem){
if(elem.parentNode){
elem.parentNode.selectedIndex;
}
return elem.selected===true;
},
parent:function(elem){
return!!elem.firstChild;
},
empty:function(elem){
return!elem.firstChild;
},
has:function(elem,i,match){
return!!Sizzle(match[3],elem).length;
},
header:function(elem){
return(/h\d/i).test(elem.nodeName);
},
text:function(elem){
var attr=elem.getAttribute("type"),type=elem.type;
return elem.nodeName.toLowerCase()==="input"&&"text"===type&&(attr===type||attr===null);
},
radio:function(elem){
return elem.nodeName.toLowerCase()==="input"&&"radio"===elem.type;
},
checkbox:function(elem){
return elem.nodeName.toLowerCase()==="input"&&"checkbox"===elem.type;
},
file:function(elem){
return elem.nodeName.toLowerCase()==="input"&&"file"===elem.type;
},
password:function(elem){
return elem.nodeName.toLowerCase()==="input"&&"password"===elem.type;
},
submit:function(elem){
var name=elem.nodeName.toLowerCase();
return(name==="input"||name==="button")&&"submit"===elem.type;
},
image:function(elem){
return elem.nodeName.toLowerCase()==="input"&&"image"===elem.type;
},
reset:function(elem){
var name=elem.nodeName.toLowerCase();
return(name==="input"||name==="button")&&"reset"===elem.type;
},
button:function(elem){
var name=elem.nodeName.toLowerCase();
return name==="input"&&"button"===elem.type||name==="button";
},
input:function(elem){
return(/input|select|textarea|button/i).test(elem.nodeName);
},
focus:function(elem){
return elem===elem.ownerDocument.activeElement;
}
},
setFilters:{
first:function(elem,i){
return i===0;
},
last:function(elem,i,match,array){
return i===array.length-1;
},
even:function(elem,i){
return i%2===0;
},
odd:function(elem,i){
return i%2===1;
},
lt:function(elem,i,match){
return i<match[3]-0;
},
gt:function(elem,i,match){
return i>match[3]-0;
},
nth:function(elem,i,match){
return match[3]-0===i;
},
eq:function(elem,i,match){
return match[3]-0===i;
}
},
filter:{
PSEUDO:function(elem,match,i,array){
var name=match[1],
filter=Expr.filters[name];
if(filter){
return filter(elem,i,match,array);
}else if(name==="contains"){
return(elem.textContent||elem.innerText||Sizzle.getText([elem])||"").indexOf(match[3])>=0;
}else if(name==="not"){
var not=match[3];
for(var j=0,l=not.length;j<l;j++){
if(not[j]===elem){
return false;
}
}
return true;
}else{
Sizzle.error(name);
}
},
CHILD:function(elem,match){
var type=match[1],
node=elem;
switch(type){
case"only":
case"first":
while((node=node.previousSibling)){
if(node.nodeType===1){
return false;
}
}
if(type==="first"){
return true;
}
node=elem;
case"last":
while((node=node.nextSibling)){
if(node.nodeType===1){
return false;
}
}
return true;
case"nth":
var first=match[2],
last=match[3];
if(first===1&&last===0){
return true;
}
var doneName=match[0],
parent=elem.parentNode;
if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){
var count=0;
for(node=parent.firstChild;node;node=node.nextSibling){
if(node.nodeType===1){
node.nodeIndex=++count;
}
}
parent.sizcache=doneName;
}
var diff=elem.nodeIndex-last;
if(first===0){
return diff===0;
}else{
return(diff%first===0&&diff/first>=0);
}
}
},
ID:function(elem,match){
return elem.nodeType===1&&elem.getAttribute("id")===match;
},
TAG:function(elem,match){
return(match==="*"&&elem.nodeType===1)||elem.nodeName.toLowerCase()===match;
},
CLASS:function(elem,match){
return(" "+(elem.className||elem.getAttribute("class"))+" ")
.indexOf(match)>-1;
},
ATTR:function(elem,match){
var name=match[1],
result=Expr.attrHandle[name]?
Expr.attrHandle[name](elem):
elem[name]!=null?
elem[name]:
elem.getAttribute(name),
value=result+"",
type=match[2],
check=match[4];
return result==null?
type==="!=":
type==="="?
value===check:
type==="*="?
value.indexOf(check)>=0:
type==="~="?
(" "+value+" ").indexOf(check)>=0:
!check?
value&&result!==false:
type==="!="?
value!==check:
type==="^="?
value.indexOf(check)===0:
type==="$="?
value.substr(value.length-check.length)===check:
type==="|="?
value===check||value.substr(0,check.length+1)===check+"-":
false;
},
POS:function(elem,match,i,array){
var name=match[2],
filter=Expr.setFilters[name];
if(filter){
return filter(elem,i,match,array);
}
}
}
};
var origPOS=Expr.match.POS,
fescape=function(all,num){
return"\\"+(num-0+1);
};
for(var type in Expr.match){
Expr.match[type]=new RegExp(Expr.match[type].source+(/(?![^\[]*\])(?![^\(]*\))/.source));
Expr.leftMatch[type]=new RegExp(/(^(?:.|\r|\n)*?)/.source+Expr.match[type].source.replace(/\\(\d+)/g,fescape));
}
var makeArray=function(array,results){
array=Array.prototype.slice.call(array,0);
if(results){
results.push.apply(results,array);
return results;
}
return array;
};
try{
Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType;
}catch(e){
makeArray=function(array,results){
var i=0,
ret=results||[];
if(toString.call(array)==="[object Array]"){
Array.prototype.push.apply(ret,array);
}else{
if(typeof array.length==="number"){
for(var l=array.length;i<l;i++){
ret.push(array[i]);
}
}else{
for(;array[i];i++){
ret.push(array[i]);
}
}
}
return ret;
};
}
var sortOrder,siblingCheck;
if(document.documentElement.compareDocumentPosition){
sortOrder=function(a,b){
if(a===b){
hasDuplicate=true;
return 0;
}
if(!a.compareDocumentPosition||!b.compareDocumentPosition){
return a.compareDocumentPosition?-1:1;
}
return a.compareDocumentPosition(b)&4?-1:1;
};
}else{
sortOrder=function(a,b){
if(a===b){
hasDuplicate=true;
return 0;
}else if(a.sourceIndex&&b.sourceIndex){
return a.sourceIndex-b.sourceIndex;
}
var al,bl,
ap=[],
bp=[],
aup=a.parentNode,
bup=b.parentNode,
cur=aup;
if(aup===bup){
return siblingCheck(a,b);
}else if(!aup){
return-1;
}else if(!bup){
return 1;
}
while(cur){
ap.unshift(cur);
cur=cur.parentNode;
}
cur=bup;
while(cur){
bp.unshift(cur);
cur=cur.parentNode;
}
al=ap.length;
bl=bp.length;
for(var i=0;i<al&&i<bl;i++){
if(ap[i]!==bp[i]){
return siblingCheck(ap[i],bp[i]);
}
}
return i===al?
siblingCheck(a,bp[i],-1):
siblingCheck(ap[i],b,1);
};
siblingCheck=function(a,b,ret){
if(a===b){
return ret;
}
var cur=a.nextSibling;
while(cur){
if(cur===b){
return-1;
}
cur=cur.nextSibling;
}
return 1;
};
}
Sizzle.getText=function(elems){
var ret="",elem;
for(var i=0;elems[i];i++){
elem=elems[i];
if(elem.nodeType===3||elem.nodeType===4){
ret+=elem.nodeValue;
}else if(elem.nodeType!==8){
ret+=Sizzle.getText(elem.childNodes);
}
}
return ret;
};
(function(){
var form=document.createElement("div"),
id="script"+(new Date()).getTime(),
root=document.documentElement;
form.innerHTML="<a name='"+id+"'/>";
root.insertBefore(form,root.firstChild);
if(document.getElementById(id)){
Expr.find.ID=function(match,context,isXML){
if(typeof context.getElementById!=="undefined"&&!isXML){
var m=context.getElementById(match[1]);
return m?
m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?
[m]:
undefined:
[];
}
};
Expr.filter.ID=function(elem,match){
var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");
return elem.nodeType===1&&node&&node.nodeValue===match;
};
}
root.removeChild(form);
root=form=null;
})();
(function(){
var div=document.createElement("div");
div.appendChild(document.createComment(""));
if(div.getElementsByTagName("*").length>0){
Expr.find.TAG=function(match,context){
var results=context.getElementsByTagName(match[1]);
if(match[1]==="*"){
var tmp=[];
for(var i=0;results[i];i++){
if(results[i].nodeType===1){
tmp.push(results[i]);
}
}
results=tmp;
}
return results;
};
}
div.innerHTML="<a href='#'></a>";
if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&
div.firstChild.getAttribute("href")!=="#"){
Expr.attrHandle.href=function(elem){
return elem.getAttribute("href",2);
};
}
div=null;
})();
if(document.querySelectorAll){
(function(){
var oldSizzle=Sizzle,
div=document.createElement("div"),
id="__sizzle__";
div.innerHTML="<p class='TEST'></p>";
if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){
return;
}
Sizzle=function(query,context,extra,seed){
context=context||document;
if(!seed&&!Sizzle.isXML(context)){
var match=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(query);
if(match&&(context.nodeType===1||context.nodeType===9)){
if(match[1]){
return makeArray(context.getElementsByTagName(query),extra);
}else if(match[2]&&Expr.find.CLASS&&context.getElementsByClassName){
return makeArray(context.getElementsByClassName(match[2]),extra);
}
}
if(context.nodeType===9){
if(query==="body"&&context.body){
return makeArray([context.body],extra);
}else if(match&&match[3]){
var elem=context.getElementById(match[3]);
if(elem&&elem.parentNode){
if(elem.id===match[3]){
return makeArray([elem],extra);
}
}else{
return makeArray([],extra);
}
}
try{
return makeArray(context.querySelectorAll(query),extra);
}catch(qsaError){}
}else if(context.nodeType===1&&context.nodeName.toLowerCase()!=="object"){
var oldContext=context,
old=context.getAttribute("id"),
nid=old||id,
hasParent=context.parentNode,
relativeHierarchySelector=/^\s*[+~]/.test(query);
if(!old){
context.setAttribute("id",nid);
}else{
nid=nid.replace(/'/g,"\\$&");
}
if(relativeHierarchySelector&&hasParent){
context=context.parentNode;
}
try{
if(!relativeHierarchySelector||hasParent){
return makeArray(context.querySelectorAll("[id='"+nid+"'] "+query),extra);
}
}catch(pseudoError){
}finally{
if(!old){
oldContext.removeAttribute("id");
}
}
}
}
return oldSizzle(query,context,extra,seed);
};
for(var prop in oldSizzle){
Sizzle[prop]=oldSizzle[prop];
}
div=null;
})();
}
(function(){
var html=document.documentElement,
matches=html.matchesSelector||html.mozMatchesSelector||html.webkitMatchesSelector||html.msMatchesSelector;
if(matches){
var disconnectedMatch=!matches.call(document.createElement("div"),"div"),
pseudoWorks=false;
try{
matches.call(document.documentElement,"[test!='']:sizzle");
}catch(pseudoError){
pseudoWorks=true;
}
Sizzle.matchesSelector=function(node,expr){
expr=expr.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");
if(!Sizzle.isXML(node)){
try{
if(pseudoWorks||!Expr.match.PSEUDO.test(expr)&&!/!=/.test(expr)){
var ret=matches.call(node,expr);
if(ret||!disconnectedMatch||
node.document&&node.document.nodeType!==11){
return ret;
}
}
}catch(e){}
}
return Sizzle(expr,null,null,[node]).length>0;
};
}
})();
(function(){
var div=document.createElement("div");
div.innerHTML="<div class='test e'></div><div class='test'></div>";
if(!div.getElementsByClassName||div.getElementsByClassName("e").length===0){
return;
}
div.lastChild.className="e";
if(div.getElementsByClassName("e").length===1){
return;
}
Expr.order.splice(1,0,"CLASS");
Expr.find.CLASS=function(match,context,isXML){
if(typeof context.getElementsByClassName!=="undefined"&&!isXML){
return context.getElementsByClassName(match[1]);
}
};
div=null;
})();
function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){
for(var i=0,l=checkSet.length;i<l;i++){
var elem=checkSet[i];
if(elem){
var match=false;
elem=elem[dir];
while(elem){
if(elem.sizcache===doneName){
match=checkSet[elem.sizset];
break;
}
if(elem.nodeType===1&&!isXML){
elem.sizcache=doneName;
elem.sizset=i;
}
if(elem.nodeName.toLowerCase()===cur){
match=elem;
break;
}
elem=elem[dir];
}
checkSet[i]=match;
}
}
}
function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){
for(var i=0,l=checkSet.length;i<l;i++){
var elem=checkSet[i];
if(elem){
var match=false;
elem=elem[dir];
while(elem){
if(elem.sizcache===doneName){
match=checkSet[elem.sizset];
break;
}
if(elem.nodeType===1){
if(!isXML){
elem.sizcache=doneName;
elem.sizset=i;
}
if(typeof cur!=="string"){
if(elem===cur){
match=true;
break;
}
}else if(Sizzle.filter(cur,[elem]).length>0){
match=elem;
break;
}
}
elem=elem[dir];
}
checkSet[i]=match;
}
}
}
if(document.documentElement.contains){
Sizzle.contains=function(a,b){
return a!==b&&(a.contains?a.contains(b):true);
};
}else if(document.documentElement.compareDocumentPosition){
Sizzle.contains=function(a,b){
return!!(a.compareDocumentPosition(b)&16);
};
}else{
Sizzle.contains=function(){
return false;
};
}
Sizzle.isXML=function(elem){
var documentElement=(elem?elem.ownerDocument||elem:0).documentElement;
return documentElement?documentElement.nodeName!=="HTML":false;
};
var posProcess=function(selector,context){
var match,
tmpSet=[],
later="",
root=context.nodeType?[context]:context;
while((match=Expr.match.PSEUDO.exec(selector))){
later+=match[0];
selector=selector.replace(Expr.match.PSEUDO,"");
}
selector=Expr.relative[selector]?selector+"*":selector;
for(var i=0,l=root.length;i<l;i++){
Sizzle(selector,root[i],tmpSet);
}
return Sizzle.filter(later,tmpSet);
};
jQuery.find=Sizzle;
jQuery.expr=Sizzle.selectors;
jQuery.expr[":"]=jQuery.expr.filters;
jQuery.unique=Sizzle.uniqueSort;
jQuery.text=Sizzle.getText;
jQuery.isXMLDoc=Sizzle.isXML;
jQuery.contains=Sizzle.contains;
})();
var runtil=/Until$/,
rparentsprev=/^(?:parents|prevUntil|prevAll)/,
rmultiselector=/,/,
isSimple=/^.[^:#\[\.,]*$/,
slice=Array.prototype.slice,
POS=jQuery.expr.match.POS,
guaranteedUnique={
children:true,
contents:true,
next:true,
prev:true
};
jQuery.fn.extend({
find:function(selector){
var self=this,
i,l;
if(typeof selector!=="string"){
return jQuery(selector).filter(function(){
for(i=0,l=self.length;i<l;i++){
if(jQuery.contains(self[i],this)){
return true;
}
}
});
}
var ret=this.pushStack("","find",selector),
length,n,r;
for(i=0,l=this.length;i<l;i++){
length=ret.length;
jQuery.find(selector,this[i],ret);
if(i>0){
for(n=length;n<ret.length;n++){
for(r=0;r<length;r++){
if(ret[r]===ret[n]){
ret.splice(n--,1);
break;
}
}
}
}
}
return ret;
},
has:function(target){
var targets=jQuery(target);
return this.filter(function(){
for(var i=0,l=targets.length;i<l;i++){
if(jQuery.contains(this,targets[i])){
return true;
}
}
});
},
not:function(selector){
return this.pushStack(winnow(this,selector,false),"not",selector);
},
filter:function(selector){
return this.pushStack(winnow(this,selector,true),"filter",selector);
},
is:function(selector){
return!!selector&&(typeof selector==="string"?
jQuery.filter(selector,this).length>0:
this.filter(selector).length>0);
},
closest:function(selectors,context){
var ret=[],i,l,cur=this[0];
if(jQuery.isArray(selectors)){
var match,selector,
matches={},
level=1;
if(cur&&selectors.length){
for(i=0,l=selectors.length;i<l;i++){
selector=selectors[i];
if(!matches[selector]){
matches[selector]=POS.test(selector)?
jQuery(selector,context||this.context):
selector;
}
}
while(cur&&cur.ownerDocument&&cur!==context){
for(selector in matches){
match=matches[selector];
if(match.jquery?match.index(cur)>-1:jQuery(cur).is(match)){
ret.push({selector:selector,elem:cur,level:level});
}
}
cur=cur.parentNode;
level++;
}
}
return ret;
}
var pos=POS.test(selectors)||typeof selectors!=="string"?
jQuery(selectors,context||this.context):
0;
for(i=0,l=this.length;i<l;i++){
cur=this[i];
while(cur){
if(pos?pos.index(cur)>-1:jQuery.find.matchesSelector(cur,selectors)){
ret.push(cur);
break;
}else{
cur=cur.parentNode;
if(!cur||!cur.ownerDocument||cur===context||cur.nodeType===11){
break;
}
}
}
}
ret=ret.length>1?jQuery.unique(ret):ret;
return this.pushStack(ret,"closest",selectors);
},
index:function(elem){
if(!elem){
return(this[0]&&this[0].parentNode)?this.prevAll().length:-1;
}
if(typeof elem==="string"){
return jQuery.inArray(this[0],jQuery(elem));
}
return jQuery.inArray(
elem.jquery?elem[0]:elem,this);
},
add:function(selector,context){
var set=typeof selector==="string"?
jQuery(selector,context):
jQuery.makeArray(selector&&selector.nodeType?[selector]:selector),
all=jQuery.merge(this.get(),set);
return this.pushStack(isDisconnected(set[0])||isDisconnected(all[0])?
all:
jQuery.unique(all));
},
andSelf:function(){
return this.add(this.prevObject);
}
});
function isDisconnected(node){
return!node||!node.parentNode||node.parentNode.nodeType===11;
}
jQuery.each({
parent:function(elem){
var parent=elem.parentNode;
return parent&&parent.nodeType!==11?parent:null;
},
parents:function(elem){
return jQuery.dir(elem,"parentNode");
},
parentsUntil:function(elem,i,until){
return jQuery.dir(elem,"parentNode",until);
},
next:function(elem){
return jQuery.nth(elem,2,"nextSibling");
},
prev:function(elem){
return jQuery.nth(elem,2,"previousSibling");
},
nextAll:function(elem){
return jQuery.dir(elem,"nextSibling");
},
prevAll:function(elem){
return jQuery.dir(elem,"previousSibling");
},
nextUntil:function(elem,i,until){
return jQuery.dir(elem,"nextSibling",until);
},
prevUntil:function(elem,i,until){
return jQuery.dir(elem,"previousSibling",until);
},
siblings:function(elem){
return jQuery.sibling(elem.parentNode.firstChild,elem);
},
children:function(elem){
return jQuery.sibling(elem.firstChild);
},
contents:function(elem){
return jQuery.nodeName(elem,"iframe")?
elem.contentDocument||elem.contentWindow.document:
jQuery.makeArray(elem.childNodes);
}
},function(name,fn){
jQuery.fn[name]=function(until,selector){
var ret=jQuery.map(this,fn,until),
args=slice.call(arguments);
if(!runtil.test(name)){
selector=until;
}
if(selector&&typeof selector==="string"){
ret=jQuery.filter(selector,ret);
}
ret=this.length>1&&!guaranteedUnique[name]?jQuery.unique(ret):ret;
if((this.length>1||rmultiselector.test(selector))&&rparentsprev.test(name)){
ret=ret.reverse();
}
return this.pushStack(ret,name,args.join(","));
};
});
jQuery.extend({
filter:function(expr,elems,not){
if(not){
expr=":not("+expr+")";
}
return elems.length===1?
jQuery.find.matchesSelector(elems[0],expr)?[elems[0]]:[]:
jQuery.find.matches(expr,elems);
},
dir:function(elem,dir,until){
var matched=[],
cur=elem[dir];
while(cur&&cur.nodeType!==9&&(until===undefined||cur.nodeType!==1||!jQuery(cur).is(until))){
if(cur.nodeType===1){
matched.push(cur);
}
cur=cur[dir];
}
return matched;
},
nth:function(cur,result,dir,elem){
result=result||1;
var num=0;
for(;cur;cur=cur[dir]){
if(cur.nodeType===1&&++num===result){
break;
}
}
return cur;
},
sibling:function(n,elem){
var r=[];
for(;n;n=n.nextSibling){
if(n.nodeType===1&&n!==elem){
r.push(n);
}
}
return r;
}
});
function winnow(elements,qualifier,keep){
qualifier=qualifier||0;
if(jQuery.isFunction(qualifier)){
return jQuery.grep(elements,function(elem,i){
var retVal=!!qualifier.call(elem,i,elem);
return retVal===keep;
});
}else if(qualifier.nodeType){
return jQuery.grep(elements,function(elem,i){
return(elem===qualifier)===keep;
});
}else if(typeof qualifier==="string"){
var filtered=jQuery.grep(elements,function(elem){
return elem.nodeType===1;
});
if(isSimple.test(qualifier)){
return jQuery.filter(qualifier,filtered,!keep);
}else{
qualifier=jQuery.filter(qualifier,filtered);
}
}
return jQuery.grep(elements,function(elem,i){
return(jQuery.inArray(elem,qualifier)>=0)===keep;
});
}
var rinlinejQuery=/ jQuery\d+="(?:\d+|null)"/g,
rleadingWhitespace=/^\s+/,
rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
rtagName=/<([\w:]+)/,
rtbody=/<tbody/i,
rhtml=/<|&#?\w+;/,
rnocache=/<(?:script|object|embed|option|style)/i,
rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,
rscriptType=/\/(java|ecma)script/i,
rcleanScript=/^\s*<!(?:\[CDATA\[|\-\-)/,
wrapMap={
option:[1,"<select multiple='multiple'>","</select>"],
legend:[1,"<fieldset>","</fieldset>"],
thead:[1,"<table>","</table>"],
tr:[2,"<table><tbody>","</tbody></table>"],
td:[3,"<table><tbody><tr>","</tr></tbody></table>"],
col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],
area:[1,"<map>","</map>"],
_default:[0,"",""]
};
wrapMap.optgroup=wrapMap.option;
wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;
wrapMap.th=wrapMap.td;
if(!jQuery.support.htmlSerialize){
wrapMap._default=[1,"div<div>","</div>"];
}
jQuery.fn.extend({
text:function(text){
if(jQuery.isFunction(text)){
return this.each(function(i){
var self=jQuery(this);
self.text(text.call(this,i,self.text()));
});
}
if(typeof text!=="object"&&text!==undefined){
return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));
}
return jQuery.text(this);
},
wrapAll:function(html){
if(jQuery.isFunction(html)){
return this.each(function(i){
jQuery(this).wrapAll(html.call(this,i));
});
}
if(this[0]){
var 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.firstChild&&elem.firstChild.nodeType===1){
elem=elem.firstChild;
}
return elem;
}).append(this);
}
return this;
},
wrapInner:function(html){
if(jQuery.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){
return this.each(function(){
jQuery(this).wrapAll(html);
});
},
unwrap:function(){
return this.parent().each(function(){
if(!jQuery.nodeName(this,"body")){
jQuery(this).replaceWith(this.childNodes);
}
}).end();
},
append:function(){
return this.domManip(arguments,true,function(elem){
if(this.nodeType===1){
this.appendChild(elem);
}
});
},
prepend:function(){
return this.domManip(arguments,true,function(elem){
if(this.nodeType===1){
this.insertBefore(elem,this.firstChild);
}
});
},
before:function(){
if(this[0]&&this[0].parentNode){
return this.domManip(arguments,false,function(elem){
this.parentNode.insertBefore(elem,this);
});
}else if(arguments.length){
var set=jQuery(arguments[0]);
set.push.apply(set,this.toArray());
return this.pushStack(set,"before",arguments);
}
},
after:function(){
if(this[0]&&this[0].parentNode){
return this.domManip(arguments,false,function(elem){
this.parentNode.insertBefore(elem,this.nextSibling);
});
}else if(arguments.length){
var set=this.pushStack(this,"after",arguments);
set.push.apply(set,jQuery(arguments[0]).toArray());
return set;
}
},
remove:function(selector,keepData){
for(var i=0,elem;(elem=this[i])!=null;i++){
if(!selector||jQuery.filter(selector,[elem]).length){
if(!keepData&&elem.nodeType===1){
jQuery.cleanData(elem.getElementsByTagName("*"));
jQuery.cleanData([elem]);
}
if(elem.parentNode){
elem.parentNode.removeChild(elem);
}
}
}
return this;
},
empty:function(){
for(var i=0,elem;(elem=this[i])!=null;i++){
if(elem.nodeType===1){
jQuery.cleanData(elem.getElementsByTagName("*"));
}
while(elem.firstChild){
elem.removeChild(elem.firstChild);
}
}
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){
if(value===undefined){
return this[0]&&this[0].nodeType===1?
this[0].innerHTML.replace(rinlinejQuery,""):
null;
}else if(typeof value==="string"&&!rnocache.test(value)&&
(jQuery.support.leadingWhitespace||!rleadingWhitespace.test(value))&&
!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){
value=value.replace(rxhtmlTag,"<$1></$2>");
try{
for(var i=0,l=this.length;i<l;i++){
if(this[i].nodeType===1){
jQuery.cleanData(this[i].getElementsByTagName("*"));
this[i].innerHTML=value;
}
}
}catch(e){
this.empty().append(value);
}
}else if(jQuery.isFunction(value)){
this.each(function(i){
var self=jQuery(this);
self.html(value.call(this,i,self.html()));
});
}else{
this.empty().append(value);
}
return this;
},
replaceWith:function(value){
if(this[0]&&this[0].parentNode){
if(jQuery.isFunction(value)){
return this.each(function(i){
var self=jQuery(this),old=self.html();
self.replaceWith(value.call(this,i,old));
});
}
if(typeof value!=="string"){
value=jQuery(value).detach();
}
return this.each(function(){
var next=this.nextSibling,
parent=this.parentNode;
jQuery(this).remove();
if(next){
jQuery(next).before(value);
}else{
jQuery(parent).append(value);
}
});
}else{
return this.length?
this.pushStack(jQuery(jQuery.isFunction(value)?value():value),"replaceWith",value):
this;
}
},
detach:function(selector){
return this.remove(selector,true);
},
domManip:function(args,table,callback){
var results,first,fragment,parent,
value=args[0],
scripts=[];
if(!jQuery.support.checkClone&&arguments.length===3&&typeof value==="string"&&rchecked.test(value)){
return this.each(function(){
jQuery(this).domManip(args,table,callback,true);
});
}
if(jQuery.isFunction(value)){
return this.each(function(i){
var self=jQuery(this);
args[0]=value.call(this,i,table?self.html():undefined);
self.domManip(args,table,callback);
});
}
if(this[0]){
parent=value&&value.parentNode;
if(jQuery.support.parentNode&&parent&&parent.nodeType===11&&parent.childNodes.length===this.length){
results={fragment:parent};
}else{
results=jQuery.buildFragment(args,this,scripts);
}
fragment=results.fragment;
if(fragment.childNodes.length===1){
first=fragment=fragment.firstChild;
}else{
first=fragment.firstChild;
}
if(first){
table=table&&jQuery.nodeName(first,"tr");
for(var i=0,l=this.length,lastIndex=l-1;i<l;i++){
callback.call(
table?
root(this[i],first):
this[i],
results.cacheable||(l>1&&i<lastIndex)?
jQuery.clone(fragment,true,true):
fragment
);
}
}
if(scripts.length){
jQuery.each(scripts,evalScript);
}
}
return this;
}
});
function root(elem,cur){
return jQuery.nodeName(elem,"table")?
(elem.getElementsByTagName("tbody")[0]||
elem.appendChild(elem.ownerDocument.createElement("tbody"))):
elem;
}
function cloneCopyEvent(src,dest){
if(dest.nodeType!==1||!jQuery.hasData(src)){
return;
}
var internalKey=jQuery.expando,
oldData=jQuery.data(src),
curData=jQuery.data(dest,oldData);
if((oldData=oldData[internalKey])){
var events=oldData.events;
curData=curData[internalKey]=jQuery.extend({},oldData);
if(events){
delete curData.handle;
curData.events={};
for(var type in events){
for(var i=0,l=events[type].length;i<l;i++){
jQuery.event.add(dest,type+(events[type][i].namespace?".":"")+events[type][i].namespace,events[type][i],events[type][i].data);
}
}
}
}
}
function cloneFixAttributes(src,dest){
var nodeName;
if(dest.nodeType!==1){
return;
}
if(dest.clearAttributes){
dest.clearAttributes();
}
if(dest.mergeAttributes){
dest.mergeAttributes(src);
}
nodeName=dest.nodeName.toLowerCase();
if(nodeName==="object"){
dest.outerHTML=src.outerHTML;
}else if(nodeName==="input"&&(src.type==="checkbox"||src.type==="radio")){
if(src.checked){
dest.defaultChecked=dest.checked=src.checked;
}
if(dest.value!==src.value){
dest.value=src.value;
}
}else if(nodeName==="option"){
dest.selected=src.defaultSelected;
}else if(nodeName==="input"||nodeName==="textarea"){
dest.defaultValue=src.defaultValue;
}
dest.removeAttribute(jQuery.expando);
}
jQuery.buildFragment=function(args,nodes,scripts){
var fragment,cacheable,cacheresults,doc;
if(nodes&&nodes[0]){
doc=nodes[0].ownerDocument||nodes[0];
}
if(!doc.createDocumentFragment){
doc=document;
}
if(args.length===1&&typeof args[0]==="string"&&args[0].length<512&&doc===document&&
args[0].charAt(0)==="<"&&!rnocache.test(args[0])&&(jQuery.support.checkClone||!rchecked.test(args[0]))){
cacheable=true;
cacheresults=jQuery.fragments[args[0]];
if(cacheresults&&cacheresults!==1){
fragment=cacheresults;
}
}
if(!fragment){
fragment=doc.createDocumentFragment();
jQuery.clean(args,doc,fragment,scripts);
}
if(cacheable){
jQuery.fragments[args[0]]=cacheresults?fragment:1;
}
return{fragment:fragment,cacheable:cacheable};
};
jQuery.fragments={};
jQuery.each({
appendTo:"append",
prependTo:"prepend",
insertBefore:"before",
insertAfter:"after",
replaceAll:"replaceWith"
},function(name,original){
jQuery.fn[name]=function(selector){
var ret=[],
insert=jQuery(selector),
parent=this.length===1&&this[0].parentNode;
if(parent&&parent.nodeType===11&&parent.childNodes.length===1&&insert.length===1){
insert[original](this[0]);
return this;
}else{
for(var i=0,l=insert.length;i<l;i++){
var elems=(i>0?this.clone(true):this).get();
jQuery(insert[i])[original](elems);
ret=ret.concat(elems);
}
return this.pushStack(ret,name,insert.selector);
}
};
});
function getAll(elem){
if("getElementsByTagName"in elem){
return elem.getElementsByTagName("*");
}else if("querySelectorAll"in elem){
return elem.querySelectorAll("*");
}else{
return[];
}
}
function fixDefaultChecked(elem){
if(elem.type==="checkbox"||elem.type==="radio"){
elem.defaultChecked=elem.checked;
}
}
function findInputs(elem){
if(jQuery.nodeName(elem,"input")){
fixDefaultChecked(elem);
}else if("getElementsByTagName"in elem){
jQuery.grep(elem.getElementsByTagName("input"),fixDefaultChecked);
}
}
jQuery.extend({
clone:function(elem,dataAndEvents,deepDataAndEvents){
var clone=elem.cloneNode(true),
srcElements,
destElements,
i;
if((!jQuery.support.noCloneEvent||!jQuery.support.noCloneChecked)&&
(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){
cloneFixAttributes(elem,clone);
srcElements=getAll(elem);
destElements=getAll(clone);
for(i=0;srcElements[i];++i){
if(destElements[i]){
cloneFixAttributes(srcElements[i],destElements[i]);
}
}
}
if(dataAndEvents){
cloneCopyEvent(elem,clone);
if(deepDataAndEvents){
srcElements=getAll(elem);
destElements=getAll(clone);
for(i=0;srcElements[i];++i){
cloneCopyEvent(srcElements[i],destElements[i]);
}
}
}
srcElements=destElements=null;
return clone;
},
clean:function(elems,context,fragment,scripts){
var checkScriptType;
context=context||document;
if(typeof context.createElement==="undefined"){
context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;
}
var ret=[],j;
for(var i=0,elem;(elem=elems[i])!=null;i++){
if(typeof elem==="number"){
elem+="";
}
if(!elem){
continue;
}
if(typeof elem==="string"){
if(!rhtml.test(elem)){
elem=context.createTextNode(elem);
}else{
elem=elem.replace(rxhtmlTag,"<$1></$2>");
var tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),
wrap=wrapMap[tag]||wrapMap._default,
depth=wrap[0],
div=context.createElement("div");
div.innerHTML=wrap[1]+elem+wrap[2];
while(depth--){
div=div.lastChild;
}
if(!jQuery.support.tbody){
var hasBody=rtbody.test(elem),
tbody=tag==="table"&&!hasBody?
div.firstChild&&div.firstChild.childNodes:
wrap[1]==="<table>"&&!hasBody?
div.childNodes:
[];
for(j=tbody.length-1;j>=0;--j){
if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length){
tbody[j].parentNode.removeChild(tbody[j]);
}
}
}
if(!jQuery.support.leadingWhitespace&&rleadingWhitespace.test(elem)){
div.insertBefore(context.createTextNode(rleadingWhitespace.exec(elem)[0]),div.firstChild);
}
elem=div.childNodes;
}
}
var len;
if(!jQuery.support.appendChecked){
if(elem[0]&&typeof(len=elem.length)==="number"){
for(j=0;j<len;j++){
findInputs(elem[j]);
}
}else{
findInputs(elem);
}
}
if(elem.nodeType){
ret.push(elem);
}else{
ret=jQuery.merge(ret,elem);
}
}
if(fragment){
checkScriptType=function(elem){
return!elem.type||rscriptType.test(elem.type);
};
for(i=0;ret[i];i++){
if(scripts&&jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){
scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);
}else{
if(ret[i].nodeType===1){
var jsTags=jQuery.grep(ret[i].getElementsByTagName("script"),checkScriptType);
ret.splice.apply(ret,[i+1,0].concat(jsTags));
}
fragment.appendChild(ret[i]);
}
}
}
return ret;
},
cleanData:function(elems){
var data,id,cache=jQuery.cache,internalKey=jQuery.expando,special=jQuery.event.special,
deleteExpando=jQuery.support.deleteExpando;
for(var i=0,elem;(elem=elems[i])!=null;i++){
if(elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()]){
continue;
}
id=elem[jQuery.expando];
if(id){
data=cache[id]&&cache[id][internalKey];
if(data&&data.events){
for(var type in data.events){
if(special[type]){
jQuery.event.remove(elem,type);
}else{
jQuery.removeEvent(elem,type,data.handle);
}
}
if(data.handle){
data.handle.elem=null;
}
}
if(deleteExpando){
delete elem[jQuery.expando];
}else if(elem.removeAttribute){
elem.removeAttribute(jQuery.expando);
}
delete cache[id];
}
}
}
});
function evalScript(i,elem){
if(elem.src){
jQuery.ajax({
url:elem.src,
async:false,
dataType:"script"
});
}else{
jQuery.globalEval((elem.text||elem.textContent||elem.innerHTML||"").replace(rcleanScript,"/*$0*/"));
}
if(elem.parentNode){
elem.parentNode.removeChild(elem);
}
}
var ralpha=/alpha\([^)]*\)/i,
ropacity=/opacity=([^)]*)/,
rupper=/([A-Z]|^ms)/g,
rnumpx=/^-?\d+(?:px)?$/i,
rnum=/^-?\d/,
rrelNum=/^([\-+])=([\-+.\de]+)/,
cssShow={position:"absolute",visibility:"hidden",display:"block"},
cssWidth=["Left","Right"],
cssHeight=["Top","Bottom"],
curCSS,
getComputedStyle,
currentStyle;
jQuery.fn.css=function(name,value){
if(arguments.length===2&&value===undefined){
return this;
}
return jQuery.access(this,name,value,true,function(elem,name,value){
return value!==undefined?
jQuery.style(elem,name,value):
jQuery.css(elem,name);
});
};
jQuery.extend({
cssHooks:{
opacity:{
get:function(elem,computed){
if(computed){
var ret=curCSS(elem,"opacity","opacity");
return ret===""?"1":ret;
}else{
return elem.style.opacity;
}
}
}
},
cssNumber:{
"fillOpacity":true,
"fontWeight":true,
"lineHeight":true,
"opacity":true,
"orphans":true,
"widows":true,
"zIndex":true,
"zoom":true
},
cssProps:{
"float":jQuery.support.cssFloat?"cssFloat":"styleFloat"
},
style:function(elem,name,value,extra){
if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){
return;
}
var ret,type,origName=jQuery.camelCase(name),
style=elem.style,hooks=jQuery.cssHooks[origName];
name=jQuery.cssProps[origName]||origName;
if(value!==undefined){
type=typeof value;
if(type==="string"&&(ret=rrelNum.exec(value))){
value=(+(ret[1]+1)*+ret[2])+parseFloat(jQuery.css(elem,name));
type="number";
}
if(value==null||type==="number"&&isNaN(value)){
return;
}
if(type==="number"&&!jQuery.cssNumber[origName]){
value+="px";
}
if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value))!==undefined){
try{
style[name]=value;
}catch(e){}
}
}else{
if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){
return ret;
}
return style[name];
}
},
css:function(elem,name,extra){
var ret,hooks;
name=jQuery.camelCase(name);
hooks=jQuery.cssHooks[name];
name=jQuery.cssProps[name]||name;
if(name==="cssFloat"){
name="float";
}
if(hooks&&"get"in hooks&&(ret=hooks.get(elem,true,extra))!==undefined){
return ret;
}else if(curCSS){
return curCSS(elem,name);
}
},
swap:function(elem,options,callback){
var old={};
for(var name in options){
old[name]=elem.style[name];
elem.style[name]=options[name];
}
callback.call(elem);
for(name in options){
elem.style[name]=old[name];
}
}
});
jQuery.curCSS=jQuery.css;
jQuery.each(["height","width"],function(i,name){
jQuery.cssHooks[name]={
get:function(elem,computed,extra){
var val;
if(computed){
if(elem.offsetWidth!==0){
return getWH(elem,name,extra);
}else{
jQuery.swap(elem,cssShow,function(){
val=getWH(elem,name,extra);
});
}
return val;
}
},
set:function(elem,value){
if(rnumpx.test(value)){
value=parseFloat(value);
if(value>=0){
return value+"px";
}
}else{
return value;
}
}
};
});
if(!jQuery.support.opacity){
jQuery.cssHooks.opacity={
get:function(elem,computed){
return ropacity.test((computed&&elem.currentStyle?elem.currentStyle.filter:elem.style.filter)||"")?
(parseFloat(RegExp.$1)/100)+"":
computed?"1":"";
},
set:function(elem,value){
var style=elem.style,
currentStyle=elem.currentStyle,
opacity=jQuery.isNaN(value)?"":"alpha(opacity="+value*100+")",
filter=currentStyle&&currentStyle.filter||style.filter||"";
style.zoom=1;
if(value>=1&&jQuery.trim(filter.replace(ralpha,""))===""){
style.removeAttribute("filter");
if(currentStyle&&!currentStyle.filter){
return;
}
}
style.filter=ralpha.test(filter)?
filter.replace(ralpha,opacity):
filter+" "+opacity;
}
};
}
jQuery(function(){
if(!jQuery.support.reliableMarginRight){
jQuery.cssHooks.marginRight={
get:function(elem,computed){
var ret;
jQuery.swap(elem,{"display":"inline-block"},function(){
if(computed){
ret=curCSS(elem,"margin-right","marginRight");
}else{
ret=elem.style.marginRight;
}
});
return ret;
}
};
}
});
if(document.defaultView&&document.defaultView.getComputedStyle){
getComputedStyle=function(elem,name){
var ret,defaultView,computedStyle;
name=name.replace(rupper,"-$1").toLowerCase();
if(!(defaultView=elem.ownerDocument.defaultView)){
return undefined;
}
if((computedStyle=defaultView.getComputedStyle(elem,null))){
ret=computedStyle.getPropertyValue(name);
if(ret===""&&!jQuery.contains(elem.ownerDocument.documentElement,elem)){
ret=jQuery.style(elem,name);
}
}
return ret;
};
}
if(document.documentElement.currentStyle){
currentStyle=function(elem,name){
var left,
ret=elem.currentStyle&&elem.currentStyle[name],
rsLeft=elem.runtimeStyle&&elem.runtimeStyle[name],
style=elem.style;
if(!rnumpx.test(ret)&&rnum.test(ret)){
left=style.left;
if(rsLeft){
elem.runtimeStyle.left=elem.currentStyle.left;
}
style.left=name==="fontSize"?"1em":(ret||0);
ret=style.pixelLeft+"px";
style.left=left;
if(rsLeft){
elem.runtimeStyle.left=rsLeft;
}
}
return ret===""?"auto":ret;
};
}
curCSS=getComputedStyle||currentStyle;
function getWH(elem,name,extra){
var val=name==="width"?elem.offsetWidth:elem.offsetHeight,
which=name==="width"?cssWidth:cssHeight;
if(val>0){
if(extra!=="border"){
jQuery.each(which,function(){
if(!extra){
val-=parseFloat(jQuery.css(elem,"padding"+this))||0;
}
if(extra==="margin"){
val+=parseFloat(jQuery.css(elem,extra+this))||0;
}else{
val-=parseFloat(jQuery.css(elem,"border"+this+"Width"))||0;
}
});
}
return val+"px";
}
val=curCSS(elem,name,name);
if(val<0||val==null){
val=elem.style[name]||0;
}
val=parseFloat(val)||0;
if(extra){
jQuery.each(which,function(){
val+=parseFloat(jQuery.css(elem,"padding"+this))||0;
if(extra!=="padding"){
val+=parseFloat(jQuery.css(elem,"border"+this+"Width"))||0;
}
if(extra==="margin"){
val+=parseFloat(jQuery.css(elem,extra+this))||0;
}
});
}
return val+"px";
}
if(jQuery.expr&&jQuery.expr.filters){
jQuery.expr.filters.hidden=function(elem){
var width=elem.offsetWidth,
height=elem.offsetHeight;
return(width===0&&height===0)||(!jQuery.support.reliableHiddenOffsets&&(elem.style.display||jQuery.css(elem,"display"))==="none");
};
jQuery.expr.filters.visible=function(elem){
return!jQuery.expr.filters.hidden(elem);
};
}
var r20=/%20/g,
rbracket=/\[\]$/,
rCRLF=/\r?\n/g,
rhash=/#.*$/,
rheaders=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,rinput=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
rlocalProtocol=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
rnoContent=/^(?:GET|HEAD)$/,
rprotocol=/^\/\//,
rquery=/\?/,
rscript=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
rselectTextarea=/^(?:select|textarea)/i,
rspacesAjax=/\s+/,
rts=/([?&])_=[^&]*/,
rurl=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,
_load=jQuery.fn.load,
prefilters={},
transports={},
ajaxLocation,
ajaxLocParts,
allTypes=["*/"]+["*"];
try{
ajaxLocation=location.href;
}catch(e){
ajaxLocation=document.createElement("a");
ajaxLocation.href="";
ajaxLocation=ajaxLocation.href;
}
ajaxLocParts=rurl.exec(ajaxLocation.toLowerCase())||[];
function addToPrefiltersOrTransports(structure){
return function(dataTypeExpression,func){
if(typeof dataTypeExpression!=="string"){
func=dataTypeExpression;
dataTypeExpression="*";
}
if(jQuery.isFunction(func)){
var dataTypes=dataTypeExpression.toLowerCase().split(rspacesAjax),
i=0,
length=dataTypes.length,
dataType,
list,
placeBefore;
for(;i<length;i++){
dataType=dataTypes[i];
placeBefore=/^\+/.test(dataType);
if(placeBefore){
dataType=dataType.substr(1)||"*";
}
list=structure[dataType]=structure[dataType]||[];
list[placeBefore?"unshift":"push"](func);
}
}
};
}
function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,
dataType,inspected){
dataType=dataType||options.dataTypes[0];
inspected=inspected||{};
inspected[dataType]=true;
var list=structure[dataType],
i=0,
length=list?list.length:0,
executeOnly=(structure===prefilters),
selection;
for(;i<length&&(executeOnly||!selection);i++){
selection=list[i](options,originalOptions,jqXHR);
if(typeof selection==="string"){
if(!executeOnly||inspected[selection]){
selection=undefined;
}else{
options.dataTypes.unshift(selection);
selection=inspectPrefiltersOrTransports(
structure,options,originalOptions,jqXHR,selection,inspected);
}
}
}
if((executeOnly||!selection)&&!inspected["*"]){
selection=inspectPrefiltersOrTransports(
structure,options,originalOptions,jqXHR,"*",inspected);
}
return selection;
}
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);
}
}
jQuery.fn.extend({
load:function(url,params,callback){
if(typeof url!=="string"&&_load){
return _load.apply(this,arguments);
}else if(!this.length){
return this;
}
var off=url.indexOf(" ");
if(off>=0){
var selector=url.slice(off,url.length);
url=url.slice(0,off);
}
var type="GET";
if(params){
if(jQuery.isFunction(params)){
callback=params;
params=undefined;
}else if(typeof params==="object"){
params=jQuery.param(params,jQuery.ajaxSettings.traditional);
type="POST";
}
}
var self=this;
jQuery.ajax({
url:url,
type:type,
dataType:"html",
data:params,
complete:function(jqXHR,status,responseText){
responseText=jqXHR.responseText;
if(jqXHR.isResolved()){
jqXHR.done(function(r){
responseText=r;
});
self.html(selector?
jQuery("<div>")
.append(responseText.replace(rscript,""))
.find(selector):
responseText);
}
if(callback){
self.each(callback,[responseText,status,jqXHR]);
}
}
});
return this;
},
serialize:function(){
return jQuery.param(this.serializeArray());
},
serializeArray:function(){
return this.map(function(){
return this.elements?jQuery.makeArray(this.elements):this;
})
.filter(function(){
return this.name&&!this.disabled&&
(this.checked||rselectTextarea.test(this.nodeName)||
rinput.test(this.type));
})
.map(function(i,elem){
var val=jQuery(this).val();
return val==null?
null:
jQuery.isArray(val)?
jQuery.map(val,function(val,i){
return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
}):
{name:elem.name,value:val.replace(rCRLF,"\r\n")};
}).get();
}
});
jQuery.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(i,o){
jQuery.fn[o]=function(f){
return this.bind(o,f);
};
});
jQuery.each(["get","post"],function(i,method){
jQuery[method]=function(url,data,callback,type){
if(jQuery.isFunction(data)){
type=type||callback;
callback=data;
data=undefined;
}
return jQuery.ajax({
type:method,
url:url,
data:data,
success:callback,
dataType:type
});
};
});
jQuery.extend({
getScript:function(url,callback){
return jQuery.get(url,undefined,callback,"script");
},
getJSON:function(url,data,callback){
return jQuery.get(url,data,callback,"json");
},
ajaxSetup:function(target,settings){
if(settings){
ajaxExtend(target,jQuery.ajaxSettings);
}else{
settings=target;
target=jQuery.ajaxSettings;
}
ajaxExtend(target,settings);
return target;
},
ajaxSettings:{
url:ajaxLocation,
isLocal:rlocalProtocol.test(ajaxLocParts[1]),
global:true,
type:"GET",
contentType:"application/x-www-form-urlencoded",
processData:true,
async:true,
accepts:{
xml:"application/xml, text/xml",
html:"text/html",
text:"text/plain",
json:"application/json, text/javascript",
"*":allTypes
},
contents:{
xml:/xml/,
html:/html/,
json:/json/
},
responseFields:{
xml:"responseXML",
text:"responseText"
},
converters:{
"* text":window.String,
"text html":true,
"text json":jQuery.parseJSON,
"text xml":jQuery.parseXML
},
flatOptions:{
context:true,
url:true
}
},
ajaxPrefilter:addToPrefiltersOrTransports(prefilters),
ajaxTransport:addToPrefiltersOrTransports(transports),
ajax:function(url,options){
if(typeof url==="object"){
options=url;
url=undefined;
}
options=options||{};
var s=jQuery.ajaxSetup({},options),
callbackContext=s.context||s,
globalEventContext=callbackContext!==s&&
(callbackContext.nodeType||callbackContext instanceof jQuery)?
jQuery(callbackContext):jQuery.event,
deferred=jQuery.Deferred(),
completeDeferred=jQuery._Deferred(),
statusCode=s.statusCode||{},
ifModifiedKey,
requestHeaders={},
requestHeadersNames={},
responseHeadersString,
responseHeaders,
transport,
timeoutTimer,
parts,
state=0,
fireGlobals,
i,
jqXHR={
readyState:0,
setRequestHeader:function(name,value){
if(!state){
var lname=name.toLowerCase();
name=requestHeadersNames[lname]=requestHeadersNames[lname]||name;
requestHeaders[name]=value;
}
return this;
},
getAllResponseHeaders:function(){
return state===2?responseHeadersString:null;
},
getResponseHeader:function(key){
var match;
if(state===2){
if(!responseHeaders){
responseHeaders={};
while((match=rheaders.exec(responseHeadersString))){
responseHeaders[match[1].toLowerCase()]=match[2];
}
}
match=responseHeaders[key.toLowerCase()];
}
return match===undefined?null:match;
},
overrideMimeType:function(type){
if(!state){
s.mimeType=type;
}
return this;
},
abort:function(statusText){
statusText=statusText||"abort";
if(transport){
transport.abort(statusText);
}
done(0,statusText);
return this;
}
};
function done(status,nativeStatusText,responses,headers){
if(state===2){
return;
}
state=2;
if(timeoutTimer){
clearTimeout(timeoutTimer);
}
transport=undefined;
responseHeadersString=headers||"";
jqXHR.readyState=status>0?4:0;
var isSuccess,
success,
error,
statusText=nativeStatusText,
response=responses?ajaxHandleResponses(s,jqXHR,responses):undefined,
lastModified,
etag;
if(status>=200&&status<300||status===304){
if(s.ifModified){
if((lastModified=jqXHR.getResponseHeader("Last-Modified"))){
jQuery.lastModified[ifModifiedKey]=lastModified;
}
if((etag=jqXHR.getResponseHeader("Etag"))){
jQuery.etag[ifModifiedKey]=etag;
}
}
if(status===304){
statusText="notmodified";
isSuccess=true;
}else{
try{
success=ajaxConvert(s,response);
statusText="success";
isSuccess=true;
}catch(e){
statusText="parsererror";
error=e;
}
}
}else{
error=statusText;
if(!statusText||status){
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("ajax"+(isSuccess?"Success":"Error"),
[jqXHR,s,isSuccess?success:error]);
}
completeDeferred.resolveWith(callbackContext,[jqXHR,statusText]);
if(fireGlobals){
globalEventContext.trigger("ajaxComplete",[jqXHR,s]);
if(!(--jQuery.active)){
jQuery.event.trigger("ajaxStop");
}
}
}
deferred.promise(jqXHR);
jqXHR.success=jqXHR.done;
jqXHR.error=jqXHR.fail;
jqXHR.complete=completeDeferred.done;
jqXHR.statusCode=function(map){
if(map){
var tmp;
if(state<2){
for(tmp in map){
statusCode[tmp]=[statusCode[tmp],map[tmp]];
}
}else{
tmp=map[jqXHR.status];
jqXHR.then(tmp,tmp);
}
}
return this;
};
s.url=((url||s.url)+"").replace(rhash,"").replace(rprotocol,ajaxLocParts[1]+"//");
s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().split(rspacesAjax);
if(s.crossDomain==null){
parts=rurl.exec(s.url.toLowerCase());
s.crossDomain=!!(parts&&
(parts[1]!=ajaxLocParts[1]||parts[2]!=ajaxLocParts[2]||
(parts[3]||(parts[1]==="http:"?80:443))!=
(ajaxLocParts[3]||(ajaxLocParts[1]==="http:"?80:443)))
);
}
if(s.data&&s.processData&&typeof s.data!=="string"){
s.data=jQuery.param(s.data,s.traditional);
}
inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);
if(state===2){
return false;
}
fireGlobals=s.global;
s.type=s.type.toUpperCase();
s.hasContent=!rnoContent.test(s.type);
if(fireGlobals&&jQuery.active++===0){
jQuery.event.trigger("ajaxStart");
}
if(!s.hasContent){
if(s.data){
s.url+=(rquery.test(s.url)?"&":"?")+s.data;
delete s.data;
}
ifModifiedKey=s.url;
if(s.cache===false){
var ts=jQuery.now(),
ret=s.url.replace(rts,"$1_="+ts);
s.url=ret+((ret===s.url)?(rquery.test(s.url)?"&":"?")+"_="+ts:"");
}
}
if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){
jqXHR.setRequestHeader("Content-Type",s.contentType);
}
if(s.ifModified){
ifModifiedKey=ifModifiedKey||s.url;
if(jQuery.lastModified[ifModifiedKey]){
jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[ifModifiedKey]);
}
if(jQuery.etag[ifModifiedKey]){
jqXHR.setRequestHeader("If-None-Match",jQuery.etag[ifModifiedKey]);
}
}
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||state===2)){
jqXHR.abort();
return false;
}
for(i in{success:1,error:1,complete:1}){
jqXHR[i](s[i]);
}
transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);
if(!transport){
done(-1,"No Transport");
}else{
jqXHR.readyState=1;
if(fireGlobals){
globalEventContext.trigger("ajaxSend",[jqXHR,s]);
}
if(s.async&&s.timeout>0){
timeoutTimer=setTimeout(function(){
jqXHR.abort("timeout");
},s.timeout);
}
try{
state=1;
transport.send(requestHeaders,done);
}catch(e){
if(state<2){
done(-1,e);
}else{
jQuery.error(e);
}
}
}
return jqXHR;
},
param:function(a,traditional){
var s=[],
add=function(key,value){
value=jQuery.isFunction(value)?value():value;
s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value);
};
if(traditional===undefined){
traditional=jQuery.ajaxSettings.traditional;
}
if(jQuery.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){
jQuery.each(a,function(){
add(this.name,this.value);
});
}else{
for(var prefix in a){
buildParams(prefix,a[prefix],traditional,add);
}
}
return s.join("&").replace(r20,"+");
}
});
function buildParams(prefix,obj,traditional,add){
if(jQuery.isArray(obj)){
jQuery.each(obj,function(i,v){
if(traditional||rbracket.test(prefix)){
add(prefix,v);
}else{
buildParams(prefix+"["+(typeof v==="object"||jQuery.isArray(v)?i:"")+"]",v,traditional,add);
}
});
}else if(!traditional&&obj!=null&&typeof obj==="object"){
for(var name in obj){
buildParams(prefix+"["+name+"]",obj[name],traditional,add);
}
}else{
add(prefix,obj);
}
}
jQuery.extend({
active:0,
lastModified:{},
etag:{}
});
function ajaxHandleResponses(s,jqXHR,responses){
var contents=s.contents,
dataTypes=s.dataTypes,
responseFields=s.responseFields,
ct,
type,
finalDataType,
firstDataType;
for(type in responseFields){
if(type in responses){
jqXHR[responseFields[type]]=responses[type];
}
}
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){
if(s.dataFilter){
response=s.dataFilter(response,s.dataType);
}
var dataTypes=s.dataTypes,
converters={},
i,
key,
length=dataTypes.length,
tmp,
current=dataTypes[0],
prev,
conversion,
conv,
conv1,
conv2;
for(i=1;i<length;i++){
if(i===1){
for(key in s.converters){
if(typeof key==="string"){
converters[key.toLowerCase()]=s.converters[key];
}
}
}
prev=current;
current=dataTypes[i];
if(current==="*"){
current=prev;
}else if(prev!=="*"&&prev!==current){
conversion=prev+" "+current;
conv=converters[conversion]||converters["* "+current];
if(!conv){
conv2=undefined;
for(conv1 in converters){
tmp=conv1.split(" ");
if(tmp[0]===prev||tmp[0]==="*"){
conv2=converters[tmp[1]+" "+current];
if(conv2){
conv1=converters[conv1];
if(conv1===true){
conv=conv2;
}else if(conv2===true){
conv=conv1;
}
break;
}
}
}
}
if(!(conv||conv2)){
jQuery.error("No conversion from "+conversion.replace(" "," to "));
}
if(conv!==true){
response=conv?conv(response):conv2(conv1(response));
}
}
}
return response;
}
var jsc=jQuery.now(),
jsre=/(\=)\?(&|$)|\?\?/i;
jQuery.ajaxSetup({
jsonp:"callback",
jsonpCallback:function(){
return jQuery.expando+"_"+(jsc++);
}
});
jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){
var inspectData=s.contentType==="application/x-www-form-urlencoded"&&
(typeof s.data==="string");
if(s.dataTypes[0]==="jsonp"||
s.jsonp!==false&&(jsre.test(s.url)||
inspectData&&jsre.test(s.data))){
var responseContainer,
jsonpCallback=s.jsonpCallback=
jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,
previous=window[jsonpCallback],
url=s.url,
data=s.data,
replace="$1"+jsonpCallback+"$2";
if(s.jsonp!==false){
url=url.replace(jsre,replace);
if(s.url===url){
if(inspectData){
data=data.replace(jsre,replace);
}
if(s.data===data){
url+=(/\?/.test(url)?"&":"?")+s.jsonp+"="+jsonpCallback;
}
}
}
s.url=url;
s.data=data;
window[jsonpCallback]=function(response){
responseContainer=[response];
};
jqXHR.always(function(){
window[jsonpCallback]=previous;
if(responseContainer&&jQuery.isFunction(previous)){
window[jsonpCallback](responseContainer[0]);
}
});
s.converters["script json"]=function(){
if(!responseContainer){
jQuery.error(jsonpCallback+" was not called");
}
return responseContainer[0];
};
s.dataTypes[0]="json";
return"script";
}
});
jQuery.ajaxSetup({
accepts:{
script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
},
contents:{
script:/javascript|ecmascript/
},
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";
s.global=false;
}
});
jQuery.ajaxTransport("script",function(s){
if(s.crossDomain){
var script,
head=document.head||document.getElementsByTagName("head")[0]||document.documentElement;
return{
send:function(_,callback){
script=document.createElement("script");
script.async="async";
if(s.scriptCharset){
script.charset=s.scriptCharset;
}
script.src=s.url;
script.onload=script.onreadystatechange=function(_,isAbort){
if(isAbort||!script.readyState||/loaded|complete/.test(script.readyState)){
script.onload=script.onreadystatechange=null;
if(head&&script.parentNode){
head.removeChild(script);
}
script=undefined;
if(!isAbort){
callback(200,"success");
}
}
};
head.insertBefore(script,head.firstChild);
},
abort:function(){
if(script){
script.onload(0,1);
}
}
};
}
});
var xhrOnUnloadAbort=window.ActiveXObject?function(){
for(var key in xhrCallbacks){
xhrCallbacks[key](0,1);
}
}:false,
xhrId=0,
xhrCallbacks;
function createStandardXHR(){
try{
return new window.XMLHttpRequest();
}catch(e){}
}
function createActiveXHR(){
try{
return new window.ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
jQuery.ajaxSettings.xhr=window.ActiveXObject?
function(){
return!this.isLocal&&createStandardXHR()||createActiveXHR();
}:
createStandardXHR;
(function(xhr){
jQuery.extend(jQuery.support,{
ajax:!!xhr,
cors:!!xhr&&("withCredentials"in xhr)
});
})(jQuery.ajaxSettings.xhr());
if(jQuery.support.ajax){
jQuery.ajaxTransport(function(s){
if(!s.crossDomain||jQuery.support.cors){
var callback;
return{
send:function(headers,complete){
var xhr=s.xhr(),
handle,
i;
if(s.username){
xhr.open(s.type,s.url,s.async,s.username,s.password);
}else{
xhr.open(s.type,s.url,s.async);
}
if(s.xhrFields){
for(i in s.xhrFields){
xhr[i]=s.xhrFields[i];
}
}
if(s.mimeType&&xhr.overrideMimeType){
xhr.overrideMimeType(s.mimeType);
}
if(!s.crossDomain&&!headers["X-Requested-With"]){
headers["X-Requested-With"]="XMLHttpRequest";
}
try{
for(i in headers){
xhr.setRequestHeader(i,headers[i]);
}
}catch(_){}
xhr.send((s.hasContent&&s.data)||null);
callback=function(_,isAbort){
var status,
statusText,
responseHeaders,
responses,
xml;
try{
if(callback&&(isAbort||xhr.readyState===4)){
callback=undefined;
if(handle){
xhr.onreadystatechange=jQuery.noop;
if(xhrOnUnloadAbort){
delete xhrCallbacks[handle];
}
}
if(isAbort){
if(xhr.readyState!==4){
xhr.abort();
}
}else{
status=xhr.status;
responseHeaders=xhr.getAllResponseHeaders();
responses={};
xml=xhr.responseXML;
if(xml&&xml.documentElement){
responses.xml=xml;
}
responses.text=xhr.responseText;
try{
statusText=xhr.statusText;
}catch(e){
statusText="";
}
if(!status&&s.isLocal&&!s.crossDomain){
status=responses.text?200:404;
}else if(status===1223){
status=204;
}
}
}
}catch(firefoxAccessException){
if(!isAbort){
complete(-1,firefoxAccessException);
}
}
if(responses){
complete(status,statusText,responses,responseHeaders);
}
};
if(!s.async||xhr.readyState===4){
callback();
}else{
handle=++xhrId;
if(xhrOnUnloadAbort){
if(!xhrCallbacks){
xhrCallbacks={};
jQuery(window).unload(xhrOnUnloadAbort);
}
xhrCallbacks[handle]=callback;
}
xhr.onreadystatechange=callback;
}
},
abort:function(){
if(callback){
callback(0,1);
}
}
};
}
});
}
var elemdisplay={},
iframe,iframeDoc,
rfxtypes=/^(?:toggle|show|hide)$/,
rfxnum=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,
timerId,
fxAttrs=[
["height","marginTop","marginBottom","paddingTop","paddingBottom"],
["width","marginLeft","marginRight","paddingLeft","paddingRight"],
["opacity"]
],
fxNow;
jQuery.fn.extend({
show:function(speed,easing,callback){
var elem,display;
if(speed||speed===0){
return this.animate(genFx("show",3),speed,easing,callback);
}else{
for(var i=0,j=this.length;i<j;i++){
elem=this[i];
if(elem.style){
display=elem.style.display;
if(!jQuery._data(elem,"olddisplay")&&display==="none"){
display=elem.style.display="";
}
if(display===""&&jQuery.css(elem,"display")==="none"){
jQuery._data(elem,"olddisplay",defaultDisplay(elem.nodeName));
}
}
}
for(i=0;i<j;i++){
elem=this[i];
if(elem.style){
display=elem.style.display;
if(display===""||display==="none"){
elem.style.display=jQuery._data(elem,"olddisplay")||"";
}
}
}
return this;
}
},
hide:function(speed,easing,callback){
if(speed||speed===0){
return this.animate(genFx("hide",3),speed,easing,callback);
}else{
for(var i=0,j=this.length;i<j;i++){
if(this[i].style){
var display=jQuery.css(this[i],"display");
if(display!=="none"&&!jQuery._data(this[i],"olddisplay")){
jQuery._data(this[i],"olddisplay",display);
}
}
}
for(i=0;i<j;i++){
if(this[i].style){
this[i].style.display="none";
}
}
return this;
}
},
_toggle:jQuery.fn.toggle,
toggle:function(fn,fn2,callback){
var bool=typeof fn==="boolean";
if(jQuery.isFunction(fn)&&jQuery.isFunction(fn2)){
this._toggle.apply(this,arguments);
}else if(fn==null||bool){
this.each(function(){
var state=bool?fn:jQuery(this).is(":hidden");
jQuery(this)[state?"show":"hide"]();
});
}else{
this.animate(genFx("toggle",3),fn,fn2,callback);
}
return this;
},
fadeTo:function(speed,to,easing,callback){
return this.filter(":hidden").css("opacity",0).show().end()
.animate({opacity:to},speed,easing,callback);
},
animate:function(prop,speed,easing,callback){
var optall=jQuery.speed(speed,easing,callback);
if(jQuery.isEmptyObject(prop)){
return this.each(optall.complete,[false]);
}
prop=jQuery.extend({},prop);
return this[optall.queue===false?"each":"queue"](function(){
if(optall.queue===false){
jQuery._mark(this);
}
var opt=jQuery.extend({},optall),
isElement=this.nodeType===1,
hidden=isElement&&jQuery(this).is(":hidden"),
name,val,p,
display,e,
parts,start,end,unit;
opt.animatedProperties={};
for(p in prop){
name=jQuery.camelCase(p);
if(p!==name){
prop[name]=prop[p];
delete prop[p];
}
val=prop[name];
if(jQuery.isArray(val)){
opt.animatedProperties[name]=val[1];
val=prop[name]=val[0];
}else{
opt.animatedProperties[name]=opt.specialEasing&&opt.specialEasing[name]||opt.easing||'swing';
}
if(val==="hide"&&hidden||val==="show"&&!hidden){
return opt.complete.call(this);
}
if(isElement&&(name==="height"||name==="width")){
opt.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];
if(jQuery.css(this,"display")==="inline"&&
jQuery.css(this,"float")==="none"){
if(!jQuery.support.inlineBlockNeedsLayout){
this.style.display="inline-block";
}else{
display=defaultDisplay(this.nodeName);
if(display==="inline"){
this.style.display="inline-block";
}else{
this.style.display="inline";
this.style.zoom=1;
}
}
}
}
}
if(opt.overflow!=null){
this.style.overflow="hidden";
}
for(p in prop){
e=new jQuery.fx(this,opt,p);
val=prop[p];
if(rfxtypes.test(val)){
e[val==="toggle"?hidden?"show":"hide":val]();
}else{
parts=rfxnum.exec(val);
start=e.cur();
if(parts){
end=parseFloat(parts[2]);
unit=parts[3]||(jQuery.cssNumber[p]?"":"px");
if(unit!=="px"){
jQuery.style(this,p,(end||1)+unit);
start=((end||1)/e.cur())*start;
jQuery.style(this,p,start+unit);
}
if(parts[1]){
end=((parts[1]==="-="?-1:1)*end)+start;
}
e.custom(start,end,unit);
}else{
e.custom(start,val,"");
}
}
}
return true;
});
},
stop:function(clearQueue,gotoEnd){
if(clearQueue){
this.queue([]);
}
this.each(function(){
var timers=jQuery.timers,
i=timers.length;
if(!gotoEnd){
jQuery._unmark(true,this);
}
while(i--){
if(timers[i].elem===this){
if(gotoEnd){
timers[i](true);
}
timers.splice(i,1);
}
}
});
if(!gotoEnd){
this.dequeue();
}
return this;
}
});
function createFxNow(){
setTimeout(clearFxNow,0);
return(fxNow=jQuery.now());
}
function clearFxNow(){
fxNow=undefined;
}
function genFx(type,num){
var obj={};
jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){
obj[this]=type;
});
return obj;
}
jQuery.each({
slideDown:genFx("show",1),
slideUp:genFx("hide",1),
slideToggle:genFx("toggle",1),
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.extend({
speed:function(speed,easing,fn){
var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{
complete:fn||!fn&&easing||
jQuery.isFunction(speed)&&speed,
duration:speed,
easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing
};
opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:
opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;
opt.old=opt.complete;
opt.complete=function(noUnmark){
if(jQuery.isFunction(opt.old)){
opt.old.call(this);
}
if(opt.queue!==false){
jQuery.dequeue(this);
}else if(noUnmark!==false){
jQuery._unmark(this);
}
};
return opt;
},
easing:{
linear:function(p,n,firstNum,diff){
return firstNum+diff*p;
},
swing:function(p,n,firstNum,diff){
return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;
}
},
timers:[],
fx:function(elem,options,prop){
this.options=options;
this.elem=elem;
this.prop=prop;
options.orig=options.orig||{};
}
});
jQuery.fx.prototype={
update:function(){
if(this.options.step){
this.options.step.call(this.elem,this.now,this);
}
(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);
},
cur:function(){
if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){
return this.elem[this.prop];
}
var parsed,
r=jQuery.css(this.elem,this.prop);
return isNaN(parsed=parseFloat(r))?!r||r==="auto"?0:r:parsed;
},
custom:function(from,to,unit){
var self=this,
fx=jQuery.fx;
this.startTime=fxNow||createFxNow();
this.start=from;
this.end=to;
this.unit=unit||this.unit||(jQuery.cssNumber[this.prop]?"":"px");
this.now=this.start;
this.pos=this.state=0;
function t(gotoEnd){
return self.step(gotoEnd);
}
t.elem=this.elem;
if(t()&&jQuery.timers.push(t)&&!timerId){
timerId=setInterval(fx.tick,fx.interval);
}
},
show:function(){
this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);
this.options.show=true;
this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());
jQuery(this.elem).show();
},
hide:function(){
this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);
this.options.hide=true;
this.custom(this.cur(),0);
},
step:function(gotoEnd){
var t=fxNow||createFxNow(),
done=true,
elem=this.elem,
options=this.options,
i,n;
if(gotoEnd||t>=options.duration+this.startTime){
this.now=this.end;
this.pos=this.state=1;
this.update();
options.animatedProperties[this.prop]=true;
for(i in options.animatedProperties){
if(options.animatedProperties[i]!==true){
done=false;
}
}
if(done){
if(options.overflow!=null&&!jQuery.support.shrinkWrapBlocks){
jQuery.each(["","X","Y"],function(index,value){
elem.style["overflow"+value]=options.overflow[index];
});
}
if(options.hide){
jQuery(elem).hide();
}
if(options.hide||options.show){
for(var p in options.animatedProperties){
jQuery.style(elem,p,options.orig[p]);
}
}
options.complete.call(elem);
}
return false;
}else{
if(options.duration==Infinity){
this.now=t;
}else{
n=t-this.startTime;
this.state=n/options.duration;
this.pos=jQuery.easing[options.animatedProperties[this.prop]](this.state,n,0,1,options.duration);
this.now=this.start+((this.end-this.start)*this.pos);
}
this.update();
}
return true;
}
};
jQuery.extend(jQuery.fx,{
tick:function(){
for(var timers=jQuery.timers,i=0;i<timers.length;++i){
if(!timers[i]()){
timers.splice(i--,1);
}
}
if(!timers.length){
jQuery.fx.stop();
}
},
interval:13,
stop:function(){
clearInterval(timerId);
timerId=null;
},
speeds:{
slow:600,
fast:200,
_default:400
},
step:{
opacity:function(fx){
jQuery.style(fx.elem,"opacity",fx.now);
},
_default:function(fx){
if(fx.elem.style&&fx.elem.style[fx.prop]!=null){
fx.elem.style[fx.prop]=(fx.prop==="width"||fx.prop==="height"?Math.max(0,fx.now):fx.now)+fx.unit;
}else{
fx.elem[fx.prop]=fx.now;
}
}
}
});
if(jQuery.expr&&jQuery.expr.filters){
jQuery.expr.filters.animated=function(elem){
return jQuery.grep(jQuery.timers,function(fn){
return elem===fn.elem;
}).length;
};
}
function defaultDisplay(nodeName){
if(!elemdisplay[nodeName]){
var body=document.body,
elem=jQuery("<"+nodeName+">").appendTo(body),
display=elem.css("display");
elem.remove();
if(display==="none"||display===""){
if(!iframe){
iframe=document.createElement("iframe");
iframe.frameBorder=iframe.width=iframe.height=0;
}
body.appendChild(iframe);
if(!iframeDoc||!iframe.createElement){
iframeDoc=(iframe.contentWindow||iframe.contentDocument).document;
iframeDoc.write((document.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");
iframeDoc.close();
}
elem=iframeDoc.createElement(nodeName);
iframeDoc.body.appendChild(elem);
display=jQuery.css(elem,"display");
body.removeChild(iframe);
}
elemdisplay[nodeName]=display;
}
return elemdisplay[nodeName];
}
var rtable=/^t(?:able|d|h)$/i,
rroot=/^(?:body|html)$/i;
if("getBoundingClientRect"in document.documentElement){
jQuery.fn.offset=function(options){
var elem=this[0],box;
if(options){
return this.each(function(i){
jQuery.offset.setOffset(this,options,i);
});
}
if(!elem||!elem.ownerDocument){
return null;
}
if(elem===elem.ownerDocument.body){
return jQuery.offset.bodyOffset(elem);
}
try{
box=elem.getBoundingClientRect();
}catch(e){}
var doc=elem.ownerDocument,
docElem=doc.documentElement;
if(!box||!jQuery.contains(docElem,elem)){
return box?{top:box.top,left:box.left}:{top:0,left:0};
}
var body=doc.body,
win=getWindow(doc),
clientTop=docElem.clientTop||body.clientTop||0,
clientLeft=docElem.clientLeft||body.clientLeft||0,
scrollTop=win.pageYOffset||jQuery.support.boxModel&&docElem.scrollTop||body.scrollTop,
scrollLeft=win.pageXOffset||jQuery.support.boxModel&&docElem.scrollLeft||body.scrollLeft,
top=box.top+scrollTop-clientTop,
left=box.left+scrollLeft-clientLeft;
return{top:top,left:left};
};
}else{
jQuery.fn.offset=function(options){
var elem=this[0];
if(options){
return this.each(function(i){
jQuery.offset.setOffset(this,options,i);
});
}
if(!elem||!elem.ownerDocument){
return null;
}
if(elem===elem.ownerDocument.body){
return jQuery.offset.bodyOffset(elem);
}
jQuery.offset.initialize();
var computedStyle,
offsetParent=elem.offsetParent,
prevOffsetParent=elem,
doc=elem.ownerDocument,
docElem=doc.documentElement,
body=doc.body,
defaultView=doc.defaultView,
prevComputedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle,
top=elem.offsetTop,
left=elem.offsetLeft;
while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){
if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){
break;
}
computedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle;
top-=elem.scrollTop;
left-=elem.scrollLeft;
if(elem===offsetParent){
top+=elem.offsetTop;
left+=elem.offsetLeft;
if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&rtable.test(elem.nodeName))){
top+=parseFloat(computedStyle.borderTopWidth)||0;
left+=parseFloat(computedStyle.borderLeftWidth)||0;
}
prevOffsetParent=offsetParent;
offsetParent=elem.offsetParent;
}
if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible"){
top+=parseFloat(computedStyle.borderTopWidth)||0;
left+=parseFloat(computedStyle.borderLeftWidth)||0;
}
prevComputedStyle=computedStyle;
}
if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static"){
top+=body.offsetTop;
left+=body.offsetLeft;
}
if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){
top+=Math.max(docElem.scrollTop,body.scrollTop);
left+=Math.max(docElem.scrollLeft,body.scrollLeft);
}
return{top:top,left:left};
};
}
jQuery.offset={
initialize:function(){
var body=document.body,container=document.createElement("div"),innerDiv,checkDiv,table,td,bodyMarginTop=parseFloat(jQuery.css(body,"marginTop"))||0,
html="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
jQuery.extend(container.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});
container.innerHTML=html;
body.insertBefore(container,body.firstChild);
innerDiv=container.firstChild;
checkDiv=innerDiv.firstChild;
td=innerDiv.nextSibling.firstChild.firstChild;
this.doesNotAddBorder=(checkDiv.offsetTop!==5);
this.doesAddBorderForTableAndCells=(td.offsetTop===5);
checkDiv.style.position="fixed";
checkDiv.style.top="20px";
this.supportsFixedPosition=(checkDiv.offsetTop===20||checkDiv.offsetTop===15);
checkDiv.style.position=checkDiv.style.top="";
innerDiv.style.overflow="hidden";
innerDiv.style.position="relative";
this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);
this.doesNotIncludeMarginInBodyOffset=(body.offsetTop!==bodyMarginTop);
body.removeChild(container);
jQuery.offset.initialize=jQuery.noop;
},
bodyOffset:function(body){
var top=body.offsetTop,
left=body.offsetLeft;
jQuery.offset.initialize();
if(jQuery.offset.doesNotIncludeMarginInBodyOffset){
top+=parseFloat(jQuery.css(body,"marginTop"))||0;
left+=parseFloat(jQuery.css(body,"marginLeft"))||0;
}
return{top:top,left:left};
},
setOffset:function(elem,options,i){
var position=jQuery.css(elem,"position");
if(position==="static"){
elem.style.position="relative";
}
var curElem=jQuery(elem),
curOffset=curElem.offset(),
curCSSTop=jQuery.css(elem,"top"),
curCSSLeft=jQuery.css(elem,"left"),
calculatePosition=(position==="absolute"||position==="fixed")&&jQuery.inArray("auto",[curCSSTop,curCSSLeft])>-1,
props={},curPosition={},curTop,curLeft;
if(calculatePosition){
curPosition=curElem.position();
curTop=curPosition.top;
curLeft=curPosition.left;
}else{
curTop=parseFloat(curCSSTop)||0;
curLeft=parseFloat(curCSSLeft)||0;
}
if(jQuery.isFunction(options)){
options=options.call(elem,i,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({
position:function(){
if(!this[0]){
return null;
}
var elem=this[0],
offsetParent=this.offsetParent(),
offset=this.offset(),
parentOffset=rroot.test(offsetParent[0].nodeName)?{top:0,left:0}:offsetParent.offset();
offset.top-=parseFloat(jQuery.css(elem,"marginTop"))||0;
offset.left-=parseFloat(jQuery.css(elem,"marginLeft"))||0;
parentOffset.top+=parseFloat(jQuery.css(offsetParent[0],"borderTopWidth"))||0;
parentOffset.left+=parseFloat(jQuery.css(offsetParent[0],"borderLeftWidth"))||0;
return{
top:offset.top-parentOffset.top,
left:offset.left-parentOffset.left
};
},
offsetParent:function(){
return this.map(function(){
var offsetParent=this.offsetParent||document.body;
while(offsetParent&&(!rroot.test(offsetParent.nodeName)&&jQuery.css(offsetParent,"position")==="static")){
offsetParent=offsetParent.offsetParent;
}
return offsetParent;
});
}
});
jQuery.each(["Left","Top"],function(i,name){
var method="scroll"+name;
jQuery.fn[method]=function(val){
var elem,win;
if(val===undefined){
elem=this[0];
if(!elem){
return null;
}
win=getWindow(elem);
return win?("pageXOffset"in win)?win[i?"pageYOffset":"pageXOffset"]:
jQuery.support.boxModel&&win.document.documentElement[method]||
win.document.body[method]:
elem[method];
}
return this.each(function(){
win=getWindow(this);
if(win){
win.scrollTo(
!i?val:jQuery(win).scrollLeft(),
i?val:jQuery(win).scrollTop()
);
}else{
this[method]=val;
}
});
};
});
function getWindow(elem){
return jQuery.isWindow(elem)?
elem:
elem.nodeType===9?
elem.defaultView||elem.parentWindow:
false;
}
jQuery.each(["Height","Width"],function(i,name){
var type=name.toLowerCase();
jQuery.fn["inner"+name]=function(){
var elem=this[0];
return elem&&elem.style?
parseFloat(jQuery.css(elem,type,"padding")):
null;
};
jQuery.fn["outer"+name]=function(margin){
var elem=this[0];
return elem&&elem.style?
parseFloat(jQuery.css(elem,type,margin?"margin":"border")):
null;
};
jQuery.fn[type]=function(size){
var elem=this[0];
if(!elem){
return size==null?null:this;
}
if(jQuery.isFunction(size)){
return this.each(function(i){
var self=jQuery(this);
self[type](size.call(this,i,self[type]()));
});
}
if(jQuery.isWindow(elem)){
var docElemProp=elem.document.documentElement["client"+name],
body=elem.document.body;
return elem.document.compatMode==="CSS1Compat"&&docElemProp||
body&&body["client"+name]||docElemProp;
}else if(elem.nodeType===9){
return Math.max(
elem.documentElement["client"+name],
elem.body["scroll"+name],elem.documentElement["scroll"+name],
elem.body["offset"+name],elem.documentElement["offset"+name]
);
}else if(size===undefined){
var orig=jQuery.css(elem,type),
ret=parseFloat(orig);
return jQuery.isNaN(ret)?orig:ret;
}else{
return this.css(type,typeof size==="string"?size:size+"px");
}
};
});
window.jQuery=window.$=jQuery;
})(window);


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

;(function($){
$.fn.ajaxSubmit=function(options){
if(!this.length){
log('ajaxSubmit: skipping submit process - no element selected');
return this;
}
var method,action,url,$form=this;
if(typeof options=='function'){
options={success:options};
}
method=this.attr('method');
action=this.attr('action');
url=(typeof action==='string')?$.trim(action):'';
url=url||window.location.href||'';
if(url){
url=(url.match(/^([^#]+)/)||[])[1];
}
options=$.extend(true,{
url:url,
success:$.ajaxSettings.success,
type:method||'GET',
iframeSrc:/^https/i.test(window.location.href||'')?'javascript:false':'about:blank'
},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(traditional===undefined){
traditional=$.ajaxSettings.traditional;
}
var qx,n,v,a=this.formToArray(options.semantic);
if(options.data){
options.extraData=options.data;
qx=$.param(options.data,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){
var fn=options.replaceTarget?'replaceWith':'html';
$(options.target)[fn](data).each(oldSuccess,arguments);
});
}
else if(options.success){
callbacks.push(options.success);
}
options.success=function(data,status,xhr){var context=options.context||options;for(var i=0,max=callbacks.length;i<max;i++){
callbacks[i].apply(context,[data,status,xhr||$form,$form]);
}
};
var fileInputs=$('input:file:enabled[value]',this);var hasFileInputs=fileInputs.length>0;
var mp='multipart/form-data';
var multipart=($form.attr('enctype')==mp||$form.attr('encoding')==mp);
var fileAPI=!!(hasFileInputs&&fileInputs.get(0).files&&window.FormData);
log("fileAPI :"+fileAPI);
var shouldUseFrame=(hasFileInputs||multipart);
if(options.iframe!==false&&(options.iframe||shouldUseFrame)){
if(options.closeKeepAlive){
$.get(options.closeKeepAlive,function(){
fileUploadIframe(a);
});
}
else{
fileUploadIframe(a);
}
}
else if((hasFileInputs||multipart)&&fileAPI){
options.progress=options.progress||$.noop;
fileUploadXhr(a);
}
else{
$.ajax(options);
}
this.trigger('form-submit-notify',[this,options]);
return this;
function fileUploadXhr(a){
var formdata=new FormData();
for(var i=0;i<a.length;i++){
if(a[i].type=='file')
continue;
formdata.append(a[i].name,a[i].value);
}
$form.find('input:file:enabled').each(function(){
var name=$(this).attr('name'),files=this.files;
if(name){
for(var i=0;i<files.length;i++)
formdata.append(name,files[i]);
}
});
if(options.extraData){
for(var k in options.extraData)
formdata.append(k,options.extraData[k])
}
options.data=null;
var s=$.extend(true,{},$.ajaxSettings,options,{
contentType:false,
processData:false,
cache:false,
type:'POST'
});
s.context=s.context||s;
s.data=null;
var beforeSend=s.beforeSend;
s.beforeSend=function(xhr,o){
o.data=formdata;
if(xhr.upload){xhr.upload.onprogress=function(event){
o.progress(event.position,event.total);
};
}
if(beforeSend)
beforeSend.call(o,xhr,options);
};
$.ajax(s);
}
function fileUploadIframe(a){
var form=$form[0],el,i,s,g,id,$io,io,xhr,sub,n,timedOut,timeoutHandle;
var useProp=!!$.fn.prop;
if(a){
if(useProp){
for(i=0;i<a.length;i++){
el=$(form[a[i].name]);
el.prop('disabled',false);
}
}else{
for(i=0;i<a.length;i++){
el=$(form[a[i].name]);
el.removeAttr('disabled');
}
};
}
if($(':input[name=submit],:input[id=submit]',form).length){
alert('Error: Form elements must not have name or id of "submit".');
return;
}
s=$.extend(true,{},$.ajaxSettings,options);
s.context=s.context||s;
id='jqFormIO'+(new Date().getTime());
if(s.iframeTarget){
$io=$(s.iframeTarget);
n=$io.attr('name');
if(n==null)
$io.attr('name',id);
else
id=n;
}
else{
$io=$('<iframe name="'+id+'" src="'+s.iframeSrc+'" />');
$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;
$io.attr('src',s.iframeSrc);xhr.error=e;
s.error&&s.error.call(s.context,xhr,e,status);
g&&$.event.trigger("ajaxError",[xhr,s,e]);
s.complete&&s.complete.call(s.context,xhr,e);
}
};
g=s.global;
if(g&&!$.active++){
$.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--;
}
return;
}
if(xhr.aborted){
return;
}
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=frame.contentWindow?frame.contentWindow.document:frame.contentDocument?frame.contentDocument: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.attr('target'),a=$form.attr('action');
form.setAttribute('target',id);
if(!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.toLowerCase()=='uninitialized')
setTimeout(checkState,50);
}
catch(e){
log('Server abort: ',e,' (',e.name,')');
cb(SERVER_ABORT);
timeoutHandle&&clearTimeout(timeoutHandle);
timeoutHandle=undefined;
}
}
var extraInputs=[];
try{
if(s.extraData){
for(var n in s.extraData){
extraInputs.push(
$('<input type="hidden" name="'+n+'">').attr('value',s.extraData[n])
.appendTo(form)[0]);
}
}
if(!s.iframeTarget){
$io.appendTo('body');
io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);
}
setTimeout(checkState,15);
form.submit();
}
finally{
form.setAttribute('action',a);
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;
}
try{
doc=getDoc(io);
}
catch(ex){
log('cannot access response document: ',ex);
e=SERVER_ABORT;
}
if(e===CLIENT_TIMEOUT_ABORT&&xhr){
xhr.abort('timeout');
return;
}
else if(e==SERVER_ABORT&&xhr){
xhr.abort('server abort');
return;
}
if(!doc||doc.location.href==s.iframeSrc){
if(!timedOut)
return;
}
io.detachEvent?io.detachEvent('onload',cb):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];
};
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!=null){
xhr.responseXML=toXml(xhr.responseText);
}
try{
data=httpData(xhr,dt,s);
}
catch(e){
status='parsererror';
xhr.error=errMsg=(e||status);
}
}
catch(e){
log('error caught: ',e);
status='error';
xhr.error=errMsg=(e||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'){
s.success&&s.success.call(s.context,data,'success',xhr);
g&&$.event.trigger("ajaxSuccess",[xhr,s]);
}
else if(status){
if(errMsg==undefined)
errMsg=xhr.statusText;
s.error&&s.error.call(s.context,xhr,status,errMsg);
g&&$.event.trigger("ajaxError",[xhr,s,errMsg]);
}
g&&$.event.trigger("ajaxComplete",[xhr,s]);
if(g&&!--$.active){
$.event.trigger("ajaxStop");
}
s.complete&&s.complete.call(s.context,xhr,status);
callbackProcessed=true;
if(s.timeout)
clearTimeout(timeoutHandle);
setTimeout(function(){
if(!s.iframeTarget)
$io.remove();
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){
return window['eval']('('+s+')');
};
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'){
$.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;
};
}
};
$.fn.ajaxForm=function(options){
if(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;
}
return this.ajaxFormUnbind().bind('submit.form-plugin',function(e){
if(!e.isDefaultPrevented()){e.preventDefault();
$(this).ajaxSubmit(options);
}
}).bind('click.form-plugin',function(e){
var target=e.target;
var $el=$(target);
if(!($el.is(":submit,input:image"))){
var t=$el.closest(':submit');
if(t.length==0){
return;
}
target=t[0];
}
var form=this;
form.clk=target;
if(target.type=='image'){
if(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.unbind('submit.form-plugin click.form-plugin');
};
$.fn.formToArray=function(semantic){
var a=[];
if(this.length===0){
return a;
}
var form=this[0];
var els=semantic?form.getElementsByTagName('*'):form.elements;
if(!els){
return a;
}
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){
continue;
}
if(semantic&&form.clk&&el.type=="image"){
if(!el.disabled&&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){
for(j=0,jmax=v.length;j<jmax;j++){
a.push({name:n,value:v[j]});
}
}
else if(v!==null&&typeof v!='undefined'){
a.push({name:n,value:v,type:el.type});
}
}
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;
}
v.constructor==Array?$.merge(val,v):val.push(v);
}
return val;
};
$.fieldValue=function(el,successful){
var n=el.name,t=el.type,tag=el.tagName.toLowerCase();
if(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){
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();
};
$.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'||(includeHidden&&/hidden/.test(t))){
this.value='';
}
else if(t=='checkbox'||t=='radio'){
this.checked=false;
}
else if(tag=='select'){
this.selectedIndex=-1;
}
});
};
$.fn.resetForm=function(){
return this.each(function(){
if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType)){
this.reset();
}
});
};
$.fn.enable=function(b){
if(b===undefined){
b=true;
}
return this.each(function(){
this.disabled=!b;
});
};
$.fn.selected=function(select){
if(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);
}
};
})(jQuery);


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

(function($){
$.fn.autosave=function(opt){
opt=$.extend(opt,{
confirm:false,
confirmstring:'Sauvegarder ?'
});
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="+d.getTime();
$.post(window.location,{
'action':'session',
'var':'autosave_'+$('input[name=autosave]',this).val(),
'val':contenu
});
}
}).removeClass('autosavechanged');
}
$(window)
.bind('unload',save_changed);
return this
.bind('change keyup',function(){
$(this).addClass('autosavechanged');
})
.bind('submit',function(){
save_changed();
;
});
}
})(jQuery);


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

(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 */
jQuery.spip=jQuery.spip||{};
jQuery.spip.log=function(){
if(jQuery.spip.debug&&window.console&&window.console.log)
window.console.log.apply(this,arguments);
}
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){
callback=callback||function(){};
if(params){
if(params.constructor==Function){
callback=params;
params=null;
}
}
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(type){
var s=jQuery.extend(true,{},jQuery.ajaxSettings,type);
var callbackContext=s.context||s;
if(jQuery.ajax.caller==jQuery.spip.intercepted.load||jQuery.ajax.caller==jQuery.spip.intercepted.ajaxSubmit)
return jQuery.spip.intercepted.ajax(type);
var orig_complete=s.complete||function(){};
type.complete=function(res,status){
var dataType=type.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(type);
};
}
jQuery.fn.positionner=function(force,setfocus){
var offset=jQuery(this).offset();
var hauteur=parseInt(jQuery(this).css('height'));
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']-5<=scrolltop))
scroll=offset['top']-5;
else if(offset&&offset['top']+hauteur-h+5>scrolltop)
scroll=Math.min(offset['top']-5,offset['top']+hauteur-h+15);
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('<p style="float:left;width:0;height:0;position:absolute;left:-5000;top:-5000;"><input type="hidden" name="'+jQuery.spip.virtualbuffer_id+'" id="'+jQuery.spip.virtualbuffer_id+'" value="0" /></p>');
}
jQuery.spip.updateReaderBuffer=function(){
var i=jQuery('#'+jQuery.spip.virtualbuffer_id);
if(!i.length)return;
i.attr('value',parseInt(i.attr('value'))+1);
}
jQuery.fn.formulaire_setARIA=function(){
if(!this.closest('.ariaformprop').length){
this.find('script').remove();
this.wrap('<div class="ariaformprop" aria-live="assertive" aria-atomic="true"></div>');
}
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_setARIA();
jQuery('form:not(.noajax):not(.bouton_action_post)',this).each(function(){
var leform=this;
var leclk,leclk_x,leclk_y;
jQuery(this).prepend("<input type='hidden' name='var_ajax' value='form' />")
.ajaxForm({
beforeSubmit:function(){
leclk=leform.clk;
if(leclk){
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('.ariaformprop').animateLoading();
if(scrollwhensubmit)
jQuery(cible).positionner(false,false);
},
success:function(c){
if(c=='noajax'){
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().submit();
}
else{
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('.ariaformprop').endLoading(true);
}
else{
if(a.length&&a.is('a[name=ajax_redirect]')){
a=a.attr('href');
setTimeout(function(){
document.location.replace(a);
},10);
jQuery(cible).closest('.ariaformprop').animateLoading();
}
else{
jQuery(cible).closest('.ariaformprop').endLoading(true);
}
}
if(!jQuery('.reponse_formulaire_ok',cible).length)
jQuery.spip.preloaded_urls=preloaded;
jQuery.spip.updateReaderBuffer();
}
},
iframe:jQuery.browser.msie
})
.addClass('noajax hasajax')
;
});
});
}
jQuery.fn.formulaire_verifier=function(callback,champ){
var erreurs={'message_erreur':'form non ajax'};
var me=this;
if(jQuery(me).closest('.ariaformprop').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('.ariaformprop').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('.ariaformprop');
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')
.bind('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);
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.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
};
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.id){
var blocfrag=jQuery('#'+popState.state.id);
if(blocfrag.length&&popState.state.href){
jQuery.spip.ajaxClick(blocfrag,popState.state.href,{history:false});
return true;
}
}
}
jQuery.spip.loadAjax=function(blocfrag,url,href,options){
var force=options.force||false;
jQuery(blocfrag)
.animateLoading();
if(jQuery.spip.preloaded_urls[url]&&!force){
jQuery.spip.on_ajax_loaded(blocfrag,jQuery.spip.preloaded_urls[url],href,options.history);
}else{
var d=new Date();
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);
}
});
}
}
jQuery.spip.makeAjaxUrl=function(href,ajax_env){
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(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=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]);
var url=jQuery.spip.makeAjaxUrl(href,ajax_env);
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);
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').bind('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);
if(!jQuery.spip.preloaded_urls[url]){
jQuery.spip.preloaded_urls[url]='<!--preloading-->';
jQuery.ajax({"url":url,onAjaxLoad:false,"success":function(r){jQuery.spip.preloaded_urls[url]=r;}});
}
});
jQuery('form.bouton_action_post.ajax',this).not('.noajax,.bind-ajax').each(function(){
var leform=this;
var url=jQuery(this).attr('action').split('#');
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().positionner(false);
},
onAjaxLoad:false,
success:function(c){
jQuery.spip.on_ajax_loaded(blocfrag,c);
jQuery.spip.preloaded_urls={};},
iframe:jQuery.browser.msie
})
.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 color=$("<div class='remove'></div>").css('background-color');
$(this).addClass('remove').css({backgroundColor:color}).animate({opacity:"0.0"},'fast',function(){
$(this).removeClass('remove').css({backgroundColor:''});
if(callback)
callback.apply(this);
});
}
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.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){
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=[];
for(var n=0;n<args.length;n++){
var val=args[n];
val=decodeURIComponent(val);
var r=val.match(regexp);
if(r&&r.length){
if(v==null){
return(r.length>2)?r[2].substring(1):'';
}
else if(!v.length){
}
else if(r[1].substring(-2)!='[]'){
na.push(r[1]+'='+u);
ajouts.push(r[1]);
}
else na.push(args[n]);
}
else
na.push(args[n]);
}
if(v==null)return v;if(v||v.length){
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;
}
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('a.popin').click(function(){if(jQuery.modalbox)jQuery.modalbox(parametre_url(this.href,"var_zajax",jQuery(this).attr('data-var_zajax')?jQuery(this).attr('data-var_zajax'):var_zajax_content));return false;});
});
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('a.popin',this).click(function(){if(jQuery.modalbox)jQuery.modalbox(parametre_url(this.href,"var_zajax",jQuery(this).attr('data-var_zajax')?jQuery(this).attr('data-var_zajax'):var_zajax_content));return false;});
}
});


/* prive/javascript/jquery.cookie.js */

jQuery.cookie=function(name,value,options){
if(typeof value!='undefined'){options=options||{};
if(value===null){
value='';
options.expires=-1;
}
var expires='';
if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){
var date;
if(typeof options.expires=='number'){
date=new Date();
date.setTime(date.getTime()+(options.expires*24*60*60*1000));
}else{
date=options.expires;
}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';
var domain=options.domain?'; domain='+(options.domain):'';
var secure=options.secure?'; secure':'';
document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');
}else{var cookieValue=null;
if(document.cookie&&document.cookie!=''){
var cookies=document.cookie.split(';');
for(var i=0;i<cookies.length;i++){
var cookie=jQuery.trim(cookies[i]);
if(cookie.substring(0,name.length+1)==(name+'=')){
cookieValue=decodeURIComponent(cookie.substring(name.length+1));
break;
}
}
}
return cookieValue;
}
};


/* prive/javascript/ui/jquery.ui.core.js */

(function($,undefined){
$.ui=$.ui||{};
if($.ui.version){
return;
}
$.extend($.ui,{
version:"1.8.16",
keyCode:{
ALT:18,
BACKSPACE:8,
CAPS_LOCK:20,
COMMA:188,
COMMAND:91,
COMMAND_LEFT:91,COMMAND_RIGHT:93,
CONTROL:17,
DELETE:46,
DOWN:40,
END:35,
ENTER:13,
ESCAPE:27,
HOME:36,
INSERT:45,
LEFT:37,
MENU:93,NUMPAD_ADD:107,
NUMPAD_DECIMAL:110,
NUMPAD_DIVIDE:111,
NUMPAD_ENTER:108,
NUMPAD_MULTIPLY:106,
NUMPAD_SUBTRACT:109,
PAGE_DOWN:34,
PAGE_UP:33,
PERIOD:190,
RIGHT:39,
SHIFT:16,
SPACE:32,
TAB:9,
UP:38,
WINDOWS:91}
});
$.fn.extend({
propAttr:$.fn.prop||$.fn.attr,
_focus:$.fn.focus,
focus:function(delay,fn){
return typeof delay==="number"?
this.each(function(){
var elem=this;
setTimeout(function(){
$(elem).focus();
if(fn){
fn.call(elem);
}
},delay);
}):
this._focus.apply(this,arguments);
},
scrollParent:function(){
var scrollParent;
if(($.browser.msie&&(/(static|relative)/).test(this.css('position')))||(/absolute/).test(this.css('position'))){
scrollParent=this.parents().filter(function(){
return(/(relative|absolute|fixed)/).test($.curCSS(this,'position',1))&&(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));
}).eq(0);
}else{
scrollParent=this.parents().filter(function(){
return(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));
}).eq(0);
}
return(/fixed/).test(this.css('position'))||!scrollParent.length?$(document):scrollParent;
},
zIndex:function(zIndex){
if(zIndex!==undefined){
return this.css("zIndex",zIndex);
}
if(this.length){
var elem=$(this[0]),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;
},
disableSelection:function(){
return this.bind(($.support.selectstart?"selectstart":"mousedown")+
".ui-disableSelection",function(event){
event.preventDefault();
});
},
enableSelection:function(){
return this.unbind(".ui-disableSelection");
}
});
$.each(["Width","Height"],function(i,name){
var side=name==="Width"?["Left","Right"]:["Top","Bottom"],
type=name.toLowerCase(),
orig={
innerWidth:$.fn.innerWidth,
innerHeight:$.fn.innerHeight,
outerWidth:$.fn.outerWidth,
outerHeight:$.fn.outerHeight
};
function reduce(elem,size,border,margin){
$.each(side,function(){
size-=parseFloat($.curCSS(elem,"padding"+this,true))||0;
if(border){
size-=parseFloat($.curCSS(elem,"border"+this+"Width",true))||0;
}
if(margin){
size-=parseFloat($.curCSS(elem,"margin"+this,true))||0;
}
});
return size;
}
$.fn["inner"+name]=function(size){
if(size===undefined){
return orig["inner"+name].call(this);
}
return this.each(function(){
$(this).css(type,reduce(this,size)+"px");
});
};
$.fn["outer"+name]=function(size,margin){
if(typeof size!=="number"){
return orig["outer"+name].call(this,size);
}
return this.each(function(){
$(this).css(type,reduce(this,size,true,margin)+"px");
});
};
});
function focusable(element,isTabIndexNotNaN){
var nodeName=element.nodeName.toLowerCase();
if("area"===nodeName){
var map=element.parentNode,
mapName=map.name,
img;
if(!element.href||!mapName||map.nodeName.toLowerCase()!=="map"){
return false;
}
img=$("img[usemap=#"+mapName+"]")[0];
return!!img&&visible(img);
}
return(/input|select|textarea|button|object/.test(nodeName)
?!element.disabled
:"a"==nodeName
?element.href||isTabIndexNotNaN
:isTabIndexNotNaN)
&&visible(element);
}
function visible(element){
return!$(element).parents().andSelf().filter(function(){
return $.curCSS(this,"visibility")==="hidden"||
$.expr.filters.hidden(this);
}).length;
}
$.extend($.expr[":"],{
data:function(elem,i,match){
return!!$.data(elem,match[3]);
},
focusable:function(element){
return focusable(element,!isNaN($.attr(element,"tabindex")));
},
tabbable:function(element){
var tabIndex=$.attr(element,"tabindex"),
isTabIndexNaN=isNaN(tabIndex);
return(isTabIndexNaN||tabIndex>=0)&&focusable(element,!isTabIndexNaN);
}
});
$(function(){
var body=document.body,
div=body.appendChild(div=document.createElement("div"));
$.extend(div.style,{
minHeight:"100px",
height:"auto",
padding:0,
borderWidth:0
});
$.support.minHeight=div.offsetHeight===100;
$.support.selectstart="onselectstart"in div;
body.removeChild(div).style.display="none";
});
$.extend($.ui,{
plugin:{
add:function(module,option,set){
var proto=$.ui[module].prototype;
for(var i in set){
proto.plugins[i]=proto.plugins[i]||[];
proto.plugins[i].push([option,set[i]]);
}
},
call:function(instance,name,args){
var set=instance.plugins[name];
if(!set||!instance.element[0].parentNode){
return;
}
for(var i=0;i<set.length;i++){
if(instance.options[set[i][0]]){
set[i][1].apply(instance.element,args);
}
}
}
},
contains:function(a,b){
return document.compareDocumentPosition?
a.compareDocumentPosition(b)&16:
a!==b&&a.contains(b);
},
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;
}
el[scroll]=1;
has=(el[scroll]>0);
el[scroll]=0;
return has;
},
isOverAxis:function(x,reference,size){
return(x>reference)&&(x<(reference+size));
},
isOver:function(y,x,top,left,height,width){
return $.ui.isOverAxis(y,top,height)&&$.ui.isOverAxis(x,left,width);
}
});
})(jQuery);


/* extensions/mediabox/javascript/jquery.colorbox.js?1326121373 */

(function($,document,window){
var
defaults={
transition:"elastic",
speed:300,
width:false,
initialWidth:"600",
innerWidth:false,
maxWidth:false,
minWidth:false,
height:false,
initialHeight:"450",
innerHeight:false,
maxHeight:false,
minHeight:false,
scalePhotos:true,
scrolling:true,
inline:false,
html:false,
iframe:false,
fastIframe:true,
photo:false,
href:false,
title:false,
rel:false,
opacity:0.9,
preloading:true,
current:"image {current} of {total}",
previous:"previous",
next:"next",
close:"close",
open:false,
returnFocus:true,
loop:true,
slideshow:false,
slideshowAuto:true,
slideshowSpeed:2500,
slideshowStart:"start slideshow",
slideshowStop:"stop slideshow",
onOpen:false,
onLoad:false,
onComplete:false,
onCleanup:false,
onClosed:false,
overlayClose:true,
escKey:true,
arrowKey:true,
top:false,
bottom:false,
left:false,
right:false,
fixed:false,
data:false
},
colorbox='colorbox',
colorbox_class='box_mediabox box_modalbox',
prefix='cbox',
event_open=prefix+'_open',
event_load=prefix+'_load',
event_complete=prefix+'_complete',
event_cleanup=prefix+'_cleanup',
event_closed=prefix+'_closed',
event_purge=prefix+'_purge',
isIE=$.browser.msie&&!$.support.opacity,
isIE6=isIE&&$.browser.version<7,
event_ie6=prefix+'_IE6',
$overlay,
$box,
$wrap,
$content,
$topBorder,
$leftBorder,
$rightBorder,
$bottomBorder,
$related,
$window,
$loaded,
$loadingBay,
$loadingOverlay,
$title,
$current,
$slideshow,
$next,
$prev,
$close,
$groupControls,
settings={},
interfaceHeight,
interfaceWidth,
loadedHeight,
loadedWidth,
element,
index,
photo,
open,
active,
closing,
handler,
loadingTimer,
publicMethod,
boxElement=prefix+'Element';
function $div(id,cssText){
var div=document.createElement('div');
if(id){
div.id=prefix+id;
}
div.style.cssText=cssText||'';
return $(div);
}
function setSize(size,dimension){
dimension=dimension==='x'?$window.width():$window.height();
return(typeof size==='string')?Math.round((/%/.test(size)?(dimension/100)*parseInt(size,10):parseInt(size,10))):size;
}
function isImage(url){
return settings.photo||/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i.test(url);
}
function process(settings){
for(var i in settings){
if($.isFunction(settings[i])&&i.substring(0,2)!=='on'){
settings[i]=settings[i].call(element);
}
}
settings.rel=settings.rel||element.rel||'nofollow';
settings.href=settings.href||$(element).attr('href');
settings.title=settings.title||element.title;
if(typeof settings.href==="string"){
settings.href=$.trim(settings.href);
}
}
function trigger(event,callback){
if(callback){
callback.call(element);
}
$.event.trigger(event);
}
function slideshow(){
var
timeOut,
className=prefix+"Slideshow_",
click="click."+prefix,
start,
stop,
clear;
if(settings.slideshow&&$related[1]){
start=function(){
$slideshow
.text(settings.slideshowStop)
.unbind(click)
.bind(event_complete,function(){
if(index<$related.length-1||settings.loop){
timeOut=setTimeout(publicMethod.next,settings.slideshowSpeed);
}
})
.bind(event_load,function(){
clearTimeout(timeOut);
})
.one(click+' '+event_cleanup,stop);
$box.removeClass(className+"off").addClass(className+"on");
timeOut=setTimeout(publicMethod.next,settings.slideshowSpeed);
};
stop=function(){
clearTimeout(timeOut);
$slideshow
.text(settings.slideshowStart)
.unbind([event_complete,event_load,event_cleanup,click].join(' '))
.one(click,start);
$box.removeClass(className+"on").addClass(className+"off");
};
if(settings.slideshowAuto){
start();
}else{
stop();
}
}else{
$box.removeClass(className+"off "+className+"on");
}
}
function launch(elem){
if(!closing){
element=elem;
process($.extend(settings,$.data(element,colorbox)));
$related=$(element);
index=0;
if(settings.rel!=='nofollow'){
$related=$('.'+boxElement).filter(function(){
var relRelated=$.data(this,colorbox).rel||this.rel;
return(relRelated===settings.rel);
});
index=$related.index(element);
if(index===-1){
$related=$related.add(element);
index=$related.length-1;
}
}
if(!open){
open=active=true;
$box.show();
if(settings.returnFocus){
try{
element.blur();
$(element).one(event_closed,function(){
try{
this.focus();
}catch(e){
}
});
}catch(e){
}
}
$overlay.css({"opacity":+settings.opacity,"cursor":settings.overlayClose?"pointer":"auto"}).show();
settings.w=setSize(settings.initialWidth,'x');
settings.h=setSize(settings.initialHeight,'y');
publicMethod.position(0);
if(isIE6){
$window.bind('resize.'+event_ie6+' scroll.'+event_ie6,function(){
$overlay.css({width:$window.width(),height:$window.height(),top:$window.scrollTop(),left:$window.scrollLeft()});
}).trigger('resize.'+event_ie6);
}
trigger(event_open,settings.onOpen);
$groupControls.add($title).hide();
$close.html(settings.close).show();
}
publicMethod.load(true);
}
}
publicMethod=$.fn[colorbox]=$[colorbox]=function(options,callback){
var $this=this,autoOpen;
if(!$this[0]&&$this.selector){
return $this;
}
options=options||{};
if(callback){
options.onComplete=callback;
}
if(!$this[0]||$this.selector===undefined){
$this=$('<a/>');
options.open=true;
}
$this.each(function(){
$.data(this,colorbox,$.extend({},$.data(this,colorbox)||defaults,options));
var eltclass=$(this).attr('class');
if(eltclass){
if(eltclass.indexOf("boxWidth-")!==-1){
var w=eltclass.match(/boxWidth-([^\s'">]*)/);
w=w[1].replace(/pc/,'%');
$.data(this,colorbox,$.extend($.data(this,colorbox),{width:w}));
}
if(eltclass.indexOf("boxHeight-")!==-1){
var h=eltclass.match(/boxHeight-([^\s'">]*)/);
h=h[1].replace(/pc/,'%');
$.data(this,colorbox,$.extend($.data(this,colorbox),{height:h}));
}
if(eltclass.indexOf("boxIframe")!==-1){
$.data(this,colorbox,$.extend($.data(this,colorbox),{iframe:true}));
}
if(eltclass.indexOf("boxSlideshow_off")!==-1){
$.data(this,colorbox,$.extend($.data(this,colorbox),{slideshow:false}));
}
}
$(this).addClass(boxElement);
});
autoOpen=options.open;
if($.isFunction(autoOpen)){
autoOpen=autoOpen.call($this);
}
if(autoOpen){
launch($this[0]);
}
return $this;
};
publicMethod.init=function(){
$window=$(window);
$box=$div().attr({id:colorbox,'class':(isIE?prefix+(isIE6?'IE6':'IE'):'')+colorbox_class});
$overlay=$div("Overlay",isIE6?'position:absolute':'').hide();
$wrap=$div("Wrapper");
$content=$div("Content").append(
$loaded=$div("LoadedContent",'width:0; height:0; overflow:hidden'),
$loadingOverlay=$div("LoadingOverlay").add($div("LoadingGraphic")),
$title=$div("Title"),
$current=$div("Current"),
$next=$div("Next"),
$prev=$div("Previous"),
$slideshow=$div("Slideshow").bind(event_open,slideshow),
$close=$div("Close")
);
$wrap.append(
$div().append(
$div("TopLeft"),
$topBorder=$div("TopCenter"),
$div("TopRight")
),
$div(false,'clear:left').append(
$leftBorder=$div("MiddleLeft"),
$content,
$rightBorder=$div("MiddleRight")
),
$div(false,'clear:left').append(
$div("BottomLeft"),
$bottomBorder=$div("BottomCenter"),
$div("BottomRight")
)
).children().children().css({'float':'left'});
$loadingBay=$div(false,'position:absolute; width:9999px; visibility:hidden; display:none');
$('body').prepend($overlay,$box.append($wrap,$loadingBay));
$content.children()
.hover(function(){
$(this).addClass('hover');
},function(){
$(this).removeClass('hover');
}).addClass('hover');
interfaceHeight=$topBorder.height()+$bottomBorder.height()+$content.outerHeight(true)-$content.height();
interfaceWidth=$leftBorder.width()+$rightBorder.width()+$content.outerWidth(true)-$content.width();
loadedHeight=$loaded.outerHeight(true);
loadedWidth=$loaded.outerWidth(true);
$box.css({"padding-bottom":interfaceHeight,"padding-right":interfaceWidth}).hide();
$next.click(function(){
publicMethod.next();
});
$prev.click(function(){
publicMethod.prev();
});
$close.click(function(){
publicMethod.close();
});
$groupControls=$next.add($prev).add($current).add($slideshow);
$content.children().removeClass('hover');
$overlay.click(function(){
if(settings.overlayClose){
publicMethod.close();
}
});
$(document).bind('keydown.'+prefix,function(e){
var key=e.keyCode;
if(open&&settings.escKey&&key===27){
e.preventDefault();
publicMethod.close();
}
if(open&&settings.arrowKey&&$related[1]){
if(key===37){
e.preventDefault();
$prev.click();
}else if(key===39){
e.preventDefault();
$next.click();
}
}
});
};
publicMethod.remove=function(){
$box.add($overlay).remove();
$('.'+boxElement).removeData(colorbox).removeClass(boxElement);
};
publicMethod.position=function(speed,loadedCallback){
var animate_speed,top=0,left=0;
$box.hide();
if(settings.fixed&&!isIE6){
$box.css({position:'fixed'});
}else{
top=$window.scrollTop();
left=$window.scrollLeft();
$box.css({position:'absolute'});
}
if(settings.right!==false){
left+=Math.max($window.width()-settings.w-loadedWidth-interfaceWidth-setSize(settings.right,'x'),0);
}else if(settings.left!==false){
left+=setSize(settings.left,'x');
}else{
left+=Math.max($window.width()-settings.w-loadedWidth-interfaceWidth,0)/2;
}
if(settings.bottom!==false){
top+=Math.max(document.documentElement.clientHeight-settings.h-loadedHeight-interfaceHeight-setSize(settings.bottom,'y'),0);
}else if(settings.top!==false){
top+=setSize(settings.top,'y');
}else{
top+=Math.max(document.documentElement.clientHeight-settings.h-loadedHeight-interfaceHeight,0)/2;
}
$box.show();
animate_speed=($box.width()===settings.w+loadedWidth&&$box.height()===settings.h+loadedHeight)?0:speed;
$wrap[0].style.width=$wrap[0].style.height="9999px";
function modalDimensions(that){
$topBorder[0].style.width=$bottomBorder[0].style.width=$content[0].style.width=that.style.width;
$loadingOverlay[0].style.height=$loadingOverlay[1].style.height=$content[0].style.height=$leftBorder[0].style.height=$rightBorder[0].style.height=that.style.height;
}
$box.dequeue().animate({width:settings.w+loadedWidth,height:settings.h+loadedHeight,top:top,left:left},{
duration:animate_speed,
complete:function(){
modalDimensions(this);
active=false;
$wrap[0].style.width=(settings.w+loadedWidth+interfaceWidth)+"px";
$wrap[0].style.height=(settings.h+loadedHeight+interfaceHeight)+"px";
if(loadedCallback){
loadedCallback();
}
},
step:function(){
modalDimensions(this);
}
});
};
publicMethod.resize=function(options){
if(open){
options=options||{};
if(options.width){
settings.w=setSize(options.width,'x')-loadedWidth-interfaceWidth;
}
if(options.innerWidth){
settings.w=setSize(options.innerWidth,'x');
}
$loaded.css({width:settings.w});
if(options.height){
settings.h=setSize(options.height,'y')-loadedHeight-interfaceHeight;
}
if(options.innerHeight){
settings.h=setSize(options.innerHeight,'y');
}
if(!options.innerHeight&&!options.height){
var $child=$loaded.wrapInner("<div style='overflow:auto'></div>").children();
settings.h=$child.height();
$child.replaceWith($child.children());
}
$loaded.css({height:settings.h});
publicMethod.position(settings.transition==="none"?0:settings.speed);
}
};
publicMethod.prep=function(object){
if(!open){
return;
}
var speed=settings.transition==="none"?0:settings.speed;
$window.unbind('resize.'+prefix);
$loaded.remove();
$loaded=$div('LoadedContent').html(object);
function getWidth(){
settings.w=settings.w||$loaded.width();
settings.w=settings.minw&&settings.minw>settings.w?settings.minw:settings.w;
settings.w=settings.mw&&settings.mw<settings.w?settings.mw:settings.w;
return settings.w;
}
function getHeight(){
settings.h=settings.h||$loaded.height();
settings.h=settings.minh&&settings.minh>settings.h?settings.minh:settings.h;
settings.h=settings.mh&&settings.mh<settings.h?settings.mh:settings.h;
return settings.h;
}
$loaded.hide()
.appendTo($loadingBay.show())
.css({width:getWidth(),overflow:settings.scrolling?'auto':'hidden'})
.css({height:getHeight()})
.prependTo($content);
$loadingBay.hide();
$(photo).css({'float':'none'});
if(isIE6){
$('select').not($box.find('select')).filter(function(){
return this.style.visibility!=='hidden';
}).css({'visibility':'hidden'}).one(event_cleanup,function(){
this.style.visibility='inherit';
});
}
function setPosition(s){
publicMethod.position(s,function(){
var prev,prevSrc,next,nextSrc,total=$related.length,iframe,complete;
if(!open){
return;
}
function removeFilter(){
if(isIE){
$box[0].style.removeAttribute('filter');
}
}
complete=function(){
clearTimeout(loadingTimer);
$loadingOverlay.hide();
trigger(event_complete,settings.onComplete);
};
if(isIE){
if(photo){
$loaded.fadeIn(100);
}
}
$title.html(settings.title).add($loaded).show();
if(total>1){
if(typeof settings.current==="string"){
$current.html(settings.current.replace(/\{current\}/,index+1).replace(/\{total\}/,total)).show();
}
$next[(settings.loop||index<total-1)?"show":"hide"]().html(settings.next);
$prev[(settings.loop||index)?"show":"hide"]().html(settings.previous);
prev=index?$related[index-1]:$related[total-1];
next=index<total-1?$related[index+1]:$related[0];
if(settings.slideshow){
$slideshow.show();
}
if(settings.preloading){
nextSrc=$.data(next,colorbox).href||next.href;
prevSrc=$.data(prev,colorbox).href||prev.href;
nextSrc=$.isFunction(nextSrc)?nextSrc.call(next):nextSrc;
prevSrc=$.isFunction(prevSrc)?prevSrc.call(prev):prevSrc;
if(isImage(nextSrc)){
$('<img/>')[0].src=nextSrc;
}
if(isImage(prevSrc)){
$('<img/>')[0].src=prevSrc;
}
}
}else{
$groupControls.hide();
}
if(settings.iframe){
iframe=$('<iframe/>').addClass(prefix+'Iframe')[0];
if(settings.fastIframe){
complete();
}else{
$(iframe).one('load',complete);
}
iframe.name=prefix+(+new Date());
iframe.src=settings.href;
if(!settings.scrolling){
iframe.scrolling="no";
}
if(isIE){
iframe.frameBorder=0;
iframe.allowTransparency="true";
}
$(iframe).appendTo($loaded).one(event_purge,function(){
iframe.src="//about:blank";
});
}else{
complete();
}
if(settings.transition==='fade'){
$box.fadeTo(speed,1,removeFilter);
}else{
removeFilter();
}
$window.bind('resize.'+prefix,function(){
publicMethod.position(0);
});
});
}
if(settings.transition==='fade'){
$box.fadeTo(speed,0,function(){
setPosition(0);
});
}else{
setPosition(speed);
}
};
publicMethod.load=function(launched){
var href,setResize,prep=publicMethod.prep;
active=true;
photo=false;
element=$related[index];
if(!launched){
process($.extend(settings,$.data(element,colorbox)));
}
trigger(event_purge);
trigger(event_load,settings.onLoad);
settings.h=settings.height?
setSize(settings.height,'y')-loadedHeight-interfaceHeight:
settings.innerHeight&&setSize(settings.innerHeight,'y');
settings.w=settings.width?
setSize(settings.width,'x')-loadedWidth-interfaceWidth:
settings.innerWidth&&setSize(settings.innerWidth,'x');
settings.mw=settings.w;
settings.mh=settings.h;
settings.minw=settings.w;
settings.minh=settings.h;
if(settings.maxWidth){
settings.mw=setSize(settings.maxWidth,'x')-loadedWidth-interfaceWidth;
settings.mw=settings.w&&settings.w<settings.mw?settings.w:settings.mw;
}
if(settings.minWidth){
settings.minw=setSize(settings.minWidth,'x')-loadedWidth-interfaceWidth;
settings.minw=settings.w&&settings.w>settings.minw?settings.w:settings.minw;
}
if(settings.maxHeight){
settings.mh=setSize(settings.maxHeight,'y')-loadedHeight-interfaceHeight;
settings.mh=settings.h&&settings.h<settings.mh?settings.h:settings.mh;
}
if(settings.minHeight){
settings.minh=setSize(settings.minHeight,'y')-loadedHeight-interfaceHeight;
settings.minh=settings.h&&settings.h>settings.minh?settings.h:settings.minh;
}
href=settings.href;
loadingTimer=setTimeout(function(){
$loadingOverlay.show();
},100);
if(settings.inline){
$div().hide().insertBefore($(href)[0]).one(event_purge,function(){
$(this).replaceWith($loaded.children());
});
prep($(href));
}else if(settings.iframe){
prep(" ");
}else if(settings.html){
prep(settings.html);
}else if(isImage(href)){
$(photo=new Image())
.addClass(prefix+'Photo')
.error(function(){
settings.title=false;
prep($div('Error').text('This image could not be loaded'));
})
.load(function(){
var percent;
photo.onload=null;
if(settings.scalePhotos){
setResize=function(){
photo.height-=photo.height*percent;
photo.width-=photo.width*percent;
};
if(settings.mw&&photo.width>settings.mw){
percent=(photo.width-settings.mw)/photo.width;
setResize();
}
if(settings.mh&&photo.height>settings.mh){
percent=(photo.height-settings.mh)/photo.height;
setResize();
}
}
if(settings.h){
photo.style.marginTop=Math.max(settings.h-photo.height,0)/2+'px';
}
if($related[1]&&(index<$related.length-1||settings.loop)){
photo.style.cursor='pointer';
photo.onclick=function(){
publicMethod.next();
};
}
if(isIE){
photo.style.msInterpolationMode='bicubic';
}
setTimeout(function(){
prep(photo);
},1);
});
setTimeout(function(){
photo.src=href;
},1);
}else if(href){
$loadingBay.load(href,settings.data,function(data,status,xhr){
prep(status==='error'?$div('Error').text('Request unsuccessful: '+xhr.statusText):$(this).contents());
});
}
};
publicMethod.next=function(){
if(!active&&$related[1]&&(index<$related.length-1||settings.loop)){
index=index<$related.length-1?index+1:0;
publicMethod.load();
}
};
publicMethod.prev=function(){
if(!active&&$related[1]&&(index||settings.loop)){
index=index?index-1:$related.length-1;
publicMethod.load();
}
};
publicMethod.close=function(){
if(open&&!closing){
closing=true;
open=false;
trigger(event_cleanup,settings.onCleanup);
$window.unbind('.'+prefix+' .'+event_ie6);
$overlay.fadeTo(200,0);
$box.stop().fadeTo(300,0,function(){
$box.add($overlay).css({'opacity':1,cursor:'auto'}).hide();
trigger(event_purge);
$loaded.remove();
setTimeout(function(){
closing=false;
trigger(event_closed,settings.onClosed);
},1);
});
}
};
publicMethod.element=function(){
return $(element);
};
publicMethod.settings=defaults;
handler=function(e){
if(!((e.button!==0&&typeof e.button!=='undefined')||e.ctrlKey||e.shiftKey||e.altKey)){
e.preventDefault();
launch(this);
}
};
if($.fn.delegate){
$(document).delegate('.'+boxElement,'click',handler);
}else{
$('.'+boxElement).live('click',handler);
}
$(publicMethod.init);
}(jQuery,document,this));


/* extensions/mediabox/javascript/spip.mediabox.js?1326121373 */
var mediaboxInit=function(){
var options={
transition:box_settings.trans,
speed:box_settings.speed,
maxWidth:box_settings.maxW,
maxHeight:box_settings.maxH,
minWidth:box_settings.minW,
minHeight:box_settings.minH,
opacity:box_settings.opa,
slideshowSpeed:box_settings.ssSpeed,
slideshowStart:box_settings.str_ssStart,
slideshowStop:box_settings.str_ssStop,
current:box_settings.str_cur,
previous:box_settings.str_prev,
next:box_settings.str_next,
close:box_settings.str_close,
splash_url:box_settings.splash_url
};
if(box_settings.sel_g){
jQuery(box_settings.sel_g,this).not('.hasbox,#colorbox')
.attr("onclick","").colorbox(jQuery.extend({},options,{rel:'galerieauto',slideshow:true,slideshowAuto:false}))
.addClass("hasbox");
}
if(box_settings.tt_img){
jQuery("a[type=\'image/jpeg\'],a[type=\'image/png\'],a[type=\'image/gif\']",this).not('.hasbox')
.attr("onclick","").colorbox(options).addClass("hasbox");
}
if(box_settings.sel_c){
jQuery(box_settings.sel_c).not('.hasbox')
.colorbox(jQuery.extend({},options,{slideshow:true,slideshowAuto:false}))
.addClass("hasbox");
}
};
if(typeof(box_settings)!='undefined')
(function($){if(typeof onAjaxLoad=="function")onAjaxLoad(mediaboxInit);$(mediaboxInit);})(jQuery);
;(function($){
$.fn.mediabox=function(options){
var cbox_options={
overlayClose:true,
iframe:false,
maxWidth:box_settings.maxW,
maxHeight:box_settings.maxH,
minWidth:box_settings.minW,
minHeight:box_settings.minH,
opacity:box_settings.opa,
slideshowStart:box_settings.str_ssStart,
slideshowStop:box_settings.str_ssStop,
current:box_settings.str_cur,
previous:box_settings.str_prev,
next:box_settings.str_next,
close:box_settings.str_close,
onOpen:(options&&options.onOpen)||null,
onComplete:(options&&options.onShow)||null,
onClosed:(options&&options.onClose)||null
};
return this.colorbox($.extend(cbox_options,options));
};
$.mediaboxClose=function(){$.fn.colorbox.close();};
$.modalbox=function(href,options){$.fn.mediabox($.extend({href:href,inline:href.match(/^#/),overlayClose:true},options));};
$.modalboxload=function(url,options){$.modalbox(url,options);};
$.modalboxclose=$.mediaboxClose;
})(jQuery);



