/* compact [
	prive/javascript/jquery.js
	prive/javascript/jquery.form.js
	prive/javascript/ajaxCallback.js
	plugins/spip_images/js/highslide.js
	plugins/spip_images/js/highslide-html.js
] 61.7% */

/* prive/javascript/jquery.js */
;
(function(){
var _jQuery=window.jQuery,
_$=window.$;
var jQuery=window.jQuery=window.$=function(selector,context){
return new jQuery.fn.init(selector,context)};
var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,
isSimple=/^.[^:#\[\.]*$/,
undefined;
jQuery.fn=jQuery.prototype={
init:function(selector,context){
selector=selector||document;
if(selector.nodeType){
this[0]=selector;
this.length=1;
return this}
if(typeof selector=="string"){
var match=quickExpr.exec(selector);
if(match&&(match[1]||!context)){
if(match[1])
selector=jQuery.clean([match[1]],context);
else{
var elem=document.getElementById(match[3]);
if(elem){
if(elem.id!=match[3])
return jQuery().find(selector);
return jQuery(elem)}
selector=[]}
}else
return jQuery(context).find(selector)}else if(jQuery.isFunction(selector))
return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);
return this.setArray(jQuery.makeArray(selector))},
jquery:"1.2.6",
size:function(){
return this.length},
length:0,
get:function(num){
return num==undefined?
jQuery.makeArray(this):
this[num]},
pushStack:function(elems){
var ret=jQuery(elems);
ret.prevObject=this;
return ret},
setArray:function(elems){
this.length=0;
Array.prototype.push.apply(this,elems);
return this},
each:function(callback,args){
return jQuery.each(this,callback,args)},
index:function(elem){
var ret=-1;
return jQuery.inArray(
elem&&elem.jquery?elem[0]:elem
,this)},
attr:function(name,value,type){
var options=name;
if(name.constructor==String)
if(value===undefined)
return this[0]&&jQuery[type||"attr"](this[0],name);
else{
options={};
options[name]=value}
return this.each(function(i){
for(name in options)
jQuery.attr(
type?
this.style:
this,
name,jQuery.prop(this,options[name],type,i,name)
)})},
css:function(key,value){
if((key=='width'||key=='height')&&parseFloat(value)<0)
value=undefined;
return this.attr(key,value,"curCSS")},
text:function(text){
if(typeof text!="object"&&text!=null)
return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));
var ret="";
jQuery.each(text||this,function(){
jQuery.each(this.childNodes,function(){
if(this.nodeType!=8)
ret+=this.nodeType!=1?
this.nodeValue:
jQuery.fn.text([this])})});
return ret},
wrapAll:function(html){
if(this[0])
jQuery(html,this[0].ownerDocument)
.clone()
.insertBefore(this[0])
.map(function(){
var elem=this;
while(elem.firstChild)
elem=elem.firstChild;
return elem})
.append(this);
return this},
wrapInner:function(html){
return this.each(function(){
jQuery(this).contents().wrapAll(html)})},
wrap:function(html){
return this.each(function(){
jQuery(this).wrapAll(html)})},
append:function(){
return this.domManip(arguments,true,false,function(elem){
if(this.nodeType==1)
this.appendChild(elem)})},
prepend:function(){
return this.domManip(arguments,true,true,function(elem){
if(this.nodeType==1)
this.insertBefore(elem,this.firstChild)})},
before:function(){
return this.domManip(arguments,false,false,function(elem){
this.parentNode.insertBefore(elem,this)})},
after:function(){
return this.domManip(arguments,false,true,function(elem){
this.parentNode.insertBefore(elem,this.nextSibling)})},
end:function(){
return this.prevObject||jQuery([])},
find:function(selector){
var elems=jQuery.map(this,function(elem){
return jQuery.find(selector,elem)});
return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?
jQuery.unique(elems):
elems)},
clone:function(events){
var ret=this.map(function(){
if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){
var clone=this.cloneNode(true),
container=document.createElement("div");
container.appendChild(clone);
return jQuery.clean([container.innerHTML])[0]}else
return this.cloneNode(true)});
var clone=ret.find("*").andSelf().each(function(){
if(this[expando]!=undefined)
this[expando]=null});
if(events===true)
this.find("*").andSelf().each(function(i){
if(this.nodeType==3)
return;
var events=jQuery.data(this,"events");
for(var type in events)
for(var handler in events[type])
jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data)});
return ret},
filter:function(selector){
return this.pushStack(
jQuery.isFunction(selector)&&
jQuery.grep(this,function(elem,i){
return selector.call(elem,i)})||
jQuery.multiFilter(selector,this))},
not:function(selector){
if(selector.constructor==String)
if(isSimple.test(selector))
return this.pushStack(jQuery.multiFilter(selector,this,true));
else
selector=jQuery.multiFilter(selector,this);
var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;
return this.filter(function(){
return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector})},
add:function(selector){
return this.pushStack(jQuery.unique(jQuery.merge(
this.get(),
typeof selector=='string'?
jQuery(selector):
jQuery.makeArray(selector)
)))},
is:function(selector){
return!!selector&&jQuery.multiFilter(selector,this).length>0},
hasClass:function(selector){
return this.is("."+selector)},
val:function(value){
if(value==undefined){
if(this.length){
var elem=this[0];
if(jQuery.nodeName(elem,"select")){
var 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){
value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;
if(one)
return value;
values.push(value)}
}
return values}else
return(this[0].value||"").replace(/\r/g,"")}
return undefined}
if(value.constructor==Number)
value+='';
return this.each(function(){
if(this.nodeType!=1)
return;
if(value.constructor==Array&&/radio|checkbox/.test(this.type))
this.checked=(jQuery.inArray(this.value,value)>=0||
jQuery.inArray(this.name,value)>=0);
else if(jQuery.nodeName(this,"select")){
var values=jQuery.makeArray(value);
jQuery("option",this).each(function(){
this.selected=(jQuery.inArray(this.value,values)>=0||
jQuery.inArray(this.text,values)>=0)});
if(!values.length)
this.selectedIndex=-1}else
this.value=value})},
html:function(value){
return value==undefined?
(this[0]?
this[0].innerHTML:
null):
this.empty().append(value)},
replaceWith:function(value){
return this.after(value).remove()},
eq:function(i){
return this.slice(i,i+1)},
slice:function(){
return this.pushStack(Array.prototype.slice.apply(this,arguments))},
map:function(callback){
return this.pushStack(jQuery.map(this,function(elem,i){
return callback.call(elem,i,elem)}))},
andSelf:function(){
return this.add(this.prevObject)},
data:function(key,value){
var parts=key.split(".");
parts[1]=parts[1]?"."+parts[1]:"";
if(value===undefined){
var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);
if(data===undefined&&this.length)
data=jQuery.data(this[0],key);
return data===undefined&&parts[1]?
this.data(parts[0]):
data}else
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){
jQuery.data(this,key,value)})},
removeData:function(key){
return this.each(function(){
jQuery.removeData(this,key)})},
domManip:function(args,table,reverse,callback){
var clone=this.length>1,elems;
return this.each(function(){
if(!elems){
elems=jQuery.clean(args,this.ownerDocument);
if(reverse)
elems.reverse()}
var obj=this;
if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))
obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));
var scripts=jQuery([]);
jQuery.each(elems,function(){
var elem=clone?
jQuery(this).clone(true)[0]:
this;
if(jQuery.nodeName(elem,"script"))
scripts=scripts.add(elem);
else{
if(elem.nodeType==1)
scripts=scripts.add(jQuery("script",elem).remove());
callback.call(obj,elem)}
});
scripts.each(evalScript)})}
};
jQuery.fn.init.prototype=jQuery.fn;
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||"");
if(elem.parentNode)
elem.parentNode.removeChild(elem)}
function now(){
return+new Date}
jQuery.extend=jQuery.fn.extend=function(){
var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;
if(target.constructor==Boolean){
deep=target;
target=arguments[1]||{};
i=2}
if(typeof target!="object"&&typeof target!="function")
target={};
if(length==i){
target=this;
--i}
for(;i<length;i++)
if((options=arguments[i])!=null)
for(var name in options){
var src=target[name],copy=options[name];
if(target===copy)
continue;
if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)
target[name]=jQuery.extend(deep,
src||(copy.length!=null?[]:{})
,copy);
else if(copy!==undefined)
target[name]=copy}
return target};
var expando="jQuery"+now(),uuid=0,windowData={},
exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,
defaultView=document.defaultView||{};
jQuery.extend({
noConflict:function(deep){
window.$=_$;
if(deep)
window.jQuery=_jQuery;
return jQuery},
isFunction:function(fn){
return!!fn&&typeof fn!="string"&&!fn.nodeName&&
fn.constructor!=Array&&/^[\s[]?function/.test(fn+"")},
isXMLDoc:function(elem){
return elem.documentElement&&!elem.body||
elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body},
globalEval:function(data){
data=jQuery.trim(data);
if(data){
var head=document.getElementsByTagName("head")[0]||document.documentElement,
script=document.createElement("script");
script.type="text/javascript";
if(jQuery.browser.msie)
script.text=data;
else
script.appendChild(document.createTextNode(data));
head.insertBefore(script,head.firstChild);
head.removeChild(script)}
},
nodeName:function(elem,name){
return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase()},
cache:{},
data:function(elem,name,data){
elem=elem==window?
windowData:
elem;
var id=elem[expando];
if(!id)
id=elem[expando]=++uuid;
if(name&&!jQuery.cache[id])
jQuery.cache[id]={};
if(data!==undefined)
jQuery.cache[id][name]=data;
return name?
jQuery.cache[id][name]:
id},
removeData:function(elem,name){
elem=elem==window?
windowData:
elem;
var id=elem[expando];
if(name){
if(jQuery.cache[id]){
delete jQuery.cache[id][name];
name="";
for(name in jQuery.cache[id])
break;
if(!name)
jQuery.removeData(elem)}
}else{
try{
delete elem[expando]}catch(e){
if(elem.removeAttribute)
elem.removeAttribute(expando)}
delete jQuery.cache[id]}
},
each:function(object,callback,args){
var name,i=0,length=object.length;
if(args){
if(length==undefined){
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(length==undefined){
for(name in object)
if(callback.call(object[name],name,object[name])===false)
break}else
for(var value=object[0];
i<length&&callback.call(value,i,value)!==false;value=object[++i]){}
}
return object},
prop:function(elem,value,type,i,name){
if(jQuery.isFunction(value))
value=value.call(elem,i);
return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?
value+"px":
value},
className:{
add:function(elem,classNames){
jQuery.each((classNames||"").split(/\s+/),function(i,className){
if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))
elem.className+=(elem.className?" ":"")+className})},
remove:function(elem,classNames){
if(elem.nodeType==1)
elem.className=classNames!=undefined?
jQuery.grep(elem.className.split(/\s+/),function(className){
return!jQuery.className.has(classNames,className)}).join(" "):
""},
has:function(elem,className){
return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1}
},
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(var name in options)
elem.style[name]=old[name]},
css:function(elem,name,force){
if(name=="width"||name=="height"){
var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];
function getWH(){
val=name=="width"?elem.offsetWidth:elem.offsetHeight;
var padding=0,border=0;
jQuery.each(which,function(){
padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;
border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0});
val-=Math.round(padding+border)}
if(jQuery(elem).is(":visible"))
getWH();
else
jQuery.swap(elem,props,getWH);
return Math.max(0,val)}
return jQuery.curCSS(elem,name,force)},
curCSS:function(elem,name,force){
var ret,style=elem.style;
function color(elem){
if(!jQuery.browser.safari)
return false;
var ret=defaultView.getComputedStyle(elem,null);
return!ret||ret.getPropertyValue("color")==""}
if(name=="opacity"&&jQuery.browser.msie){
ret=jQuery.attr(style,"opacity");
return ret==""?
"1":
ret}
if(jQuery.browser.opera&&name=="display"){
var save=style.outline;
style.outline="0 solid black";
style.outline=save}
if(name.match(/float/i))
name=styleFloat;
if(!force&&style&&style[name])
ret=style[name];
else if(defaultView.getComputedStyle){
if(name.match(/float/i))
name="float";
name=name.replace(/([A-Z])/g,"-$1").toLowerCase();
var computedStyle=defaultView.getComputedStyle(elem,null);
if(computedStyle&&!color(elem))
ret=computedStyle.getPropertyValue(name);
else{
var swap=[],stack=[],a=elem,i=0;
for(;a&&color(a);a=a.parentNode)
stack.unshift(a);
for(;i<stack.length;i++)
if(color(stack[i])){
swap[i]=stack[i].style.display;
stack[i].style.display="block"}
ret=name=="display"&&swap[stack.length-1]!=null?
"none":
(computedStyle&&computedStyle.getPropertyValue(name))||"";
for(i=0;i<swap.length;i++)
if(swap[i]!=null)
stack[i].style.display=swap[i]}
if(name=="opacity"&&ret=="")
ret="1"}else if(elem.currentStyle){
var camelCase=name.replace(/\-(\w)/g,function(all,letter){
return letter.toUpperCase()});
ret=elem.currentStyle[name]||elem.currentStyle[camelCase];
if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){
var left=style.left,rsLeft=elem.runtimeStyle.left;
elem.runtimeStyle.left=elem.currentStyle.left;
style.left=ret||0;
ret=style.pixelLeft+"px";
style.left=left;
elem.runtimeStyle.left=rsLeft}
}
return ret},
clean:function(elems,context){
var ret=[];
context=context||document;
if(typeof context.createElement=='undefined')
context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;
jQuery.each(elems,function(i,elem){
if(!elem)
return;
if(elem.constructor==Number)
elem+='';
if(typeof elem=="string"){
elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){
return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?
all:
front+"></"+tag+">"});
var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");
var wrap=
!tags.indexOf("<opt")&&
[1,"<select multiple='multiple'>","</select>"]||
!tags.indexOf("<leg")&&
[1,"<fieldset>","</fieldset>"]||
tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&
[1,"<table>","</table>"]||
!tags.indexOf("<tr")&&
[2,"<table><tbody>","</tbody></table>"]||
(!tags.indexOf("<td")||!tags.indexOf("<th"))&&
[3,"<table><tbody><tr>","</tr></tbody></table>"]||
!tags.indexOf("<col")&&
[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||
jQuery.browser.msie&&
[1,"div<div>","</div>"]||
[0,"",""];
div.innerHTML=wrap[1]+elem+wrap[2];
while(wrap[0]--)
div=div.lastChild;
if(jQuery.browser.msie){
var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?
div.firstChild&&div.firstChild.childNodes:
wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?
div.childNodes:
[];
for(var j=tbody.length-1;j>=0;--j)
if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)
tbody[j].parentNode.removeChild(tbody[j]);
if(/^\s/.test(elem))
div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild)}
elem=jQuery.makeArray(div.childNodes)}
if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))
return;
if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)
ret.push(elem);
else
ret=jQuery.merge(ret,elem)});
return ret},
attr:function(elem,name,value){
if(!elem||elem.nodeType==3||elem.nodeType==8)
return undefined;
var notxml=!jQuery.isXMLDoc(elem),
set=value!==undefined,
msie=jQuery.browser.msie;
name=notxml&&jQuery.props[name]||name;
if(elem.tagName){
var special=/href|src|style/.test(name);
if(name=="selected"&&jQuery.browser.safari)
elem.parentNode.selectedIndex;
if(name in elem&&notxml&&!special){
if(set){
if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
throw"type property can't be changed";
if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
elem.setAttribute(name,""+value);
else
elem[name]=value}
if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
return elem.getAttributeNode(name).nodeValue;
return elem[name]}
if(msie&&notxml&&name=="style")
return jQuery.attr(elem.style,"cssText",value);
if(set)
elem.setAttribute(name,""+value);
var attr=msie&&notxml&&special
?elem.getAttribute(name,2)
:elem.getAttribute(name);
return attr===null?undefined:attr}
if(msie&&name=="opacity"){
if(set){
elem.zoom=1;
elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")")}
return elem.filter&&elem.filter.indexOf("opacity=")>=0?
(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':
""}
name=name.replace(/-([a-z])/ig,function(all,letter){
return letter.toUpperCase()});
if(set)
elem[name]=value;
return elem[name]},
trim:function(text){
return(text||"").replace(/^\s+|\s+$/g,"")},
makeArray:function(array){
var ret=[];
if(array!=null){
var i=array.length;
if(i==null||array.split||array.setInterval||array.call)
ret[0]=array;
else
while(i)
ret[--i]=array[i]}
return ret},
inArray:function(elem,array){
for(var i=0,length=array.length;i<length;i++)
if(array[i]===elem)
return i;
return-1},
merge:function(first,second){
var i=0,elem,pos=first.length;
if(jQuery.browser.msie){
while(elem=second[i++])
if(elem.nodeType!=8)
first[pos++]=elem}else
while(elem=second[i++])
first[pos++]=elem;
return first},
unique:function(array){
var ret=[],done={};
try{
for(var i=0,length=array.length;i<length;i++){
var id=jQuery.data(array[i]);
if(!done[id]){
done[id]=true;
ret.push(array[i])}
}
}catch(e){
ret=array}
return ret},
grep:function(elems,callback,inv){
var ret=[];
for(var i=0,length=elems.length;i<length;i++)
if(!inv!=!callback(elems[i],i))
ret.push(elems[i]);
return ret},
map:function(elems,callback){
var ret=[];
for(var i=0,length=elems.length;i<length;i++){
var value=callback(elems[i],i);
if(value!=null)
ret[ret.length]=value}
return ret.concat.apply([],ret)}
});
var userAgent=navigator.userAgent.toLowerCase();
jQuery.browser={
version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],
safari:/webkit/.test(userAgent),
opera:/opera/.test(userAgent),
msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),
mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)
};
var styleFloat=jQuery.browser.msie?
"styleFloat":
"cssFloat";
jQuery.extend({
boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",
props:{
"for":"htmlFor",
"class":"className",
"float":styleFloat,
cssFloat:styleFloat,
styleFloat:styleFloat,
readonly:"readOnly",
maxlength:"maxLength",
cellspacing:"cellSpacing"
}
});
jQuery.each({
parent:function(elem){return elem.parentNode},
parents:function(elem){return jQuery.dir(elem,"parentNode")},
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")},
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(selector){
var ret=jQuery.map(this,fn);
if(selector&&typeof selector=="string")
ret=jQuery.multiFilter(selector,ret);
return this.pushStack(jQuery.unique(ret))}});
jQuery.each({
appendTo:"append",
prependTo:"prepend",
insertBefore:"before",
insertAfter:"after",
replaceAll:"replaceWith"
},function(name,original){
jQuery.fn[name]=function(){
var args=arguments;
return this.each(function(){
for(var i=0,length=args.length;i<length;i++)
jQuery(args[i])[original](this)})}});
jQuery.each({
removeAttr:function(name){
jQuery.attr(this,name,"");
if(this.nodeType==1)
this.removeAttribute(name)},
addClass:function(classNames){
jQuery.className.add(this,classNames)},
removeClass:function(classNames){
jQuery.className.remove(this,classNames)},
toggleClass:function(classNames){
jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames)},
remove:function(selector){
if(!selector||jQuery.filter(selector,[this]).r.length){
jQuery("*",this).add(this).each(function(){
jQuery.event.remove(this);
jQuery.removeData(this)});
if(this.parentNode)
this.parentNode.removeChild(this)}
},
empty:function(){
jQuery(">*",this).remove();
while(this.firstChild)
this.removeChild(this.firstChild)}
},function(name,fn){
jQuery.fn[name]=function(){
return this.each(fn,arguments)}});
jQuery.each(["Height","Width"],function(i,name){
var type=name.toLowerCase();
jQuery.fn[type]=function(size){
return this[0]==window?
jQuery.browser.opera&&document.body["client"+name]||
jQuery.browser.safari&&window["inner"+name]||
document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:
this[0]==document?
Math.max(
Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),
Math.max(document.body["offset"+name],document.documentElement["offset"+name])
):
size==undefined?
(this.length?jQuery.css(this[0],type):null):
this.css(type,size.constructor==String?size:size+"px")}});
function num(elem,prop){
return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?
"(?:[\\w*_-]|\\\\.)":
"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",
quickChild=new RegExp("^>\\s*("+chars+"+)"),
quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),
quickClass=new RegExp("^([#.]?)("+chars+"*)");
jQuery.extend({
expr:{
"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2])},
"#":function(a,i,m){return a.getAttribute("id")==m[2]},
":":{
lt:function(a,i,m){return i<m[3]-0},
gt:function(a,i,m){return i>m[3]-0},
nth:function(a,i,m){return m[3]-0==i},
eq:function(a,i,m){return m[3]-0==i},
first:function(a,i){return i==0},
last:function(a,i,m,r){return i==r.length-1},
even:function(a,i){return i%2==0},
odd:function(a,i){return i%2},
"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a},
"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a},
"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling")},
parent:function(a){return a.firstChild},
empty:function(a){return!a.firstChild},
contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0},
visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden"},
hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden"},
enabled:function(a){return!a.disabled},
disabled:function(a){return a.disabled},
checked:function(a){return a.checked},
selected:function(a){return a.selected||jQuery.attr(a,"selected")},
text:function(a){return"text"==a.type},
radio:function(a){return"radio"==a.type},
checkbox:function(a){return"checkbox"==a.type},
file:function(a){return"file"==a.type},
password:function(a){return"password"==a.type},
submit:function(a){return"submit"==a.type},
image:function(a){return"image"==a.type},
reset:function(a){return"reset"==a.type},
button:function(a){return"button"==a.type||jQuery.nodeName(a,"button")},
input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},
has:function(a,i,m){return jQuery.find(m[3],a).length},
header:function(a){return/h\d/i.test(a.nodeName)},
animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem}).length}
}
},
parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,
new RegExp("^([:.#]*)("+chars+"+)")
],
multiFilter:function(expr,elems,not){
var old,cur=[];
while(expr&&expr!=old){
old=expr;
var f=jQuery.filter(expr,elems,not);
expr=f.t.replace(/^\s*,\s*/,"");
cur=not?elems=f.r:jQuery.merge(cur,f.r)}
return cur},
find:function(t,context){
if(typeof t!="string")
return[t];
if(context&&context.nodeType!=1&&context.nodeType!=9)
return[];
context=context||document;
var ret=[context],done=[],last,nodeName;
while(t&&last!=t){
var r=[];
last=t;
t=jQuery.trim(t);
var foundToken=false,
re=quickChild,
m=re.exec(t);
if(m){
nodeName=m[1].toUpperCase();
for(var i=0;ret[i];i++)
for(var c=ret[i].firstChild;c;c=c.nextSibling)
if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))
r.push(c);
ret=r;
t=t.replace(re,"");
if(t.indexOf(" ")==0)continue;
foundToken=true}else{
re=/^([>+~])\s*(\w*)/i;
if((m=re.exec(t))!=null){
r=[];
var merge={};
nodeName=m[2].toUpperCase();
m=m[1];
for(var j=0,rl=ret.length;j<rl;j++){
var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;
for(;n;n=n.nextSibling)
if(n.nodeType==1){
var id=jQuery.data(n);
if(m=="~"&&merge[id])break;
if(!nodeName||n.nodeName.toUpperCase()==nodeName){
if(m=="~")merge[id]=true;
r.push(n)}
if(m=="+")break}
}
ret=r;
t=jQuery.trim(t.replace(re,""));
foundToken=true}
}
if(t&&!foundToken){
if(!t.indexOf(",")){
if(context==ret[0])ret.shift();
done=jQuery.merge(done,ret);
r=ret=[context];
t=" "+t.substr(1,t.length)}else{
var re2=quickID;
var m=re2.exec(t);
if(m){
m=[0,m[2],m[3],m[1]]}else{
re2=quickClass;
m=re2.exec(t)}
m[2]=m[2].replace(/\\/g,"");
var elem=ret[ret.length-1];
if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){
var oid=elem.getElementById(m[2]);
if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])
oid=jQuery('[@id="'+m[2]+'"]',elem)[0];
ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[]}else{
for(var i=0;ret[i];i++){
var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];
if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")
tag="param";
r=jQuery.merge(r,ret[i].getElementsByTagName(tag))}
if(m[1]==".")
r=jQuery.classFilter(r,m[2]);
if(m[1]=="#"){
var tmp=[];
for(var i=0;r[i];i++)
if(r[i].getAttribute("id")==m[2]){
tmp=[r[i]];
break}
r=tmp}
ret=r}
t=t.replace(re2,"")}
}
if(t){
var val=jQuery.filter(t,r);
ret=r=val.r;
t=jQuery.trim(val.t)}
}
if(t)
ret=[];
if(ret&&context==ret[0])
ret.shift();
done=jQuery.merge(done,ret);
return done},
classFilter:function(r,m,not){
m=" "+m+" ";
var tmp=[];
for(var i=0;r[i];i++){
var pass=(" "+r[i].className+" ").indexOf(m)>=0;
if(!not&&pass||not&&!pass)
tmp.push(r[i])}
return tmp},
filter:function(t,r,not){
var last;
while(t&&t!=last){
last=t;
var p=jQuery.parse,m;
for(var i=0;p[i];i++){
m=p[i].exec(t);
if(m){
t=t.substring(m[0].length);
m[2]=m[2].replace(/\\/g,"");
break}
}
if(!m)
break;
if(m[1]==":"&&m[2]=="not")
r=isSimple.test(m[3])?
jQuery.filter(m[3],r,true).r:
jQuery(r).not(m[3]);
else if(m[1]==".")
r=jQuery.classFilter(r,m[2],not);
else if(m[1]=="["){
var tmp=[],type=m[3];
for(var i=0,rl=r.length;i<rl;i++){
var a=r[i],z=a[jQuery.props[m[2]]||m[2]];
if(z==null||/href|src|selected/.test(m[2]))
z=jQuery.attr(a,m[2])||'';
if((type==""&&!!z||
type=="="&&z==m[5]||
type=="!="&&z!=m[5]||
type=="^="&&z&&!z.indexOf(m[5])||
type=="$="&&z.substr(z.length-m[5].length)==m[5]||
(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)
tmp.push(a)}
r=tmp}else if(m[1]==":"&&m[2]=="nth-child"){
var merge={},tmp=[],
test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(
m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||
!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),
first=(test[1]+(test[2]||1))-0,last=test[3]-0;
for(var i=0,rl=r.length;i<rl;i++){
var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);
if(!merge[id]){
var c=1;
for(var n=parentNode.firstChild;n;n=n.nextSibling)
if(n.nodeType==1)
n.nodeIndex=c++;
merge[id]=true}
var add=false;
if(first==0){
if(node.nodeIndex==last)
add=true}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)
add=true;
if(add^not)
tmp.push(node)}
r=tmp}else{
var fn=jQuery.expr[m[1]];
if(typeof fn=="object")
fn=fn[m[2]];
if(typeof fn=="string")
fn=eval("false||function(a,i){return "+fn+";}");
r=jQuery.grep(r,function(elem,i){
return fn(elem,i,m,r)},not)}
}
return{r:r,t:t}},
dir:function(elem,dir){
var matched=[],
cur=elem[dir];
while(cur&&cur!=document){
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}
});
jQuery.event={
add:function(elem,types,handler,data){
if(elem.nodeType==3||elem.nodeType==8)
return;
if(jQuery.browser.msie&&elem.setInterval)
elem=window;
if(!handler.guid)
handler.guid=this.guid++;
if(data!=undefined){
var fn=handler;
handler=this.proxy(fn,function(){
return fn.apply(this,arguments)});
handler.data=data}
var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),
handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){
if(typeof jQuery!="undefined"&&!jQuery.event.triggered)
return jQuery.event.handle.apply(arguments.callee.elem,arguments)});
handle.elem=elem;
jQuery.each(types.split(/\s+/),function(index,type){
var parts=type.split(".");
type=parts[0];
handler.type=parts[1];
var handlers=events[type];
if(!handlers){
handlers=events[type]={};
if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){
if(elem.addEventListener)
elem.addEventListener(type,handle,false);
else if(elem.attachEvent)
elem.attachEvent("on"+type,handle)}
}
handlers[handler.guid]=handler;
jQuery.event.global[type]=true});
elem=null},
guid:1,
global:{},
remove:function(elem,types,handler){
if(elem.nodeType==3||elem.nodeType==8)
return;
var events=jQuery.data(elem,"events"),ret,index;
if(events){
if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))
for(var type in events)
this.remove(elem,type+(types||""));
else{
if(types.type){
handler=types.handler;
types=types.type}
jQuery.each(types.split(/\s+/),function(index,type){
var parts=type.split(".");
type=parts[0];
if(events[type]){
if(handler)
delete events[type][handler.guid];
else
for(handler in events[type])
if(!parts[1]||events[type][handler].type==parts[1])
delete events[type][handler];
for(ret in events[type])break;
if(!ret){
if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){
if(elem.removeEventListener)
elem.removeEventListener(type,jQuery.data(elem,"handle"),false);
else if(elem.detachEvent)
elem.detachEvent("on"+type,jQuery.data(elem,"handle"))}
ret=null;
delete events[type]}
}
})}
for(ret in events)break;
if(!ret){
var handle=jQuery.data(elem,"handle");
if(handle)handle.elem=null;
jQuery.removeData(elem,"events");
jQuery.removeData(elem,"handle")}
}
},
trigger:function(type,data,elem,donative,extra){
data=jQuery.makeArray(data);
if(type.indexOf("!")>=0){
type=type.slice(0,-1);
var exclusive=true}
if(!elem){
if(this.global[type])
jQuery("*").add([window,document]).trigger(type,data)}else{
if(elem.nodeType==3||elem.nodeType==8)
return undefined;
var val,ret,fn=jQuery.isFunction(elem[type]||null),
event=!data[0]||!data[0].preventDefault;
if(event){
data.unshift({
type:type,
target:elem,
preventDefault:function(){},
stopPropagation:function(){},
timeStamp:now()
});
data[0][expando]=true}
data[0].type=type;
if(exclusive)
data[0].exclusive=true;
var handle=jQuery.data(elem,"handle");
if(handle)
val=handle.apply(elem,data);
if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
val=false;
if(event)
data.shift();
if(extra&&jQuery.isFunction(extra)){
ret=extra.apply(elem,val==null?data:data.concat(val));
if(ret!==undefined)
val=ret}
if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){
this.triggered=true;
try{
elem[type]()}catch(e){}
}
this.triggered=false}
return val},
handle:function(event){
var val,ret,namespace,all,handlers;
event=arguments[0]=jQuery.event.fix(event||window.event);
namespace=event.type.split(".");
event.type=namespace[0];
namespace=namespace[1];
all=!namespace&&!event.exclusive;
handlers=(jQuery.data(this,"events")||{})[event.type];
for(var j in handlers){
var handler=handlers[j];
if(all||handler.type==namespace){
event.handler=handler;
event.data=handler.data;
ret=handler.apply(this,arguments);
if(val!==false)
val=ret;
if(ret===false){
event.preventDefault();
event.stopPropagation()}
}
}
return val},
fix:function(event){
if(event[expando]==true)
return event;
var originalEvent=event;
event={originalEvent:originalEvent};
var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");
for(var i=props.length;i;i--)
event[props[i]]=originalEvent[props[i]];
event[expando]=true;
event.preventDefault=function(){
if(originalEvent.preventDefault)
originalEvent.preventDefault();
originalEvent.returnValue=false};
event.stopPropagation=function(){
if(originalEvent.stopPropagation)
originalEvent.stopPropagation();
originalEvent.cancelBubble=true};
event.timeStamp=event.timeStamp||now();
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 doc=document.documentElement,body=document.body;
event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);
event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0)}
if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
event.which=event.charCode||event.keyCode;
if(!event.metaKey&&event.ctrlKey)
event.metaKey=event.ctrlKey;
if(!event.which&&event.button)
event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));
return event},
proxy:function(fn,proxy){
proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;
return proxy},
special:{
ready:{
setup:function(){
bindReady();
return},
teardown:function(){return}
},
mouseenter:{
setup:function(){
if(jQuery.browser.msie)return false;
jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);
return true},
teardown:function(){
if(jQuery.browser.msie)return false;
jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);
return true},
handler:function(event){
if(withinElement(event,this))return true;
event.type="mouseenter";
return jQuery.event.handle.apply(this,arguments)}
},
mouseleave:{
setup:function(){
if(jQuery.browser.msie)return false;
jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);
return true},
teardown:function(){
if(jQuery.browser.msie)return false;
jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);
return true},
handler:function(event){
if(withinElement(event,this))return true;
event.type="mouseleave";
return jQuery.event.handle.apply(this,arguments)}
}
}
};
jQuery.fn.extend({
bind:function(type,data,fn){
return type=="unload"?this.one(type,data,fn):this.each(function(){
jQuery.event.add(this,type,fn||data,fn&&data)})},
one:function(type,data,fn){
var one=jQuery.event.proxy(fn||data,function(event){
jQuery(this).unbind(event,one);
return(fn||data).apply(this,arguments)});
return this.each(function(){
jQuery.event.add(this,type,one,fn&&data)})},
unbind:function(type,fn){
return this.each(function(){
jQuery.event.remove(this,type,fn)})},
trigger:function(type,data,fn){
return this.each(function(){
jQuery.event.trigger(type,data,this,true,fn)})},
triggerHandler:function(type,data,fn){
return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn)},
toggle:function(fn){
var args=arguments,i=1;
while(i<args.length)
jQuery.event.proxy(fn,args[i++]);
return this.click(jQuery.event.proxy(fn,function(event){
this.lastToggle=(this.lastToggle||0)%i;
event.preventDefault();
return args[this.lastToggle++].apply(this,arguments)||false}))},
hover:function(fnOver,fnOut){
return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut)},
ready:function(fn){
bindReady();
if(jQuery.isReady)
fn.call(document,jQuery);
else
jQuery.readyList.push(function(){return fn.call(this,jQuery)});
return this}
});
jQuery.extend({
isReady:false,
readyList:[],
ready:function(){
if(!jQuery.isReady){
jQuery.isReady=true;
if(jQuery.readyList){
jQuery.each(jQuery.readyList,function(){
this.call(document)});
jQuery.readyList=null}
jQuery(document).triggerHandler("ready")}
}
});
var readyBound=false;
function bindReady(){
if(readyBound)return;
readyBound=true;
if(document.addEventListener&&!jQuery.browser.opera)
document.addEventListener("DOMContentLoaded",jQuery.ready,false);
if(jQuery.browser.msie&&window==top)(function(){
if(jQuery.isReady)return;
try{
document.documentElement.doScroll("left")}catch(error){
setTimeout(arguments.callee,0);
return}
jQuery.ready()})();
if(jQuery.browser.opera)
document.addEventListener("DOMContentLoaded",function(){
if(jQuery.isReady)return;
for(var i=0;i<document.styleSheets.length;i++)
if(document.styleSheets[i].disabled){
setTimeout(arguments.callee,0);
return}
jQuery.ready()},false);
if(jQuery.browser.safari){
var numStyles;
(function(){
if(jQuery.isReady)return;
if(document.readyState!="loaded"&&document.readyState!="complete"){
setTimeout(arguments.callee,0);
return}
if(numStyles===undefined)
numStyles=jQuery("style, link[rel=stylesheet]").length;
if(document.styleSheets.length!=numStyles){
setTimeout(arguments.callee,0);
return}
jQuery.ready()})()}
jQuery.event.add(window,"load",jQuery.ready)}
jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+
"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+
"submit,keydown,keypress,keyup,error").split(","),function(i,name){
jQuery.fn[name]=function(fn){
return fn?this.bind(name,fn):this.trigger(name)}});
var withinElement=function(event,elem){
var parent=event.relatedTarget;
while(parent&&parent!=elem)try{parent=parent.parentNode}catch(error){parent=elem}
return parent==elem};
jQuery(window).bind("unload",function(){
jQuery("*").add(document).unbind()});
jQuery.fn.extend({
_load:jQuery.fn.load,
load:function(url,params,callback){
if(typeof url!='string')
return this._load(url);
var off=url.indexOf(" ");
if(off>=0){
var selector=url.slice(off,url.length);
url=url.slice(0,off)}
callback=callback||function(){};
var type="GET";
if(params)
if(jQuery.isFunction(params)){
callback=params;
params=null}else{
params=jQuery.param(params);
type="POST"}
var self=this;
jQuery.ajax({
url:url,
type:type,
dataType:"html",
data:params,
complete:function(res,status){
if(status=="success"||status=="notmodified")
self.html(selector?
jQuery("<div/>")
.append(res.responseText.replace(/<script(.|\s)*?\/script>/g,""))
.find(selector):
res.responseText);
self.each(callback,[res.responseText,status,res])}
});
return this},
serialize:function(){
return jQuery.param(this.serializeArray())},
serializeArray:function(){
return this.map(function(){
return jQuery.nodeName(this,"form")?
jQuery.makeArray(this.elements):this})
.filter(function(){
return this.name&&!this.disabled&&
(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type))})
.map(function(i,elem){
var val=jQuery(this).val();
return val==null?null:
val.constructor==Array?
jQuery.map(val,function(val,i){
return{name:elem.name,value:val}}):
{name:elem.name,value:val}}).get()}
});
jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){
jQuery.fn[o]=function(f){
return this.bind(o,f)}});
var jsc=now();
jQuery.extend({
get:function(url,data,callback,type){
if(jQuery.isFunction(data)){
callback=data;
data=null}
return jQuery.ajax({
type:"GET",
url:url,
data:data,
success:callback,
dataType:type
})},
getScript:function(url,callback){
return jQuery.get(url,null,callback,"script")},
getJSON:function(url,data,callback){
return jQuery.get(url,data,callback,"json")},
post:function(url,data,callback,type){
if(jQuery.isFunction(data)){
callback=data;
data={}}
return jQuery.ajax({
type:"POST",
url:url,
data:data,
success:callback,
dataType:type
})},
ajaxSetup:function(settings){
jQuery.extend(jQuery.ajaxSettings,settings)},
ajaxSettings:{
url:location.href,
global:true,
type:"GET",
timeout:0,
contentType:"application/x-www-form-urlencoded",
processData:true,
async:true,
data:null,
username:null,
password:null,
accepts:{
xml:"application/xml, text/xml",
html:"text/html",
script:"text/javascript, application/javascript",
json:"application/json, text/javascript",
text:"text/plain",
_default:"*/*"
}
},
lastModified:{},
ajax:function(s){
s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));
var jsonp,jsre=/=\?(&|$)/g,status,data,
type=s.type.toUpperCase();
if(s.data&&s.processData&&typeof s.data!="string")
s.data=jQuery.param(s.data);
if(s.dataType=="jsonp"){
if(type=="GET"){
if(!s.url.match(jsre))
s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?"}else if(!s.data||!s.data.match(jsre))
s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";
s.dataType="json"}
if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){
jsonp="jsonp"+jsc++;
if(s.data)
s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");
s.url=s.url.replace(jsre,"="+jsonp+"$1");
s.dataType="script";
window[jsonp]=function(tmp){
data=tmp;
success();
complete();
window[jsonp]=undefined;
try{delete window[jsonp]}catch(e){}
if(head)
head.removeChild(script)}}
if(s.dataType=="script"&&s.cache==null)
s.cache=false;
if(s.cache===false&&type=="GET"){
var ts=now();
var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");
s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"")}
if(s.data&&type=="GET"){
s.url+=(s.url.match(/\?/)?"&":"?")+s.data;
s.data=null}
if(s.global&&!jQuery.active++)
jQuery.event.trigger("ajaxStart");
var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;
if(s.dataType=="script"&&type=="GET"
&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){
var head=document.getElementsByTagName("head")[0];
var script=document.createElement("script");
script.src=s.url;
if(s.scriptCharset)
script.charset=s.scriptCharset;
if(!jsonp){
var done=false;
script.onload=script.onreadystatechange=function(){
if(!done&&(!this.readyState||
this.readyState=="loaded"||this.readyState=="complete")){
done=true;
success();
complete();
head.removeChild(script)}
}}
head.appendChild(script);
return undefined}
var requestDone=false;
var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();
if(s.username)
xhr.open(type,s.url,s.async,s.username,s.password);
else
xhr.open(type,s.url,s.async);
try{
if(s.data)
xhr.setRequestHeader("Content-Type",s.contentType);
if(s.ifModified)
xhr.setRequestHeader("If-Modified-Since",
jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");
xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");
xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?
s.accepts[s.dataType]+", */*":
s.accepts._default)}catch(e){}
if(s.beforeSend&&s.beforeSend(xhr,s)===false){
s.global&&jQuery.active--;
xhr.abort();
return false}
if(s.global)
jQuery.event.trigger("ajaxSend",[xhr,s]);
var onreadystatechange=function(isTimeout){
if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){
requestDone=true;
if(ival){
clearInterval(ival);
ival=null}
status=isTimeout=="timeout"&&"timeout"||
!jQuery.httpSuccess(xhr)&&"error"||
s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||
"success";
if(status=="success"){
try{
data=jQuery.httpData(xhr,s.dataType,s.dataFilter)}catch(e){
status="parsererror"}
}
if(status=="success"){
var modRes;
try{
modRes=xhr.getResponseHeader("Last-Modified")}catch(e){}
if(s.ifModified&&modRes)
jQuery.lastModified[s.url]=modRes;
if(!jsonp)
success()}else
jQuery.handleError(s,xhr,status);
complete();
if(s.async)
xhr=null}
};
if(s.async){
var ival=setInterval(onreadystatechange,13);
if(s.timeout>0)
setTimeout(function(){
if(xhr){
xhr.abort();
if(!requestDone)
onreadystatechange("timeout")}
},s.timeout)}
try{
xhr.send(s.data)}catch(e){
jQuery.handleError(s,xhr,null,e)}
if(!s.async)
onreadystatechange();
function success(){
if(s.success)
s.success(data,status);
if(s.global)
jQuery.event.trigger("ajaxSuccess",[xhr,s])}
function complete(){
if(s.complete)
s.complete(xhr,status);
if(s.global)
jQuery.event.trigger("ajaxComplete",[xhr,s]);
if(s.global&&!--jQuery.active)
jQuery.event.trigger("ajaxStop")}
return xhr},
handleError:function(s,xhr,status,e){
if(s.error)s.error(xhr,status,e);
if(s.global)
jQuery.event.trigger("ajaxError",[xhr,s,e])},
active:0,
httpSuccess:function(xhr){
try{
return!xhr.status&&location.protocol=="file:"||
(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||
jQuery.browser.safari&&xhr.status==undefined}catch(e){}
return false},
httpNotModified:function(xhr,url){
try{
var xhrRes=xhr.getResponseHeader("Last-Modified");
return xhr.status==304||xhrRes==jQuery.lastModified[url]||
jQuery.browser.safari&&xhr.status==undefined}catch(e){}
return false},
httpData:function(xhr,type,filter){
var ct=xhr.getResponseHeader("content-type"),
xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,
data=xml?xhr.responseXML:xhr.responseText;
if(xml&&data.documentElement.tagName=="parsererror")
throw"parsererror";
if(filter)
data=filter(data,type);
if(type=="script")
jQuery.globalEval(data);
if(type=="json")
data=eval("("+data+")");
return data},
param:function(a){
var s=[];
if(a.constructor==Array||a.jquery)
jQuery.each(a,function(){
s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value))});
else
for(var j in a)
if(a[j]&&a[j].constructor==Array)
jQuery.each(a[j],function(){
s.push(encodeURIComponent(j)+"="+encodeURIComponent(this))});
else
s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));
return s.join("&").replace(/%20/g,"+")}
});
jQuery.fn.extend({
show:function(speed,callback){
return speed?
this.animate({
height:"show",width:"show",opacity:"show"
},speed,callback):
this.filter(":hidden").each(function(){
this.style.display=this.oldblock||"";
if(jQuery.css(this,"display")=="none"){
var elem=jQuery("<"+this.tagName+" />").appendTo("body");
this.style.display=elem.css("display");
if(this.style.display=="none")
this.style.display="block";
elem.remove()}
}).end()},
hide:function(speed,callback){
return speed?
this.animate({
height:"hide",width:"hide",opacity:"hide"
},speed,callback):
this.filter(":visible").each(function(){
this.oldblock=this.oldblock||jQuery.css(this,"display");
this.style.display="none"}).end()},
_toggle:jQuery.fn.toggle,
toggle:function(fn,fn2){
return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?
this._toggle.apply(this,arguments):
fn?
this.animate({
height:"toggle",width:"toggle",opacity:"toggle"
},fn,fn2):
this.each(function(){
jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]()})},
slideDown:function(speed,callback){
return this.animate({height:"show"},speed,callback)},
slideUp:function(speed,callback){
return this.animate({height:"hide"},speed,callback)},
slideToggle:function(speed,callback){
return this.animate({height:"toggle"},speed,callback)},
fadeIn:function(speed,callback){
return this.animate({opacity:"show"},speed,callback)},
fadeOut:function(speed,callback){
return this.animate({opacity:"hide"},speed,callback)},
fadeTo:function(speed,to,callback){
return this.animate({opacity:to},speed,callback)},
animate:function(prop,speed,easing,callback){
var optall=jQuery.speed(speed,easing,callback);
return this[optall.queue===false?"each":"queue"](function(){
if(this.nodeType!=1)
return false;
var opt=jQuery.extend({},optall),p,
hidden=jQuery(this).is(":hidden"),self=this;
for(p in prop){
if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
return opt.complete.call(this);
if(p=="height"||p=="width"){
opt.display=jQuery.css(this,"display");
opt.overflow=this.style.overflow}
}
if(opt.overflow!=null)
this.style.overflow="hidden";
opt.curAnim=jQuery.extend({},prop);
jQuery.each(prop,function(name,val){
var e=new jQuery.fx(self,opt,name);
if(/toggle|show|hide/.test(val))
e[val=="toggle"?hidden?"show":"hide":val](prop);
else{
var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),
start=e.cur(true)||0;
if(parts){
var end=parseFloat(parts[2]),
unit=parts[3]||"px";
if(unit!="px"){
self.style[name]=(end||1)+unit;
start=((end||1)/e.cur(true))*start;
self.style[name]=start+unit}
if(parts[1])
end=((parts[1]=="-="?-1:1)*end)+start;
e.custom(start,end,unit)}else
e.custom(start,val,"")}
});
return true})},
queue:function(type,fn){
if(jQuery.isFunction(type)||(type&&type.constructor==Array)){
fn=type;
type="fx"}
if(!type||(typeof type=="string"&&!fn))
return queue(this[0],type);
return this.each(function(){
if(fn.constructor==Array)
queue(this,type,fn);
else{
queue(this,type).push(fn);
if(queue(this,type).length==1)
fn.call(this)}
})},
stop:function(clearQueue,gotoEnd){
var timers=jQuery.timers;
if(clearQueue)
this.queue([]);
this.each(function(){
for(var i=timers.length-1;i>=0;i--)
if(timers[i].elem==this){
if(gotoEnd)
timers[i](true);
timers.splice(i,1)}
});
if(!gotoEnd)
this.dequeue();
return this}
});
var queue=function(elem,type,array){
if(elem){
type=type||"fx";
var q=jQuery.data(elem,type+"queue");
if(!q||array)
q=jQuery.data(elem,type+"queue",jQuery.makeArray(array))}
return q};
jQuery.fn.dequeue=function(type){
type=type||"fx";
return this.each(function(){
var q=queue(this,type);
q.shift();
if(q.length)
q[0].call(this)})};
jQuery.extend({
speed:function(speed,easing,fn){
var opt=speed&&speed.constructor==Object?speed:{
complete:fn||!fn&&easing||
jQuery.isFunction(speed)&&speed,
duration:speed,
easing:fn&&easing||easing&&easing.constructor!=Function&&easing
};
opt.duration=(opt.duration&&opt.duration.constructor==Number?
opt.duration:
jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;
opt.old=opt.complete;
opt.complete=function(){
if(opt.queue!==false)
jQuery(this).dequeue();
if(jQuery.isFunction(opt.old))
opt.old.call(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:[],
timerId:null,
fx:function(elem,options,prop){
this.options=options;
this.elem=elem;
this.prop=prop;
if(!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);
if(this.prop=="height"||this.prop=="width")
this.elem.style.display="block"},
cur:function(force){
if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)
return this.elem[this.prop];
var r=parseFloat(jQuery.css(this.elem,this.prop,force));
return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0},
custom:function(from,to,unit){
this.startTime=now();
this.start=from;
this.end=to;
this.unit=unit||this.unit||"px";
this.now=this.start;
this.pos=this.state=0;
this.update();
var self=this;
function t(gotoEnd){
return self.step(gotoEnd)}
t.elem=this.elem;
jQuery.timers.push(t);
if(jQuery.timerId==null){
jQuery.timerId=setInterval(function(){
var timers=jQuery.timers;
for(var i=0;i<timers.length;i++)
if(!timers[i]())
timers.splice(i--,1);
if(!timers.length){
clearInterval(jQuery.timerId);
jQuery.timerId=null}
},13)}
},
show:function(){
this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);
this.options.show=true;
this.custom(0,this.cur());
if(this.prop=="width"||this.prop=="height")
this.elem.style[this.prop]="1px";
jQuery(this.elem).show()},
hide:function(){
this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);
this.options.hide=true;
this.custom(this.cur(),0)},
step:function(gotoEnd){
var t=now();
if(gotoEnd||t>this.options.duration+this.startTime){
this.now=this.end;
this.pos=this.state=1;
this.update();
this.options.curAnim[this.prop]=true;
var done=true;
for(var i in this.options.curAnim)
if(this.options.curAnim[i]!==true)
done=false;
if(done){
if(this.options.display!=null){
this.elem.style.overflow=this.options.overflow;
this.elem.style.display=this.options.display;
if(jQuery.css(this.elem,"display")=="none")
this.elem.style.display="block"}
if(this.options.hide)
this.elem.style.display="none";
if(this.options.hide||this.options.show)
for(var p in this.options.curAnim)
jQuery.attr(this.elem.style,p,this.options.orig[p])}
if(done)
this.options.complete.call(this.elem);
return false}else{
var n=t-this.startTime;
this.state=n/this.options.duration;
this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);
this.now=this.start+((this.end-this.start)*this.pos);
this.update()}
return true}
};
jQuery.extend(jQuery.fx,{
speeds:{
slow:600,
fast:200,
def:400
},
step:{
scrollLeft:function(fx){
fx.elem.scrollLeft=fx.now},
scrollTop:function(fx){
fx.elem.scrollTop=fx.now},
opacity:function(fx){
jQuery.attr(fx.elem.style,"opacity",fx.now)},
_default:function(fx){
fx.elem.style[fx.prop]=fx.now+fx.unit}
}
});
jQuery.fn.offset=function(){
var left=0,top=0,elem=this[0],results;
if(elem)with(jQuery.browser){
var parent=elem.parentNode,
offsetChild=elem,
offsetParent=elem.offsetParent,
doc=elem.ownerDocument,
safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),
css=jQuery.curCSS,
fixed=css(elem,"position")=="fixed";
if(elem.getBoundingClientRect){
var box=elem.getBoundingClientRect();
add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),
box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));
add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop)}else{
add(elem.offsetLeft,elem.offsetTop);
while(offsetParent){
add(offsetParent.offsetLeft,offsetParent.offsetTop);
if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)
border(offsetParent);
if(!fixed&&css(offsetParent,"position")=="fixed")
fixed=true;
offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;
offsetParent=offsetParent.offsetParent}
while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){
if(!/^inline|table.*$/i.test(css(parent,"display")))
add(-parent.scrollLeft,-parent.scrollTop);
if(mozilla&&css(parent,"overflow")!="visible")
border(parent);
parent=parent.parentNode}
if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||
(mozilla&&css(offsetChild,"position")!="absolute"))
add(-doc.body.offsetLeft,-doc.body.offsetTop);
if(fixed)
add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),
Math.max(doc.documentElement.scrollTop,doc.body.scrollTop))}
results={top:top,left:left}}
function border(elem){
add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true))}
function add(l,t){
left+=parseInt(l,10)||0;
top+=parseInt(t,10)||0}
return results};
jQuery.fn.extend({
position:function(){
var left=0,top=0,results;
if(this[0]){
var offsetParent=this.offsetParent(),
offset=this.offset(),
parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();
offset.top-=num(this,'marginTop');
offset.left-=num(this,'marginLeft');
parentOffset.top+=num(offsetParent,'borderTopWidth');
parentOffset.left+=num(offsetParent,'borderLeftWidth');
results={
top:offset.top-parentOffset.top,
left:offset.left-parentOffset.left
}}
return results},
offsetParent:function(){
var offsetParent=this[0].offsetParent;
while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
offsetParent=offsetParent.offsetParent;
return jQuery(offsetParent)}
});
jQuery.each(['Left','Top'],function(i,name){
var method='scroll'+name;
jQuery.fn[method]=function(val){
if(!this[0])return;
return val!=undefined?
this.each(function(){
this==window||this==document?
window.scrollTo(
!i?val:jQuery(window).scrollLeft(),
i?val:jQuery(window).scrollTop()
):
this[method]=val}):
this[0]==window||this[0]==document?
self[i?'pageYOffset':'pageXOffset']||
jQuery.boxModel&&document.documentElement[method]||
document.body[method]:
this[0][method]}});
jQuery.each(["Height","Width"],function(i,name){
var tl=i?"Left":"Top",br=i?"Right":"Bottom";
jQuery.fn["inner"+name]=function(){
return this[name.toLowerCase()]()+
num(this,"padding"+tl)+
num(this,"padding"+br)};
jQuery.fn["outer"+name]=function(margin){
return this["inner"+name]()+
num(this,"border"+tl+"Width")+
num(this,"border"+br+"Width")+
(margin?
num(this,"margin"+tl)+num(this,"margin"+br):0)}})})();


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

;(function($){
$.fn.ajaxSubmit=function(options){
if(!this.length){
log('ajaxSubmit: skipping submit process - no element selected');
return this}
if(typeof options=='function')
options={success:options};
var url=this.attr('action')||window.location.href;
url=(url.match(/^([^#]+)/)||[])[1];
url=url||window.location.href;
url=(url.match(/^([^#]+)/)||[])[1];
url=url||'';
options=$.extend({
url:url,
type:this.attr('method')||'GET'
},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 a=this.formToArray(options.semantic);
if(options.data){
options.extraData=options.data;
for(var n in options.data){
if(options.data[n]instanceof Array){
for(var k in options.data[n])
a.push({name:n,value:options.data[n][k]})}
else
a.push({name:n,value:options.data[n]})}
}
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);
if(options.type.toUpperCase()=='GET'){
options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;
options.data=null}
else
options.data=q;
var $form=this,callbacks=[];
if(options.resetForm)callbacks.push(function(){$form.resetForm()});
if(options.clearForm)callbacks.push(function(){$form.clearForm()});
if(!options.dataType&&options.target){
var oldSuccess=options.success||function(){};
callbacks.push(function(data){
$(options.target).html(data).each(oldSuccess,arguments)})}
else if(options.success)
callbacks.push(options.success);
options.success=function(data,status){
for(var i=0,max=callbacks.length;i<max;i++)
callbacks[i].apply(options,[data,status,$form])};
var files=$('input:file',this).fieldValue();
var found=false;
for(var j=0;j<files.length;j++)
if(files[j])
found=true;
if(options.iframe||found){
if(options.closeKeepAlive)
$.get(options.closeKeepAlive,fileUpload);
else
fileUpload()}
else
$.ajax(options);
this.trigger('form-submit-notify',[this,options]);
return this;
function fileUpload(){
var form=$form[0];
if($(':input[name=submit]',form).length){
alert('Error: Form elements must not be named "submit".');
return}
var opts=$.extend({},$.ajaxSettings,options);
var s=$.extend(true,{},$.extend(true,{},$.ajaxSettings),opts);
var id='jqFormIO'+(new Date().getTime());
var $io=$('<iframe id="'+id+'" name="'+id+'" src="about:blank" />');
var io=$io[0];
$io.css({position:'absolute',top:'-1000px',left:'-1000px'});
var xhr={
aborted:0,
responseText:null,
responseXML:null,
status:0,
statusText:'n/a',
getAllResponseHeaders:function(){},
getResponseHeader:function(){},
setRequestHeader:function(){},
abort:function(){
this.aborted=1;
$io.attr('src','about:blank')}
};
var g=opts.global;
if(g&&!$.active++)$.event.trigger("ajaxStart");
if(g)$.event.trigger("ajaxSend",[xhr,opts]);
if(s.beforeSend&&s.beforeSend(xhr,s)===false){
s.global&&$.active--;
return}
if(xhr.aborted)
return;
var cbInvoked=0;
var timedOut=0;
var sub=form.clk;
if(sub){
var n=sub.name;
if(n&&!sub.disabled){
options.extraData=options.extraData||{};
options.extraData[n]=sub.value;
if(sub.type=="image"){
options.extraData[name+'.x']=form.clk_x;
options.extraData[name+'.y']=form.clk_y}
}
}
setTimeout(function(){
var t=$form.attr('target'),a=$form.attr('action');
form.setAttribute('target',id);
if(form.getAttribute('method')!='POST')
form.setAttribute('method','POST');
if(form.getAttribute('action')!=opts.url)
form.setAttribute('action',opts.url);
if(!options.skipEncodingOverride){
$form.attr({
encoding:'multipart/form-data',
enctype:'multipart/form-data'
})}
if(opts.timeout)
setTimeout(function(){timedOut=true;cb()},opts.timeout);
var extraInputs=[];
try{
if(options.extraData)
for(var n in options.extraData)
extraInputs.push(
$('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />')
.appendTo(form)[0]);
$io.appendTo('body');
io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);
form.submit()}
finally{
form.setAttribute('action',a);
t?form.setAttribute('target',t):$form.removeAttr('target');
$(extraInputs).remove()}
},10);
var nullCheckFlag=0;
function cb(){
if(cbInvoked++)return;
io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);
var ok=true;
try{
if(timedOut)throw'timeout';
var data,doc;
doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;
if((doc.body==null||doc.body.innerHTML=='')&&!nullCheckFlag){
nullCheckFlag=1;
cbInvoked--;
setTimeout(cb,100);
return}
xhr.responseText=doc.body?doc.body.innerHTML:null;
xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;
xhr.getResponseHeader=function(header){
var headers={'content-type':opts.dataType};
return headers[header]};
if(opts.dataType=='json'||opts.dataType=='script'){
var ta=doc.getElementsByTagName('textarea')[0];
xhr.responseText=ta?ta.value:xhr.responseText}
else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){
xhr.responseXML=toXml(xhr.responseText)}
data=$.httpData(xhr,opts.dataType)}
catch(e){
ok=false;
$.handleError(opts,xhr,'error',e)}
if(ok){
opts.success(data,'success');
if(g)$.event.trigger("ajaxSuccess",[xhr,opts])}
if(g)$.event.trigger("ajaxComplete",[xhr,opts]);
if(g&&!--$.active)$.event.trigger("ajaxStop");
if(opts.complete)opts.complete(xhr,ok?'success':'error');
setTimeout(function(){
$io.remove();
xhr.responseXML=null},100)};
function toXml(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.tagName!='parsererror')?doc:null}}};
$.fn.ajaxForm=function(options){
return this.ajaxFormUnbind().bind('submit.form-plugin',function(){
$(this).ajaxSubmit(options);
return false}).each(function(){
$(":submit,input:image",this).bind('click.form-plugin',function(e){
var form=this.form;
form.clk=this;
if(this.type=='image'){
if(e.offsetX!=undefined){
form.clk_x=e.offsetX;
form.clk_y=e.offsetY}else if(typeof $.fn.offset=='function'){
var offset=$(this).offset();
form.clk_x=e.pageX-offset.left;
form.clk_y=e.pageY-offset.top}else{
form.clk_x=e.pageX-this.offsetLeft;
form.clk_y=e.pageY-this.offsetTop}
}
setTimeout(function(){form.clk=form.clk_x=form.clk_y=null},10)})})};
$.fn.ajaxFormUnbind=function(){
this.unbind('submit.form-plugin');
return this.each(function(){
$(":submit,input:image",this).unbind('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;
for(var i=0,max=els.length;i<max;i++){
var el=els[i];
var n=el.name;
if(!n)continue;
if(semantic&&form.clk&&el.type=="image"){
if(!el.disabled&&form.clk==el)
a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
continue}
var v=$.fieldValue(el,true);
if(v&&v.constructor==Array){
for(var 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})}
if(!semantic&&form.clk){
var inputs=form.getElementsByTagName("input");
for(var i=0,max=inputs.length;i<max;i++){
var input=inputs[i];
var n=input.name;
if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
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(typeof successful=='undefined')successful=true;
if(successful&&(!n||el.disabled||t=='reset'||t=='button'||
(t=='checkbox'||t=='radio')&&!el.checked||
(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||
tag=='select'&&el.selectedIndex==-1))
return null;
if(tag=='select'){
var index=el.selectedIndex;
if(index<0)return null;
var a=[],ops=el.options;
var one=(t=='select-one');
var max=(one?index+1:ops.length);
for(var i=(one?index:0);i<max;i++){
var op=ops[i];
if(op.selected){
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.value};
$.fn.clearForm=function(){
return this.each(function(){
$('input,select,textarea',this).clearFields()})};
$.fn.clearFields=$.fn.clearInputs=function(){
return this.each(function(){
var t=this.type,tag=this.tagName.toLowerCase();
if(t=='text'||t=='password'||tag=='textarea')
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}
})};
function log(){
if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''))}})(jQuery);


/* prive/javascript/ajaxCallback.js */
;
if(!jQuery.load_handlers){
jQuery.load_handlers=new Array();
function onAjaxLoad(f){
jQuery.load_handlers.push(f)};
function triggerAjaxLoad(root){
for(var i=0;i<jQuery.load_handlers.length;i++)
jQuery.load_handlers[i].apply(root)};
jQuery.fn._ACBload=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(res,status){triggerAjaxLoad(this);callback.call(this,res,status)};
return this._ACBload(url,params,callback2)};
jQuery._ACBajax=jQuery.ajax;
jQuery.ajax=function(type){
var s=jQuery.extend(true,{},jQuery.ajaxSettings,type);
var callbackContext=s.context||s;
if(jQuery.ajax.caller==jQuery.fn._load)return jQuery._ACBajax(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")triggerAjaxLoad(document)};
return jQuery._ACBajax(type)}}
jQuery.fn.animeajax=function(end){
this.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.positionner=function(force){
var offset=jQuery(this).offset({'scroll':false});
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['top']-5<=scrolltop)
scroll=offset['top']-5;
else if(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);
jQuery(jQuery('*',this).filter('input[type=text],textarea')[0]).focus();
return this}
var virtualbuffer_id='spip_virtualbufferupdate';
function initReaderBuffer(){
if(jQuery('#'+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="'+virtualbuffer_id+'" id="'+virtualbuffer_id+'" value="0" /></p>')}
function updateReaderBuffer(){
var i=jQuery('#'+virtualbuffer_id);
if(!i.length)return;
i.attr('value',parseInt(i.attr('value'))+1)}
jQuery.fn.formulaire_dyn_ajax=function(target){
if(this.length)
initReaderBuffer();
return this.each(function(){
var cible=target||this;
jQuery('form:not(.noajax,.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).addClass('loading').animeajax()},
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 recu=jQuery('<div><\/div>').html(c);
var d=jQuery('div.ajax',recu);
if(d.length)
c=d.html();
jQuery(cible)
.removeClass('loading')
.html(c);
var a=jQuery('a:first',recu).eq(0);
if(a.length&&a.is('a[name=ajax_ancre]')){
a=a.attr('href');
setTimeout(function(){
jQuery(a,cible).positionner(true)},10)}
else{
jQuery(cible).positionner(false);
if(a.length&&a.is('a[name=ajax_redirect]')){
a=a.attr('href');
jQuery(cible).addClass('loading').animeajax();
setTimeout(function(){
document.location.replace(a)},10)}
}
triggerAjaxLoad(cible);
updateReaderBuffer()}
},
iframe:jQuery.browser.msie
})
.addClass('noajax')})})}
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 preloaded_urls={};
var ajaxbloc_selecteur;
jQuery.fn.ajaxbloc=function(){
if(this.length)
initReaderBuffer();
return this.each(function(){
jQuery('div.ajaxbloc',this).ajaxbloc();var blocfrag=jQuery(this);
var on_pagination=function(c){
jQuery(blocfrag)
.html(c)
.removeClass('loading');
var a=jQuery('a:first',jQuery(blocfrag)).eq(0);
if(a.length&&a.is('a[name=ajax_ancre]')
){
a=a.attr('href');
setTimeout(function(){
jQuery(a,blocfrag).positionner(true)},10)}
else{
jQuery(blocfrag).positionner(false)}
updateReaderBuffer()}
var ajax_env=(""+blocfrag.attr('class')).match(/env-([^ ]+)/);
if(!ajax_env||ajax_env==undefined)return;
ajax_env=ajax_env[1];
if(ajaxbloc_selecteur==undefined)
ajaxbloc_selecteur='.pagination a,a.ajax';
jQuery(ajaxbloc_selecteur,this).not('.noajax').each(function(){
var url=this.href.split('#');
url[0]+=(url[0].indexOf("?")>0?'&':'?')+'var_ajax=1&var_ajax_env='+encodeURIComponent(ajax_env);
if(url[1])
url[0]+="&var_ajax_ancre="+url[1];
if(jQuery(this).is('.preload')&&!preloaded_urls[url[0]]){
jQuery.ajax({"url":url[0],"success":function(r){preloaded_urls[url[0]]=r}})}
jQuery(this).click(function(){
if(!ajax_confirm){
ajax_confirm=true;
var d=new Date();
if((d.getTime()-ajax_confirm_date)<=2)
return false}
jQuery(blocfrag)
.animeajax()
.addClass('loading');
if(preloaded_urls[url[0]]){
on_pagination(preloaded_urls[url[0]]);
triggerAjaxLoad(document)}else{
jQuery.ajax({
url:url[0],
success:function(c){
on_pagination(c);
preloaded_urls[url[0]]=c}
})}
return false})}).addClass('noajax');jQuery('form.bouton_action_post.ajax:not(.noajax)',this).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).addClass('loading').animeajax()},
success:function(c){
on_pagination(c);
preloaded_urls={};jQuery(blocfrag)
.ajaxbloc()},
iframe:jQuery.browser.msie
})
.addClass('noajax')})})};
jQuery(function(){
jQuery('form:not(.bouton_action_post)').parents('div.ajax')
.formulaire_dyn_ajax();
jQuery('div.ajaxbloc').ajaxbloc()});
onAjaxLoad(function(){
if(jQuery){
jQuery('form:not(.bouton_action_post)',this).parents('div.ajax')
.formulaire_dyn_ajax();
jQuery('div.ajaxbloc',this)
.ajaxbloc()}
});


/* plugins/spip_images/js/highslide.js */
;

var hs={
graphicsDir:'highslide/graphics/',
restoreCursor:"zoomout.cur",
expandSteps:10,
expandDuration:250,
restoreSteps:10,
restoreDuration:250,
allowMultipleInstances:true,
hideThumbOnExpand:true,
captionSlideSpeed:1,
outlineWhileAnimating:false,
outlineStartOffset:3,
marginLeft:10,
marginRight:35,
marginTop:10,
marginBottom:35,
numberOfImagesToPreload:5,
zIndexCounter:1001,
fullExpandIcon:'fullexpand.gif',
fullExpandTitle:'Expand to actual size',
restoreTitle:'Click to close image, click and drag to move. Use arrow keys for next and previous.',
focusTitle:'Click to bring to front',
loadingText:'Loading...',
loadingTitle:'Click to cancel',
loadingOpacity:0.75,
showCredits:false,
creditsText:'Réalisé par Vikjavev.no pour <i>N>T</i>',
creditsHref:'http://www.nouveauxterroires.fr',
creditsTitle:'Nouveaux territoires',
enableKeyListener:true,
anchor:'auto',
align:'auto',
targetX:null,
targetY:null,
captionId:null,
captionTemplateId:null,
slideshowGroup:null,
spaceForCaption:30,
minWidth:200,
minHeight:200,
allowSizeReduction:true,
outlineType:'drop-shadow',
wrapperClassName:null,
preloadTheseImages:new Array(),
continuePreloading:true,
expandedImagesCounter:0,
expanders:new Array(),
overrides:new Array(
'anchor',
'align',
'targetX',
'targetY',
'outlineType',
'outlineWhileAnimating',
'spaceForCaption',
'wrapperClassName',
'minWidth',
'minHeight',
'captionId',
'captionTemplateId',
'allowSizeReduction',
'slideshowGroup'
),
overlays:new Array(),
pendingOutlines:new Array(),
origNodes:new Array(),
faders:new Array(),
ie:(document.all&&!window.opera),
safari:navigator.userAgent.indexOf("Safari")!=-1,
hasFocused:false,
$:function(id){
return document.getElementById(id)},
push:function(arr,val){
arr[arr.length]=val},
createElement:function(tag,attribs,styles,parent,nopad){
var el=document.createElement(tag);
if(attribs)hs.setAttribs(el,attribs);
if(nopad)hs.setStyles(el,{padding:0,border:'none',margin:0});
if(styles)hs.setStyles(el,styles);
if(parent)parent.appendChild(el);
return el},
setAttribs:function(el,attribs){
for(var x in attribs){
el[x]=attribs[x]}
},
setStyles:function(el,styles){
for(var x in styles){
try{
if(hs.ie&&x=='opacity')el.style.filter='alpha(opacity='+(styles[x]*100)+')';
else el.style[x]=styles[x]}
catch(e){}
}
},
ieVersion:function(){
arr=navigator.appVersion.split("MSIE");
return parseFloat(arr[1])},
clientInfo:function(){
var iebody=document.compatMode&&document.compatMode!="BackCompat"
?document.documentElement:document.body;
this.width=hs.ie?iebody.clientWidth:self.innerWidth;
this.height=hs.ie?iebody.clientHeight:self.innerHeight;
this.scrollLeft=hs.ie?iebody.scrollLeft:pageXOffset;
this.scrollTop=hs.ie?iebody.scrollTop:pageYOffset},
position:function(el){
var parent=el;
var p={x:parent.offsetLeft,y:parent.offsetTop};
while(parent.offsetParent){
parent=parent.offsetParent;
p.x+=parent.offsetLeft;
p.y+=parent.offsetTop;
if(parent!=document.body&&parent!=document.documentElement){
p.x-=parent.scrollLeft;
p.y-=parent.scrollTop}
}
return p},
expand:function(a,params,custom){
try{
new HsExpander(a,params,custom);
return false}catch(e){return true}
},
focusTopmost:function(){
var topZ=0,topmostKey=-1;
for(i=0;i<hs.expanders.length;i++){
if(hs.expanders[i]){
if(hs.expanders[i].wrapper.style.zIndex&&hs.expanders[i].wrapper.style.zIndex>topZ){
topZ=hs.expanders[i].wrapper.style.zIndex;
topmostKey=i}
}
}
if(topmostKey==-1)hs.focusKey=-1;
else hs.expanders[topmostKey].focus()},
closeId:function(id){
return hs.close(id)},
close:function(el){
try{hs.getExpander(el).doClose()}catch(e){}
return false},
getAdjacentAnchor:function(key,op){
var aAr=document.getElementsByTagName('A'),hsAr=new Array,activeI=-1,j=0;
for(i=0;i<aAr.length;i++){
if(hs.isHsAnchor(aAr[i])&&((hs.expanders[key].slideshowGroup==hs.getParam(aAr[i],'slideshowGroup')))){
hsAr[j]=aAr[i];
if(hs.expanders[key]&&aAr[i]==hs.expanders[key].a){
activeI=j}
j++}
}
return hsAr[activeI+op]},
getParam:function(a,param){
try{
var s=a.onclick.toString().replace(/\s/g,' ').split('{')[2].split('}')[0];
if(hs.safari){
for(var i=0;i<hs.overrides.length;i++){
s=s.replace(hs.overrides[i]+':',','+hs.overrides[i]+':').replace(new RegExp("^\\s*?,"),'')}
}
eval('var arr = {'+s+'};');
if(arr[param])return arr[param];
else return hs[param]}catch(e){
return hs[param]}
},
getSrc:function(a){
var src=hs.getParam(a,'src');
if(src)return src;
return a.rel.replace(/_slash_/g,'/')||a.href},
cloneNode:function(id){
if(!hs.$(id)&&!hs.origNodes[id])return null;
var clone;
if(hs.origNodes[id]){
clone=hs.origNodes[id].cloneNode(1);
hs.setId(clone,/-hsOrig$/,1)}else{
clone=hs.$(id).cloneNode(1);
if(!id.match(/-hsCache[0-9]+$/)){
hs.origNodes[id]=hs.$(id);
hs.setId(hs.$(id),'-hsOrig')}
}
return clone},
setId:function(d,suff,remove){
if(d.id)d.id=remove?d.id.replace(suff,''):d.id+suff;
if(d.name)d.name=remove?d.name.replace(suff,''):d.name+suff;
if(hs.geckoBug&&hs.geckoBug(d))return;
var a=d.childNodes;
for(var i=0;i<a.length;i++){
if(a[i])hs.setId(a[i],suff,remove)}
},
purge:function(d){
var a=d.attributes,i,l,n;
if(a){
l=a.length;
for(i=0;i<l;i+=1){
n=a[i].name;
if(typeof d[n]==='function'){
d[n]=null}
}
}
if(hs.geckoBug&&hs.geckoBug(d))return;
a=d.childNodes;
if(a){
l=a.length;
for(i=0;i<l;i+=1){
hs.purge(d.childNodes[i])}
}
},
previousOrNext:function(el,op){
if(typeof el=='object')var activeKey=hs.getWrapperKey(el);
else if(typeof el=='number')var activeKey=el;
try{hs.getAdjacentAnchor(activeKey,op).onclick()}catch(e){}
try{hs.expanders[activeKey].doClose()}catch(e){}
return false},
previous:function(el){
return hs.previousOrNext(el,-1)},
next:function(el){
return hs.previousOrNext(el,1)},
keyHandler:function(e){
if(!e)e=window.event;
if(!e.target)e.target=e.srcElement;
if(e.target.form)return;
var op=null;
switch(e.keyCode){
case 34:
case 39:
case 40:
op=1;
break;
case 33:
case 37:
case 38:
op=-1;
break;
case 27:
case 13:
op=0}
if(op!==null){
hs.removeEventListener(document,'keydown',hs.keyHandler);
try{if(!hs.enableKeyListener)return true}catch(e){}
if(e.preventDefault)e.preventDefault();
else e.returnValue=false;
if(op==0){
try{hs.getExpander().doClose()}catch(e){}
return false}else{
return hs.previousOrNext(hs.focusKey,op)}
}else return true},
registerOverlay:function(overlay){
hs.push(hs.overlays,overlay)},
getWrapperKey:function(element){
var key=-1,el,re=/^highslide-wrapper-([0-9]+)$/;
el=element;
while(el.parentNode){
el=el.parentNode;
if(el.id&&el.id.match(re))return el.id.replace(re,"$1")}
el=element;
while(el.parentNode){
if(el.tagName&&hs.isHsAnchor(el)){
for(key=0;key<hs.expanders.length;key++){
exp=hs.expanders[key];
if(exp&&exp.a==el)return key}
}
el=el.parentNode}
},
getExpander:function(el){
try{
if(!el)return hs.expanders[hs.focusKey];
if(typeof(el)=='string')el=hs.$(el);
return hs.expanders[hs.getWrapperKey(el)]}catch(e){}
},
cleanUp:function(){
for(i=0;i<hs.expanders.length;i++){
if(hs.expanders[i]&&hs.expanders[i].isExpanded)hs.focusTopmost()}
},
mouseClickHandler:function(e)
{
if(!e)e=window.event;
if(e.button>1)return true;
if(!e.target)e.target=e.srcElement;
var fobj=e.target;
while(fobj.parentNode
&&!(fobj.className&&fobj.className.match(/highslide-(image|move|html)/)))
{
fobj=fobj.parentNode}
if(!fobj.parentNode)return;
hs.dragExp=hs.getExpander(fobj);
if(fobj.className.match(/highslide-(image|move)/)){
var isDraggable=true;
var wLeft=parseInt(hs.dragExp.wrapper.style.left);
var wTop=parseInt(hs.dragExp.wrapper.style.top)}
if(e.type=='mousedown'){
if(isDraggable)
{
if(fobj.className.match('highslide-image'))hs.dragExp.content.style.cursor='move';
hs.wLeft=wLeft;
hs.wTop=wTop;
hs.dragX=e.clientX;
hs.dragY=e.clientY;
hs.addEventListener(document,'mousemove',hs.mouseMoveHandler);
if(e.preventDefault)e.preventDefault();
if(hs.dragExp.content.className.match(/highslide-(image|html)-blur/)){
hs.dragExp.focus();
hs.hasFocused=true}
return false}
else if(fobj.className.match(/highslide-html/)){
hs.dragExp.focus();
hs.dragExp.redoShowHide();
hs.hasFocused=false}
}else if(e.type=='mouseup'){
hs.removeEventListener(document,'mousemove',hs.mouseMoveHandler);
if(isDraggable&&hs.dragExp){
if(fobj.className.match('highslide-image')){
fobj.style.cursor=hs.styleRestoreCursor}
var hasMoved=wLeft!=hs.wLeft||wTop!=hs.wTop;
if(!hasMoved&&!hs.hasFocused&&!fobj.className.match(/highslide-move/)){
hs.dragExp.onClick()}else if(hasMoved||(!hasMoved&&hs.hasHtmlexpanders)){
hs.dragExp.redoShowHide()}
hs.hasFocused=false}else if(fobj.className.match('highslide-image-blur')){
fobj.style.cursor=hs.styleRestoreCursor}
}
},
mouseMoveHandler:function(e)
{
if(!hs.dragExp||!hs.dragExp.wrapper)return;
if(!e)e=window.event;
hs.dragExp.x.min=hs.wLeft+e.clientX-hs.dragX;
hs.dragExp.y.min=hs.wTop+e.clientY-hs.dragY;
var w=hs.dragExp.wrapper;
w.style.left=hs.dragExp.x.min+'px';
w.style.top=hs.dragExp.y.min+'px';
if(hs.dragExp.objOutline){
var o=hs.dragExp.objOutline;
o.table.style.left=(hs.dragExp.x.min-o.offset)+'px';
o.table.style.top=(hs.dragExp.y.min-o.offset)+'px'}
return false},
addEventListener:function(el,event,func){
if(document.addEventListener)el.addEventListener(event,func,false);
else if(document.attachEvent)el.attachEvent('on'+event,func);
else el['on'+event]=func},
removeEventListener:function(el,event,func){
if(document.removeEventListener)el.removeEventListener(event,func,false);
else if(document.detachEvent)el.detachEvent('on'+event,func);
else el[event]=null},
isHsAnchor:function(a){
return(a.onclick&&a.onclick.toString().replace(/\s/g,' ').match(/hs.(htmlE|e)xpand/))},
preloadFullImage:function(i){
if(hs.continuePreloading&&hs.preloadTheseImages[i]&&hs.preloadTheseImages[i]!='undefined'){
var img=document.createElement('img');
img.onload=function(){hs.preloadFullImage(i+1)};
img.src=hs.preloadTheseImages[i]}
},
preloadImages:function(number){
if(number&&typeof number!='object')hs.numberOfImagesToPreload=number;
var re,j=0;
var aTags=document.getElementsByTagName('A');
for(i=0;i<aTags.length;i++){
a=aTags[i];
re=hs.isHsAnchor(a);
if(re&&re[0]=='hs.expand'){
if(j<hs.numberOfImagesToPreload){
hs.preloadTheseImages[j]=hs.getSrc(a);
j++}
}
}
new HsOutline(hs.outlineType,function(){hs.preloadFullImage(0)});
var cur=hs.createElement('img',{src:hs.graphicsDir+hs.restoreCursor})},
genContainer:function(){
if(!hs.container){
hs.container=hs.createElement('div',
null,
{position:'absolute',left:0,top:0,width:'100%',zIndex:hs.zIndexCounter},
document.body,
true
)}
},
fade:function(el,o,oFinal,dir,i){
o=parseFloat(o);
if(o<=0)el.style.visibility='hidden';
else el.style.visibility='visible';
if(dir*(o-oFinal)>0)return;
if(i==null)i=hs.faders.length;
if(typeof(el.i)!='undefined'&&el.i!=i){
clearTimeout(hs.faders[el.i]);
o=el.tempOpacity}
el.i=i;
el.tempOpacity=o;
el.style.visibility=(o<=0)?'hidden':'visible';
hs.setStyles(el,{opacity:o});
hs.faders[i]=setTimeout(function(){
hs.fade(el,Math.round((o+0.1*dir)*100)/100,oFinal,dir,i)},25)}
};
HsOutline=function(outlineType,onLoad){
if(!outlineType){
if(onLoad)onLoad();
return}
this.onLoad=onLoad;
this.outlineType=outlineType;
var v=hs.ieVersion(),tr;
hs.genContainer();
this.hasAlphaImageLoader=hs.ie&&v>=5.5&&v<7;
this.hasPngSupport=!hs.ie||(hs.ie&&v>=7);
this.hasOutline=this.outlineType&&(this.hasAlphaImageLoader||this.hasPngSupport);
this.table=hs.createElement(
'table',
{
cellSpacing:0
},
{
visibility:'hidden',
position:'absolute',
zIndex:hs.zIndexCounter++,
borderCollapse:'collapse'
},
hs.container,
true
);
this.tbody=hs.createElement('tbody',null,null,this.table);
this.td=Array();
for(var i=0;i<=8;i++){
if(i%3==0)tr=hs.createElement('tr',null,null,this.tbody,true);
this.td[i]=hs.createElement('td',null,null,tr,true);
var style=i!=4?{lineHeight:0,fontSize:0}:{position:'relative'};
hs.setStyles(this.td[i],style)}
this.preloadGraphic()};
HsOutline.prototype.preloadGraphic=function(){
var src=hs.graphicsDir+"outlines/"+this.outlineType+".png";
var appendTo=hs.safari?hs.container:null;
this.graphic=hs.createElement('img',null,{position:'absolute',left:'-9999px',
top:'-9999px'},appendTo,true);
var pThis=this;
this.graphic.onload=function(){pThis.onGraphicLoad()};
this.graphic.src=src};
HsOutline.prototype.onGraphicLoad=function(){
var o=this.offset=this.graphic.width/4;
var pos=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]];
for(var i=0;i<=8;i++){
if(pos[i]){
if(this.hasAlphaImageLoader){
var w=(i==1||i==7)?'100%':this.graphic.width+'px';
var div=hs.createElement('div',null,{width:'100%',height:'100%',position:'relative',overflow:'hidden'},this.td[i],true);
hs.createElement('div',null,{
filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",
position:'absolute',
width:w,
height:this.graphic.height+'px',
left:(pos[i][0]*o)+'px',
top:(pos[i][1]*o)+'px'
},
div,
true)}else{
hs.setStyles(this.td[i],{background:'url('+this.graphic.src+') '+(pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'})}
var dim=2*o;
hs.setStyles(this.td[i],{height:dim+'px',width:dim+'px'})}
}
hs.pendingOutlines[this.outlineType]=this;
if(this.onLoad)this.onLoad()};
HsOutline.prototype.destroy=function(){
hs.purge(this.table);
try{this.table.parentNode.removeChild(this.table)}catch(e){}
};
HsExpander=function(a,params,custom,contentType){
hs.continuePreloading=false;
this.custom=custom;
for(i=0;i<hs.overrides.length;i++){
var name=hs.overrides[i];
if(params&&typeof params[name]!='undefined')this[name]=params[name];
else this[name]=hs[name]}
if(params&&params.thumbnailId){
var el=hs.$(params.thumbnailId)}else{
for(i=0;i<a.childNodes.length;i++){
if(a.childNodes[i].tagName&&a.childNodes[i].tagName=='IMG'){
var el=a.childNodes[i];
break}
}
}
if(!el)el=a;
for(i=0;i<hs.expanders.length;i++){
if(hs.expanders[i]&&hs.expanders[i].thumb!=el&&!hs.expanders[i].onLoadStarted){
hs.expanders[i].cancelLoading()}
}
for(i=0;i<hs.expanders.length;i++){
if(hs.expanders[i]&&hs.expanders[i].thumb==el){
hs.expanders[i].focus();
return false}
}
if(!hs.allowMultipleInstances){
var prev=hs.expandedImagesCounter-1;
if(hs.expanders[prev])hs.expanders[prev].doClose()}
var key=this.key=hs.expandedImagesCounter++;
hs.expanders[this.key]=this;
if(contentType=='html'){
this.isHtml=true;
this.contentType='html'}else{
this.isImage=true;
this.contentType='image'}
this.a=a;
this.thumbsUserSetId=el.id||a.id;
this.thumb=el;
this.overlays=new Array();
var pos=hs.position(el);
this.wrapper=hs.createElement(
'div',
{
id:'highslide-wrapper-'+this.key,
className:this.wrapperClassName
},
{
visibility:'hidden',
position:'absolute',
zIndex:hs.zIndexCounter++
},null,true);
this.wrapper.onmouseover=function(e){
try{hs.expanders[key].onMouseOver()}catch(e){}
};
this.wrapper.onmouseout=function(e){
try{hs.expanders[key].onMouseOut()}catch(e){}
};
this.thumbWidth=el.width?el.width:el.offsetWidth;
this.thumbHeight=el.height?el.height:el.offsetHeight;
this.thumbLeft=pos.x;
this.thumbTop=pos.y;
this.thumbOffsetBorderW=(this.thumb.offsetWidth-this.thumbWidth)/2;
this.thumbOffsetBorderH=(this.thumb.offsetHeight-this.thumbHeight)/2;
hs.genContainer();
if(hs.pendingOutlines[this.outlineType]){
this.connectOutline();
this[this.contentType+'Create']()}else if(!this.outlineType){
this[this.contentType+'Create']()}else{
this.displayLoading();
var pThis=this;
new HsOutline(this.outlineType,
function(){
pThis.connectOutline();
pThis[pThis.contentType+'Create']()}
)}
};
HsExpander.prototype.connectOutline=function(x,y){
var w=hs.pendingOutlines[this.outlineType];
this.objOutline=w;
hs.pendingOutlines[this.outlineType]=null};
HsExpander.prototype.displayLoading=function(){
if(this.onLoadStarted||this.loading)return;
this.originalCursor=this.a.style.cursor;
this.a.style.cursor='wait';
if(!hs.loading){
hs.loading=hs.createElement('a',
{
className:'highslide-loading',
title:hs.loadingTitle,
innerHTML:hs.loadingText
},
{
position:'absolute',
opacity:hs.loadingOpacity
},hs.container
)}
this.loading=hs.loading;
this.loading.href='javascript:hs.expanders['+this.key+'].cancelLoading()';
this.loading.visibility='visible';
this.loading.style.left=(this.thumbLeft+this.thumbOffsetBorderW
+(this.thumbWidth-this.loading.offsetWidth)/2)+'px';
this.loading.style.top=(this.thumbTop
+(this.thumbHeight-this.loading.offsetHeight)/2)+'px';
setTimeout(
"if (hs.expanders["+this.key+"] && hs.expanders["+this.key+"].loading) "
+"hs.expanders["+this.key+"].loading.style.visibility = 'visible';",
100
)};
HsExpander.prototype.imageCreate=function(){
var key=this.key;
var img=document.createElement('img');
this.content=img;
img.onload=function(){try{hs.expanders[key].onLoad()}catch(e){}};
img.className='highslide-image';
img.style.visibility='hidden';
img.style.display='block';
img.style.position='absolute';
img.style.zIndex=3;
img.title=hs.restoreTitle;
if(hs.safari)hs.container.appendChild(img);
img.src=hs.getSrc(this.a);
this.displayLoading()};
HsExpander.prototype.onLoad=function(){
try{
if(!this.content)return;
if(this.onLoadStarted)return;
else this.onLoadStarted=true;
if(this.loading){
this.loading.style.visibility='hidden';
this.loading=null;
this.a.style.cursor=this.originalCursor||''}
if(this.isImage){
this.newWidth=this.content.width;
this.newHeight=this.content.height;
this.fullExpandWidth=this.newWidth;
this.fullExpandHeight=this.newHeight;
this.content.width=this.thumbWidth;
this.content.height=this.thumbHeight}else if(this.htmlGetSize)this.htmlGetSize();
var modMarginBottom=hs.marginBottom;
if(!this.captionId&&this.thumbsUserSetId)this.captionId='caption-for-'+this.thumbsUserSetId;
if(this.captionId){
this.caption=hs.cloneNode(this.captionId)}
if(this.captionTemplateId){
var s=(this.caption)?this.caption.innerHTML:'';
this.caption=hs.cloneNode(this.captionTemplateId);
if(this.caption)this.caption.innerHTML
=this.caption.innerHTML.replace(/\s/g,' ').replace('{caption}',s)}
var modMarginBottom=hs.marginBottom;
if(this.caption)modMarginBottom+=this.spaceForCaption;
this.wrapper.appendChild(this.content);
this.content.style.position='relative';
if(this.caption)this.wrapper.appendChild(this.caption);
this.wrapper.style.left=this.thumbLeft+'px';
this.wrapper.style.top=this.thumbTop+'px';
hs.container.appendChild(this.wrapper);
this.offsetBorderW=(this.content.offsetWidth-this.thumbWidth)/2;
this.offsetBorderH=(this.content.offsetHeight-this.thumbHeight)/2;
var modMarginRight=hs.marginRight+2*this.offsetBorderW;
modMarginBottom+=2*this.offsetBorderH;
var ratio=this.newWidth/this.newHeight;
var minWidth=this.allowSizeReduction?this.minWidth:this.newWidth;
var minHeight=this.allowSizeReduction?this.minHeight:this.newHeight;
var justify={x:'auto',y:'auto'};
if(this.align=='center'){
justify.x='center';
justify.y='center'}else{
if(this.anchor.match(/^top/))justify.y=null;
if(this.anchor.match(/right$/))justify.x='max';
if(this.anchor.match(/^bottom/))justify.y='max';
if(this.anchor.match(/left$/))justify.x=null}
client=new hs.clientInfo();
this.x={
min:parseInt(this.thumbLeft)-this.offsetBorderW+this.thumbOffsetBorderW,
span:this.newWidth,
minSpan:this.newWidth<minWidth?this.newWidth:minWidth,
justify:justify.x,
target:this.targetX,
marginMin:hs.marginLeft,
marginMax:modMarginRight,
scroll:client.scrollLeft,
clientSpan:client.width,
thumbSpan:this.thumbWidth
};
var oldRight=this.x.min+parseInt(this.thumbWidth);
this.x=this.justify(this.x);
this.y={
min:parseInt(this.thumbTop)-this.offsetBorderH+this.thumbOffsetBorderH,
span:this.newHeight,
minSpan:this.newHeight<minHeight?this.newHeight:minHeight,
justify:justify.y,
target:this.targetY,
marginMin:hs.marginTop,
marginMax:modMarginBottom,
scroll:client.scrollTop,
clientSpan:client.height,
thumbSpan:this.thumbHeight
};
var oldBottom=this.y.min+parseInt(this.thumbHeight);
this.y=this.justify(this.y);
if(this.isHtml)this.htmlSizeOperations();
if(this.isImage)this.correctRatio(ratio);
var x=this.x;
var y=this.y;
this.show()}catch(e){
if(hs.expanders[this.key]&&hs.expanders[this.key].a)
window.location.href=hs.getSrc(hs.expanders[this.key].a)}
};
HsExpander.prototype.show=function(){
var imgPos={x:this.x.min-20,y:this.y.min-20,w:this.x.span+40,h:this.y.span+40+this.spaceForCaption};
hs.hideSelects=(hs.ie&&hs.ieVersion()<7);
if(hs.hideSelects)this.showHideElements('SELECT','hidden',imgPos);
hs.hideIframes=(window.opera||navigator.vendor=='KDE'||(hs.ie&&hs.ieVersion()<5.5));
if(hs.hideIframes)this.showHideElements('IFRAME','hidden',imgPos);
if(this.objOutline&&!this.outlineWhileAnimating)this.positionOutline(this.x.min,this.y.min,this.x.span,this.y.span);
var o2=this.objOutline?this.objOutline.offset:0;
this.changeSize(
1,
this.thumbLeft+this.thumbOffsetBorderW-this.offsetBorderW,
this.thumbTop+this.thumbOffsetBorderH-this.offsetBorderH,
this.thumbWidth,
this.thumbHeight,
this.x.min,
this.y.min,
this.x.span,
this.y.span,
hs.expandDuration,
hs.expandSteps,
hs.outlineStartOffset,
o2
)};
HsExpander.prototype.justify=function(p){
var tgt,dim=p==this.x?'x':'y';
if(p.target&&p.target.match(/ /)){
tgt=p.target.split(' ');
p.target=tgt[0]}
if(p.target&&hs.$(p.target)){
p.min=hs.position(hs.$(p.target))[dim];
if(tgt&&tgt[1]&&tgt[1].match(/^[-]?[0-9]+px$/))p.min+=parseInt(tgt[1])}else if(p.justify=='auto'||p.justify=='center'){
var hasMovedMin=false;
var allowReduce=true;
if(p.justify=='center')p.min=Math.round(p.scroll+(p.clientSpan-p.span-p.marginMax)/2);
else p.min=Math.round(p.min-((p.span-p.thumbSpan)/2)); 
if(p.min<p.scroll+p.marginMin){
p.min=p.scroll+p.marginMin;
hasMovedMin=true}
if(p.span<p.minSpan){
p.span=p.minSpan;
allowReduce=false}
if(p.min+p.span>p.scroll+p.clientSpan-p.marginMax){
if(hasMovedMin&&allowReduce)p.span=p.clientSpan-p.marginMin-p.marginMax;
else if(p.span<p.clientSpan-p.marginMin-p.marginMax){
p.min=p.scroll+p.clientSpan-p.span-p.marginMin-p.marginMax}else{
p.min=p.scroll+p.marginMin;
if(allowReduce)p.span=p.clientSpan-p.marginMin-p.marginMax}
}
if(p.span<p.minSpan){
p.span=p.minSpan;
allowReduce=false}
}else if(p.justify=='max'){
p.min=Math.floor(p.min-p.span+p.thumbSpan)}
if(p.min<p.marginMin){
tmpMin=p.min;
p.min=p.marginMin;
if(allowReduce)p.span=p.span-(p.min-tmpMin)}
return p};
HsExpander.prototype.correctRatio=function(ratio){
var x=this.x;
var y=this.y;
var changed=false;
if(x.span/y.span>ratio){ 
var tmpWidth=x.span;
x.span=y.span*ratio;
if(x.span<x.minSpan){
x.span=x.minSpan;
y.span=x.span/ratio}
changed=true}else if(x.span/y.span<ratio){ 
var tmpHeight=y.span;
y.span=x.span/ratio;
changed=true}
if(changed){
x.min=parseInt(this.thumbLeft)-this.offsetBorderW+this.thumbOffsetBorderW;
x.minSpan=x.span;
this.x=this.justify(x);
y.min=parseInt(this.thumbTop)-this.offsetBorderH+this.thumbOffsetBorderH;
y.minSpan=y.span;
this.y=this.justify(y)}
};
HsExpander.prototype.changeSize=function(dir,x1,y1,w1,h1,x2,y2,w2,h2,dur,steps,oo1,oo2){
dW=(w2-w1)/steps;
dH=(h2-h1)/steps;
dX=(x2-x1)/steps;
dY=(y2-y1)/steps;
dOo=(oo2-oo1)/steps;
for(i=1;i<=steps;i++){
w1+=dW;
h1+=dH;
x1+=dX;
y1+=dY;
oo1+=dOo;
var obj="hs.expanders["+this.key+"]";
var s="try {";
if(i==1){
s+=obj+".content.style.visibility = 'visible';"
+"if ("+obj+".thumb.tagName == 'IMG' && hs.hideThumbOnExpand) "+obj+".thumb.style.visibility = 'hidden';"
}
if(i==steps){
w1=w2;
h1=h2;
x1=x2;
y1=y2;
oo1=oo2}
s+=obj+"."+this.contentType+"SetSize("+Math.round(w1)+", "+Math.round(h1)+", "
+Math.round(x1)+", "+Math.round(y1)+", "+Math.round(oo1);
if(i==steps)s+=', '+dir;
s+=");} catch (e) {}";
setTimeout(s,Math.round(i*(dur/steps)))}
};
HsExpander.prototype.imageSetSize=function(w,h,x,y,offset,end){
try{
this.content.width=w;
this.content.height=h;
if(this.objOutline&&this.outlineWhileAnimating){
var o=this.objOutline.offset-offset;
this.positionOutline(x+o,y+o,w-2*o,h-2*o,1)}
hs.setStyles(this.wrapper,
{
'visibility':'visible',
'left':x+'px',
'top':y+'px'
}
);
var exp='hs.expanders['+this.key+']';
if(end==1)setTimeout('if ('+exp+')'+exp+'.onExpanded()',0);
else if(end==-1)setTimeout('if ('+exp+')'+exp+'.onEndClose()',0)}catch(e){
window.location.href=hs.getSrc(this.a)}
};
HsExpander.prototype.positionOutline=function(x,y,w,h,vis){
if(!this.objOutline)return;
var o=this.objOutline;
if(vis)o.table.style.visibility='visible';
o.table.style.left=(x-o.offset)+'px';
o.table.style.top=(y-o.offset)+'px';
o.table.style.width=(w+2*(this.offsetBorderW+o.offset))+'px';
w+=2*(this.offsetBorderW-o.offset);
h+=+2*(this.offsetBorderH-o.offset);
o.td[4].style.width=w>=0?w+'px':0;
o.td[4].style.height=h>=0?h+'px':0;
if(o.hasAlphaImageLoader)o.td[3].style.height=o.td[5].style.height=o.td[4].style.height};
HsExpander.prototype.onExpanded=function(){
if(this.objOutline)this.objOutline.table.style.visibility='visible';
this.isExpanded=true;
this.focus();
if(this.isHtml&&this.objectLoadTime=='after')this.writeExtendedContent();
this.createCustomOverlays();
if(hs.showCredits)this.writeCredits();
if(this.caption)this.writeCaption();
if(this.fullExpandWidth>this.x.span)this.createFullExpand();
if(!this.caption)this.onDisplayFinished()};
HsExpander.prototype.onDisplayFinished=function(){
var key=this.key;
var outlineType=this.outlineType;
new HsOutline(outlineType,function(){
try{hs.expanders[key].preloadNext()}catch(e){}
})};
HsExpander.prototype.preloadNext=function(){
var next=hs.getAdjacentAnchor(this.key,1);
if(next.onclick.toString().match(/hs\.expand/))
var img=hs.createElement('img',{src:hs.getSrc(next)})};
HsExpander.prototype.cancelLoading=function(){
this.a.style.cursor=this.originalCursor;
if(this.loading)hs.loading.style.visibility='hidden';
hs.expanders[this.key]=null};
HsExpander.prototype.writeCredits=function(){
var credits=hs.createElement('a',
{
href:hs.creditsHref,
className:'highslide-credits',
innerHTML:hs.creditsText,
title:hs.creditsTitle
}
);
this.createOverlay(credits,'top left')};
HsExpander.prototype.writeCaption=function(){
try{
this.wrapper.style.width=this.wrapper.offsetWidth+'px';
this.caption.style.visibility='hidden';
this.caption.className+=' highslide-display-block';
var height;
if(hs.ie&&(hs.ieVersion()<6||document.compatMode=='BackCompat')){
height=this.caption.offsetHeight}else{
var temp=hs.createElement('div',{innerHTML:this.caption.innerHTML},
null,null,true);
this.caption.innerHTML='';
this.caption.appendChild(temp);
height=this.caption.childNodes[0].offsetHeight;
this.caption.innerHTML=this.caption.childNodes[0].innerHTML}
this.caption.style.overflow='hidden';
this.caption.style.height=0;
this.caption.style.zIndex=2;
if(hs.captionSlideSpeed){
step=Math.round(height/50);
if(step==0)step=1;
step=step*hs.captionSlideSpeed}else step=height;
var t=0;
for(var h=height%step;h<=height;h+=step,t+=10){
var end=(h==height)?1:0;
var eval="try { "
+"hs.expanders["+this.key+"].placeCaption("+h+", "+end+");"
+"} catch (e) {}";
setTimeout(eval,t)}
}catch(e){}
};
HsExpander.prototype.placeCaption=function(height,end){
if(!this.caption)return;
this.caption.style.height=height+'px';
this.caption.style.visibility='visible';
var o=this.objOutline;
if(o){
o.td[4].style.height=(this.wrapper.offsetHeight-2*this.objOutline.offset)+'px';
if(o.hasAlphaImageLoader)o.td[3].style.height=o.td[5].style.height=o.td[4].style.height}
if(end)this.onDisplayFinished()};
HsExpander.prototype.showHideElements=function(tagName,visibility,imgPos){
var els=document.getElementsByTagName(tagName);
if(els){
for(i=0;i<els.length;i++){
if(els[i].nodeName==tagName){
var hiddenBy=els[i].getAttribute('hidden-by');
if(visibility=='visible'&&hiddenBy){
hiddenBy=hiddenBy.replace('['+this.key+']','');
els[i].setAttribute('hidden-by',hiddenBy);
if(!hiddenBy)els[i].style.visibility='visible'}else if(visibility=='hidden'){
var elPos=hs.position(els[i]);
elPos.w=els[i].offsetWidth;
elPos.h=els[i].offsetHeight;
var clearsX=(elPos.x+elPos.w<imgPos.x||elPos.x>imgPos.x+imgPos.w);
var clearsY=(elPos.y+elPos.h<imgPos.y||elPos.y>imgPos.y+imgPos.h);
var wrapperKey=hs.getWrapperKey(els[i]);
if(!clearsX&&!clearsY&&wrapperKey!=this.key){
if(!els[i].currentStyle||(els[i].currentStyle&&els[i].currentStyle['visibility']!='hidden')){
if(!hiddenBy){
els[i].setAttribute('hidden-by','['+this.key+']')}else if(!hiddenBy.match('['+this.key+']')){
els[i].setAttribute('hidden-by',hiddenBy+'['+this.key+']')}
els[i].style.visibility='hidden'}
}else if(hiddenBy=='['+this.key+']'||hs.focusKey==wrapperKey){
els[i].setAttribute('hidden-by','');
els[i].style.visibility='visible'}else if(hiddenBy&&hiddenBy.match('['+this.key+']')){
els[i].setAttribute('hidden-by',hiddenBy.replace('['+this.key+']',''))}
}
}
}
}
};
HsExpander.prototype.focus=function(){
for(i=0;i<hs.expanders.length;i++){
if(hs.expanders[i]&&i==hs.focusKey){
var blurExp=hs.expanders[i];
blurExp.content.className+=' highslide-'+blurExp.contentType+'-blur';
if(blurExp.caption){
hs.setId(blurExp.caption,'-hsBlur'+i);
blurExp.caption.className+=' highslide-caption-blur'}
if(blurExp.isImage){
blurExp.content.style.cursor=hs.ie?'hand':'pointer';
blurExp.content.title=hs.focusTitle}else{hs.setId(blurExp.innerContent,'-hsBlur'+i)}
}
}
this.wrapper.style.zIndex=hs.zIndexCounter++;
if(this.objOutline)this.objOutline.table.style.zIndex=this.wrapper.style.zIndex;
this.content.className='highslide-'+this.contentType;
if(this.caption){
hs.setId(this.caption,'-hsBlur'+this.key,1);
this.caption.className=this.caption.className.replace(' highslide-caption-blur','')}
if(this.isImage){
this.content.title=hs.restoreTitle;
hs.styleRestoreCursor=window.opera?'pointer':'url('+hs.graphicsDir+hs.restoreCursor+'), pointer';
if(hs.ie&&hs.ieVersion()<6)hs.styleRestoreCursor='hand';
this.content.style.cursor=hs.styleRestoreCursor}else{
hs.setId(this.innerContent,'-hsBlur'+this.key,1)}
hs.focusKey=this.key;
hs.addEventListener(document,'keydown',hs.keyHandler)};
HsExpander.prototype.onClick=function(){
this.doClose()};
HsExpander.prototype.doClose=function(){
hs.removeEventListener(document,'keydown',hs.keyHandler);
try{
this.isClosing=true;
var x=parseInt(this.wrapper.style.left);
var y=parseInt(this.wrapper.style.top);
var w=(this.isImage)?this.content.width:parseInt(this.content.style.width);
var h=(this.isImage)?this.content.height:parseInt(this.content.style.height);
if(this.objOutline){
if(this.outlineWhileAnimating)this.positionOutline(x,y,w,h);
else if(this.preserveContent)this.objOutline.table.style.visibility='hidden';
else this.objOutline.destroy()}
var n=this.wrapper.childNodes.length;
for(i=n-1;i>=0;i--){
var child=this.wrapper.childNodes[i];
if(child!=this.content){
hs.purge(this.wrapper.childNodes[i]);
this.wrapper.removeChild(this.wrapper.childNodes[i])}
}
if(this.isHtml)this.htmlOnClose();
this.wrapper.style.width='auto';
this.content.style.cursor='default';
var o2=this.objOutline?this.objOutline.offset:0;
this.changeSize(
-1,
x,
y,
w,
h,
this.thumbLeft-this.offsetBorderW+this.thumbOffsetBorderW,
this.thumbTop-this.offsetBorderH+this.thumbOffsetBorderH,
this.thumbWidth,
this.thumbHeight,
hs.restoreDuration,
hs.restoreSteps,
o2,
hs.outlineStartOffset
)}catch(e){
this.onEndClose()}
};
HsExpander.prototype.onEndClose=function(){
this.thumb.style.visibility='visible';
if(hs.hideSelects)this.showHideElements('SELECT','visible');
if(hs.hideIframes)this.showHideElements('IFRAME','visible');
if(this.preserveContent)this.sleep();
else{
if(this.objOutline&&this.outlineWhileAnimating)this.objOutline.destroy();
hs.purge(this.wrapper);
this.wrapper.parentNode.removeChild(this.wrapper)}
hs.expanders[this.key]=null;
hs.cleanUp()};
HsExpander.prototype.createOverlay=function(el,position,hideOnMouseOut,opacity){
if(typeof el=='string')el=hs.cloneNode(el);
if(!el||typeof el=='string'||!this.isImage)return;
if(!opacity)opacity=1;
if(!position)position='center center';
var overlay=hs.createElement(
'div',
null,
{
'left':0,
'top':0,
'position':'absolute',
'zIndex':3,
'visibility':'hidden',
'opacity':opacity
},
this.wrapper,
true
);
el.className+=' highslide-display-block';
overlay.appendChild(el);
var left=this.offsetBorderW;
var dLeft=this.content.width-overlay.offsetWidth;
var top=this.offsetBorderH;
var dTop=this.content.height-overlay.offsetHeight;
if(position.match(/^bottom/))top+=dTop;
if(position.match(/^center/))top+=dTop/2;
if(position.match(/right$/))left+=dLeft;
if(position.match(/center$/))left+=dLeft/2;
overlay.style.left=left+'px';
overlay.style.top=top+'px';
if(hideOnMouseOut)overlay.setAttribute('hideOnMouseOut',true);
overlay.setAttribute('opacity',opacity);
hs.fade(overlay,0,opacity,1);
hs.push(this.overlays,overlay)};
HsExpander.prototype.createCustomOverlays=function(){
for(i=0;i<hs.overlays.length;i++){
var o=hs.overlays[i];
if(o.thumbnailId==null||o.thumbnailId==this.thumbsUserSetId){
this.createOverlay(o.overlayId,o.position,o.hideOnMouseOut,o.opacity)}
}
};
HsExpander.prototype.onMouseOver=function(){
for(i=0;i<this.overlays.length;i++){
hs.fade(this.overlays[i],0,this.overlays[i].getAttribute('opacity'),1)}
};
HsExpander.prototype.onMouseOut=function(){
var hideThese=new Array();
var j=0;
for(i=0;i<this.overlays.length;i++){
if(this.overlays[i].getAttribute('hideOnMouseOut')){
hideThese[j]=this.overlays[i];
j++}
}
for(i=0;i<hideThese.length;i++){
hs.fade(hideThese[i],hideThese[i].getAttribute('opacity'),0,-1)}
};
HsExpander.prototype.createFullExpand=function(){
var a=hs.createElement(
'a',
{
href:'javascript:hs.expanders['+this.key+'].doFullExpand();',
title:hs.fullExpandTitle
},
{
background:'url('+hs.graphicsDir+hs.fullExpandIcon+')',
display:'block',
margin:'0 10px 10px 0',
width:'45px',
height:'44px'
},null,true
);
this.createOverlay(a,'bottom right',true,0.75);
this.fullExpandIcon=a};
HsExpander.prototype.doFullExpand=function(){
try{
hs.purge(this.fullExpandIcon);
this.fullExpandIcon.parentNode.removeChild(this.fullExpandIcon);
this.focus();
this.x.min=parseInt(this.wrapper.style.left)-(this.fullExpandWidth-this.content.width)/2;
if(this.x.min<hs.marginLeft)this.x.min=hs.marginLeft;
this.wrapper.style.left=this.x.min+'px';
var borderOffset=this.wrapper.offsetWidth-this.content.width;
this.content.width=this.fullExpandWidth;
this.content.height=this.fullExpandHeight;
this.x.span=this.content.width;
this.wrapper.style.width=(this.x.span+borderOffset)+'px';
this.y.span=this.wrapper.offsetHeight-2*this.offsetBorderH;
this.positionOutline(this.x.min,this.y.min,this.x.span,this.y.span);
for(var i=0;i<this.overlays.length;i++){
hs.purge(this.overlays[i]);
this.overlays[i].parentNode.removeChild(this.overlays[i])}
if(hs.showCredits)this.writeCredits();
this.createCustomOverlays();
this.redoShowHide()}catch(e){
window.location.href=this.content.src}
};
HsExpander.prototype.redoShowHide=function(){
var imgPos={
x:parseInt(this.wrapper.style.left)-20,
y:parseInt(this.wrapper.style.top)-20,
w:this.content.offsetWidth+40,
h:this.content.offsetHeight+40+this.spaceForCaption
};
if(hs.hideSelects)this.showHideElements('SELECT','hidden',imgPos);
if(hs.hideIframes)this.showHideElements('IFRAME','hidden',imgPos)};
hs.addEventListener(document,'mousedown',hs.mouseClickHandler);
hs.addEventListener(document,'mouseup',hs.mouseClickHandler);
hs.addEventListener(window,'load',hs.preloadImages);


/* plugins/spip_images/js/highslide-html.js */
;

hs.allowWidthReduction=false;
hs.allowHeightReduction=true;
hs.objectLoadTime='before';hs.cacheAjax=true;hs.preserveContent=false;
hs.push(hs.overrides,'contentId');
hs.push(hs.overrides,'allowWidthReduction');
hs.push(hs.overrides,'allowHeightReduction');
hs.push(hs.overrides,'objectType');
hs.push(hs.overrides,'objectWidth');
hs.push(hs.overrides,'objectHeight');
hs.push(hs.overrides,'objectLoadTime');
hs.push(hs.overrides,'swfObject');
hs.push(hs.overrides,'cacheAjax');
hs.push(hs.overrides,'preserveContent');
hs.preloadTheseAjax=new Array;
hs.cacheBindings=new Array;
hs.sleeping=new Array;
hs.cacheCounter=0;
hs.htmlExpand=function(a,params,custom){
if(!hs.$(params.contentId)&&!hs.origNodes[params.contentId])return true;
for(var i=0;i<hs.sleeping.length;i++){
if(hs.sleeping[i]&&hs.sleeping[i].a==a){
hs.sleeping[i].awake();
hs.sleeping[i]=null;
return false}
}
try{
hs.hasHtmlexpanders=true;
new HsExpander(a,params,custom,'html');
return false}catch(e){
return true}
};
hs.identifyContainer=function(parent,className){
for(i=0;i<parent.childNodes.length;i++){
if(parent.childNodes[i].className==className){
return parent.childNodes[i]}
}
};
hs.geckoBug=function(d){return(!hs.ie&&d.className&&d.className=='highslide-body'
&&hs.expanders[hs.getWrapperKey(d)]&&hs.expanders[hs.getWrapperKey(d)].swfObject)};
hs.preloadAjaxElement=function(i){
if(!hs.preloadTheseAjax[i])return;
var a=hs.preloadTheseAjax[i];
var cache=hs.cloneNode(hs.getParam(a,'contentId'));
var ajax=new HsAjax(a,cache);
ajax.onError=function(){};
ajax.onLoad=function(){
hs.setId(cache,/-hsOrig$/,1);
hs.setId(cache,'-hsCache'+hs.cacheCounter);
hs.genContainer();
hs.container.appendChild(cache);
hs.cacheBindings[cache.id]=a;
hs.cacheCounter++;
hs.preloadAjaxElement(i+1)};
ajax.run()};
hs.preloadAjax=function(e){
var aTags=document.getElementsByTagName('A');
var a,re,j=0;
for(i=0;i<aTags.length;i++){
a=aTags[i];
re=hs.isHsAnchor(a);
if(re&&re[0]=='hs.htmlExpand'&&hs.getParam(a,'objectType')=='ajax'&&hs.getParam(a,'cacheAjax')){
hs.preloadTheseAjax[j]=a;
j++}
}
};
hs.getCacheBinding=function(a){
for(var x in hs.cacheBindings){
if(hs.cacheBindings[x]==a){
return hs.$(x)}
}
return false};
HsExpander.prototype.htmlCreate=function(){
this.tempContainer=hs.createElement('div',null,
{
padding:'0 '+hs.marginRight+'px 0 '+hs.marginLeft+'px',
position:'absolute',
left:0,
top:0
},
document.body
);
this.innerContent=hs.getCacheBinding(this.a);
if(this.innerContent)hs.setId(this.innerContent,/-hsCache[0-9]+/,1);
else this.innerContent=hs.cloneNode(this.contentId);
this.setObjContainerSize(this.innerContent);
this.tempContainer.appendChild(this.innerContent);hs.setStyles(this.innerContent,{position:'relative',visibility:'hidden'});
this.innerContent.className+=' highslide-display-block';
this.content=hs.createElement(
'div',
{className:'highslide-html'},
{
position:'relative',
zIndex:3,
overflow:'hidden',
width:this.thumbWidth+'px',
height:this.thumbHeight+'px'
},null,true
);
if(this.objectType=='ajax'&&!hs.getCacheBinding(this.a)){
var ajax=new HsAjax(this.a,this.innerContent);
var pThis=this;
ajax.onLoad=function(){pThis.onLoad()};
ajax.onError=function(){location.href=hs.getSrc(this.a)};
ajax.run()}
else this.onLoad()};
HsExpander.prototype.htmlGetSize=function(){
var clearing=hs.createElement('div',null,
{clear:'both',borderTop:'1px solid white'},this.innerContent,true);
this.newWidth=this.innerContent.offsetWidth;
this.newHeight=this.innerContent.offsetHeight;
this.innerContent.removeChild(clearing);
if(hs.ie&&this.newHeight>parseInt(this.innerContent.currentStyle.height)){this.newHeight=parseInt(this.innerContent.currentStyle.height)}
};
HsExpander.prototype.setObjContainerSize=function(parent,auto){
if(this.swfObject||this.objectType=='iframe'){
var c=hs.identifyContainer(parent,'highslide-body');
c.style.width=this.swfObject?this.swfObject.attributes.width+'px':this.objectWidth+'px';
c.style.height=this.swfObject?this.swfObject.attributes.height+'px':this.objectHeight+'px'}
};
HsExpander.prototype.writeExtendedContent=function(){
if(this.hasExtendedContent)return;
this.objContainer=hs.identifyContainer(this.innerContent,'highslide-body');
if(this.objectType=='iframe'){
if(hs.ie&&hs.ieVersion()<5.5)window.location.href=hs.getSrc(this.a);
var key=this.key;
this.iframe=hs.createElement('iframe',{frameBorder:0},
{width:this.objectWidth+'px',height:this.objectHeight+'px'},
this.objContainer);
if(hs.safari)this.iframe.src=null;
this.iframe.src=hs.getSrc(this.a);
if(this.objectLoadTime=='after')this.correctIframeSize()}else if(this.swfObject){
this.objContainer.id=this.objContainer.id||'hs-flash-id-'+this.key;
this.swfObject.write(this.objContainer.id)}
this.hasExtendedContent=true};
HsExpander.prototype.correctIframeSize=function(){
var wDiff=this.innerContent.offsetWidth-this.objContainer.offsetWidth;
if(wDiff<0)wDiff=0;
var hDiff=this.innerContent.offsetHeight-this.objContainer.offsetHeight;
hs.setStyles(this.iframe,{width:(this.x.span-wDiff)+'px',height:(this.y.span-hDiff)+'px'});
hs.setStyles(this.objContainer,{width:this.iframe.style.width,height:this.iframe.style.height});
this.scrollingContent=this.iframe;
this.scrollerDiv=this.scrollingContent};
HsExpander.prototype.htmlSizeOperations=function(){
this.setObjContainerSize(this.innerContent);
if(this.objectLoadTime=='before')this.writeExtendedContent();
if(this.x.span<this.newWidth&&!this.allowWidthReduction)this.x.span=this.newWidth;
if(this.y.span<this.newHeight&&!this.allowHeightReduction)this.y.span=this.newHeight;
this.scrollerDiv=this.innerContent;
this.mediumContent=hs.createElement('div',null,
{
width:this.x.span+'px',
position:'relative',
left:(this.x.min-this.thumbLeft)+'px',
top:(this.y.min-this.thumbTop)+'px'
},this.content,true);
this.mediumContent.appendChild(this.innerContent);
document.body.removeChild(this.tempContainer);
hs.setStyles(this.innerContent,{border:'none',width:'auto',height:'auto'});
var node=hs.identifyContainer(this.innerContent,'highslide-body');
if(node&&!this.swfObject&&this.objectType!='iframe'){
var cNode=node.cloneNode(true);
node.innerHTML='';
node.id=null;
hs.setStyles(node,
{
margin:0,
border:'none',
padding:0,
overflow:'hidden'
}
);
node.appendChild(cNode);
var wDiff=this.innerContent.offsetWidth-node.offsetWidth;
var hDiff=this.innerContent.offsetHeight-node.offsetHeight;
var kdeBugCorr=hs.safari||navigator.vendor=='KDE'?1:0;hs.setStyles(node,{
width:(this.x.span-wDiff-kdeBugCorr)+'px',
height:(this.y.span-hDiff+1)+'px',overflow:'auto',
position:'relative'
}
);
if(cNode.offsetHeight>node.offsetHeight){
if(kdeBugCorr)node.style.width=(parseInt(node.style.width)+kdeBugCorr)+'px'}
this.scrollingContent=node;
this.scrollerDiv=this.scrollingContent}
if(this.iframe&&this.objectLoadTime=='before')this.correctIframeSize();
if(!this.scrollingContent&&this.y.span<this.mediumContent.offsetHeight)this.scrollerDiv=this.content;
if(this.scrollerDiv==this.content&&!this.allowWidthReduction&&this.objectType!='iframe'){
this.x.span+=17}
if(this.scrollerDiv&&this.scrollerDiv.offsetHeight>this.scrollerDiv.parentNode.offsetHeight){
setTimeout("try { hs.expanders["+this.key+"].scrollerDiv.style.overflow = 'auto'; } catch(e) {}",
hs.expandDuration)}
};
HsExpander.prototype.htmlSetSize=function(w,h,x,y,offset,end){
try{
hs.setStyles(this.wrapper,{visibility:'visible',left:x+'px',top:y+'px'});
hs.setStyles(this.content,{width:w+'px',height:h+'px'});
hs.setStyles(this.mediumContent,{left:(this.x.min-x)+'px',top:(this.y.min-y)+'px'});
this.innerContent.style.visibility='visible';
if(this.objOutline&&this.outlineWhileAnimating){
var o=this.objOutline.offset-offset;
this.positionOutline(x+o,y+o,w-2*o,h-2*o,1)}
if(end==1)setTimeout('try { hs.expanders['+this.key+'].onExpanded(); } catch(e) {}',0);else if(end==-1)setTimeout('try { hs.expanders['+this.key+'].onEndClose(); } catch(e) {}',0)}catch(e){
window.location.href=hs.getSrc(this.a)}
};
HsExpander.prototype.reflow=function(){
hs.setStyles(this.scrollerDiv,{height:'auto',width:'auto'});
this.x.span=this.innerContent.offsetWidth;
this.y.span=this.innerContent.offsetHeight;
var size={width:this.x.span+'px',height:this.y.span+'px'};
hs.setStyles(this.content,size);
this.positionOutline(this.x.min,this.y.min,this.x.span,this.y.span)};
HsExpander.prototype.htmlOnClose=function(){
if(this.objectLoadTime=='after'&&!this.preserveContent)this.destroyObject();
if(this.scrollerDiv&&this.scrollerDiv!=this.scrollingContent)
this.scrollerDiv.style.overflow='hidden';
if(this.swfObject)hs.$(this.swfObject.getAttribute('id')).StopPlay()};
HsExpander.prototype.destroyObject=function(){
this.objContainer.innerHTML=''};
HsExpander.prototype.sleep=function(){
if(this.objOutline)this.objOutline.table.className='highslide-display-none';
this.wrapper.className+=' highslide-display-none';
hs.setId(this.content,'-hsSleeping'+this.key);
hs.push(hs.sleeping,this)};
HsExpander.prototype.awake=function(){
hs.expanders[this.key]=this;
this.wrapper.className=this.wrapper.className.replace(/highslide-display-none/,'');
var z=hs.zIndexCounter++;
this.wrapper.style.zIndex=z;
if(o=this.objOutline){
if(!this.outlineWhileAnimating)o.table.style.visibility='hidden';
o.table.className=null;
o.table.style.zIndex=z}
hs.setId(this.content,'-hsSleeping'+this.key,1);
this.show()};
HsAjax=function(a,content){
this.a=a;
this.content=content};
HsAjax.prototype.run=function(){
try{this.xmlHttp=new XMLHttpRequest()}
catch(e){
try{this.xmlHttp=new ActiveXObject("Msxml2.XMLHTTP")}
catch(e){
try{this.xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")}
catch(e){this.onError()}
}
}
this.src=hs.getSrc(this.a);
if(this.src.match('#')){
var arr=this.src.split('#');
this.src=arr[0];
this.id=arr[1]}
var pThis=this;
this.xmlHttp.onreadystatechange=function(){
if(pThis.xmlHttp.readyState==4){
if(pThis.id)pThis.getElementContent();
else pThis.loadHTML()}
};
this.xmlHttp.open("GET",this.src,true);
this.xmlHttp.send(null)};
HsAjax.prototype.getElementContent=function(){
hs.genContainer();
var attribs=window.opera?{src:this.src}:null;this.iframe=hs.createElement('iframe',attribs,
{position:'absolute',left:'-9999px'},hs.container);
try{
this.loadHTML()}catch(e){var pThis=this;
setTimeout(function(){pThis.loadHTML()},1)}
};
HsAjax.prototype.loadHTML=function(){
var s=this.xmlHttp.responseText;
if(!hs.ie||hs.ieVersion()>=5.5){
s=s.replace(/\s/g,' ');
if(this.iframe){
s=s.replace(new RegExp('<link[^>]*>','gi'),'');
s=s.replace(new RegExp('<script[^>]*>.*?</script>','gi'),'');
var doc=this.iframe.contentDocument||this.iframe.contentWindow.document;
doc.open();
doc.write(s);
doc.close();
try{s=doc.getElementById(this.id).innerHTML}catch(e){}
hs.container.removeChild(this.iframe)}else{
s=s.replace(new RegExp('^.*?<body[^>]*>(.*?)</body>.*?$','i'),'$1')}
}
hs.identifyContainer(this.content,'highslide-body').innerHTML=s;
this.onLoad()};
hs.addEventListener(window,'load',hs.preloadAjax);



