(function(){
var
window=this,
undefined,
_jQuery=window.jQuery,
_$=window.$,
jQuery=window.jQuery=window.$=function(selector,context){
return new jQuery.fn.init(selector,context);
},
quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
isSimple=/^.[^:#\[\.,]*$/;
jQuery.fn=jQuery.prototype={
init:function(selector,context){
selector=selector||document;
if(selector.nodeType){
this[0]=selector;
this.length=1;
this.context=selector;
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&&elem.id!=match[3])
return jQuery().find(selector);
var ret=jQuery(elem||[]);
ret.context=document;
ret.selector=selector;
return ret;
}
}else
return jQuery(context).find(selector);
}else if(jQuery.isFunction(selector))
return jQuery(document).ready(selector);
if(selector.selector&&selector.context){
this.selector=selector.selector;
this.context=selector.context;
}
return this.setArray(jQuery.isArray(selector)?
selector:
jQuery.makeArray(selector));
},
selector:"",
jquery:"1.3.2",
size:function(){
return this.length;
},
get:function(num){
return num===undefined?
Array.prototype.slice.call(this):
this[num];
},
pushStack:function(elems,name,selector){
var ret=jQuery(elems);
ret.prevObject=this;
ret.context=this.context;
if(name==="find")
ret.selector=this.selector+(this.selector?" ":"")+selector;
else if(name)
ret.selector=this.selector+"."+name+"("+selector+")";
return ret;
},
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){
return jQuery.inArray(
elem&&elem.jquery?elem[0]:elem
,this);
},
attr:function(name,value,type){
var options=name;
if(typeof name==="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]){
var wrap=jQuery(html,this[0].ownerDocument).clone();
if(this[0].parentNode)
wrap.insertBefore(this[0]);
wrap.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,function(elem){
if(this.nodeType==1)
this.appendChild(elem);
});
},
prepend:function(){
return this.domManip(arguments,true,function(elem){
if(this.nodeType==1)
this.insertBefore(elem,this.firstChild);
});
},
before:function(){
return this.domManip(arguments,false,function(elem){
this.parentNode.insertBefore(elem,this);
});
},
after:function(){
return this.domManip(arguments,false,function(elem){
this.parentNode.insertBefore(elem,this.nextSibling);
});
},
end:function(){
return this.prevObject||jQuery([]);
},
push:[].push,
sort:[].sort,
splice:[].splice,
find:function(selector){
if(this.length===1){
var ret=this.pushStack([],"find",selector);
ret.length=0;
jQuery.find(selector,this[0],ret);
return ret;
}else{
return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){
return jQuery.find(selector,elem);
})),"find",selector);
}
},
clone:function(events){
var ret=this.map(function(){
if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){
var html=this.outerHTML;
if(!html){
var div=this.ownerDocument.createElement("div");
div.appendChild(this.cloneNode(true));
html=div.innerHTML;
}
return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];
}else
return this.cloneNode(true);
});
if(events===true){
var orig=this.find("*").andSelf(),i=0;
ret.find("*").andSelf().each(function(){
if(this.nodeName!==orig[i].nodeName)
return;
var events=jQuery.data(orig[i],"events");
for(var type in events){
for(var handler in events[type]){
jQuery.event.add(this,type,events[type][handler],events[type][handler].data);
}
}
i++;
});
}
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,jQuery.grep(this,function(elem){
return elem.nodeType===1;
})),"filter",selector);
},
closest:function(selector){
var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,
closer=0;
return this.map(function(){
var cur=this;
while(cur&&cur.ownerDocument){
if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){
jQuery.data(cur,"closest",closer);
return cur;
}
cur=cur.parentNode;
closer++;
}
});
},
not:function(selector){
if(typeof selector==="string")
if(isSimple.test(selector))
return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);
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!!selector&&this.is("."+selector);
},
val:function(value){
if(value===undefined){
var elem=this[0];
if(elem){
if(jQuery.nodeName(elem,'option'))
return(elem.attributes.value||{}).specified?elem.value:elem.text;
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(option).val();
if(one)
return value;
values.push(value);
}
}
return values;
}
return(elem.value||"").replace(/\r/g,"");
}
return undefined;
}
if(typeof value==="number")
value+='';
return this.each(function(){
if(this.nodeType!=1)
return;
if(jQuery.isArray(value)&&/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.replace(/ jQuery\d+="(?:\d+|null)"/g,""):
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),
"slice",Array.prototype.slice.call(arguments).join(","));
},
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);
},
domManip:function(args,table,callback){
if(this[0]){
var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),
scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),
first=fragment.firstChild;
if(first)
for(var i=0,l=this.length;i<l;i++)
callback.call(root(this[i],first),this.length>1||i>0?
fragment.cloneNode(true):fragment);
if(scripts)
jQuery.each(scripts,evalScript);
}
return this;
function root(elem,cur){
return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?
(elem.getElementsByTagName("tbody")[0]||
elem.appendChild(elem.ownerDocument.createElement("tbody"))):
elem;
}
}
};
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(typeof target==="boolean"){
deep=target;
target=arguments[1]||{};
i=2;
}
if(typeof target!=="object"&&!jQuery.isFunction(target))
target={};
if(length==i){
target=this;
--i;
}
for(;i<length;i++)
if((options=arguments[i])!=null)
for(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 exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,
defaultView=document.defaultView||{},
toString=Object.prototype.toString;
jQuery.extend({
noConflict:function(deep){
window.$=_$;
if(deep)
window.jQuery=_jQuery;
return jQuery;
},
isFunction:function(obj){
return toString.call(obj)==="[object Function]";
},
isArray:function(obj){
return toString.call(obj)==="[object Array]";
},
isXMLDoc:function(elem){
return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||
!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);
},
globalEval:function(data){
if(data&&/\S/.test(data)){
var head=document.getElementsByTagName("head")[0]||document.documentElement,
script=document.createElement("script");
script.type="text/javascript";
if(jQuery.support.scriptEval)
script.appendChild(document.createTextNode(data));
else
script.text=data;
head.insertBefore(script,head.firstChild);
head.removeChild(script);
}
},
nodeName:function(elem,name){
return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();
},
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 typeof value==="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 elem&&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,extra){
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;
if(extra==="border")
return;
jQuery.each(which,function(){
if(!extra)
val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;
if(extra==="margin")
val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;
else
val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;
});
}
if(elem.offsetWidth!==0)
getWH();
else
jQuery.swap(elem,props,getWH);
return Math.max(0,Math.round(val));
}
return jQuery.curCSS(elem,name,force);
},
curCSS:function(elem,name,force){
var ret,style=elem.style;
if(name=="opacity"&&!jQuery.support.opacity){
ret=jQuery.attr(style,"opacity");
return ret==""?
"1":
ret;
}
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)
ret=computedStyle.getPropertyValue(name);
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,fragment){
context=context||document;
if(typeof context.createElement==="undefined")
context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;
if(!fragment&&elems.length===1&&typeof elems[0]==="string"){
var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);
if(match)
return[context.createElement(match[1])];
}
var ret=[],scripts=[],div=context.createElement("div");
jQuery.each(elems,function(i,elem){
if(typeof elem==="number")
elem+='';
if(!elem)
return;
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=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();
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.support.htmlSerialize&&
[1,"div<div>","</div>"]||
[0,"",""];
div.innerHTML=wrap[1]+elem+wrap[2];
while(wrap[0]--)
div=div.lastChild;
if(!jQuery.support.tbody){
var hasBody=/<tbody/i.test(elem),
tbody=!tags.indexOf("<table")&&!hasBody?
div.firstChild&&div.firstChild.childNodes:
wrap[1]=="<table>"&&!hasBody?
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(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);
elem=jQuery.makeArray(div.childNodes);
}
if(elem.nodeType)
ret.push(elem);
else
ret=jQuery.merge(ret,elem);
});
if(fragment){
for(var i=0;ret[i];i++){
if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){
scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);
}else{
if(ret[i].nodeType===1)
ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));
fragment.appendChild(ret[i]);
}
}
return scripts;
}
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;
name=notxml&&jQuery.props[name]||name;
if(elem.tagName){
var special=/href|src|style/.test(name);
if(name=="selected"&&elem.parentNode)
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";
elem[name]=value;
}
if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
return elem.getAttributeNode(name).nodeValue;
if(name=="tabIndex"){
var attributeNode=elem.getAttributeNode("tabIndex");
return attributeNode&&attributeNode.specified
?attributeNode.value
:elem.nodeName.match(/(button|input|object|select|textarea)/i)
?0
:elem.nodeName.match(/^(a|area)$/i)&&elem.href
?0
:undefined;
}
return elem[name];
}
if(!jQuery.support.style&&notxml&&name=="style")
return jQuery.attr(elem.style,"cssText",value);
if(set)
elem.setAttribute(name,""+value);
var attr=!jQuery.support.hrefNormalized&&notxml&&special
?elem.getAttribute(name,2)
:elem.getAttribute(name);
return attr===null?undefined:attr;
}
if(!jQuery.support.opacity&&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||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
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.support.getAll){
while((elem=second[i++])!=null)
if(elem.nodeType!=8)
first[pos++]=elem;
}else
while((elem=second[i++])!=null)
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.]+)/)||[0,'0'])[1],
safari:/webkit/.test(userAgent),
opera:/opera/.test(userAgent),
msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),
mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)
};
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),name,selector);
};
});
jQuery.each({
appendTo:"append",
prependTo:"prepend",
insertBefore:"before",
insertAfter:"after",
replaceAll:"replaceWith"
},function(name,original){
jQuery.fn[name]=function(selector){
var ret=[],insert=jQuery(selector);
for(var i=0,l=insert.length;i<l;i++){
var elems=(i>0?this.clone(true):this).get();
jQuery.fn[original].apply(jQuery(insert[i]),elems);
ret=ret.concat(elems);
}
return this.pushStack(ret,name,selector);
};
});
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,state){
if(typeof state!=="boolean")
state=!jQuery.className.has(this,classNames);
jQuery.className[state?"add":"remove"](this,classNames);
},
remove:function(selector){
if(!selector||jQuery.filter(selector,[this]).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).children().remove();
while(this.firstChild)
this.removeChild(this.firstChild);
}
},function(name,fn){
jQuery.fn[name]=function(){
return this.each(fn,arguments);
};
});
function num(elem,prop){
return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;
}
var expando="jQuery"+now(),uuid=0,windowData={};
jQuery.extend({
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];
}
},
queue:function(elem,type,data){
if(elem){
type=(type||"fx")+"queue";
var q=jQuery.data(elem,type);
if(!q||jQuery.isArray(data))
q=jQuery.data(elem,type,jQuery.makeArray(data));
else if(data)
q.push(data);
}
return q;
},
dequeue:function(elem,type){
var queue=jQuery.queue(elem,type),
fn=queue.shift();
if(!type||type==="fx")
fn=queue[0];
if(fn!==undefined)
fn.call(elem);
}
});
jQuery.fn.extend({
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);
});
},
queue:function(type,data){
if(typeof type!=="string"){
data=type;
type="fx";
}
if(data===undefined)
return jQuery.queue(this[0],type);
return this.each(function(){
var queue=jQuery.queue(this,type,data);
if(type=="fx"&&queue.length==1)
queue[0].call(this);
});
},
dequeue:function(type){
return this.each(function(){
jQuery.dequeue(this,type);
});
}
});
(function(){
var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
done=0,
toString=Object.prototype.toString;
var Sizzle=function(selector,context,results,seed){
results=results||[];
context=context||document;
if(context.nodeType!==1&&context.nodeType!==9)
return[];
if(!selector||typeof selector!=="string"){
return results;
}
var parts=[],m,set,checkSet,check,mode,extra,prune=true;
chunker.lastIndex=0;
while((m=chunker.exec(selector))!==null){
parts.push(m[1]);
if(m[2]){
extra=RegExp.rightContext;
break;
}
}
if(parts.length>1&&origPOS.exec(selector)){
if(parts.length===2&&Expr.relative[parts[0]]){
set=posProcess(parts[0]+parts[1],context);
}else{
set=Expr.relative[parts[0]]?
[context]:
Sizzle(parts.shift(),context);
while(parts.length){
selector=parts.shift();
if(Expr.relative[selector])
selector+=parts.shift();
set=posProcess(selector,set);
}
}
}else{
var ret=seed?
{expr:parts.pop(),set:makeArray(seed)}:
Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));
set=Sizzle.filter(ret.expr,ret.set);
if(parts.length>0){
checkSet=makeArray(set);
}else{
prune=false;
}
while(parts.length){
var cur=parts.pop(),pop=cur;
if(!Expr.relative[cur]){
cur="";
}else{
pop=parts.pop();
}
if(pop==null){
pop=context;
}
Expr.relative[cur](checkSet,pop,isXML(context));
}
}
if(!checkSet){
checkSet=set;
}
if(!checkSet){
throw"Syntax error, unrecognized expression: "+(cur||selector);
}
if(toString.call(checkSet)==="[object Array]"){
if(!prune){
results.push.apply(results,checkSet);
}else if(context.nodeType===1){
for(var i=0;checkSet[i]!=null;i++){
if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){
results.push(set[i]);
}
}
}else{
for(var i=0;checkSet[i]!=null;i++){
if(checkSet[i]&&checkSet[i].nodeType===1){
results.push(set[i]);
}
}
}
}else{
makeArray(checkSet,results);
}
if(extra){
Sizzle(extra,context,results,seed);
if(sortOrder){
hasDuplicate=false;
results.sort(sortOrder);
if(hasDuplicate){
for(var i=1;i<results.length;i++){
if(results[i]===results[i-1]){
results.splice(i--,1);
}
}
}
}
}
return results;
};
Sizzle.matches=function(expr,set){
return Sizzle(expr,null,null,set);
};
Sizzle.find=function(expr,context,isXML){
var set,match;
if(!expr){
return[];
}
for(var i=0,l=Expr.order.length;i<l;i++){
var type=Expr.order[i],match;
if((match=Expr.match[type].exec(expr))){
var left=RegExp.leftContext;
if(left.substr(left.length-1)!=="\\"){
match[1]=(match[1]||"").replace(/\\/g,"");
set=Expr.find[type](match,context,isXML);
if(set!=null){
expr=expr.replace(Expr.match[type],"");
break;
}
}
}
}
if(!set){
set=context.getElementsByTagName("*");
}
return{set:set,expr:expr};
};
Sizzle.filter=function(expr,set,inplace,not){
var old=expr,result=[],curLoop=set,match,anyFound,
isXMLFilter=set&&set[0]&&isXML(set[0]);
while(expr&&set.length){
for(var type in Expr.filter){
if((match=Expr.match[type].exec(expr))!=null){
var filter=Expr.filter[type],found,item;
anyFound=false;
if(curLoop==result){
result=[];
}
if(Expr.preFilter[type]){
match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);
if(!match){
anyFound=found=true;
}else if(match===true){
continue;
}
}
if(match){
for(var i=0;(item=curLoop[i])!=null;i++){
if(item){
found=filter(item,match,i,curLoop);
var pass=not^!!found;
if(inplace&&found!=null){
if(pass){
anyFound=true;
}else{
curLoop[i]=false;
}
}else if(pass){
result.push(item);
anyFound=true;
}
}
}
}
if(found!==undefined){
if(!inplace){
curLoop=result;
}
expr=expr.replace(Expr.match[type],"");
if(!anyFound){
return[];
}
break;
}
}
}
if(expr==old){
if(anyFound==null){
throw"Syntax error, unrecognized expression: "+expr;
}else{
break;
}
}
old=expr;
}
return curLoop;
};
var Expr=Sizzle.selectors={
order:["ID","NAME","TAG"],
match:{
ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,
ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,
CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/
},
attrMap:{
"class":"className",
"for":"htmlFor"
},
attrHandle:{
href:function(elem){
return elem.getAttribute("href");
}
},
relative:{
"+":function(checkSet,part,isXML){
var isPartStr=typeof part==="string",
isTag=isPartStr&&!/\W/.test(part),
isPartStrNotTag=isPartStr&&!isTag;
if(isTag&&!isXML){
part=part.toUpperCase();
}
for(var i=0,l=checkSet.length,elem;i<l;i++){
if((elem=checkSet[i])){
while((elem=elem.previousSibling)&&elem.nodeType!==1){}
checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?
elem||false:
elem===part;
}
}
if(isPartStrNotTag){
Sizzle.filter(part,checkSet,true);
}
},
">":function(checkSet,part,isXML){
var isPartStr=typeof part==="string";
if(isPartStr&&!/\W/.test(part)){
part=isXML?part:part.toUpperCase();
for(var i=0,l=checkSet.length;i<l;i++){
var elem=checkSet[i];
if(elem){
var parent=elem.parentNode;
checkSet[i]=parent.nodeName===part?parent:false;
}
}
}else{
for(var i=0,l=checkSet.length;i<l;i++){
var elem=checkSet[i];
if(elem){
checkSet[i]=isPartStr?
elem.parentNode:
elem.parentNode===part;
}
}
if(isPartStr){
Sizzle.filter(part,checkSet,true);
}
}
},
"":function(checkSet,part,isXML){
var doneName=done++,checkFn=dirCheck;
if(!part.match(/\W/)){
var nodeCheck=part=isXML?part:part.toUpperCase();
checkFn=dirNodeCheck;
}
checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);
},
"~":function(checkSet,part,isXML){
var doneName=done++,checkFn=dirCheck;
if(typeof part==="string"&&!part.match(/\W/)){
var nodeCheck=part=isXML?part:part.toUpperCase();
checkFn=dirNodeCheck;
}
checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);
}
},
find:{
ID:function(match,context,isXML){
if(typeof context.getElementById!=="undefined"&&!isXML){
var m=context.getElementById(match[1]);
return m?[m]:[];
}
},
NAME:function(match,context,isXML){
if(typeof context.getElementsByName!=="undefined"){
var ret=[],results=context.getElementsByName(match[1]);
for(var i=0,l=results.length;i<l;i++){
if(results[i].getAttribute("name")===match[1]){
ret.push(results[i]);
}
}
return ret.length===0?null:ret;
}
},
TAG:function(match,context){
return context.getElementsByTagName(match[1]);
}
},
preFilter:{
CLASS:function(match,curLoop,inplace,result,not,isXML){
match=" "+match[1].replace(/\\/g,"")+" ";
if(isXML){
return match;
}
for(var i=0,elem;(elem=curLoop[i])!=null;i++){
if(elem){
if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){
if(!inplace)
result.push(elem);
}else if(inplace){
curLoop[i]=false;
}
}
}
return false;
},
ID:function(match){
return match[1].replace(/\\/g,"");
},
TAG:function(match,curLoop){
for(var i=0;curLoop[i]===false;i++){}
return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();
},
CHILD:function(match){
if(match[1]=="nth"){
var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(
match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||
!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);
match[2]=(test[1]+(test[2]||1))-0;
match[3]=test[3]-0;
}
match[0]=done++;
return match;
},
ATTR:function(match,curLoop,inplace,result,not,isXML){
var name=match[1].replace(/\\/g,"");
if(!isXML&&Expr.attrMap[name]){
match[1]=Expr.attrMap[name];
}
if(match[2]==="~="){
match[4]=" "+match[4]+" ";
}
return match;
},
PSEUDO:function(match,curLoop,inplace,result,not){
if(match[1]==="not"){
if(match[3].match(chunker).length>1||/^\w/.test(match[3])){
match[3]=Sizzle(match[3],null,null,curLoop);
}else{
var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);
if(!inplace){
result.push.apply(result,ret);
}
return false;
}
}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){
return true;
}
return match;
},
POS:function(match){
match.unshift(true);
return match;
}
},
filters:{
enabled:function(elem){
return elem.disabled===false&&elem.type!=="hidden";
},
disabled:function(elem){
return elem.disabled===true;
},
checked:function(elem){
return elem.checked===true;
},
selected:function(elem){
elem.parentNode.selectedIndex;
return elem.selected===true;
},
parent:function(elem){
return!!elem.firstChild;
},
empty:function(elem){
return!elem.firstChild;
},
has:function(elem,i,match){
return!!Sizzle(match[3],elem).length;
},
header:function(elem){
return/h\d/i.test(elem.nodeName);
},
text:function(elem){
return"text"===elem.type;
},
radio:function(elem){
return"radio"===elem.type;
},
checkbox:function(elem){
return"checkbox"===elem.type;
},
file:function(elem){
return"file"===elem.type;
},
password:function(elem){
return"password"===elem.type;
},
submit:function(elem){
return"submit"===elem.type;
},
image:function(elem){
return"image"===elem.type;
},
reset:function(elem){
return"reset"===elem.type;
},
button:function(elem){
return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";
},
input:function(elem){
return/input|select|textarea|button/i.test(elem.nodeName);
}
},
setFilters:{
first:function(elem,i){
return i===0;
},
last:function(elem,i,match,array){
return i===array.length-1;
},
even:function(elem,i){
return i%2===0;
},
odd:function(elem,i){
return i%2===1;
},
lt:function(elem,i,match){
return i<match[3]-0;
},
gt:function(elem,i,match){
return i>match[3]-0;
},
nth:function(elem,i,match){
return match[3]-0==i;
},
eq:function(elem,i,match){
return match[3]-0==i;
}
},
filter:{
PSEUDO:function(elem,match,i,array){
var name=match[1],filter=Expr.filters[name];
if(filter){
return filter(elem,i,match,array);
}else if(name==="contains"){
return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;
}else if(name==="not"){
var not=match[3];
for(var i=0,l=not.length;i<l;i++){
if(not[i]===elem){
return false;
}
}
return true;
}
},
CHILD:function(elem,match){
var type=match[1],node=elem;
switch(type){
case'only':
case'first':
while(node=node.previousSibling){
if(node.nodeType===1)return false;
}
if(type=='first')return true;
node=elem;
case'last':
while(node=node.nextSibling){
if(node.nodeType===1)return false;
}
return true;
case'nth':
var first=match[2],last=match[3];
if(first==1&&last==0){
return true;
}
var doneName=match[0],
parent=elem.parentNode;
if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){
var count=0;
for(node=parent.firstChild;node;node=node.nextSibling){
if(node.nodeType===1){
node.nodeIndex=++count;
}
}
parent.sizcache=doneName;
}
var diff=elem.nodeIndex-last;
if(first==0){
return diff==0;
}else{
return(diff%first==0&&diff/first>=0);
}
}
},
ID:function(elem,match){
return elem.nodeType===1&&elem.getAttribute("id")===match;
},
TAG:function(elem,match){
return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;
},
CLASS:function(elem,match){
return(" "+(elem.className||elem.getAttribute("class"))+" ")
.indexOf(match)>-1;
},
ATTR:function(elem,match){
var name=match[1],
result=Expr.attrHandle[name]?
Expr.attrHandle[name](elem):
elem[name]!=null?
elem[name]:
elem.getAttribute(name),
value=result+"",
type=match[2],
check=match[4];
return result==null?
type==="!=":
type==="="?
value===check:
type==="*="?
value.indexOf(check)>=0:
type==="~="?
(" "+value+" ").indexOf(check)>=0:
!check?
value&&result!==false:
type==="!="?
value!=check:
type==="^="?
value.indexOf(check)===0:
type==="$="?
value.substr(value.length-check.length)===check:
type==="|="?
value===check||value.substr(0,check.length+1)===check+"-":
false;
},
POS:function(elem,match,i,array){
var name=match[2],filter=Expr.setFilters[name];
if(filter){
return filter(elem,i,match,array);
}
}
}
};
var origPOS=Expr.match.POS;
for(var type in Expr.match){
Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);
}
var makeArray=function(array,results){
array=Array.prototype.slice.call(array);
if(results){
results.push.apply(results,array);
return results;
}
return array;
};
try{
Array.prototype.slice.call(document.documentElement.childNodes);
}catch(e){
makeArray=function(array,results){
var ret=results||[];
if(toString.call(array)==="[object Array]"){
Array.prototype.push.apply(ret,array);
}else{
if(typeof array.length==="number"){
for(var i=0,l=array.length;i<l;i++){
ret.push(array[i]);
}
}else{
for(var i=0;array[i];i++){
ret.push(array[i]);
}
}
}
return ret;
};
}
var sortOrder;
if(document.documentElement.compareDocumentPosition){
sortOrder=function(a,b){
var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;
if(ret===0){
hasDuplicate=true;
}
return ret;
};
}else if("sourceIndex"in document.documentElement){
sortOrder=function(a,b){
var ret=a.sourceIndex-b.sourceIndex;
if(ret===0){
hasDuplicate=true;
}
return ret;
};
}else if(document.createRange){
sortOrder=function(a,b){
var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();
aRange.selectNode(a);
aRange.collapse(true);
bRange.selectNode(b);
bRange.collapse(true);
var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);
if(ret===0){
hasDuplicate=true;
}
return ret;
};
}
(function(){
var form=document.createElement("form"),
id="script"+(new Date).getTime();
form.innerHTML="<input name='"+id+"'/>";
var root=document.documentElement;
root.insertBefore(form,root.firstChild);
if(!!document.getElementById(id)){
Expr.find.ID=function(match,context,isXML){
if(typeof context.getElementById!=="undefined"&&!isXML){
var m=context.getElementById(match[1]);
return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];
}
};
Expr.filter.ID=function(elem,match){
var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");
return elem.nodeType===1&&node&&node.nodeValue===match;
};
}
root.removeChild(form);
})();
(function(){
var div=document.createElement("div");
div.appendChild(document.createComment(""));
if(div.getElementsByTagName("*").length>0){
Expr.find.TAG=function(match,context){
var results=context.getElementsByTagName(match[1]);
if(match[1]==="*"){
var tmp=[];
for(var i=0;results[i];i++){
if(results[i].nodeType===1){
tmp.push(results[i]);
}
}
results=tmp;
}
return results;
};
}
div.innerHTML="<a href='#'></a>";
if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&
div.firstChild.getAttribute("href")!=="#"){
Expr.attrHandle.href=function(elem){
return elem.getAttribute("href",2);
};
}
})();
if(document.querySelectorAll)(function(){
var oldSizzle=Sizzle,div=document.createElement("div");
div.innerHTML="<p class='TEST'></p>";
if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){
return;
}
Sizzle=function(query,context,extra,seed){
context=context||document;
if(!seed&&context.nodeType===9&&!isXML(context)){
try{
return makeArray(context.querySelectorAll(query),extra);
}catch(e){}
}
return oldSizzle(query,context,extra,seed);
};
Sizzle.find=oldSizzle.find;
Sizzle.filter=oldSizzle.filter;
Sizzle.selectors=oldSizzle.selectors;
Sizzle.matches=oldSizzle.matches;
})();
if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){
var div=document.createElement("div");
div.innerHTML="<div class='test e'></div><div class='test'></div>";
if(div.getElementsByClassName("e").length===0)
return;
div.lastChild.className="e";
if(div.getElementsByClassName("e").length===1)
return;
Expr.order.splice(1,0,"CLASS");
Expr.find.CLASS=function(match,context,isXML){
if(typeof context.getElementsByClassName!=="undefined"&&!isXML){
return context.getElementsByClassName(match[1]);
}
};
})();
function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){
var sibDir=dir=="previousSibling"&&!isXML;
for(var i=0,l=checkSet.length;i<l;i++){
var elem=checkSet[i];
if(elem){
if(sibDir&&elem.nodeType===1){
elem.sizcache=doneName;
elem.sizset=i;
}
elem=elem[dir];
var match=false;
while(elem){
if(elem.sizcache===doneName){
match=checkSet[elem.sizset];
break;
}
if(elem.nodeType===1&&!isXML){
elem.sizcache=doneName;
elem.sizset=i;
}
if(elem.nodeName===cur){
match=elem;
break;
}
elem=elem[dir];
}
checkSet[i]=match;
}
}
}
function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){
var sibDir=dir=="previousSibling"&&!isXML;
for(var i=0,l=checkSet.length;i<l;i++){
var elem=checkSet[i];
if(elem){
if(sibDir&&elem.nodeType===1){
elem.sizcache=doneName;
elem.sizset=i;
}
elem=elem[dir];
var match=false;
while(elem){
if(elem.sizcache===doneName){
match=checkSet[elem.sizset];
break;
}
if(elem.nodeType===1){
if(!isXML){
elem.sizcache=doneName;
elem.sizset=i;
}
if(typeof cur!=="string"){
if(elem===cur){
match=true;
break;
}
}else if(Sizzle.filter(cur,[elem]).length>0){
match=elem;
break;
}
}
elem=elem[dir];
}
checkSet[i]=match;
}
}
}
var contains=document.compareDocumentPosition?function(a,b){
return a.compareDocumentPosition(b)&16;
}:function(a,b){
return a!==b&&(a.contains?a.contains(b):true);
};
var isXML=function(elem){
return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||
!!elem.ownerDocument&&isXML(elem.ownerDocument);
};
var posProcess=function(selector,context){
var tmpSet=[],later="",match,
root=context.nodeType?[context]:context;
while((match=Expr.match.PSEUDO.exec(selector))){
later+=match[0];
selector=selector.replace(Expr.match.PSEUDO,"");
}
selector=Expr.relative[selector]?selector+"*":selector;
for(var i=0,l=root.length;i<l;i++){
Sizzle(selector,root[i],tmpSet);
}
return Sizzle.filter(later,tmpSet);
};
jQuery.find=Sizzle;
jQuery.filter=Sizzle.filter;
jQuery.expr=Sizzle.selectors;
jQuery.expr[":"]=jQuery.expr.filters;
Sizzle.selectors.filters.hidden=function(elem){
return elem.offsetWidth===0&&elem.offsetHeight===0;
};
Sizzle.selectors.filters.visible=function(elem){
return elem.offsetWidth>0||elem.offsetHeight>0;
};
Sizzle.selectors.filters.animated=function(elem){
return jQuery.grep(jQuery.timers,function(fn){
return elem===fn.elem;
}).length;
};
jQuery.multiFilter=function(expr,elems,not){
if(not){
expr=":not("+expr+")";
}
return Sizzle.matches(expr,elems);
};
jQuery.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;
};
jQuery.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;
};
jQuery.sibling=function(n,elem){
var r=[];
for(;n;n=n.nextSibling){
if(n.nodeType==1&&n!=elem)
r.push(n);
}
return r;
};
return;
window.Sizzle=Sizzle;
})();
jQuery.event={
add:function(elem,types,handler,data){
if(elem.nodeType==3||elem.nodeType==8)
return;
if(elem.setInterval&&elem!=window)
elem=window;
if(!handler.guid)
handler.guid=this.guid++;
if(data!==undefined){
var fn=handler;
handler=this.proxy(fn);
handler.data=data;
}
var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),
handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){
return typeof jQuery!=="undefined"&&!jQuery.event.triggered?
jQuery.event.handle.apply(arguments.callee.elem,arguments):
undefined;
});
handle.elem=elem;
jQuery.each(types.split(/\s+/),function(index,type){
var namespaces=type.split(".");
type=namespaces.shift();
handler.type=namespaces.slice().sort().join(".");
var handlers=events[type];
if(jQuery.event.specialAll[type])
jQuery.event.specialAll[type].setup.call(elem,data,namespaces);
if(!handlers){
handlers=events[type]={};
if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===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 namespaces=type.split(".");
type=namespaces.shift();
var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");
if(events[type]){
if(handler)
delete events[type][handler.guid];
else
for(var handle in events[type])
if(namespace.test(events[type][handle].type))
delete events[type][handle];
if(jQuery.event.specialAll[type])
jQuery.event.specialAll[type].teardown.call(elem,namespaces);
for(ret in events[type])break;
if(!ret){
if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===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(event,data,elem,bubbling){
var type=event.type||event;
if(!bubbling){
event=typeof event==="object"?
event[expando]?event:
jQuery.extend(jQuery.Event(type),event):
jQuery.Event(type);
if(type.indexOf("!")>=0){
event.type=type=type.slice(0,-1);
event.exclusive=true;
}
if(!elem){
event.stopPropagation();
if(this.global[type])
jQuery.each(jQuery.cache,function(){
if(this.events&&this.events[type])
jQuery.event.trigger(event,data,this.handle.elem);
});
}
if(!elem||elem.nodeType==3||elem.nodeType==8)
return undefined;
event.result=undefined;
event.target=elem;
data=jQuery.makeArray(data);
data.unshift(event);
}
event.currentTarget=elem;
var handle=jQuery.data(elem,"handle");
if(handle)
handle.apply(elem,data);
if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
event.result=false;
if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){
this.triggered=true;
try{
elem[type]();
}catch(e){}
}
this.triggered=false;
if(!event.isPropagationStopped()){
var parent=elem.parentNode||elem.ownerDocument;
if(parent)
jQuery.event.trigger(event,data,parent,true);
}
},
handle:function(event){
var all,handlers;
event=arguments[0]=jQuery.event.fix(event||window.event);
event.currentTarget=this;
var namespaces=event.type.split(".");
event.type=namespaces.shift();
all=!namespaces.length&&!event.exclusive;
var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");
handlers=(jQuery.data(this,"events")||{})[event.type];
for(var j in handlers){
var handler=handlers[j];
if(all||namespace.test(handler.type)){
event.handler=handler;
event.data=handler.data;
var ret=handler.apply(this,arguments);
if(ret!==undefined){
event.result=ret;
if(ret===false){
event.preventDefault();
event.stopPropagation();
}
}
if(event.isImmediatePropagationStopped())
break;
}
}
},
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 toElement view wheelDelta which".split(" "),
fix:function(event){
if(event[expando])
return event;
var originalEvent=event;
event=jQuery.Event(originalEvent);
for(var i=this.props.length,prop;i;){
prop=this.props[--i];
event[prop]=originalEvent[prop];
}
if(!event.target)
event.target=event.srcElement||document;
if(event.target.nodeType==3)
event.target=event.target.parentNode;
if(!event.relatedTarget&&event.fromElement)
event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;
if(event.pageX==null&&event.clientX!=null){
var 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=proxy||function(){return fn.apply(this,arguments);};
proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;
return proxy;
},
special:{
ready:{
setup:bindReady,
teardown:function(){}
}
},
specialAll:{
live:{
setup:function(selector,namespaces){
jQuery.event.add(this,namespaces[0],liveHandler);
},
teardown:function(namespaces){
if(namespaces.length){
var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");
jQuery.each((jQuery.data(this,"events").live||{}),function(){
if(name.test(this.type))
remove++;
});
if(remove<1)
jQuery.event.remove(this,namespaces[0],liveHandler);
}
}
}
}
};
jQuery.Event=function(src){
if(!this.preventDefault)
return new jQuery.Event(src);
if(src&&src.type){
this.originalEvent=src;
this.type=src.type;
}else
this.type=src;
this.timeStamp=now();
this[expando]=true;
};
function returnFalse(){
return false;
}
function returnTrue(){
return true;
}
jQuery.Event.prototype={
preventDefault:function(){
this.isDefaultPrevented=returnTrue;
var e=this.originalEvent;
if(!e)
return;
if(e.preventDefault)
e.preventDefault();
e.returnValue=false;
},
stopPropagation:function(){
this.isPropagationStopped=returnTrue;
var e=this.originalEvent;
if(!e)
return;
if(e.stopPropagation)
e.stopPropagation();
e.cancelBubble=true;
},
stopImmediatePropagation:function(){
this.isImmediatePropagationStopped=returnTrue;
this.stopPropagation();
},
isDefaultPrevented:returnFalse,
isPropagationStopped:returnFalse,
isImmediatePropagationStopped:returnFalse
};
var withinElement=function(event){
var parent=event.relatedTarget;
while(parent&&parent!=this)
try{parent=parent.parentNode;}
catch(e){parent=this;}
if(parent!=this){
event.type=event.data;
jQuery.event.handle.apply(this,arguments);
}
};
jQuery.each({
mouseover:'mouseenter',
mouseout:'mouseleave'
},function(orig,fix){
jQuery.event.special[fix]={
setup:function(){
jQuery.event.add(this,orig,withinElement,fix);
},
teardown:function(){
jQuery.event.remove(this,orig,withinElement);
}
};
});
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){
return this.each(function(){
jQuery.event.trigger(type,data,this);
});
},
triggerHandler:function(type,data){
if(this[0]){
var event=jQuery.Event(type);
event.preventDefault();
event.stopPropagation();
jQuery.event.trigger(event,data,this[0]);
return event.result;
}
},
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.mouseenter(fnOver).mouseleave(fnOut);
},
ready:function(fn){
bindReady();
if(jQuery.isReady)
fn.call(document,jQuery);
else
jQuery.readyList.push(fn);
return this;
},
live:function(type,fn){
var proxy=jQuery.event.proxy(fn);
proxy.guid+=this.selector+type;
jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);
return this;
},
die:function(type,fn){
jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);
return this;
}
});
function liveHandler(event){
var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),
stop=true,
elems=[];
jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){
if(check.test(fn.type)){
var elem=jQuery(event.target).closest(fn.data)[0];
if(elem)
elems.push({elem:elem,fn:fn});
}
});
elems.sort(function(a,b){
return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");
});
jQuery.each(elems,function(){
if(this.fn.call(this.elem,event,this.fn.data)===false)
return(stop=false);
});
return stop;
}
function liveConvert(type,selector){
return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");
}
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);
});
jQuery.readyList=null;
}
jQuery(document).triggerHandler("ready");
}
}
});
var readyBound=false;
function bindReady(){
if(readyBound)return;
readyBound=true;
if(document.addEventListener){
document.addEventListener("DOMContentLoaded",function(){
document.removeEventListener("DOMContentLoaded",arguments.callee,false);
jQuery.ready();
},false);
}else if(document.attachEvent){
document.attachEvent("onreadystatechange",function(){
if(document.readyState==="complete"){
document.detachEvent("onreadystatechange",arguments.callee);
jQuery.ready();
}
});
if(document.documentElement.doScroll&&window==window.top)(function(){
if(jQuery.isReady)return;
try{
document.documentElement.doScroll("left");
}catch(error){
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,mouseenter,mouseleave,"+
"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);
};
});
jQuery(window).bind('unload',function(){
for(var id in jQuery.cache)
if(id!=1&&jQuery.cache[id].handle)
jQuery.event.remove(jQuery.cache[id].handle.elem);
});
(function(){
jQuery.support={};
var root=document.documentElement,
script=document.createElement("script"),
div=document.createElement("div"),
id="script"+(new Date).getTime();
div.style.display="none";
div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';
var all=div.getElementsByTagName("*"),
a=div.getElementsByTagName("a")[0];
if(!all||!all.length||!a){
return;
}
jQuery.support={
leadingWhitespace:div.firstChild.nodeType==3,
tbody:!div.getElementsByTagName("tbody").length,
objectAll:!!div.getElementsByTagName("object")[0]
.getElementsByTagName("*").length,
htmlSerialize:!!div.getElementsByTagName("link").length,
style:/red/.test(a.getAttribute("style")),
hrefNormalized:a.getAttribute("href")==="/a",
opacity:a.style.opacity==="0.5",
cssFloat:!!a.style.cssFloat,
scriptEval:false,
noCloneEvent:true,
boxModel:null
};
script.type="text/javascript";
try{
script.appendChild(document.createTextNode("window."+id+"=1;"));
}catch(e){}
root.insertBefore(script,root.firstChild);
if(window[id]){
jQuery.support.scriptEval=true;
delete window[id];
}
root.removeChild(script);
if(div.attachEvent&&div.fireEvent){
div.attachEvent("onclick",function(){
jQuery.support.noCloneEvent=false;
div.detachEvent("onclick",arguments.callee);
});
div.cloneNode(true).fireEvent("onclick");
}
jQuery(function(){
var div=document.createElement("div");
div.style.width=div.style.paddingLeft="1px";
document.body.appendChild(div);
jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;
document.body.removeChild(div).style.display='none';
});
})();
var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";
jQuery.props={
"for":"htmlFor",
"class":"className",
"float":styleFloat,
cssFloat:styleFloat,
styleFloat:styleFloat,
readonly:"readOnly",
maxlength:"maxLength",
cellspacing:"cellSpacing",
rowspan:"rowSpan",
tabindex:"tabIndex"
};
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);
}
var type="GET";
if(params)
if(jQuery.isFunction(params)){
callback=params;
params=null;
}else if(typeof params==="object"){
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);
if(callback)
self.each(callback,[res.responseText,status,res]);
}
});
return this;
},
serialize:function(){
return jQuery.param(this.serializeArray());
},
serializeArray:function(){
return this.map(function(){
return this.elements?jQuery.makeArray(this.elements):this;
})
.filter(function(){
return this.name&&!this.disabled&&
(this.checked||/select|textarea/i.test(this.nodeName)||
/text|hidden|password|search/i.test(this.type));
})
.map(function(i,elem){
var val=jQuery(this).val();
return val==null?null:
jQuery.isArray(val)?
jQuery.map(val,function(val,i){
return{name:elem.name,value:val};
}):
{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",
contentType:"application/x-www-form-urlencoded",
processData:true,
async:true,
xhr:function(){
return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();
},
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 parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);
if(s.dataType=="script"&&type=="GET"&&parts
&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=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();
script.onload=script.onreadystatechange=null;
head.removeChild(script);
}
};
}
head.appendChild(script);
return undefined;
}
var requestDone=false;
var xhr=s.xhr();
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){
if(s.global&&!--jQuery.active)
jQuery.event.trigger("ajaxStop");
xhr.abort();
return false;
}
if(s.global)
jQuery.event.trigger("ajaxSend",[xhr,s]);
var onreadystatechange=function(isTimeout){
if(xhr.readyState==0){
if(ival){
clearInterval(ival);
ival=null;
if(s.global&&!--jQuery.active)
jQuery.event.trigger("ajaxStop");
}
}else 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);
}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(isTimeout)
xhr.abort();
if(s.async)
xhr=null;
}
};
if(s.async){
var ival=setInterval(onreadystatechange,13);
if(s.timeout>0)
setTimeout(function(){
if(xhr&&!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;
}catch(e){}
return false;
},
httpNotModified:function(xhr,url){
try{
var xhrRes=xhr.getResponseHeader("Last-Modified");
return xhr.status==304||xhrRes==jQuery.lastModified[url];
}catch(e){}
return false;
},
httpData:function(xhr,type,s){
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(s&&s.dataFilter)
data=s.dataFilter(data,type);
if(typeof data==="string"){
if(type=="script")
jQuery.globalEval(data);
if(type=="json")
data=window["eval"]("("+data+")");
}
return data;
},
param:function(a){
var s=[];
function add(key,value){
s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);
};
if(jQuery.isArray(a)||a.jquery)
jQuery.each(a,function(){
add(this.name,this.value);
});
else
for(var j in a)
if(jQuery.isArray(a[j]))
jQuery.each(a[j],function(){
add(j,this);
});
else
add(j,jQuery.isFunction(a[j])?a[j]():a[j]);
return s.join("&").replace(/%20/g,"+");
}
});
var elemdisplay={},
timerId,
fxAttrs=[
["height","marginTop","marginBottom","paddingTop","paddingBottom"],
["width","marginLeft","marginRight","paddingLeft","paddingRight"],
["opacity"]
];
function genFx(type,num){
var obj={};
jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){
obj[this]=type;
});
return obj;
}
jQuery.fn.extend({
show:function(speed,callback){
if(speed){
return this.animate(genFx("show",3),speed,callback);
}else{
for(var i=0,l=this.length;i<l;i++){
var old=jQuery.data(this[i],"olddisplay");
this[i].style.display=old||"";
if(jQuery.css(this[i],"display")==="none"){
var tagName=this[i].tagName,display;
if(elemdisplay[tagName]){
display=elemdisplay[tagName];
}else{
var elem=jQuery("<"+tagName+" />").appendTo("body");
display=elem.css("display");
if(display==="none")
display="block";
elem.remove();
elemdisplay[tagName]=display;
}
jQuery.data(this[i],"olddisplay",display);
}
}
for(var i=0,l=this.length;i<l;i++){
this[i].style.display=jQuery.data(this[i],"olddisplay")||"";
}
return this;
}
},
hide:function(speed,callback){
if(speed){
return this.animate(genFx("hide",3),speed,callback);
}else{
for(var i=0,l=this.length;i<l;i++){
var old=jQuery.data(this[i],"olddisplay");
if(!old&&old!=="none")
jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));
}
for(var i=0,l=this.length;i<l;i++){
this[i].style.display="none";
}
return this;
}
},
_toggle:jQuery.fn.toggle,
toggle:function(fn,fn2){
var bool=typeof fn==="boolean";
return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?
this._toggle.apply(this,arguments):
fn==null||bool?
this.each(function(){
var state=bool?fn:jQuery(this).is(":hidden");
jQuery(this)[state?"show":"hide"]();
}):
this.animate(genFx("toggle",3),fn,fn2);
},
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(){
var opt=jQuery.extend({},optall),p,
hidden=this.nodeType==1&&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")&&this.style){
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;
});
},
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;
}
});
jQuery.each({
slideDown:genFx("show",1),
slideUp:genFx("hide",1),
slideToggle:genFx("toggle",1),
fadeIn:{opacity:"show"},
fadeOut:{opacity:"hide"}
},function(name,props){
jQuery.fn[name]=function(speed,callback){
return this.animate(props,speed,callback);
};
});
jQuery.extend({
speed:function(speed,easing,fn){
var opt=typeof speed==="object"?speed:{
complete:fn||!fn&&easing||
jQuery.isFunction(speed)&&speed,
duration:speed,
easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing
};
opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:
jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;
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:[],
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)
this.elem.style.display="block";
},
cur:function(force){
if(this.elem[this.prop]!=null&&(!this.elem.style||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;
var self=this;
function t(gotoEnd){
return self.step(gotoEnd);
}
t.elem=this.elem;
if(t()&&jQuery.timers.push(t)&&!timerId){
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(timerId);
timerId=undefined;
}
},13);
}
},
show:function(){
this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);
this.options.show=true;
this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());
jQuery(this.elem).show();
},
hide:function(){
this.options.orig[this.prop]=jQuery.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)
jQuery(this.elem).hide();
if(this.options.hide||this.options.show)
for(var p in this.options.curAnim)
jQuery.attr(this.elem.style,p,this.options.orig[p]);
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,
_default:400
},
step:{
opacity:function(fx){
jQuery.attr(fx.elem.style,"opacity",fx.now);
},
_default:function(fx){
if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
fx.elem.style[fx.prop]=fx.now+fx.unit;
else
fx.elem[fx.prop]=fx.now;
}
}
});
if(document.documentElement["getBoundingClientRect"])
jQuery.fn.offset=function(){
if(!this[0])return{top:0,left:0};
if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);
var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,
clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,
top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,
left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;
return{top:top,left:left};
};
else
jQuery.fn.offset=function(){
if(!this[0])return{top:0,left:0};
if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);
jQuery.offset.initialized||jQuery.offset.initialize();
var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,
doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,
body=doc.body,defaultView=doc.defaultView,
prevComputedStyle=defaultView.getComputedStyle(elem,null),
top=elem.offsetTop,left=elem.offsetLeft;
while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){
computedStyle=defaultView.getComputedStyle(elem,null);
top-=elem.scrollTop,left-=elem.scrollLeft;
if(elem===offsetParent){
top+=elem.offsetTop,left+=elem.offsetLeft;
if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
top+=parseInt(computedStyle.borderTopWidth,10)||0,
left+=parseInt(computedStyle.borderLeftWidth,10)||0;
prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;
}
if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
top+=parseInt(computedStyle.borderTopWidth,10)||0,
left+=parseInt(computedStyle.borderLeftWidth,10)||0;
prevComputedStyle=computedStyle;
}
if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
top+=body.offsetTop,
left+=body.offsetLeft;
if(prevComputedStyle.position==="fixed")
top+=Math.max(docElem.scrollTop,body.scrollTop),
left+=Math.max(docElem.scrollLeft,body.scrollLeft);
return{top:top,left:left};
};
jQuery.offset={
initialize:function(){
if(this.initialized)return;
var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,
html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';
rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};
for(prop in rules)container.style[prop]=rules[prop];
container.innerHTML=html;
body.insertBefore(container,body.firstChild);
innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;
this.doesNotAddBorder=(checkDiv.offsetTop!==5);
this.doesAddBorderForTableAndCells=(td.offsetTop===5);
innerDiv.style.overflow='hidden',innerDiv.style.position='relative';
this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);
body.style.marginTop='1px';
this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);
body.style.marginTop=bodyMarginTop;
body.removeChild(container);
this.initialized=true;
},
bodyOffset:function(body){
jQuery.offset.initialized||jQuery.offset.initialize();
var top=body.offsetTop,left=body.offsetLeft;
if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,
left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;
return{top:top,left:left};
}
};
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||document.body;
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 null;
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",
lower=name.toLowerCase();
jQuery.fn["inner"+name]=function(){
return this[0]?
jQuery.css(this[0],lower,false,"padding"):
null;
};
jQuery.fn["outer"+name]=function(margin){
return this[0]?
jQuery.css(this[0],lower,false,margin?"margin":"border"):
null;
};
var type=name.toLowerCase();
jQuery.fn[type]=function(size){
return this[0]==window?
document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||
document.body["client"+name]:
this[0]==document?
Math.max(
document.documentElement["client"+name],
document.body["scroll"+name],document.documentElement["scroll"+name],
document.body["offset"+name],document.documentElement["offset"+name]
):
size===undefined?
(this.length?jQuery.css(this[0],type):null):
this.css(type,typeof size==="string"?size:size+"px");
};
});
})();
