/* * jQuery 1.2.1 - New Wave Javascript * * Copyright (c) 2007 John Resig (jquery.com) * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. * * + form.js (plugins @ jQuery.com) * + ajaxCallback.js (www.spip.net) */ (function(){ if(typeof jQuery!="undefined") var _jQuery=jQuery; var jQuery=window.jQuery=function(selector,context){ return this instanceof jQuery? this.init(selector,context): new jQuery(selector,context)}; if(typeof $!="undefined") var _$=$; window.$=jQuery; var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/; jQuery.fn=jQuery.prototype={ init:function(selector,context){ selector=selector||document; if(typeof selector=="string"){ var m=quickExpr.exec(selector); if(m&&(m[1]||!context)){ if(m[1]) selector=jQuery.clean([m[1]],context); else{ var tmp=document.getElementById(m[3]); if(tmp) if(tmp.id!=m[3]) return jQuery().find(selector); else{ this[0]=tmp; this.length=1; return this} else selector=[]} }else return new jQuery(context).find(selector)}else if(jQuery.isFunction(selector)) return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector); return this.setArray( selector.constructor==Array&&selector|| (selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)|| [selector])}, jquery:"1.2.1", size:function(){ return this.length}, length:0, get:function(num){ return num==undefined? jQuery.makeArray(this): this[num]}, pushStack:function(a){ var ret=jQuery(a); ret.prevObject=this; return ret}, setArray:function(a){ this.length=0; Array.prototype.push.apply(this,a); return this}, each:function(fn,args){ return jQuery.each(this,fn,args)}, index:function(obj){ var pos=-1; this.each(function(i){ if(this==obj)pos=i}); return pos}, attr:function(key,value,type){ var obj=key; if(key.constructor==String) if(value==undefined) return this.length&&jQuery[type||"attr"](this[0],key)||undefined; else{ obj={}; obj[key]=value} return this.each(function(index){ for(var prop in obj) jQuery.attr( type?this.style:this, prop,jQuery.prop(this,obj[prop],type,index,prop) )})}, css:function(key,value){ return this.attr(key,value,"curCSS")}, text:function(e){ if(typeof e!="object"&&e!=null) return this.empty().append(document.createTextNode(e)); var t=""; jQuery.each(e||this,function(){ jQuery.each(this.childNodes,function(){ if(this.nodeType!=8) t+=this.nodeType!=1? this.nodeValue:jQuery.fn.text([this])})}); return t}, 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,1,function(a){ this.appendChild(a)})}, prepend:function(){ return this.domManip(arguments,true,-1,function(a){ this.insertBefore(a,this.firstChild)})}, before:function(){ return this.domManip(arguments,false,1,function(a){ this.parentNode.insertBefore(a,this)})}, after:function(){ return this.domManip(arguments,false,-1,function(a){ this.parentNode.insertBefore(a,this.nextSibling)})}, end:function(){ return this.prevObject||jQuery([])}, find:function(t){ var data=jQuery.map(this,function(a){return jQuery.find(t,a)}); return this.pushStack(/[^+>] [^+>]/.test(t)||t.indexOf("..")>-1? jQuery.unique(data):data)}, clone:function(events){ var ret=this.map(function(){ return this.outerHTML?jQuery(this.outerHTML)[0]: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){ 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(t){ return this.pushStack( jQuery.isFunction(t)&& jQuery.grep(this,function(el,index){ return t.apply(el,[index])})|| jQuery.multiFilter(t,this))}, not:function(t){ return this.pushStack( t.constructor==String&& jQuery.multiFilter(t,this,true)|| jQuery.grep(this,function(a){ return(t.constructor==Array||t.jquery) ?jQuery.inArray(a,t)<0 :a!=t}) )}, add:function(t){ return this.pushStack(jQuery.merge( this.get(), t.constructor==String? jQuery(t).get(): t.length!=undefined&&(!t.nodeName||jQuery.nodeName(t,"form"))? t:[t]) )}, is:function(expr){ return expr?jQuery.multiFilter(expr,this).length>0:false}, hasClass:function(expr){ return this.is("."+expr)}, val:function(val){ if(val==undefined){ if(this.length){ var elem=this[0]; if(jQuery.nodeName(elem,"select")){ var index=elem.selectedIndex, a=[], 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=0|| jQuery.inArray(this.name,val)>=0); else if(jQuery.nodeName(this,"select")){ var tmp=val.constructor==Array?val:[val]; jQuery("option",this).each(function(){ this.selected=(jQuery.inArray(this.value,tmp)>=0|| jQuery.inArray(this.text,tmp)>=0)}); if(!tmp.length) this.selectedIndex=-1}else this.value=val})}, html:function(val){ return val==undefined? (this.length?this[0].innerHTML:null): this.empty().append(val)}, replaceWith:function(val){ return this.after(val).remove()}, eq:function(i){ return this.slice(i,i+1)}, slice:function(){ return this.pushStack(Array.prototype.slice.apply(this,arguments))}, map:function(fn){ return this.pushStack(jQuery.map(this,function(elem,i){ return fn.call(elem,i,elem)}))}, andSelf:function(){ return this.add(this.prevObject)}, domManip:function(args,table,dir,fn){ var clone=this.length>1,a; return this.each(function(){ if(!a){ a=jQuery.clean(args,this.ownerDocument); if(dir<0) a.reverse()} var obj=this; if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(a[0],"tr")) obj=this.getElementsByTagName("tbody")[0]||this.appendChild(document.createElement("tbody")); jQuery.each(a,function(){ var elem=clone?this.cloneNode(true):this; if(!evalScript(0,elem)) fn.call(obj,elem)})})} }; function evalScript(i,elem){ var script=jQuery.nodeName(elem,"script"); if(script){ 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)}else if(elem.nodeType==1) jQuery("script",elem).each(evalScript); return script} jQuery.extend=jQuery.fn.extend=function(){ var target=arguments[0]||{},a=1,al=arguments.length,deep=false; if(target.constructor==Boolean){ deep=target; target=arguments[1]||{}} if(al==1){ target=this; a=0} var prop; for(;a-1} }, swap:function(e,o,f){ for(var i in o){ e.style["old"+i]=e.style[i]; e.style[i]=o[i]} f.apply(e,[]); for(var i in o) e.style[i]=e.style["old"+i]}, css:function(e,p){ if(p=="height"||p=="width"){ var old={},oHeight,oWidth,d=["Top","Bottom","Right","Left"]; jQuery.each(d,function(){ old["padding"+this]=0; old["border"+this+"Width"]=0}); jQuery.swap(e,old,function(){ if(jQuery(e).is(':visible')){ oHeight=e.offsetHeight; oWidth=e.offsetWidth}else{ e=jQuery(e.cloneNode(true)) .find(":radio").removeAttr("checked").end() .css({ visibility:"hidden",position:"absolute",display:"block",right:"0",left:"0" }).appendTo(e.parentNode)[0]; var parPos=jQuery.css(e.parentNode,"position")||"static"; if(parPos=="static") e.parentNode.style.position="relative"; oHeight=e.clientHeight; oWidth=e.clientWidth; if(parPos=="static") e.parentNode.style.position="static"; e.parentNode.removeChild(e)} }); return p=="height"?oHeight:oWidth} return jQuery.curCSS(e,p)}, curCSS:function(elem,prop,force){ var ret,stack=[],swap=[]; function color(a){ if(!jQuery.browser.safari) return false; var ret=document.defaultView.getComputedStyle(a,null); return!ret||ret.getPropertyValue("color")==""} if(prop=="opacity"&&jQuery.browser.msie){ ret=jQuery.attr(elem.style,"opacity"); return ret==""?"1":ret} if(prop.match(/float/i)) prop=styleFloat; if(!force&&elem.style[prop]) ret=elem.style[prop]; else if(document.defaultView&&document.defaultView.getComputedStyle){ if(prop.match(/float/i)) prop="float"; prop=prop.replace(/([A-Z])/g,"-$1").toLowerCase(); var cur=document.defaultView.getComputedStyle(elem,null); if(cur&&!color(elem)) ret=cur.getPropertyValue(prop); else{ for(var a=elem;a&&color(a);a=a.parentNode) stack.unshift(a); for(a=0;a]*?)\/>/g,function(m,all,tag){ return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area)$/i)?m:all+">"}); var s=jQuery.trim(arg).toLowerCase(),div=doc.createElement("div"),tb=[]; var wrap= !s.indexOf("",""]|| !s.indexOf("",""]|| s.match(/^<(thead|tbody|tfoot|colg|cap)/)&& [1,"","
"]|| !s.indexOf("",""]|| (!s.indexOf("",""]|| !s.indexOf("",""]|| jQuery.browser.msie&& [1,"div
","
"]|| [0,"",""]; div.innerHTML=wrap[1]+arg+wrap[2]; while(wrap[0]--) div=div.lastChild; if(jQuery.browser.msie){ if(!s.indexOf(""&&s.indexOf("=0;--n) if(jQuery.nodeName(tb[n],"tbody")&&!tb[n].childNodes.length) tb[n].parentNode.removeChild(tb[n]); if(/^\s/.test(arg)) div.insertBefore(doc.createTextNode(arg.match(/^\s*/)[0]),div.firstChild)} arg=jQuery.makeArray(div.childNodes)} if(0===arg.length&&(!jQuery.nodeName(arg,"form")&&!jQuery.nodeName(arg,"select"))) return; if(arg[0]==undefined||jQuery.nodeName(arg,"form")||arg.options) r.push(arg); else r=jQuery.merge(r,arg)}); return r}, attr:function(elem,name,value){ var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props; if(name=="selected"&&jQuery.browser.safari) elem.parentNode.selectedIndex; if(fix[name]){ if(value!=undefined)elem[fix[name]]=value; return elem[fix[name]]}else if(jQuery.browser.msie&&name=="style") return jQuery.attr(elem.style,"cssText",value); else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method")) return elem.getAttributeNode(name).nodeValue; else if(elem.tagName){ if(value!=undefined){ if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode) throw"type property can't be changed"; elem.setAttribute(name,value)} if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem)) return elem.getAttribute(name,2); return elem.getAttribute(name)}else{ if(name=="opacity"&&jQuery.browser.msie){ if(value!=undefined){ elem.zoom=1; elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+ (parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")")} return elem.filter? (parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():""} name=name.replace(/-([a-z])/ig,function(z,b){return b.toUpperCase()}); if(value!=undefined)elem[name]=value; return elem[name]} }, trim:function(t){ return(t||"").replace(/^\s+|\s+$/g,"")}, makeArray:function(a){ var r=[]; if(typeof a!="array") for(var i=0,al=a.length;i\\s*("+chars+"+)"), quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"), quickClass=new RegExp("^([#.]?)("+chars+"*)"); jQuery.extend({ expr:{ "":"m[2]=='*'||jQuery.nodeName(a,m[2])", "#":"a.getAttribute('id')==m[2]", ":":{ lt:"im[3]-0", nth:"m[3]-0==i", eq:"m[3]-0==i", first:"i==0", last:"i==r.length-1", even:"i%2==0", odd:"i%2", "first-child":"a.parentNode.getElementsByTagName('*')[0]==a", "last-child":"jQuery.nth(a.parentNode.lastChild,1,'previousSibling')==a", "only-child":"!jQuery.nth(a.parentNode.lastChild,2,'previousSibling')", parent:"a.firstChild", empty:"!a.firstChild", contains:"(a.textContent||a.innerText||jQuery(a).text()||'').indexOf(m[3])>=0", visible:'"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden"', hidden:'"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden"', enabled:"!a.disabled", disabled:"a.disabled", checked:"a.checked", selected:"a.selected||jQuery.attr(a,'selected')", text:"'text'==a.type", radio:"'radio'==a.type", checkbox:"'checkbox'==a.type", file:"'file'==a.type", password:"'password'==a.type", submit:"'submit'==a.type", image:"'image'==a.type", reset:"'reset'==a.type", button:'"button"==a.type||jQuery.nodeName(a,"button")', input:"/input|select|textarea|button/i.test(a.nodeName)", has:"jQuery.find(m[3],a).length", header:"/h\\d/i.test(a.nodeName)", animated:"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) context=null; context=context||document; var ret=[context],done=[],last; while(t&&last!=t){ var r=[]; last=t; t=jQuery.trim(t); var foundToken=false; var re=quickChild; var m=re.exec(t); if(m){ var 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.toUpperCase())) 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 nodeName=m[2],merge={}; m=m[1]; for(var j=0,rl=ret.length;j=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=jQuery.filter(m[3],r,true).r; 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=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])&&"n+"+m[3]||m[3]), first=(test[1]||1)-0,last=test[2]-0; for(var i=0,rl=r.length;i<\/script>"); var script=document.getElementById("__ie_init"); if(script) script.onreadystatechange=function(){ if(this.readyState!="complete")return; jQuery.ready()}; script=null}else if(jQuery.browser.safari) jQuery.safariTimer=setInterval(function(){ if(document.readyState=="loaded"|| document.readyState=="complete"){ clearInterval(jQuery.safariTimer); jQuery.safariTimer=null; jQuery.ready()} },10); jQuery.event.add(window,"load",jQuery.ready)} jQuery.fn.extend({ load:function(url,params,callback){ if(jQuery.isFunction(url)) return this.bind("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, data:params, complete:function(res,status){ if(status=="success"||status=="notmodified") self.html(selector? jQuery("
") .append(res.responseText.replace(//g,"")) .find(selector): res.responseText); setTimeout(function(){ self.each(callback,[res.responseText,status,res])},13)} }); 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=(new Date).getTime(); 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:{ global:true, type:"GET", timeout:0, contentType:"application/x-www-form-urlencoded", processData:true, async:true, data:null }, lastModified:{}, ajax:function(s){ var jsonp,jsre=/=(\?|%3F)/g,status,data; s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s)); if(s.data&&s.processData&&typeof s.data!="string") s.data=jQuery.param(s.data); if(s.dataType=="jsonp"){ if(s.type.toLowerCase()=="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); s.url=s.url.replace(jsre,"="+jsonp); s.dataType="script"; window[jsonp]=function(tmp){ data=tmp; success(); complete(); window[jsonp]=undefined; try{delete window[jsonp]}catch(e){} }} if(s.dataType=="script"&&s.cache==null) s.cache=false; if(s.cache===false&&s.type.toLowerCase()=="get") s.url+=(s.url.match(/\?/)?"&":"?")+"_="+(new Date()).getTime(); if(s.data&&s.type.toLowerCase()=="get"){ s.url+=(s.url.match(/\?/)?"&":"?")+s.data; s.data=null} if(s.global&&!jQuery.active++) jQuery.event.trigger("ajaxStart"); if(!s.url.indexOf("http")&&s.dataType=="script"){ var head=document.getElementsByTagName("head")[0]; var script=document.createElement("script"); script.src=s.url; if(!jsonp&&(s.success||s.complete)){ 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} var requestDone=false; var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest(); xml.open(s.type,s.url,s.async); if(s.data) xml.setRequestHeader("Content-Type",s.contentType); if(s.ifModified) xml.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT"); xml.setRequestHeader("X-Requested-With","XMLHttpRequest"); if(s.beforeSend) s.beforeSend(xml); if(s.global) jQuery.event.trigger("ajaxSend",[xml,s]); var onreadystatechange=function(isTimeout){ if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){ requestDone=true; if(ival){ clearInterval(ival); ival=null} status=isTimeout=="timeout"&&"timeout"|| !jQuery.httpSuccess(xml)&&"error"|| s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"|| "success"; if(status=="success"){ try{ data=jQuery.httpData(xml,s.dataType)}catch(e){ status="parsererror"} } if(status=="success"){ var modRes; try{ modRes=xml.getResponseHeader("Last-Modified")}catch(e){} if(s.ifModified&&modRes) jQuery.lastModified[s.url]=modRes; if(!jsonp) success()}else jQuery.handleError(s,xml,status); complete(); if(s.async) xml=null} }; if(s.async){ var ival=setInterval(onreadystatechange,13); if(s.timeout>0) setTimeout(function(){ if(xml){ xml.abort(); if(!requestDone) onreadystatechange("timeout")} },s.timeout)} try{ xml.send(s.data)}catch(e){ jQuery.handleError(s,xml,null,e)} if(!s.async) onreadystatechange(); return xml; function success(){ if(s.success) s.success(data,status); if(s.global) jQuery.event.trigger("ajaxSuccess",[xml,s])} function complete(){ if(s.complete) s.complete(xml,status); if(s.global) jQuery.event.trigger("ajaxComplete",[xml,s]); if(s.global&&!--jQuery.active) jQuery.event.trigger("ajaxStop")} }, handleError:function(s,xml,status,e){ if(s.error)s.error(xml,status,e); if(s.global) jQuery.event.trigger("ajaxError",[xml,s,e])}, active:0, httpSuccess:function(r){ try{ return!r.status&&location.protocol=="file:"|| (r.status>=200&&r.status<300)||r.status==304|| jQuery.browser.safari&&r.status==undefined}catch(e){} return false}, httpNotModified:function(xml,url){ try{ var xmlRes=xml.getResponseHeader("Last-Modified"); return xml.status==304||xmlRes==jQuery.lastModified[url]|| jQuery.browser.safari&&xml.status==undefined}catch(e){} return false}, httpData:function(r,type){ var ct=r.getResponseHeader("content-type"); var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0; var data=xml?r.responseXML:r.responseText; if(xml&&data.documentElement.tagName=="parsererror") throw"parsererror"; 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(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?this.oldblock:""; if(jQuery.css(this,"display")=="none") this.style.display="block"}).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"); if(this.oldblock=="none") this.oldblock="block"; this.style.display="none"}).end()}, _toggle:jQuery.fn.toggle, toggle:function(fn,fn2){ return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)? this._toggle(fn,fn2): 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 opt=jQuery.speed(speed,easing,callback); return this[opt.queue===false?"each":"queue"](function(){ opt=jQuery.extend({},opt); var hidden=jQuery(this).is(":hidden"),self=this; for(var p in prop){ if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden) return jQuery.isFunction(opt.complete)&&opt.complete.apply(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)){ 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.apply(this)} })}, stop:function(){ var timers=jQuery.timers; return this.each(function(){ for(var i=0;i-10000?r:parseFloat(jQuery.css(this.elem,this.prop))||0}, custom:function(from,to,unit){ this.startTime=(new Date()).getTime(); 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(){ return self.step()} t.elem=this.elem; jQuery.timers.push(t); if(jQuery.timers.length==1){ var timer=setInterval(function(){ var timers=jQuery.timers; for(var i=0;ithis.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&&jQuery.isFunction(this.options.complete)) this.options.complete.apply(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.fx.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 absolute=jQuery.css(elem,"position")=="absolute", parent=elem.parentNode, offsetParent=elem.offsetParent, doc=elem.ownerDocument, safari2=safari&&parseInt(version)<522; 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) ); if(msie){ var border=jQuery("html").css("borderWidth"); border=(border=="medium"||jQuery.boxModel&&parseInt(version)>=7)&&2||border; add(-border,-border)} }else{ add(elem.offsetLeft,elem.offsetTop); while(offsetParent){ add(offsetParent.offsetLeft,offsetParent.offsetTop); if(mozilla&&!/^t[d|h]$/i.test(offsetParent.tagName)||safari&&parseInt(version)>=522) border(offsetParent); if(safari2&&!absolute&&jQuery.css(offsetParent,"position")=="absolute") absolute=true; offsetParent=offsetParent.offsetParent} while(parent.tagName&&!/^body|html$/i.test(parent.tagName)){ if(!/^inline|table-row.*$/i.test(jQuery.css(parent,"display"))) add(-parent.scrollLeft,-parent.scrollTop); if(mozilla&&jQuery.css(parent,"overflow")!="visible") border(parent); parent=parent.parentNode} if(safari2&&absolute) add(-doc.body.offsetLeft,-doc.body.offsetTop)} results={top:top,left:left}} return results; function border(elem){ add(jQuery.css(elem,"borderLeftWidth"),jQuery.css(elem,"borderTopWidth"))} function add(l,t){ left+=parseInt(l)||0; top+=parseInt(t)||0} }})(); (function($){ $.fn.ajaxSubmit=function(options){ if(typeof options=='function') options={success:options}; options=$.extend({ url:this.attr('action')||window.location, type:this.attr('method')||'GET' },options||{}); var veto={}; $.event.trigger('form.pre.serialize',[this,options,veto]); if(veto.veto)return this; var a=this.formToArray(options.semantic); if(options.data){ for(var n in options.data) a.push({name:n,value:options.data[n]})} if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false)return this; $.event.trigger('form.submit.validate',[a,this,options,veto]); if(veto.veto)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){ if(this.evalScripts) $(options.target).attr("innerHTML",data).evalScripts().each(oldSuccess,arguments); else $(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'); var io=$io[0]; var op8=$.browser.opera&&window.opera.version()<9; if($.browser.msie||op8)io.src='javascript:false;document.write("");'; $io.css({position:'absolute',top:'-1000px',left:'-1000px'}); var xhr={ responseText:null, responseXML:null, status:0, statusText:'n/a', getAllResponseHeaders:function(){}, getResponseHeader:function(){}, setRequestHeader:function(){} }; var g=opts.global; if(g&&!$.active++)$.event.trigger("ajaxStart"); if(g)$.event.trigger("ajaxSend",[xhr,opts]); var cbInvoked=0; var timedOut=0; setTimeout(function(){ $io.appendTo('body'); io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false); var encAttr=form.encoding?'encoding':'enctype'; var t=$form.attr('target'); $form.attr({ target:id, method:'POST', action:opts.url }); form[encAttr]='multipart/form-data'; if(opts.timeout) setTimeout(function(){timedOut=true;cb()},opts.timeout); form.submit(); $form.attr('target',t)},10); 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; xhr.responseText=doc.body?doc.body.innerHTML:null; xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc; if(opts.dataType=='json'||opts.dataType=='script'){ var ta=doc.getElementsByTagName('textarea')[0]; data=ta?ta.value:xhr.responseText; if(opts.dataType=='json') eval("data = "+data); else $.globalEval(data)} else if(opts.dataType=='xml'){ data=xhr.responseXML; if(!data&&xhr.responseText!=null) data=toXml(xhr.responseText)} else{ data=xhr.responseText} } 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.ajaxSubmit.counter=0; $.fn.ajaxForm=function(options){ return this.ajaxFormUnbind().submit(submitHandler).each(function(){ this.formPluginId=$.fn.ajaxForm.counter++; $.fn.ajaxForm.optionHash[this.formPluginId]=options; $(":submit,input:image",this).click(clickHandler)})}; $.fn.ajaxForm.counter=1; $.fn.ajaxForm.optionHash={}; function clickHandler(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)}; function submitHandler(){ var id=this.formPluginId; var options=$.fn.ajaxForm.optionHash[id]; $(this).ajaxSubmit(options); return false}; $.fn.ajaxFormUnbind=function(){ this.unbind('submit',submitHandler); return this.each(function(){ $(":submit,input:image",this).unbind('click',clickHandler)})}; $.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=0; orig_complete(res,status); if(!dataType&&!xml||dataType=="html")triggerAjaxLoad(document)}; return jQuery._ajax(type)}}