/*
 * jQuery JavaScript Library v1.4
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://docs.jquery.com/License
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Wed Jan 13 15:23:05 2010 -0500
 */
(function(window,undefined){var jQuery=function(selector,context){return new jQuery.fn.init(selector,context);},_jQuery=window.jQuery,_$=window.$,document=window.document,rootjQuery,quickExpr=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/,rnotwhite=/\S/,rtrim=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,userAgent=navigator.userAgent,browserMatch,readyBound=false,readyList=[],DOMContentLoaded,toString=Object.prototype.toString,hasOwnProperty=Object.prototype.hasOwnProperty,push=Array.prototype.push,slice=Array.prototype.slice,indexOf=Array.prototype.indexOf;jQuery.fn=jQuery.prototype={init:function(selector,context){var match,elem,ret,doc;if(!selector){return this;}
if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this;}
if(typeof selector==="string"){match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1]){doc=(context?context.ownerDocument||context:document);ret=rsingleTag.exec(selector);if(ret){if(jQuery.isPlainObject(context)){selector=[document.createElement(ret[1])];jQuery.fn.attr.call(selector,context,true);}else{selector=[doc.createElement(ret[1])];}}else{ret=buildFragment([match[1]],[doc]);selector=(ret.cacheable?ret.fragment.cloneNode(true):ret.fragment).childNodes;}}else{elem=document.getElementById(match[2]);if(elem){if(elem.id!==match[2]){return rootjQuery.find(selector);}
this.length=1;this[0]=elem;}
this.context=document;this.selector=selector;return this;}}else if(!context&&/^\w+$/.test(selector)){this.selector=selector;this.context=document;selector=document.getElementsByTagName(selector);}else if(!context||context.jquery){return(context||rootjQuery).find(selector);}else{return jQuery(context).find(selector);}}else if(jQuery.isFunction(selector)){return rootjQuery.ready(selector);}
if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context;}
return jQuery.isArray(selector)?this.setArray(selector):jQuery.makeArray(selector,this);},selector:"",jquery:"1.4",length:0,size:function(){return this.length;},toArray:function(){return slice.call(this,0);},get:function(num){return num==null?this.toArray():(num<0?this.slice(num)[0]:this[num]);},pushStack:function(elems,name,selector){var ret=jQuery(elems||null);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;push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},ready:function(fn){jQuery.bindReady();if(jQuery.isReady){fn.call(document,jQuery);}else if(readyList){readyList.push(fn);}
return this;},eq:function(i){return i===-1?this.slice(i):this.slice(i,+i+1);},first:function(){return this.eq(0);},last:function(){return this.eq(-1);},slice:function(){return this.pushStack(slice.apply(this,arguments),"slice",slice.call(arguments).join(","));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},end:function(){return this.prevObject||jQuery(null);},push:push,sort:[].sort,splice:[].splice};jQuery.fn.init.prototype=jQuery.fn;jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options,name,src,copy;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
if(typeof target!=="object"&&!jQuery.isFunction(target)){target={};}
if(length===i){target=this;--i;}
for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue;}
if(deep&&copy&&(jQuery.isPlainObject(copy)||jQuery.isArray(copy))){var clone=src&&(jQuery.isPlainObject(src)||jQuery.isArray(src))?src:jQuery.isArray(copy)?[]:{};target[name]=jQuery.extend(deep,clone,copy);}else if(copy!==undefined){target[name]=copy;}}}}
return target;};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep){window.jQuery=_jQuery;}
return jQuery;},isReady:false,ready:function(){if(!jQuery.isReady){if(!document.body){return setTimeout(jQuery.ready,13);}
jQuery.isReady=true;if(readyList){var fn,i=0;while((fn=readyList[i++])){fn.call(document,jQuery);}
readyList=null;}
if(jQuery.fn.triggerHandler){jQuery(document).triggerHandler("ready");}}},bindReady:function(){if(readyBound){return;}
readyBound=true;if(document.readyState==="complete"){return jQuery.ready();}
if(document.addEventListener){document.addEventListener("DOMContentLoaded",DOMContentLoaded,false);window.addEventListener("load",jQuery.ready,false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",DOMContentLoaded);window.attachEvent("onload",jQuery.ready);var toplevel=false;try{toplevel=window.frameElement==null;}catch(e){}
if(document.documentElement.doScroll&&toplevel){doScrollCheck();}}},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isPlainObject:function(obj){if(!obj||toString.call(obj)!=="[object Object]"||obj.nodeType||obj.setInterval){return false;}
if(obj.constructor&&!hasOwnProperty.call(obj,"constructor")&&!hasOwnProperty.call(obj.constructor.prototype,"isPrototypeOf")){return false;}
var key;for(key in obj){}
return key===undefined||hasOwnProperty.call(obj,key);},isEmptyObject:function(obj){for(var name in obj){return false;}
return true;},noop:function(){},globalEval:function(data){if(data&&rnotwhite.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,isObj=length===undefined||jQuery.isFunction(object);if(args){if(isObj){for(name in object){if(callback.apply(object[name],args)===false){break;}}}else{for(;i<length;){if(callback.apply(object[i++],args)===false){break;}}}}else{if(isObj){for(name in object){if(callback.call(object[name],name,object[name])===false){break;}}}else{for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}}
return object;},trim:function(text){return(text||"").replace(rtrim,"");},makeArray:function(array,results){var ret=results||[];if(array!=null){if(array.length==null||typeof array==="string"||jQuery.isFunction(array)||(typeof array!=="function"&&array.setInterval)){push.call(ret,array);}else{jQuery.merge(ret,array);}}
return ret;},inArray:function(elem,array){if(array.indexOf){return array.indexOf(elem);}
for(var i=0,length=array.length;i<length;i++){if(array[i]===elem){return i;}}
return-1;},merge:function(first,second){var i=first.length,j=0;if(typeof second.length==="number"){for(var l=second.length;j<l;j++){first[i++]=second[j];}}else{while(second[j]!==undefined){first[i++]=second[j++];}}
first.length=i;return first;},grep:function(elems,callback,inv){var ret=[];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,arg){var ret=[],value;for(var i=0,length=elems.length;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret[ret.length]=value;}}
return ret.concat.apply([],ret);},guid:1,proxy:function(fn,proxy,thisObject){if(arguments.length===2){if(typeof proxy==="string"){thisObject=fn;fn=thisObject[proxy];proxy=undefined;}else if(proxy&&!jQuery.isFunction(proxy)){thisObject=proxy;proxy=undefined;}}
if(!proxy&&fn){proxy=function(){return fn.apply(thisObject||this,arguments);};}
if(fn){proxy.guid=fn.guid=fn.guid||proxy.guid||jQuery.guid++;}
return proxy;},uaMatch:function(ua){var ret={browser:""};ua=ua.toLowerCase();if(/webkit/.test(ua)){ret={browser:"webkit",version:/webkit[\/ ]([\w.]+)/};}else if(/opera/.test(ua)){ret={browser:"opera",version:/version/.test(ua)?/version[\/ ]([\w.]+)/:/opera[\/ ]([\w.]+)/};}else if(/msie/.test(ua)){ret={browser:"msie",version:/msie ([\w.]+)/};}else if(/mozilla/.test(ua)&&!/compatible/.test(ua)){ret={browser:"mozilla",version:/rv:([\w.]+)/};}
ret.version=(ret.version&&ret.version.exec(ua)||[0,"0"])[1];return ret;},browser:{}});browserMatch=jQuery.uaMatch(userAgent);if(browserMatch.browser){jQuery.browser[browserMatch.browser]=true;jQuery.browser.version=browserMatch.version;}
if(jQuery.browser.webkit){jQuery.browser.safari=true;}
if(indexOf){jQuery.inArray=function(elem,array){return indexOf.call(array,elem);};}
rootjQuery=jQuery(document);if(document.addEventListener){DOMContentLoaded=function(){document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);jQuery.ready();};}else if(document.attachEvent){DOMContentLoaded=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",DOMContentLoaded);jQuery.ready();}};}
function doScrollCheck(){if(jQuery.isReady){return;}
try{document.documentElement.doScroll("left");}catch(error){setTimeout(doScrollCheck,1);return;}
jQuery.ready();}
if(indexOf){jQuery.inArray=function(elem,array){return indexOf.call(array,elem);};}
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 access(elems,key,value,exec,fn,pass){var length=elems.length;if(typeof key==="object"){for(var k in key){access(elems,k,key[k],exec,fn,value);}
return elems;}
if(value!==undefined){exec=!pass&&exec&&jQuery.isFunction(value);for(var i=0;i<length;i++){fn(elems[i],key,exec?value.call(elems[i],i,fn(elems[i],key)):value,pass);}
return elems;}
return length?fn(elems[0],key):null;}
function now(){return(new Date).getTime();}
(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+now();div.style.display="none";div.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";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,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:/^0.55$/.test(a.style.opacity),cssFloat:!!a.style.cssFloat,checkOn:div.getElementsByTagName("input")[0].value==="on",optSelected:document.createElement("select").appendChild(document.createElement("option")).selected,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 click(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",click);});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';div=null;});var eventSupported=function(eventName){var el=document.createElement("div");eventName="on"+eventName;var isSupported=(eventName in el);if(!isSupported){el.setAttribute(eventName,"return;");isSupported=typeof el[eventName]==="function";}
el=null;return isSupported;};jQuery.support.submitBubbles=eventSupported("submit");jQuery.support.changeBubbles=eventSupported("change");root=script=div=all=a=null;})();jQuery.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var expando="jQuery"+now(),uuid=0,windowData={};var emptyObject={};jQuery.extend({cache:{},expando:expando,noData:{"embed":true,"object":true,"applet":true},data:function(elem,name,data){if(elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()]){return;}
elem=elem==window?windowData:elem;var id=elem[expando],cache=jQuery.cache,thisCache;if(!name&&!id){return null;}
if(!id){id=++uuid;}
if(typeof name==="object"){elem[expando]=id;thisCache=cache[id]=jQuery.extend(true,{},name);}else if(cache[id]){thisCache=cache[id];}else if(typeof data==="undefined"){thisCache=emptyObject;}else{thisCache=cache[id]={};}
if(data!==undefined){elem[expando]=id;thisCache[name]=data;}
return typeof name==="string"?thisCache[name]:thisCache;},removeData:function(elem,name){if(elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()]){return;}
elem=elem==window?windowData:elem;var id=elem[expando],cache=jQuery.cache,thisCache=cache[id];if(name){if(thisCache){delete thisCache[name];if(jQuery.isEmptyObject(thisCache)){jQuery.removeData(elem);}}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute){elem.removeAttribute(expando);}}
delete cache[id];}}});jQuery.fn.extend({data:function(key,value){if(typeof key==="undefined"&&this.length){return jQuery.data(this[0]);}else if(typeof key==="object"){return this.each(function(){jQuery.data(this,key);});}
var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){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);});}});jQuery.extend({queue:function(elem,type,data){if(!elem){return;}
type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!data){return q||[];}
if(!q||jQuery.isArray(data)){q=jQuery.data(elem,type,jQuery.makeArray(data));}else{q.push(data);}
return q;},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),fn=queue.shift();if(fn==="inprogress"){fn=queue.shift();}
if(fn){if(type==="fx"){queue.unshift("inprogress");}
fn.call(elem,function(){jQuery.dequeue(elem,type);});}}});jQuery.fn.extend({queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
if(data===undefined){return jQuery.queue(this[0],type);}
return this.each(function(i,elem){var queue=jQuery.queue(this,type,data);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type);}});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});},delay:function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(){var elem=this;setTimeout(function(){jQuery.dequeue(elem,type);},time);});},clearQueue:function(type){return this.queue(type||"fx",[]);}});var rclass=/[\n\t]/g,rspace=/\s+/,rreturn=/\r/g,rspecialurl=/href|src|style/,rtype=/(button|input)/i,rfocusable=/(button|input|object|select|textarea)/i,rclickable=/^(a|area)$/i,rradiocheck=/radio|checkbox/;jQuery.fn.extend({attr:function(name,value){return access(this,name,value,true,jQuery.attr);},removeAttr:function(name,fn){return this.each(function(){jQuery.attr(this,name,"");if(this.nodeType===1){this.removeAttribute(name);}});},addClass:function(value){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.addClass(value.call(this,i,self.attr("class")));});}
if(value&&typeof value==="string"){var classNames=(value||"").split(rspace);for(var i=0,l=this.length;i<l;i++){var elem=this[i];if(elem.nodeType===1){if(!elem.className){elem.className=value;}else{var className=" "+elem.className+" ";for(var c=0,cl=classNames.length;c<cl;c++){if(className.indexOf(" "+classNames[c]+" ")<0){elem.className+=" "+classNames[c];}}}}}}
return this;},removeClass:function(value){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.removeClass(value.call(this,i,self.attr("class")));});}
if((value&&typeof value==="string")||value===undefined){var classNames=(value||"").split(rspace);for(var i=0,l=this.length;i<l;i++){var elem=this[i];if(elem.nodeType===1&&elem.className){if(value){var className=(" "+elem.className+" ").replace(rclass," ");for(var c=0,cl=classNames.length;c<cl;c++){className=className.replace(" "+classNames[c]+" "," ");}
elem.className=className.substring(1,className.length-1);}else{elem.className="";}}}}
return this;},toggleClass:function(value,stateVal){var type=typeof value,isBool=typeof stateVal==="boolean";if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.toggleClass(value.call(this,i,self.attr("class"),stateVal),stateVal);});}
return this.each(function(){if(type==="string"){var className,i=0,self=jQuery(this),state=stateVal,classNames=value.split(rspace);while((className=classNames[i++])){state=isBool?state:!self.hasClass(className);self[state?"addClass":"removeClass"](className);}}else if(type==="undefined"||type==="boolean"){if(this.className){jQuery.data(this,"__className__",this.className);}
this.className=this.className||value===false?"":jQuery.data(this,"__className__")||"";}});},hasClass:function(selector){var className=" "+selector+" ";for(var i=0,l=this.length;i<l;i++){if((" "+this[i].className+" ").replace(rclass," ").indexOf(className)>-1){return true;}}
return false;},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;}
if(rradiocheck.test(elem.type)&&!jQuery.support.checkOn){return elem.getAttribute("value")===null?"on":elem.value;}
return(elem.value||"").replace(rreturn,"");}
return undefined;}
var isFunction=jQuery.isFunction(value);return this.each(function(i){var self=jQuery(this),val=value;if(this.nodeType!==1){return;}
if(isFunction){val=value.call(this,i,self.val());}
if(typeof val==="number"){val+="";}
if(jQuery.isArray(val)&&rradiocheck.test(this.type)){this.checked=jQuery.inArray(self.val(),val)>=0;}else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(val);jQuery("option",this).each(function(){this.selected=jQuery.inArray(jQuery(this).val(),values)>=0;});if(!values.length){this.selectedIndex=-1;}}else{this.value=val;}});}});jQuery.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(elem,name,value,pass){if(!elem||elem.nodeType===3||elem.nodeType===8){return undefined;}
if(pass&&name in jQuery.attrFn){return jQuery(elem)[name](value);}
var notxml=elem.nodeType!==1||!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.nodeType===1){var special=rspecialurl.test(name);if(name==="selected"&&!jQuery.support.optSelected){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex;}}}
if(name in elem&&notxml&&!special){if(set){if(name==="type"&&rtype.test(elem.nodeName)&&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:rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:undefined;}
return elem[name];}
if(!jQuery.support.style&&notxml&&name==="style"){if(set){elem.style.cssText=""+value;}
return elem.style.cssText;}
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;}
return jQuery.style(elem,name,value);}});var fcleanup=function(nm){return nm.replace(/[^\w\s\.\|`]/g,function(ch){return"\\"+ch;});};jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType===3||elem.nodeType===8){return;}
if(elem.setInterval&&(elem!==window&&!elem.frameElement)){elem=window;}
if(!handler.guid){handler.guid=jQuery.guid++;}
if(data!==undefined){var fn=handler;handler=jQuery.proxy(fn);handler.data=data;}
var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle"),eventHandle;if(!handle){eventHandle=function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(eventHandle.elem,arguments):undefined;};handle=jQuery.data(elem,"handle",eventHandle);}
if(!handle){return;}
handle.elem=elem;types=types.split(/\s+/);var type,i=0;while((type=types[i++])){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice(0).sort().join(".");var handlers=events[type],special=this.special[type]||{};if(!handlers){handlers=events[type]={};if(!special.setup||special.setup.call(elem,data,namespaces,handler)===false){if(elem.addEventListener){elem.addEventListener(type,handle,false);}else if(elem.attachEvent){elem.attachEvent("on"+type,handle);}}}
if(special.add){var modifiedHandler=special.add.call(elem,handler,data,namespaces,handlers);if(modifiedHandler&&jQuery.isFunction(modifiedHandler)){modifiedHandler.guid=modifiedHandler.guid||handler.guid;handler=modifiedHandler;}}
handlers[handler.guid]=handler;this.global[type]=true;}
elem=null;},global:{},remove:function(elem,types,handler){if(elem.nodeType===3||elem.nodeType===8){return;}
var events=jQuery.data(elem,"events"),ret,type,fn;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)===".")){for(type in events){this.remove(elem,type+(types||""));}}else{if(types.type){handler=types.handler;types=types.type;}
types=types.split(/\s+/);var i=0;while((type=types[i++])){var namespaces=type.split(".");type=namespaces.shift();var all=!namespaces.length,cleaned=jQuery.map(namespaces.slice(0).sort(),fcleanup),namespace=new RegExp("(^|\\.)"+cleaned.join("\\.(?:.*\\.)?")+"(\\.|$)"),special=this.special[type]||{};if(events[type]){if(handler){fn=events[type][handler.guid];delete events[type][handler.guid];}else{for(var handle in events[type]){if(all||namespace.test(events[type][handle].type)){delete events[type][handle];}}}
if(special.remove){special.remove.call(elem,namespaces,fn);}
for(ret in events[type]){break;}
if(!ret){if(!special.teardown||special.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){var type=event.type||event,bubbling=arguments[3];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);}
var nativeFn,nativeHandler;try{if(!(elem&&elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()])){nativeFn=elem[type];nativeHandler=elem["on"+type];}}catch(e){}
var isClick=jQuery.nodeName(elem,"a")&&type==="click";if(!bubbling&&nativeFn&&!event.isDefaultPrevented()&&!isClick){this.triggered=true;try{elem[type]();}catch(e){}}else if(nativeHandler&&elem["on"+type].apply(elem,data)===false){event.result=false;}
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=new RegExp("(^|\\.)"+namespaces.slice(0).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;}}}
return event.result;},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY 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&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0);}
if(!event.which&&((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!==undefined){event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));}
return event;},guid:1E8,proxy:jQuery.proxy,special:{ready:{setup:jQuery.bindReady,teardown:jQuery.noop},live:{add:function(proxy,data,namespaces,live){jQuery.extend(proxy,data||{});proxy.guid+=data.selector+data.live;jQuery.event.add(this,data.live,liveHandler,data);},remove:function(namespaces){if(namespaces.length){var remove=0,name=new 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);}}},special:{}},beforeunload:{setup:function(data,namespaces,fn){if(this.setInterval){this.onbeforeunload=fn;}
return false;},teardown:function(namespaces,fn){if(this.onbeforeunload===fn){this.onbeforeunload=null;}}}}};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){break;}}
if(parent!==this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}},delegate=function(event){event.type=event.data;jQuery.event.handle.apply(this,arguments);};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(orig,fix){jQuery.event.special[orig]={setup:function(data){jQuery.event.add(this,fix,data&&data.selector?delegate:withinElement,orig);},teardown:function(data){jQuery.event.remove(this,fix,data&&data.selector?delegate:withinElement);}};});if(!jQuery.support.submitBubbles){jQuery.event.special.submit={setup:function(data,namespaces,fn){if(this.nodeName.toLowerCase()!=="form"){jQuery.event.add(this,"click.specialSubmit."+fn.guid,function(e){var elem=e.target,type=elem.type;if((type==="submit"||type==="image")&&jQuery(elem).closest("form").length){return trigger("submit",this,arguments);}});jQuery.event.add(this,"keypress.specialSubmit."+fn.guid,function(e){var elem=e.target,type=elem.type;if((type==="text"||type==="password")&&jQuery(elem).closest("form").length&&e.keyCode===13){return trigger("submit",this,arguments);}});}else{return false;}},remove:function(namespaces,fn){jQuery.event.remove(this,"click.specialSubmit"+(fn?"."+fn.guid:""));jQuery.event.remove(this,"keypress.specialSubmit"+(fn?"."+fn.guid:""));}};}
if(!jQuery.support.changeBubbles){var formElems=/textarea|input|select/i;function getVal(elem){var type=elem.type,val=elem.value;if(type==="radio"||type==="checkbox"){val=elem.checked;}else if(type==="select-multiple"){val=elem.selectedIndex>-1?jQuery.map(elem.options,function(elem){return elem.selected;}).join("-"):"";}else if(elem.nodeName.toLowerCase()==="select"){val=elem.selectedIndex;}
return val;}
function testChange(e){var elem=e.target,data,val;if(!formElems.test(elem.nodeName)||elem.readOnly){return;}
data=jQuery.data(elem,"_change_data");val=getVal(elem);if(val===data){return;}
if(e.type!=="focusout"||elem.type!=="radio"){jQuery.data(elem,"_change_data",val);}
if(elem.type!=="select"&&(data!=null||val)){e.type="change";return jQuery.event.trigger(e,arguments[1],this);}}
jQuery.event.special.change={filters:{focusout:testChange,click:function(e){var elem=e.target,type=elem.type;if(type==="radio"||type==="checkbox"||elem.nodeName.toLowerCase()==="select"){return testChange.call(this,e);}},keydown:function(e){var elem=e.target,type=elem.type;if((e.keyCode===13&&elem.nodeName.toLowerCase()!=="textarea")||(e.keyCode===32&&(type==="checkbox"||type==="radio"))||type==="select-multiple"){return testChange.call(this,e);}},beforeactivate:function(e){var elem=e.target;if(elem.nodeName.toLowerCase()==="input"&&elem.type==="radio"){jQuery.data(elem,"_change_data",getVal(elem));}}},setup:function(data,namespaces,fn){for(var type in changeFilters){jQuery.event.add(this,type+".specialChange."+fn.guid,changeFilters[type]);}
return formElems.test(this.nodeName);},remove:function(namespaces,fn){for(var type in changeFilters){jQuery.event.remove(this,type+".specialChange"+(fn?"."+fn.guid:""),changeFilters[type]);}
return formElems.test(this.nodeName);}};var changeFilters=jQuery.event.special.change.filters;}
function trigger(type,elem,args){args[0].type=type;return jQuery.event.handle.apply(elem,args);}
if(document.addEventListener){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){jQuery.event.special[fix]={setup:function(){this.addEventListener(orig,handler,true);},teardown:function(){this.removeEventListener(orig,handler,true);}};function handler(e){e=jQuery.event.fix(e);e.type=fix;return jQuery.event.handle.call(this,e);}});}
jQuery.each(["bind","one"],function(i,name){jQuery.fn[name]=function(type,data,fn){if(typeof type==="object"){for(var key in type){this[name](key,data,type[key],fn);}
return this;}
if(jQuery.isFunction(data)){thisObject=fn;fn=data;data=undefined;}
var handler=name==="one"?jQuery.proxy(fn,function(event){jQuery(this).unbind(event,handler);return fn.apply(this,arguments);}):fn;return type==="unload"&&name!=="one"?this.one(type,data,fn,thisObject):this.each(function(){jQuery.event.add(this,type,handler,data);});};});jQuery.fn.extend({unbind:function(type,fn){if(typeof type==="object"&&!type.preventDefault){for(var key in type){this.unbind(key,type[key]);}
return this;}
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.proxy(fn,args[i++]);}
return this.click(jQuery.proxy(fn,function(event){var lastToggle=(jQuery.data(this,"lastToggle"+fn.guid)||0)%i;jQuery.data(this,"lastToggle"+fn.guid,lastToggle+1);event.preventDefault();return args[lastToggle].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver);},live:function(type,data,fn){if(jQuery.isFunction(data)){fn=data;data=undefined;}
jQuery(this.context).bind(liveConvert(type,this.selector),{data:data,selector:this.selector,live:type},fn);return this;},die:function(type,fn){jQuery(this.context).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var stop=true,elems=[],selectors=[],args=arguments,related,match,fn,elem,j,i,data,live=jQuery.extend({},jQuery.data(this,"events").live);for(j in live){fn=live[j];if(fn.live===event.type||fn.altLive&&jQuery.inArray(event.type,fn.altLive)>-1){data=fn.data;if(!(data.beforeFilter&&data.beforeFilter[event.type]&&!data.beforeFilter[event.type](event))){selectors.push(fn.selector);}}else{delete live[j];}}
match=jQuery(event.target).closest(selectors,event.currentTarget);for(i=0,l=match.length;i<l;i++){for(j in live){fn=live[j];elem=match[i].elem;related=null;if(match[i].selector===fn.selector){if(fn.live==="mouseenter"||fn.live==="mouseleave"){related=jQuery(event.relatedTarget).closest(fn.selector)[0];}
if(!related||related!==elem){elems.push({elem:elem,fn:fn});}}}}
for(i=0,l=elems.length;i<l;i++){match=elems[i];event.currentTarget=match.elem;event.data=match.fn.data;if(match.fn.apply(match.elem,args)===false){stop=false;break;}}
return stop;}
function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"&")].join(".");}
jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup error").split(" "),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};if(jQuery.attrFn){jQuery.attrFn[name]=true;}});if(window.attachEvent&&!window.addEventListener){window.attachEvent("onunload",function(){for(var id in jQuery.cache){if(jQuery.cache[id].handle){try{jQuery.event.remove(jQuery.cache[id].handle.elem);}catch(e){}}}});}
/*
 * Sizzle CSS Selector Engine - v1.0
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,done=0,toString=Object.prototype.toString,hasDuplicate=false,baseHasDuplicate=true;[0,0].sort(function(){baseHasDuplicate=false;return 0;});var Sizzle=function(selector,context,results,seed){results=results||[];var origContext=context=context||document;if(context.nodeType!==1&&context.nodeType!==9){return[];}
if(!selector||typeof selector!=="string"){return results;}
var parts=[],m,set,checkSet,extra,prune=true,contextXML=isXML(context),soFar=selector;while((chunker.exec(""),m=chunker.exec(soFar))!==null){soFar=m[3];parts.push(m[1]);if(m[2]){extra=m[3];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{if(!seed&&parts.length>1&&context.nodeType===9&&!contextXML&&Expr.match.ID.test(parts[0])&&!Expr.match.ID.test(parts[parts.length-1])){var ret=Sizzle.find(parts.shift(),context,contextXML);context=ret.expr?Sizzle.filter(ret.expr,ret.set)[0]:ret.set[0];}
if(context){var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&(parts[0]==="~"||parts[0]==="+")&&context.parentNode?context.parentNode:context,contextXML);set=ret.expr?Sizzle.filter(ret.expr,ret.set):ret.set;if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
while(parts.length){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,contextXML);}}else{checkSet=parts=[];}}
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&&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,origContext,results,seed);Sizzle.uniqueSort(results);}
return results;};Sizzle.uniqueSort=function(results){if(sortOrder){hasDuplicate=baseHasDuplicate;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}
return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.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.leftMatch[type].exec(expr))){var left=match[1];match.splice(1,1);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.leftMatch[type].exec(expr))!=null&&match[2]){var filter=Expr.filter[type],found,item,left=match[1];anyFound=false;match.splice(1,1);if(left.substr(left.length-1)==="\\"){continue;}
if(curLoop===result){result=[];}
if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
if(found!==undefined){if(!inplace){curLoop=result;}
expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
break;}}}
if(expr===old){if(anyFound==null){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\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag){part=part.toLowerCase();}
for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
checkSet[i]=isPartStrNotTag||elem&&elem.nodeName.toLowerCase()===part?elem||false:elem===part;}}
if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=part.toLowerCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName.toLowerCase()===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(typeof part==="string"&&!/\W/.test(part)){var nodeCheck=part=part.toLowerCase();checkFn=dirNodeCheck;}
checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!/\W/.test(part)){var nodeCheck=part=part.toLowerCase();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){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+" ").replace(/[\t\n]/g," ").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){return match[1].toLowerCase();},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((chunker.exec(match[3])||"").length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){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.toLowerCase()==="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||getText([elem])||"").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;}else{throw"Syntax error, unrecognized expression: "+name;}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while((node=node.previousSibling)){if(node.nodeType===1){return false;}}
if(type==="first"){return true;}
node=elem;case'last':while((node=node.nextSibling)){if(node.nodeType===1){return false;}}
return true;case'nth':var first=match[2],last=match[3];if(first===1&&last===0){return true;}
var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
parent.sizcache=doneName;}
var diff=elem.nodeIndex-last;if(first===0){return diff===0;}else{return(diff%first===0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName.toLowerCase()===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!==check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=new RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);Expr.leftMatch[type]=new RegExp(/(^(?:.|\r|\n)*?)/.source+Expr.match[type].source.replace(/\\(\d+)/g,function(all,num){return"\\"+(num-0+1);}));}
var makeArray=function(array,results){array=Array.prototype.slice.call(array,0);if(results){results.push.apply(results,array);return results;}
return array;};try{Array.prototype.slice.call(document.documentElement.childNodes,0);}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){if(!a.compareDocumentPosition||!b.compareDocumentPosition){if(a==b){hasDuplicate=true;}
return a.compareDocumentPosition?-1:1;}
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){if(!a.sourceIndex||!b.sourceIndex){if(a==b){hasDuplicate=true;}
return a.sourceIndex?-1:1;}
var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}
return ret;};}else if(document.createRange){sortOrder=function(a,b){if(!a.ownerDocument||!b.ownerDocument){if(a==b){hasDuplicate=true;}
return a.ownerDocument?-1:1;}
var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.setStart(a,0);aRange.setEnd(a,0);bRange.setStart(b,0);bRange.setEnd(b,0);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}
return ret;};}
function getText(elems){var ret="",elem;for(var i=0;elems[i];i++){elem=elems[i];if(elem.nodeType===3||elem.nodeType===4){ret+=elem.nodeValue;}else if(elem.nodeType!==8){ret+=getText(elem.childNodes);}}
return ret;}
(function(){var form=document.createElement("div"),id="script"+(new Date).getTime();form.innerHTML="<a 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);root=form=null;})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
results=tmp;}
return results;};}
div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}
div=null;})();if(document.querySelectorAll){(function(){var oldSizzle=Sizzle,div=document.createElement("div");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);};for(var prop in oldSizzle){Sizzle[prop]=oldSizzle[prop];}
div=null;})();}
(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(!div.getElementsByClassName||div.getElementsByClassName("e").length===0){return;}
div.lastChild.className="e";if(div.getElementsByClassName("e").length===1){return;}
Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};div=null;})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){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.toLowerCase()===cur){match=elem;break;}
elem=elem[dir];}
checkSet[i]=match;}}}
function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){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){var documentElement=(elem?elem.ownerDocument||elem:0).documentElement;return documentElement?documentElement.nodeName!=="HTML":false;};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.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;jQuery.unique=Sizzle.uniqueSort;jQuery.getText=getText;jQuery.isXMLDoc=isXML;jQuery.contains=contains;return;window.Sizzle=Sizzle;})();var runtil=/Until$/,rparentsprev=/^(?:parents|prevUntil|prevAll)/,rmultiselector=/,/,slice=Array.prototype.slice;var winnow=function(elements,qualifier,keep){if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)===keep;});}else if(qualifier.nodeType){return jQuery.grep(elements,function(elem,i){return(elem===qualifier)===keep;});}else if(typeof qualifier==="string"){var filtered=jQuery.grep(elements,function(elem){return elem.nodeType===1;});if(isSimple.test(qualifier)){return jQuery.filter(qualifier,filtered,!keep);}else{qualifier=jQuery.filter(qualifier,elements);}}
return jQuery.grep(elements,function(elem,i){return(jQuery.inArray(elem,qualifier)>=0)===keep;});};jQuery.fn.extend({find:function(selector){var ret=this.pushStack("","find",selector),length=0;for(var i=0,l=this.length;i<l;i++){length=ret.length;jQuery.find(selector,this[i],ret);if(i>0){for(var n=length;n<ret.length;n++){for(var r=0;r<length;r++){if(ret[r]===ret[n]){ret.splice(n--,1);break;}}}}}
return ret;},has:function(target){var targets=jQuery(target);return this.filter(function(){for(var i=0,l=targets.length;i<l;i++){if(jQuery.contains(this,targets[i])){return true;}}});},not:function(selector){return this.pushStack(winnow(this,selector,false),"not",selector);},filter:function(selector){return this.pushStack(winnow(this,selector,true),"filter",selector);},is:function(selector){return!!selector&&jQuery.filter(selector,this).length>0;},closest:function(selectors,context){if(jQuery.isArray(selectors)){var ret=[],cur=this[0],match,matches={},selector;if(cur&&selectors.length){for(var i=0,l=selectors.length;i<l;i++){selector=selectors[i];if(!matches[selector]){matches[selector]=jQuery.expr.match.POS.test(selector)?jQuery(selector,context||this.context):selector;}}
while(cur&&cur.ownerDocument&&cur!==context){for(selector in matches){match=matches[selector];if(match.jquery?match.index(cur)>-1:jQuery(cur).is(match)){ret.push({selector:selector,elem:cur});delete matches[selector];}}
cur=cur.parentNode;}}
return ret;}
var pos=jQuery.expr.match.POS.test(selectors)?jQuery(selectors,context||this.context):null;return this.map(function(i,cur){while(cur&&cur.ownerDocument&&cur!==context){if(pos?pos.index(cur)>-1:jQuery(cur).is(selectors)){return cur;}
cur=cur.parentNode;}
return null;});},index:function(elem){if(!elem||typeof elem==="string"){return jQuery.inArray(this[0],elem?jQuery(elem):this.parent().children());}
return jQuery.inArray(elem.jquery?elem[0]:elem,this);},add:function(selector,context){var set=typeof selector==="string"?jQuery(selector,context||this.context):jQuery.makeArray(selector),all=jQuery.merge(this.get(),set);return this.pushStack(isDisconnected(set[0])||isDisconnected(all[0])?all:jQuery.unique(all));},andSelf:function(){return this.add(this.prevObject);}});function isDisconnected(node){return!node||!node.parentNode||node.parentNode.nodeType===11;}
jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null;},parents:function(elem){return jQuery.dir(elem,"parentNode");},parentsUntil:function(elem,i,until){return jQuery.dir(elem,"parentNode",until);},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},nextUntil:function(elem,i,until){return jQuery.dir(elem,"nextSibling",until);},prevUntil:function(elem,i,until){return jQuery.dir(elem,"previousSibling",until);},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(until,selector){var ret=jQuery.map(this,fn,until);if(!runtil.test(name)){selector=until;}
if(selector&&typeof selector==="string"){ret=jQuery.filter(selector,ret);}
ret=this.length>1?jQuery.unique(ret):ret;if((this.length>1||rmultiselector.test(selector))&&rparentsprev.test(name)){ret=ret.reverse();}
return this.pushStack(ret,name,slice.call(arguments).join(","));};});jQuery.extend({filter:function(expr,elems,not){if(not){expr=":not("+expr+")";}
return jQuery.find.matches(expr,elems);},dir:function(elem,dir,until){var matched=[],cur=elem[dir];while(cur&&cur.nodeType!==9&&(until===undefined||!jQuery(cur).is(until))){if(cur.nodeType===1){matched.push(cur);}
cur=cur[dir];}
return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir]){if(cur.nodeType===1&&++num===result){break;}}
return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){r.push(n);}}
return r;}});var rinlinejQuery=/ jQuery\d+="(?:\d+|null)"/g,rleadingWhitespace=/^\s+/,rxhtmlTag=/(<([\w:]+)[^>]*?)\/>/g,rselfClosing=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,rtagName=/<([\w:]+)/,rtbody=/<tbody/i,rhtml=/<|&\w+;/,fcloseTag=function(all,front,tag){return rselfClosing.test(tag)?all:front+"></"+tag+">";},wrapMap={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;if(!jQuery.support.htmlSerialize){wrapMap._default=[1,"div<div>","</div>"];}
jQuery.fn.extend({text:function(text){if(jQuery.isFunction(text)){return this.each(function(i){var self=jQuery(this);return self.text(text.call(this,i,self.text()));});}
if(typeof text!=="object"&&text!==undefined){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));}
return jQuery.getText(this);},wrapAll:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapAll(html.call(this,i));});}
if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0]);}
wrap.map(function(){var elem=this;while(elem.firstChild&&elem.firstChild.nodeType===1){elem=elem.firstChild;}
return elem;}).append(this);}
return this;},wrapInner:function(html){return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html);}else{self.append(html);}});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body")){jQuery(this).replaceWith(this.childNodes);}}).end();},append:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.appendChild(elem);}});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.insertBefore(elem,this.firstChild);}});},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});}else if(arguments.length){var set=jQuery(arguments[0]);set.push.apply(set,this.toArray());return this.pushStack(set,"before",arguments);}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});}else if(arguments.length){var set=this.pushStack(this,"after",arguments);set.push.apply(set,jQuery(arguments[0]).toArray());return set;}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML,ownerDocument=this.ownerDocument;if(!html){var div=ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}
return jQuery.clean([html.replace(rinlinejQuery,"").replace(rleadingWhitespace,"")],ownerDocument)[0];}else{return this.cloneNode(true);}});if(events===true){cloneCopyEvent(this,ret);cloneCopyEvent(this.find("*"),ret.find("*"));}
return ret;},html:function(value){if(value===undefined){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(rinlinejQuery,""):null;}else if(typeof value==="string"&&!/<script/i.test(value)&&(jQuery.support.leadingWhitespace||!rleadingWhitespace.test(value))&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){try{for(var i=0,l=this.length;i<l;i++){if(this[i].nodeType===1){cleanData(this[i].getElementsByTagName("*"));this[i].innerHTML=value;}}}catch(e){this.empty().append(value);}}else if(jQuery.isFunction(value)){this.each(function(i){var self=jQuery(this),old=self.html();self.empty().append(function(){return value.call(this,i,old);});});}else{this.empty().append(value);}
return this;},replaceWith:function(value){if(this[0]&&this[0].parentNode){if(!jQuery.isFunction(value)){value=jQuery(value).detach();}
return this.each(function(){var next=this.nextSibling,parent=this.parentNode;jQuery(this).remove();if(next){jQuery(next).before(value);}else{jQuery(parent).append(value);}});}else{return this.pushStack(jQuery(jQuery.isFunction(value)?value():value),"replaceWith",value);}},detach:function(selector){return this.remove(selector,true);},domManip:function(args,table,callback){var results,first,value=args[0],scripts=[];if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);args[0]=value.call(this,i,table?self.html():undefined);return self.domManip(args,table,callback);});}
if(this[0]){if(args[0]&&args[0].parentNode&&args[0].parentNode.nodeType===11){results={fragment:args[0].parentNode};}else{results=buildFragment(args,this,scripts);}
first=results.fragment.firstChild;if(first){table=table&&jQuery.nodeName(first,"tr");for(var i=0,l=this.length;i<l;i++){callback.call(table?root(this[i],first):this[i],results.cacheable||this.length>1||i>0?results.fragment.cloneNode(true):results.fragment);}}
if(scripts){jQuery.each(scripts,evalScript);}}
return this;function root(elem,cur){return jQuery.nodeName(elem,"table")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}});function cloneCopyEvent(orig,ret){var i=0;ret.each(function(){if(this.nodeName!==(orig[i]&&orig[i].nodeName)){return;}
var oldData=jQuery.data(orig[i++]),curData=jQuery.data(this,oldData),events=oldData&&oldData.events;if(events){delete curData.handle;curData.events={};for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}}});}
function buildFragment(args,nodes,scripts){var fragment,cacheable,cached,cacheresults,doc;if(args.length===1&&typeof args[0]==="string"&&args[0].length<512&&args[0].indexOf("<option")<0){cacheable=true;cacheresults=jQuery.fragments[args[0]];if(cacheresults){if(cacheresults!==1){fragment=cacheresults;}
cached=true;}}
if(!fragment){doc=(nodes&&nodes[0]?nodes[0].ownerDocument||nodes[0]:document);fragment=doc.createDocumentFragment();jQuery.clean(args,doc,fragment,scripts);}
if(cacheable){jQuery.fragments[args[0]]=cacheresults?fragment:1;}
return{fragment:fragment,cacheable:cacheable};}
jQuery.fragments={};jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);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,insert.selector);};});jQuery.each({remove:function(selector,keepData){if(!selector||jQuery.filter(selector,[this]).length){if(!keepData&&this.nodeType===1){cleanData(this.getElementsByTagName("*"));cleanData([this]);}
if(this.parentNode){this.parentNode.removeChild(this);}}},empty:function(){if(this.nodeType===1){cleanData(this.getElementsByTagName("*"));}
while(this.firstChild){this.removeChild(this.firstChild);}}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.extend({clean:function(elems,context,fragment,scripts){context=context||document;if(typeof context.createElement==="undefined"){context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;}
var ret=[];jQuery.each(elems,function(i,elem){if(typeof elem==="number"){elem+="";}
if(!elem){return;}
if(typeof elem==="string"&&!rhtml.test(elem)){elem=context.createTextNode(elem);}else if(typeof elem==="string"){elem=elem.replace(rxhtmlTag,fcloseTag);var tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,depth=wrap[0],div=context.createElement("div");div.innerHTML=wrap[1]+elem+wrap[2];while(depth--){div=div.lastChild;}
if(!jQuery.support.tbody){var hasBody=rtbody.test(elem),tbody=tag==="table"&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]==="<table>"&&!hasBody?div.childNodes:[];for(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&&rleadingWhitespace.test(elem)){div.insertBefore(context.createTextNode(rleadingWhitespace.exec(elem)[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(scripts&&jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1){ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));}
fragment.appendChild(ret[i]);}}}
return ret;}});function cleanData(elems){for(var i=0,elem,id;(elem=elems[i])!=null;i++){if(!jQuery.noData[elem.nodeName.toLowerCase()]&&(id=elem[expando])){delete jQuery.cache[id];}}}
var rexclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,ralpha=/alpha\([^)]*\)/,ropacity=/opacity=([^)]*)/,rfloat=/float/i,rdashAlpha=/-([a-z])/ig,rupper=/([A-Z])/g,rnumpx=/^-?\d+(?:px)?$/i,rnum=/^-?\d/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssWidth=["Left","Right"],cssHeight=["Top","Bottom"],getComputedStyle=document.defaultView&&document.defaultView.getComputedStyle,styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat",fcamelCase=function(all,letter){return letter.toUpperCase();};jQuery.fn.css=function(name,value){return access(this,name,value,true,function(elem,name,value){if(value===undefined){return jQuery.curCSS(elem,name);}
if(typeof value==="number"&&!rexclude.test(name)){value+="px";}
jQuery.style(elem,name,value);});};jQuery.extend({style:function(elem,name,value){if(!elem||elem.nodeType===3||elem.nodeType===8){return undefined;}
if((name==="width"||name==="height")&&parseFloat(value)<0){value=undefined;}
var style=elem.style||elem,set=value!==undefined;if(!jQuery.support.opacity&&name==="opacity"){if(set){style.zoom=1;var opacity=parseInt(value,10)+""==="NaN"?"":"alpha(opacity="+value*100+")";var filter=style.filter||jQuery.curCSS(elem,"filter")||"";style.filter=ralpha.test(filter)?filter.replace(ralpha,opacity):opacity;}
return style.filter&&style.filter.indexOf("opacity=")>=0?(parseFloat(ropacity.exec(style.filter)[1])/100)+"":"";}
if(rfloat.test(name)){name=styleFloat;}
name=name.replace(rdashAlpha,fcamelCase);if(set){style[name]=value;}
return style[name];},css:function(elem,name,force,extra){if(name==="width"||name==="height"){var val,props=cssShow,which=name==="width"?cssWidth:cssHeight;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,filter;if(!jQuery.support.opacity&&name==="opacity"&&elem.currentStyle){ret=ropacity.test(elem.currentStyle.filter||"")?(parseFloat(RegExp.$1)/100)+"":"";return ret===""?"1":ret;}
if(rfloat.test(name)){name=styleFloat;}
if(!force&&style&&style[name]){ret=style[name];}else if(getComputedStyle){if(rfloat.test(name)){name="float";}
name=name.replace(rupper,"-$1").toLowerCase();var defaultView=elem.ownerDocument.defaultView;if(!defaultView){return null;}
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(rdashAlpha,fcamelCase);ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!rnumpx.test(ret)&&rnum.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=camelCase==="fontSize"?"1em":(ret||0);ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
return ret;},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];}}});if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.hidden=function(elem){var width=elem.offsetWidth,height=elem.offsetHeight,skip=elem.nodeName.toLowerCase()==="tr";return width===0&&height===0&&!skip?true:width>0&&height>0&&!skip?false:jQuery.curCSS(elem,"display")==="none";};jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem);};}
var jsc=now(),rscript=/<script(.|\s)*?\/script>/gi,rselectTextarea=/select|textarea/i,rinput=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,jsre=/=\?(&|$)/,rquery=/\?/,rts=/(\?|&)_=.*?(&|$)/,rurl=/^(\w+:)?\/\/([^\/?#]+)/,r20=/%20/g;jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string"){return this._load(url);}else if(!this.length){return this;}
var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
var type="GET";if(params){if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params,jQuery.ajaxSettings.traditional);type="POST";}}
jQuery.ajax({url:url,type:type,dataType:"html",data:params,context:this,complete:function(res,status){if(status==="success"||status==="notmodified"){this.html(selector?jQuery("<div />").append(res.responseText.replace(rscript,"")).find(selector):res.responseText);}
if(callback){this.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||rselectTextarea.test(this.nodeName)||rinput.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{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);};});jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;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)){type=type||callback;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:window.XMLHttpRequest&&(window.location.protocol!=="file:"||!window.ActiveXObject)?function(){return new window.XMLHttpRequest();}:function(){try{return new window.ActiveXObject("Microsoft.XMLHTTP");}catch(e){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(origSettings){var s=jQuery.extend(true,{},jQuery.ajaxSettings,origSettings);var jsonp,status,data,callbackContext=s.context||s,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional);}
if(s.dataType==="jsonp"){if(type==="GET"){if(!jsre.test(s.url)){s.url+=(rquery.test(s.url)?"&":"?")+(s.jsonp||"callback")+"=?";}}else if(!s.data||!jsre.test(s.data)){s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";}
s.dataType="json";}
if(s.dataType==="json"&&(s.data&&jsre.test(s.data)||jsre.test(s.url))){jsonp=s.jsonpCallback||("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]=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(rts,"$1_="+ts+"$2");s.url=ret+((ret===s.url)?(rquery.test(s.url)?"&":"?")+"_="+ts:"");}
if(s.data&&type==="GET"){s.url+=(rquery.test(s.url)?"&":"?")+s.data;}
if(s.global&&!jQuery.active++){jQuery.event.trigger("ajaxStart");}
var parts=rurl.exec(s.url),remote=parts&&(parts[1]&&parts[1]!==location.protocol||parts[2]!==location.host);if(s.dataType==="script"&&type==="GET"&&remote){if(s.beforeSend&&s.beforeSend.call(callbackContext,xhr,s)===false){if(s.global&&!--jQuery.active){jQuery.event.trigger("ajaxStop");}
xhr.abort();return false;}
var head=document.getElementsByTagName("head")[0]||document.documentElement;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;if(head&&script.parentNode){head.removeChild(script);}}};}
head.insertBefore(script,head.firstChild);return undefined;}
var requestDone=false;var xhr=s.xhr();if(!xhr){return;}
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||origSettings&&origSettings.contentType){xhr.setRequestHeader("Content-Type",s.contentType);}
if(s.ifModified){if(jQuery.lastModified[s.url]){xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]);}
if(jQuery.etag[s.url]){xhr.setRequestHeader("If-None-Match",jQuery.etag[s.url]);}}
if(!remote){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.call(callbackContext,xhr,s)===false){if(s.global&&!--jQuery.active){jQuery.event.trigger("ajaxStop");}
xhr.abort();return false;}
if(s.global){trigger("ajaxSend",[xhr,s]);}
var onreadystatechange=xhr.onreadystatechange=function(isTimeout){if(!xhr||xhr.readyState===0){if(!requestDone){complete();}
requestDone=true;if(xhr){xhr.onreadystatechange=jQuery.noop;}}else if(!requestDone&&xhr&&(xhr.readyState===4||isTimeout==="timeout")){requestDone=true;xhr.onreadystatechange=jQuery.noop;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"||status==="notmodified"){if(!jsonp){success();}}else{jQuery.handleError(s,xhr,status);}
complete();if(isTimeout==="timeout"){xhr.abort();}
if(s.async){xhr=null;}}};try{var oldAbort=xhr.abort;xhr.abort=function(){if(xhr){oldAbort.call(xhr);if(xhr){xhr.readyState=0;}}
onreadystatechange();};}catch(e){}
if(s.async&&s.timeout>0){setTimeout(function(){if(xhr&&!requestDone){onreadystatechange("timeout");}},s.timeout);}
try{xhr.send(type==="POST"||type==="PUT"||type==="DELETE"?s.data:null);}catch(e){jQuery.handleError(s,xhr,null,e);complete();}
if(!s.async){onreadystatechange();}
function success(){if(s.success){s.success.call(callbackContext,data,status,xhr);}
if(s.global){trigger("ajaxSuccess",[xhr,s]);}}
function complete(){if(s.complete){s.complete.call(callbackContext,xhr,status);}
if(s.global){trigger("ajaxComplete",[xhr,s]);}
if(s.global&&!--jQuery.active){jQuery.event.trigger("ajaxStop");}}
function trigger(type,args){(s.context?jQuery(s.context):jQuery.event).trigger(type,args);}
return xhr;},handleError:function(s,xhr,status,e){if(s.error){s.error.call(s.context||window,xhr,status,e);}
if(s.global){(s.context?jQuery(s.context):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||xhr.status===0;}catch(e){}
return false;},httpNotModified:function(xhr,url){var lastModified=xhr.getResponseHeader("Last-Modified"),etag=xhr.getResponseHeader("Etag");if(lastModified){jQuery.lastModified[url]=lastModified;}
if(etag){jQuery.etag[url]=etag;}
return xhr.status===304||xhr.status===0;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type")||"",xml=type==="xml"||!type&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.nodeName==="parsererror"){throw"parsererror";}
if(s&&s.dataFilter){data=s.dataFilter(data,type);}
if(typeof data==="string"){if(type==="json"||!type&&ct.indexOf("json")>=0){if(/^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){if(window.JSON&&window.JSON.parse){data=window.JSON.parse(data);}else{data=(new Function("return "+data))();}}else{throw"Invalid JSON: "+data;}}else if(type==="script"||!type&&ct.indexOf("javascript")>=0){jQuery.globalEval(data);}}
return data;},param:function(a,traditional){var s=[];if(traditional===undefined){traditional=jQuery.ajaxSettings.traditional;}
function add(key,value){value=jQuery.isFunction(value)?value():value;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value);}
if(jQuery.isArray(a)||a.jquery){jQuery.each(a,function(){add(this.name,this.value);});}else{jQuery.each(a,function buildParams(prefix,obj){if(jQuery.isArray(obj)){jQuery.each(obj,function(i,v){if(traditional){add(prefix,v);}else{buildParams(prefix+"["+(typeof v==="object"||jQuery.isArray(v)?i:"")+"]",v);}});}else if(!traditional&&obj!=null&&typeof obj==="object"){jQuery.each(obj,function(k,v){buildParams(prefix+"["+k+"]",v);});}else{add(prefix,obj);}});}
return s.join("&").replace(r20,"+");}});var elemdisplay={},rfxtypes=/toggle|show|hide/,rfxnum=/^([+-]=)?([\d+-.]+)(.*)$/,timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];jQuery.fn.extend({show:function(speed,callback){if(speed!=null){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 nodeName=this[i].nodeName,display;if(elemdisplay[nodeName]){display=elemdisplay[nodeName];}else{var elem=jQuery("<"+nodeName+" />").appendTo("body");display=elem.css("display");if(display==="none"){display="block";}
elem.remove();elemdisplay[nodeName]=display;}
jQuery.data(this[i],"olddisplay",display);}}
for(var j=0,k=this.length;j<k;j++){this[j].style.display=jQuery.data(this[j],"olddisplay")||"";}
return this;}},hide:function(speed,callback){if(speed!=null){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 j=0,k=this.length;j<k;j++){this[j].style.display="none";}
return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";if(jQuery.isFunction(fn)&&jQuery.isFunction(fn2)){this._toggle.apply(this,arguments);}else if(fn==null||bool){this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();});}else{this.animate(genFx("toggle",3),fn,fn2);}
return this;},fadeTo:function(speed,to,callback){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);if(jQuery.isEmptyObject(prop)){return this.each(optall.complete);}
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){var name=p.replace(rdashAlpha,fcamelCase);if(p!==name){prop[name]=prop[p];delete prop[p];p=name;}
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(jQuery.isArray(prop[p])){(opt.specialEasing=opt.specialEasing||{})[p]=prop[p][1];prop[p]=prop[p][0];}}
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(rfxtypes.test(val)){e[val==="toggle"?hidden?"show":"hide":val](prop);}else{var parts=rfxnum.exec(val),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=speed&&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(jQuery.fx.tick,13);}},show:function(){this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now(),done=true;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;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;var old=jQuery.data(this.elem,"olddisplay");this.elem.style.display=old?old: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.style(this.elem,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;var specialEasing=this.options.specialEasing&&this.options.specialEasing[this.prop];var defaultEasing=this.options.easing||(jQuery.easing.swing?"swing":"linear");this.pos=jQuery.easing[specialEasing||defaultEasing](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,{tick:function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++){if(!timers[i]()){timers.splice(i--,1);}}
if(!timers.length){jQuery.fx.stop();}},stop:function(){clearInterval(timerId);timerId=null;},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.style(fx.elem,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null){fx.elem.style[fx.prop]=(fx.prop==="width"||fx.prop==="height"?Math.max(0,fx.now):fx.now)+fx.unit;}else{fx.elem[fx.prop]=fx.now;}}}});if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};}
function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
if("getBoundingClientRect"in document.documentElement){jQuery.fn.offset=function(options){var elem=this[0];if(!elem||!elem.ownerDocument){return null;}
if(options){return this.each(function(i){jQuery.offset.setOffset(this,options,i);});}
if(elem===elem.ownerDocument.body){return jQuery.offset.bodyOffset(elem);}
var box=elem.getBoundingClientRect(),doc=elem.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.support.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.support.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};}else{jQuery.fn.offset=function(options){var elem=this[0];if(!elem||!elem.ownerDocument){return null;}
if(options){return this.each(function(i){jQuery.offset.setOffset(this,options,i);});}
if(elem===elem.ownerDocument.body){return jQuery.offset.bodyOffset(elem);}
jQuery.offset.initialize();var offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle,top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){break;}
computedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle;top-=elem.scrollTop;left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop;left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.nodeName))){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0;}
prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible"){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0;}
prevComputedStyle=computedStyle;}
if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static"){top+=body.offsetTop;left+=body.offsetLeft;}
if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){top+=Math.max(docElem.scrollTop,body.scrollTop);left+=Math.max(docElem.scrollLeft,body.scrollLeft);}
return{top:top,left:left};};}
jQuery.offset={initialize:function(){var body=document.body,container=document.createElement("div"),innerDiv,checkDiv,table,td,bodyMarginTop=parseFloat(jQuery.curCSS(body,"marginTop",true))||0,html="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";jQuery.extend(container.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild;checkDiv=innerDiv.firstChild;td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);checkDiv.style.position="fixed",checkDiv.style.top="20px";this.supportsFixedPosition=(checkDiv.offsetTop===20||checkDiv.offsetTop===15);checkDiv.style.position=checkDiv.style.top="";innerDiv.style.overflow="hidden",innerDiv.style.position="relative";this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);this.doesNotIncludeMarginInBodyOffset=(body.offsetTop!==bodyMarginTop);body.removeChild(container);body=container=innerDiv=checkDiv=table=td=null;jQuery.offset.initialize=jQuery.noop;},bodyOffset:function(body){var top=body.offsetTop,left=body.offsetLeft;jQuery.offset.initialize();if(jQuery.offset.doesNotIncludeMarginInBodyOffset){top+=parseFloat(jQuery.curCSS(body,"marginTop",true))||0;left+=parseFloat(jQuery.curCSS(body,"marginLeft",true))||0;}
return{top:top,left:left};},setOffset:function(elem,options,i){if(/static/.test(jQuery.curCSS(elem,"position"))){elem.style.position="relative";}
var curElem=jQuery(elem),curOffset=curElem.offset(),curTop=parseInt(jQuery.curCSS(elem,"top",true),10)||0,curLeft=parseInt(jQuery.curCSS(elem,"left",true),10)||0;if(jQuery.isFunction(options)){options=options.call(elem,i,curOffset);}
var props={top:(options.top-curOffset.top)+curTop,left:(options.left-curOffset.left)+curLeft};if("using"in options){options.using.call(elem,props);}else{curElem.css(props);}}};jQuery.fn.extend({position:function(){if(!this[0]){return null;}
var elem=this[0],offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].nodeName)?{top:0,left:0}:offsetParent.offset();offset.top-=parseFloat(jQuery.curCSS(elem,"marginTop",true))||0;offset.left-=parseFloat(jQuery.curCSS(elem,"marginLeft",true))||0;parentOffset.top+=parseFloat(jQuery.curCSS(offsetParent[0],"borderTopWidth",true))||0;parentOffset.left+=parseFloat(jQuery.curCSS(offsetParent[0],"borderLeftWidth",true))||0;return{top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.nodeName)&&jQuery.css(offsetParent,"position")==="static")){offsetParent=offsetParent.offsetParent;}
return offsetParent;});}});jQuery.each(["Left","Top"],function(i,name){var method="scroll"+name;jQuery.fn[method]=function(val){var elem=this[0],win;if(!elem){return null;}
if(val!==undefined){return this.each(function(){win=getWindow(this);if(win){win.scrollTo(!i?val:jQuery(win).scrollLeft(),i?val:jQuery(win).scrollTop());}else{this[method]=val;}});}else{win=getWindow(elem);return win?("pageXOffset"in win)?win[i?"pageYOffset":"pageXOffset"]:jQuery.support.boxModel&&win.document.documentElement[method]||win.document.body[method]:elem[method];}};});function getWindow(elem){return("scrollTo"in elem&&elem.document)?elem:elem.nodeType===9?elem.defaultView||elem.parentWindow:false;}
jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],type,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],type,false,margin?"margin":"border"):null;};jQuery.fn[type]=function(size){var elem=this[0];if(!elem){return size==null?null:this;}
return("scrollTo"in elem&&elem.document)?elem.document.compatMode==="CSS1Compat"&&elem.document.documentElement["client"+name]||elem.document.body["client"+name]:(elem.nodeType===9)?Math.max(elem.documentElement["client"+name],elem.body["scroll"+name],elem.documentElement["scroll"+name],elem.body["offset"+name],elem.documentElement["offset"+name]):size===undefined?jQuery.css(elem,type):this.css(type,typeof size==="string"?size:size+"px");};});window.jQuery=window.$=jQuery;})(window);;(function($){var rotateLeft=function(lValue,iShiftBits){return(lValue<<iShiftBits)|(lValue>>>(32-iShiftBits));}
var addUnsigned=function(lX,lY){var lX4,lY4,lX8,lY8,lResult;lX8=(lX&0x80000000);lY8=(lY&0x80000000);lX4=(lX&0x40000000);lY4=(lY&0x40000000);lResult=(lX&0x3FFFFFFF)+(lY&0x3FFFFFFF);if(lX4&lY4)return(lResult^0x80000000^lX8^lY8);if(lX4|lY4){if(lResult&0x40000000)return(lResult^0xC0000000^lX8^lY8);else return(lResult^0x40000000^lX8^lY8);}else{return(lResult^lX8^lY8);}}
var F=function(x,y,z){return(x&y)|((~x)&z);}
var G=function(x,y,z){return(x&z)|(y&(~z));}
var H=function(x,y,z){return(x^y^z);}
var I=function(x,y,z){return(y^(x|(~z)));}
var FF=function(a,b,c,d,x,s,ac){a=addUnsigned(a,addUnsigned(addUnsigned(F(b,c,d),x),ac));return addUnsigned(rotateLeft(a,s),b);};var GG=function(a,b,c,d,x,s,ac){a=addUnsigned(a,addUnsigned(addUnsigned(G(b,c,d),x),ac));return addUnsigned(rotateLeft(a,s),b);};var HH=function(a,b,c,d,x,s,ac){a=addUnsigned(a,addUnsigned(addUnsigned(H(b,c,d),x),ac));return addUnsigned(rotateLeft(a,s),b);};var II=function(a,b,c,d,x,s,ac){a=addUnsigned(a,addUnsigned(addUnsigned(I(b,c,d),x),ac));return addUnsigned(rotateLeft(a,s),b);};var convertToWordArray=function(string){var lWordCount;var lMessageLength=string.length;var lNumberOfWordsTempOne=lMessageLength+8;var lNumberOfWordsTempTwo=(lNumberOfWordsTempOne-(lNumberOfWordsTempOne%64))/64;var lNumberOfWords=(lNumberOfWordsTempTwo+1)*16;var lWordArray=Array(lNumberOfWords-1);var lBytePosition=0;var lByteCount=0;while(lByteCount<lMessageLength){lWordCount=(lByteCount-(lByteCount%4))/4;lBytePosition=(lByteCount%4)*8;lWordArray[lWordCount]=(lWordArray[lWordCount]|(string.charCodeAt(lByteCount)<<lBytePosition));lByteCount++;}
lWordCount=(lByteCount-(lByteCount%4))/4;lBytePosition=(lByteCount%4)*8;lWordArray[lWordCount]=lWordArray[lWordCount]|(0x80<<lBytePosition);lWordArray[lNumberOfWords-2]=lMessageLength<<3;lWordArray[lNumberOfWords-1]=lMessageLength>>>29;return lWordArray;};var wordToHex=function(lValue){var WordToHexValue="",WordToHexValueTemp="",lByte,lCount;for(lCount=0;lCount<=3;lCount++){lByte=(lValue>>>(lCount*8))&255;WordToHexValueTemp="0"+lByte.toString(16);WordToHexValue=WordToHexValue+WordToHexValueTemp.substr(WordToHexValueTemp.length-2,2);}
return WordToHexValue;};var uTF8Encode=function(string){string=string.replace(/\x0d\x0a/g,"\x0a");var output="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){output+=String.fromCharCode(c);}else if((c>127)&&(c<2048)){output+=String.fromCharCode((c>>6)|192);output+=String.fromCharCode((c&63)|128);}else{output+=String.fromCharCode((c>>12)|224);output+=String.fromCharCode(((c>>6)&63)|128);output+=String.fromCharCode((c&63)|128);}}
return output;};$.extend({md5:function(string){var x=Array();var k,AA,BB,CC,DD,a,b,c,d;var S11=7,S12=12,S13=17,S14=22;var S21=5,S22=9,S23=14,S24=20;var S31=4,S32=11,S33=16,S34=23;var S41=6,S42=10,S43=15,S44=21;string=uTF8Encode(string);x=convertToWordArray(string);a=0x67452301;b=0xEFCDAB89;c=0x98BADCFE;d=0x10325476;for(k=0;k<x.length;k+=16){AA=a;BB=b;CC=c;DD=d;a=FF(a,b,c,d,x[k+0],S11,0xD76AA478);d=FF(d,a,b,c,x[k+1],S12,0xE8C7B756);c=FF(c,d,a,b,x[k+2],S13,0x242070DB);b=FF(b,c,d,a,x[k+3],S14,0xC1BDCEEE);a=FF(a,b,c,d,x[k+4],S11,0xF57C0FAF);d=FF(d,a,b,c,x[k+5],S12,0x4787C62A);c=FF(c,d,a,b,x[k+6],S13,0xA8304613);b=FF(b,c,d,a,x[k+7],S14,0xFD469501);a=FF(a,b,c,d,x[k+8],S11,0x698098D8);d=FF(d,a,b,c,x[k+9],S12,0x8B44F7AF);c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);a=FF(a,b,c,d,x[k+12],S11,0x6B901122);d=FF(d,a,b,c,x[k+13],S12,0xFD987193);c=FF(c,d,a,b,x[k+14],S13,0xA679438E);b=FF(b,c,d,a,x[k+15],S14,0x49B40821);a=GG(a,b,c,d,x[k+1],S21,0xF61E2562);d=GG(d,a,b,c,x[k+6],S22,0xC040B340);c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);b=GG(b,c,d,a,x[k+0],S24,0xE9B6C7AA);a=GG(a,b,c,d,x[k+5],S21,0xD62F105D);d=GG(d,a,b,c,x[k+10],S22,0x2441453);c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);b=GG(b,c,d,a,x[k+4],S24,0xE7D3FBC8);a=GG(a,b,c,d,x[k+9],S21,0x21E1CDE6);d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);c=GG(c,d,a,b,x[k+3],S23,0xF4D50D87);b=GG(b,c,d,a,x[k+8],S24,0x455A14ED);a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);d=GG(d,a,b,c,x[k+2],S22,0xFCEFA3F8);c=GG(c,d,a,b,x[k+7],S23,0x676F02D9);b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);a=HH(a,b,c,d,x[k+5],S31,0xFFFA3942);d=HH(d,a,b,c,x[k+8],S32,0x8771F681);c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);a=HH(a,b,c,d,x[k+1],S31,0xA4BEEA44);d=HH(d,a,b,c,x[k+4],S32,0x4BDECFA9);c=HH(c,d,a,b,x[k+7],S33,0xF6BB4B60);b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);d=HH(d,a,b,c,x[k+0],S32,0xEAA127FA);c=HH(c,d,a,b,x[k+3],S33,0xD4EF3085);b=HH(b,c,d,a,x[k+6],S34,0x4881D05);a=HH(a,b,c,d,x[k+9],S31,0xD9D4D039);d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);b=HH(b,c,d,a,x[k+2],S34,0xC4AC5665);a=II(a,b,c,d,x[k+0],S41,0xF4292244);d=II(d,a,b,c,x[k+7],S42,0x432AFF97);c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);b=II(b,c,d,a,x[k+5],S44,0xFC93A039);a=II(a,b,c,d,x[k+12],S41,0x655B59C3);d=II(d,a,b,c,x[k+3],S42,0x8F0CCC92);c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);b=II(b,c,d,a,x[k+1],S44,0x85845DD1);a=II(a,b,c,d,x[k+8],S41,0x6FA87E4F);d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);c=II(c,d,a,b,x[k+6],S43,0xA3014314);b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);a=II(a,b,c,d,x[k+4],S41,0xF7537E82);d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);c=II(c,d,a,b,x[k+2],S43,0x2AD7D2BB);b=II(b,c,d,a,x[k+9],S44,0xEB86D391);a=addUnsigned(a,AA);b=addUnsigned(b,BB);c=addUnsigned(c,CC);d=addUnsigned(d,DD);}
var tempValue=wordToHex(a)+wordToHex(b)+wordToHex(c)+wordToHex(d);return tempValue.toLowerCase();}});})(jQuery);;jQuery.fn.extend({getUrlParam:function(strParamName){strParamName=escape(unescape(strParamName));var returnVal=new Array();var qString=null;if($(this).attr("nodeName")=="#document"){if(window.location.search.search(strParamName)>-1){qString=window.location.search.substr(1,window.location.search.length).split("&");}}else if($(this).attr("src")!="undefined"){var strHref=$(this).attr("src")
if(strHref.indexOf("?")>-1){var strQueryString=strHref.substr(strHref.indexOf("?")+1);qString=strQueryString.split("&");}}else if($(this).attr("href")!="undefined"){var strHref=$(this).attr("href")
if(strHref.indexOf("?")>-1){var strQueryString=strHref.substr(strHref.indexOf("?")+1);qString=strQueryString.split("&");}}else{return null;}
if(qString==null)return null;for(var i=0;i<qString.length;i++){if(escape(unescape(qString[i].split("=")[0]))==strParamName){returnVal.push(qString[i].split("=")[1]);}}
if(returnVal.length==0)return null;else if(returnVal.length==1)return returnVal[0];else return returnVal;}});;flickrManager=function(api,secret){this.API=api;this.SECRET=secret;this.REST="http://api.flickr.com/services/rest/";window.manager=this;this.url=function(name,params){var paramNames=new Array();params.api_key=this.API;params.format="json";params.method=name;var url="";var first=true;for(var param in params){url+=(first?"?":"&")+param+"="+params[param];first=false;}
return flickr.REST+url;};this.signUrl=function(url){var str1=url.split(new RegExp("[&\\?]"));var paramNames=new Array();var param=new Object();var splt=new RegExp("[=]");for(var i=1;i<str1.length;i++)
{var res=str1[i].split(splt);paramNames[paramNames.length]=res[0];param[res[0]]=res[1];}
paramNames.sort();var toSign=this.SECRET;for(var i=0;i<paramNames.length;i++)
{toSign+=paramNames[i]+param[paramNames[i]];}
url+="&api_sig="+jQuery.md5(toSign);return url;}
this.calculateHash=function(request,params){params.url=window.manager.signUrl(params.url);return true;}
this.flickrRequest=function(method,params,callback){var address=this.url(method,params);jQuery.ajax({url:address,dataType:"jsonp",jsonp:"jsoncallback",SECRET:this.SECRET,beforeSend:this.calculateHash,success:callback});};this.user=function(userName,callback){var params=new Object();params.username=userName;this.flickrRequest("flickr.people.findByUsername",params,callback);}
this.publicPhotosListPart=function(data)
{var userId=data.photos.photo[0].owner;for(var i=0;i<data.photos.photo.length;i++)
window[userId].photos_flickr[window[userId].photos_flickr.length]=data.photos.photo[i];if(data.photos.total==window[userId].photos_flickr.length)
{window[userId].callBackList(window[userId].photos_flickr);window[userId]=undefined;}else if(data.photos.page==1)
{var params=new Object();params.user_id=userId;params.per_page=50;for(var i=2;i<=data.photos.pages;i++){params.page=i;window[userId].manager.flickrRequest("flickr.people.getPublicPhotos",params,window[userId].manager.publicPhotosListPart);}}}
this.publicPhotosList=function(userId,callback){var params=new Object();params.user_id=userId;params.per_page=50;window[userId]=new Object();window[userId].photos_flickr=new Array();window[userId].callBackList=callback;window[userId].manager=this;this.flickrRequest("flickr.people.getPublicPhotos",params,this.publicPhotosListPart);}
this.getExifInfo=function(photo,callback){var params=new Object();params.photo_id=photo.id;params.secret=photo.secret;window.photos_flickr=new Object();window.photos_flickr[photo.photo_id]=photo;this.flickrRequest("flickr.photos.getExif",params,callback);}};largeur=300;var uri=window.location.href;URL=uri.substr(0,uri.lastIndexOf('/')+1);photostraitees=0;nbEtapes=3;nbSousEtapes=1;login="";xml=null;display=null;nb_requetes=6;phototraitee=0;TheFilter="";FilteredPhotos=[];urls=[];pagesphotos=[];flickr=new flickrManager("0944b9e81c4c80e3c8f5ba3b85adec40","f3f63f6a5b8fe2de");NSID=null;photos=new Object();TOKEN=null;var auth=false;var deauth=false;Max_tries=10;NbMaxPhotos=0;tab_selected="";cache=function()
{afficher_debut();byebye(document.getElementById('stats'));byebye(document.getElementById('resultat'));byebye(document.getElementById('menu'));byebye(document.getElementById('filters'));byebye(document.getElementById('photos'));cpossible();}
function loginsearch()
{if(photos&&photostraitees>0&&photostraitees<photos.data.length)
{return false}else
{photos.data=new Array();phototraitees=0;}
login=document.getElementById('formulaire').login.value;if(login=="")
{erreur(getStr("EntrerLogin"));return false;}
var params=new Object();params.username=login;flickr.flickrRequest("flickr.people.findByUsername",params,function(data){if(!data||!data.user||!data.user.id){erreur(getStr("UtilisateurExistePas"));}else{NSID=data.user.id;afficher_avancement(0,nbEtapes,1,nbSousEtapes,getStr('RecupererNSID'),getStr('ContactFlickr'),photosearch1);}});return false;}
function photosearch1()
{nbSousEtapes=2;afficher_avancement(1,nbEtapes,0,2,getStr('ListePhotos'),getStr('ContactFlickr'),photosearch);}
function photosearch()
{var params=Object();params.page=1;params.user_id=NSID;params.per_page=200;if(TOKEN){params.auth_token=TOKEN;}
flickr.flickrRequest("flickr.photos.search",params,function(xml){var p=xml.photos;nbSousEtapes=p.pages;photos.charger(xml);if(p.pages==1){afficher_avancement(1,nbEtapes,1,nbSousEtapes,getStr('ListePhotos'),getStr('Interpretation'),chargerxml);}else{pages=nbSousEtapes;page=2;pagesphotos=[];afficher_avancement(1,nbEtapes,1,nbSousEtapes,getStr('ListePhotos'),"1 / "+nbSousEtapes,charger_photos);}});}
function charger_photos()
{while(nb_requetes>0&&page<=pages)
{nb_requetes--;chercher_page(page);page++;}
if(pagesphotos.length==pages-1)
afficher_avancement(1,nbEtapes,page,nbSousEtapes,getStr('ListePhotos'),getStr('Interpretation'),chercherexifs);}
function charger_liste_photos_xml(xml)
{if(window['nb_requetes']!=undefined)
{nb_requetes++;if(xml)
{photos.addXML(xml);var p=xml.photos.page;pagesphotos.push(p);afficher_avancement(1,nbEtapes,pagesphotos.length,nbSousEtapes,getStr('ListePhotos'),pagesphotos.length.toString()+" / "+nbSousEtapes.toString(),charger_photos);}}}
function chercher_page(page)
{var params=Object();params.page=page;params.user_id=NSID;params.per_page=200;if(TOKEN){params.auth_token=TOKEN;}
flickr.flickrRequest("flickr.photos.search",params,charger_liste_photos_xml);}
function chargerxml()
{afficher_avancement(1,nbEtapes,2,nbSousEtapes,getStr('ListePhotos'),getStr('Interpretation'),chercherexifs);}
function chercherexifs()
{nbSousEtapes=photos.data.length;phototraitee=0;photostraitees=0;afficher_avancement(2,nbEtapes,photostraitees,nbSousEtapes,getStr('RecupererExifs'),getStr('AvantPhotosRestantes')+nbSousEtapes.toString()+getStr('ApresPhotosRestantes'),chargerexifs);}
function chargerexifs()
{while(nb_requetes>0&&phototraitee<photos.data.length)
{nb_requetes--;chercher_exifs(photos.data[phototraitee],phototraitee);phototraitee++;}}
function exifsearch(auth,deauth)
{NbMaxPhotos=0;TheFilter="";cache();paspossible();if(deauth==true)
{deauthentification();return;}
if(auth==false){afficher_avancement(0,nbEtapes,0,nbSousEtapes,getStr('RecupererExifs'),getStr('ContactFlickr'),loginsearch);return;}else{var params=new Object();params.perms="read";document.location.href=flickr.signUrl("http://flickr.com/services/auth/?api_key="+flickr.API+"&perms=read");return;}
return false;}
function chercher_exifs(data,count)
{var params=new Object();params.id=data.id.toString();params.secret=data.secret.toString();flickr.getExifInfo(params,charger_exifs);}
function byebye(me,f)
{me.style.display="none";me.innerHTML="&nbsp;";if(f)
f();}
function visible(me)
{me.setAttribute('style','');me.setAttribute('cssText','');me.style.display="";}
function paspossible()
{c_pas_possible(true);}
function cpossible()
{c_pas_possible(false);}
function c_pas_possible(val)
{var f=document.getElementById('formulaire');if(f.login!=null)
f.login.disabled=val;if(f.ok!=null)
f.ok.disabled=val;if(f.auth)
f.auth.disabled=val;}
function afficher_avancement(etape,nbEtapes,sousEtape,nbSousEtapes,stringEtape,stringSousEtape,callback)
{visible(document.getElementById('resultat'));var barre1=document.getElementById('barre1');if(barre1==null)
{var resultats=document.getElementById('resultat');if(resultats==null)
{erreur(getStr('ElementNonTrouve'));return;}
creation_barres(resultats);}
var barre1=document.getElementById('barre1');var comp1=barre1.getElementsByTagName('div')[0];var barre2=document.getElementById('barre2');var comp2=barre2.getElementsByTagName('div')[0];var txt1=document.getElementById('stringEtape');var txt2=document.getElementById('stringSousEtape');var taille1=(largeur*etape/nbEtapes<largeur?largeur*etape/nbEtapes:largeur);var taille2=(largeur*sousEtape/nbSousEtapes<largeur?largeur*sousEtape/nbSousEtapes:largeur);comp1.style.width=taille1.toString()+"px";comp2.style.width=taille2.toString()+"px";txt1.innerHTML=stringEtape;txt2.innerHTML=stringSousEtape;if(callback)
{setTimeout(callback,100);}}
function creation_barres(div)
{div.innerHTML="<div id='barre1'><div>&nbsp;</div></div>";div.innerHTML+="<p id='stringEtape'>&nbsp;</p>";div.innerHTML+="<div id='barre2'><div>&nbsp;</div></div>";div.innerHTML+="<p id='stringSousEtape'>&nbsp;</p>";}
function getInfo(url,node)
{var xml=get_xml(url,false,null);if(!xml)
{return null;}
var res=xml.getElementsByTagName(node);if(res.length>=1)
return res[0].firstChild.nodeValue;else
return null;}
function get_xml(url,asynchronous,callback)
{if(!urls[url])
{urls[url]=Max_tries;}
var httpObj=null;if(window.XMLHttpRequest){httpObj=new XMLHttpRequest();}else if(window.ActiveXObject){httpObj=new ActiveXObject('Microsoft.XMLHTTP');}
httpObj.open('GET',URL+url,asynchronous);if(callback!=null)
{httpObj.onreadystatechange=function()
{if(httpObj.readyState==4)
{if(!httpObj.responseXML&&Max_tries--)
{return get_xml(url,asynchronous,callback);}
callback(httpObj.responseXML);}}}
httpObj.send(null);if(!asynchronous)
{if(httpObj.status>=200&&httpObj.status<300)
{var erreurs=httpObj.responseXML.getElementsByTagName('erreur');if(erreurs.length==1)
{erreur(erreurs[0].firstChild.nodeValue);return null;}
return httpObj.responseXML;}else
{erreur(getStr('ReponseServeurErreur'));return null;}}}
function erreur(s)
{var r=document.getElementById('resultat');r.innerHTML="<p class='error'>"+s+"</p>";cpossible();}
function collapse(id)
{tables=document.getElementById("stats").getElementsByTagName('form');for(var i=0;i<tables.length;i++)
{var t=tables[i];t.style.display='none';if(t.id==id)
{t.style.display='';}}
var menu=document.getElementById("menu");for(var i=0;i<menu.getElementsByTagName('li').length;i++)
{if(menu.getElementsByTagName('li')[i].getAttribute('id')=="menu"+id)
{menu.getElementsByTagName('li')[i].setAttribute('class','thisone');menu.getElementsByTagName('li')[i].setAttribute('className','thisone');}else{menu.getElementsByTagName('li')[i].setAttribute('class','');menu.getElementsByTagName('li')[i].setAttribute('className','');}}
tab_selected=id;return false;}
function getToken(data){if(data.auth){NSID=data.auth.user.nsid;TOKEN=data.auth.token._content;var params=new Object;params.nsid=NSID;params.token=TOKEN;params.username=data.auth.user.username;jQuery.ajax({url:"auth.php",data:params,success:function(){document.location.href="index.php";}});}}
function authentification(){var frob=jQuery(document).getUrlParam("frob");if(frob&&(frob!==undefined)&&(frob!=="")&&!TOKEN){var params=new Object;params.frob=frob;flickr.flickrRequest("flickr.auth.getToken",params,getToken);photosearch1();}else if(TOKEN)
{photosearch1();}}
function deauthentification(){var params=new Object();params.deauth=1;jQuery.ajax({url:"auth.php",data:params,success:function(){jQuery(location).attr('href',"index.php");}});};debug=true;function data(id,server,farm,secret,tit,owner)
{this.id=id;this.server=server;this.farm=farm;this.secret=secret;this.tit=tit;this.owner=owner;this.Make=0;this.Model=0;this.Aperture=0;this.Iso=0;this.Focal=0;this.Focal35=0;this.Date=0;this.Speed=0;this.Program=0;this.Exposure="";this.is_filters=function(filter)
{if(!filter||filter=="")
return true;var responseA;if(filter.charAt(0)=="(")
{responseA=this.is_filters(filter.substr(1,filter.indexOf(")",0)-1));if(filter.length>filter.indexOf(")")+1)
{if(filter.charAt(filter.indexOf(")")+1)=="&")
{if(!responseA)
return false;else
return this.is_filters(filter.substring(filter.indexOf(")")+2,filter.length));}else
{if(responseA)
return true;else
return this.is_filters(filter.substring(filter.indexOf(")")+2,filter.length));}}else
{return responseA;}}else if((filter.indexOf("&")<filter.indexOf("|")||filter.indexOf("|")==-1)&&filter.indexOf("&")>-1)
{responseA=this.is_filter(filter.substring(0,filter.indexOf("&")));responseB=this.is_filters(filter.substring(filter.indexOf("&")+1,filter.length));return responseA&&responseB;}else if((filter.indexOf("|")<filter.indexOf("&")||filter.indexOf("&")==-1)&&filter.indexOf("|")>-1)
{responseA=this.is_filter(filter.substring(0,filter.indexOf("|")));responseB=this.is_filters(filter.substring(filter.indexOf("|")+1,filter.length));return responseA||responseB;}else
{return this.is_filter(filter);}}
this.is_filter=function(filter)
{var args=filter.toString().split('=');var operande=args[0];var val=args[1];switch(operande)
{case"Modele":return this.Model==val;case"Iso":return this.Iso==val;case"Ouverture":return this.Aperture==val;case"Programme":return this.Program==val;case"Focale":return this.Focal==val;case"Focale35":return this.Focal35==val;case"Vitesse":return this.Exposure==val;return true;}}}
var photos={};photos.charger=function(xml){this.data=[];this.addXML(xml);}
photos.addXML=function(xml)
{if(!xml)
{erreur(getStr('FichierXML'));return null;}
for(var i=0;i<xml.photos.photo.length;i++)
{photo=xml.photos.photo[i];this.data.push(new data(photo.id,photo.server,photo.farm,photo.secret,photo.title,photo.owner));}}
k=0;function charger_exifs(xml)
{if(window.phototraitees!=undefined)
{photostraitees++;if((photos!==undefined)&&(photos.data!==undefined))
encore=photos.data.length-photostraitees;else
encore=0;nb_requetes++;chargerexifs();if(!xml||!xml.photo||!xml.photo.exif)
{if(window.encore!=undefined)
avancement(encore);return;}
var j=0;for(var i=0;i<photos.data.length;i++){if(photos.data[i].id==xml.photo.id)
{j=i;break;}}
if(photos.data.valueOf(j))
{for(var i=0;i<xml.photo.exif.length;i++)
{switch(xml.photo.exif[i].label)
{case"Make":photos.data[j].Make=xml.photo.exif[i].raw._content;break;case"Model":photos.data[j].Model=xml.photo.exif[i].raw._content;break;case"Date and Time":photos.data[j].Date=xml.photo.exif[i].raw._content;break;case"ApertureValue":case"Aperture":var aperture="";if(xml.photo.exif[i].clean){aperture=xml.photo.exif[i].clean._content;}else{aperture=xml.photo.exif[i].raw._content;}
var nombres=aperture.split('/');if(nombres[0]=="f")
{photos.data[j].Aperture=(Math.round(parseFloat(nombres[1])*10)/10).toString();}else if(nombres.length==1){photos.data[j].Aperture=(Math.round(parseFloat(nombres[0])*10)/10).toString();}else{a=parseFloat(nombres[0]);b=parseFloat(nombres[1]);var apexAperture=a/b;photos.data[j].Aperture=(Math.round(apexAperture*10)/10).toString();}
break;case"ISO Speed":photos.data[j].Iso=parseFloat(xml.photo.exif[i].raw._content).toString();break;case"Exposure":var exposure=xml.photo.exif[i].raw._content;if(exposure.indexOf('/')!=-1)
{var nb=exposure.split("/");var a=parseFloat(nb[0]);var b=parseFloat(nb[1]);var resultat;if(a>=b)
{resultat=(Math.round(nb[0]*10/nb[1])/10).toString()+"/1";}else{resultat="1/"+(Math.round(nb[1]/nb[0])).toString();}
photos.data[j].Exposure=resultat;}else
{photos.data[j].Exposure=exposure;}
break;case"Focal Length":var f=xml.photo.exif[i].raw._content;if(f.indexOf("mm")>-1)
{photos.data[j].Focal=parseFloat(f).toString();}else{var nombres=f.split('/');var f2;if(nombres.length==2)
{f2=parseFloat(nombres[0])/parseFloat(nombres[1]);}else
{f2=parseFloat(f);}
photos.data[j].Focal=f2.toString();}
break;case"Focal Length In 35mm Film":var f=xml.photo.exif[i].raw._content;var nombres=f.split('/');var f2;if(nombres.length==2)
{f2=parseFloat(nombres[0])/parseFloat(nombres[1]);}else
{f2=parseFloat(f);}
photos.data[j].Focal35=f2.toString();break;case"Exposure Program":var val=0;switch(parseInt(xml.photo.exif[i].raw._content))
{case 1:val="Manual";break;case 2:val="Auto";break;case 3:val="Av";break;case 4:val="Tv";break;case 5:val="Creative";break;case 6:val="Sport";break;case 7:val="Portrait";break;case 8:val="Paysage";break;}
photos.data[j].Program=val;break;}}}}
if(window.encore!=undefined)
avancement(encore);function avancement()
{afficher_avancement(2,nbEtapes,photostraitees,nbSousEtapes,getStr('RecupererExifs'),getStr('AvantPhotosRestantes')+encore.toString()+getStr('ApresPhotosRestantes'));if(encore==0)
{afficher_avancement(3,nbEtapes,1,1,getStr('Interpretation'),"",function(){faire_stats(TheFilter)});cpossible();byebye(document.getElementById('resultat'));}else if(((photos.data.length-encore)>0)&&((photos.data.length-encore)%20==0)){faire_stats(TheFilter);}}};function stats(name)
{this.name=name;this.values=[];this.id="id_"+name;this.photos=[];this.data=name;this.addValue=function(key)
{if(!this.values[key.toString()])
{this.values[key.toString()]=0;}
this.values[key.toString()]++;if(this.values[key.toString()]>NbMaxPhotos)
{NbMaxPhotos=this.values[key.toString()];}}
this.addKey=function(key)
{this.values[key.toString()]=0;}
this.returnKey=function(key)
{var str=key.toString();if(key==0)
str=getStr('PasDeDonnees');return str;}
this.display=function()
{var div=document.getElementById('stats');if(NbMaxPhotos>0&&this.values)
{var js="filter_multi('"+this.name+"')";var s='<form method="get" id="'+this.id+'" action="#" onsubmit="filtrer_plusieurs_valeurs(this);return false;">';s+="<table class='stats'>\n";s+="<tr><td>&nbsp;</td><td class='filtrer' colspan='2'><input type='submit' value='"+getStr("Filtrer")+"' name='filter'/></tr>";for(var cle in this.values)
{var str=this.returnKey(cle);var onClicJS;var displayTxt;var check;var thisName=this.data+"="+cle;if(this.hasFilter(this.data))
{onClickJSImg="displayPhotos('');return false;";onClickJSFilter="removeFilterDisplay('"+this.data+"="+cle+"');return false;";displayTxt=getStr("RetirerFiltre");check='checked="checked"';}else{onClickJSImg="displayPhotos('"+this.data+"="+cle+"');return false;";onClickJSFilter="addFilterDisplay('"+this.data+'='+cle+"');return false;";displayTxt=getStr("FiltrerCritere");check="";}
s+='<tr><td><a href="#" title="'+displayTxt+'" onclick="'+onClickJSFilter+'">'+str+'</a></td><td class="checkbox"><input type="checkbox" name="'+thisName+'" value="1" '+check+' /></td><td id="'+this.id+'_'+cle+'" class="barre"><span>&nbsp;</span><a href="#" onclick="'+onClickJSImg+'" title="'+getStr('AfficherImagesCorrespondantes')+'">'+this.values[cle].toString()+'</a></td></tr>'+"\n";}
s+="<tr><td>&nbsp;</td><td class='filtrer' colspan='2'><input type='submit' value='"+getStr("Filtrer")+"' name='filter'/></tr>";s+="</table>\n";s+="</form>";div.innerHTML+=s;this.displayMenu();}else
{div.innerHTML="<p>"+getStr("PasDeDonneesExif")+"</p>";}}
this.displayMenu=function()
{if(document.getElementById('menu').getElementsByTagName("ul").length==0)
{document.getElementById('menu').innerHTML="<ul></ul>";}
var list=document.getElementById('menu').getElementsByTagName("ul")[0];list.innerHTML+="<li id='menu"+this.id+"'><a href='#' onclick=\"collapse('"+this.id+"');return false;\">"+getStr(this.name)+"</a></li>";}
this.afficher_barres_stats=function()
{afficher_barres_stats(this);}
this.sort=function()
{var keys=[];for(var key in this.values)
{keys.push(key);}
keys.sort(function(a,b){if((typeof(parseFloat(a))!==undefined)&&(typeof(parseFloat(b))!==undefined)){return parseFloat(a)-parseFloat(b);}
else{return(a<b?-1:a>b?1:0);}});var v2=[];for(var k in keys)
{v2[keys[k].toString()]=this.values[keys[k].toString()];}
this.values=v2;}
this.hasFilter=function(operande)
{var reg=new RegExp("[&|()]","g");var filters=TheFilter.split(reg);for(var i=0;i<filters.length;i++)
{if(filters[i].toString().split('=')[0]==operande)
return true;}
return false;}}
afficher_barres_stats=function(parent)
{if(!parent)
parent=this;var cont=false;var inc=5;for(var i in parent.values)
{var cell=document.getElementById(parent.id+"_"+i);if(!cell)
return;var max=Math.round(largeur*Math.log(parent.values[i]+1)/Math.log(NbMaxPhotos+1));cell.firstChild.style.width=max+"px";}
if(cont==true)
{setTimeout(function(){afficher_barres_stats(parent);},1);}}
function faire_stats(filters)
{init_stats();debug=true;for(var i=0;i<photos.data.length;i++)
{if(photos.data[i].is_filters(filters))
{aperture.addValue(photos.data[i].Aperture.toString());focal.addValue(photos.data[i].Focal.toString());model.addValue(photos.data[i].Model.toString());iso.addValue(photos.data[i].Iso.toString());focal35.addValue(photos.data[i].Focal35.toString());program.addValue(photos.data[i].Program.toString());exposure.addValue(photos.data[i].Exposure.toString());FilteredPhotos.push(photos.data[i]);}}
aperture.sort();focal.sort();focal35.sort();iso.sort();program.sort();model.sort();exposure.sort();afficher_nouvelles_stats();}
function afficher_nouvelles_stats()
{byebye(document.getElementById('menu'));byebye(document.getElementById('filters'));byebye(document.getElementById('stats'),afficher_stats);}
function afficher_stats()
{visible(document.getElementById('menu'));visible(document.getElementById('stats'));aperture.display();focal.display();focal35.display();iso.display();exposure.display();program.display();model.display();aperture.afficher_barres_stats();focal.afficher_barres_stats();focal35.afficher_barres_stats();iso.afficher_barres_stats();exposure.afficher_barres_stats();program.afficher_barres_stats();model.afficher_barres_stats();afficher_filter();tab_selected=(tab_selected==""?aperture.id:tab_selected);collapse(tab_selected);}
function init_stats()
{FilteredPhotos=[];aperture=new stats('Ouverture');focal=new stats('Focale');focal35=new stats('Focale35');model=new stats('Modele');iso=new stats('Iso');program=new stats('Programme');exposure=new stats('Vitesse');exposure.returnKey=returnExposureKey;exposure.sort=sortExposureValues;program.returnKey=returnProgram;focal.returnKey=returnFocal;focal35.returnKey=returnFocal;focal.sort=sortFloatKeys;focal35.sort=sortFloatKeys;iso.sort=sortFloatKeys;aperture.sort=sortFloatKeys;}
function returnProgram(val)
{switch(val)
{case 0:case"0":case"":return getStr("PasDeDonnees");case"Manual":return getStr("Manuel");case"Auto":return getStr("Auto");case"Av":return getStr("Av");case"Tv":return getStr("Tv");case"Creative":return getStr("Creatif");case"Paysage":return getStr("Paysage");case"Portrait":return getStr("Portrait");case"Sport":return getStr("Sport");}
return val;}
function returnFocal(val)
{if(val!=""&&val!=0&&val!="0")
{return val+" "+getStr("mm");}
return getStr("PasDeDonnees");}
function returnExposureKey(val)
{if(val==0||val==""||val=="0")
return getStr("PasDeDonnees");args=val.toString().split("/");if(args.length==2)
{var r;if(parseFloat(args[0])>=parseFloat(args[1]))
{r=Math.round(parseFloat(args[0])*10/parseFloat(args[1]))/10;return r+getStr("s");}else{r=Math.round(parseFloat(args[1])/parseFloat(args[0]));return"1/"+r;}}else
{return val;}}
function returnExposureValue(val)
{if(val==0||val==""||val=="0")
return 0;var args=val.toString().split('/');if(args.length==2)
{return parseFloat(args[0])/parseFloat(args[1]);}else
{return val;}}
function comp_exposure(a,b)
{return returnExposureValue(a)-returnExposureValue(b);}
function sortExposureValues()
{this.sortMe=sortMe;this.sortMe(comp_exposure);}
function sortMe(f)
{var keys=[];for(var key in this.values)
{keys.push(key);}
keys.sort(f);var v2=[];for(var k in keys)
{v2[keys[k]]=this.values[keys[k]];}
this.values=v2;}
function sortFloatKeys()
{this.sortMe=sortMe;this.sortMe(comp);}
function comp(a,b)
{return parseFloat(a)-parseFloat(b);};function displayPhotos(filter)
{var div=document.getElementById('photos');var txt="";for(var j=0;j<FilteredPhotos.length;j++)
if(FilteredPhotos[j].is_filters(filter))
{var p=FilteredPhotos[j];var u="http://farm"+p.farm+".static.flickr.com/"+p.server+"/"+p.id+"_"+p.secret+"_s.jpg";var a="http://www.flickr.com/photos/"+p.owner+"/"+p.id;var js="window.open('"+a+"');";txt+='<a href="'+a+'" onclick="'+js+';return false;"><img src="'+u+'" alt="'+p.tit+'" /></a>';}
afficherPhotos(div,txt,filter);}
function addFilter(filter)
{if(TheFilter=="")
TheFilter=filter;else
TheFilter+="&"+filter;}
function addFilterDisplay(filter)
{addFilter(filter);faire_stats(TheFilter);}
function removeFilterDisplay(filter)
{removeFilter(filter);faire_stats(TheFilter);}
function removeFilter(operande)
{if(operande.indexOf("=")==-1)
{var res=[];var filters=TheFilter.split("&");for(var i=0;i<filters.length;i++)
{if(filters[i].indexOf(operande)==-1)
{res.push(filters[i]);}}
if(res.length>0)
TheFilter=res.join("&");else
TheFilter="";return;}
var i=TheFilter.indexOf(operande);var str="";if(i>-1)
{var avant=0;var apres=0
if(i>0&&(TheFilter.charAt(i-1)=="|"||TheFilter.charAt(i-1)=="&"))
{avant=-1;}else if(i<TheFilter.length-1&&(TheFilter.charAt(i+operande.length)=="|"||TheFilter.charAt(i+operande.length)=="&"))
{apres=1;}
str=TheFilter.substring(0,i+avant);str+=TheFilter.substring(i+operande.length+apres,TheFilter.length);TheFilter=str;var j=str.indexOf('()');if(j>-1)
{removeFilter('()');}}}
function afficher_filter()
{var p=document.getElementById('filters');visible(p);p.innerHTML=getFilterStr(TheFilter,true);}
function getFilterStr(filters,haveLink)
{var my_f=filters.split("&");var str="<strong>"+getStr("Filtres")+"</strong> : ";if(my_f.length==0||!filters)
{str+=getStr("Aucun");}else
for(var i=0;i<my_f.length;i++)
{var strOpe;var args=my_f[i].split("=");if(my_f[i].charAt(0)=="(")
{strOpe="("+getStr(args[0].substring(1,args[0].length))+")";args[0]=args[0].substr(1,args[0].length-1)}else{var args=my_f[i].split("=");var operande=args[0];operande=getStr(args[0]);strOpe=operande+' = '+args[1];}
if(haveLink)
str+='<a href="#" title="'+getStr('RetirerFiltre')+'" onclick="removeFilterDisplay(\''+args[0]+'\');return false;">'+strOpe+'</a> ';else
str+=strOpe+' ';}
if(haveLink)
{str+='<span><a href="#" onclick="displayPhotos(\'\');return false;">'+getStr("AfficherLes")+' <strong>'+FilteredPhotos.length.toString()+' '+getStr('Photos')+'</strong> '+getStr('Correspondantes')+'</a></span>';}
return str;}
function filtrer_plusieurs_valeurs(formulaire)
{var inputs=formulaire.getElementsByTagName("input");var val=[];for(var i=0;i<inputs.length;i++)
{if(inputs[i].getAttribute("type")=="checkbox"&&inputs[i].getAttribute('name')&&inputs[i].checked)
{val.push(inputs[i].getAttribute('name'));}}
var str;if(val.length>=2)
str="("+val.join('|')+")";else if(val.length==1)
str=val[0];else
str="";if(TheFilter.indexOf(inputs[0].getAttribute("name").split("=")[0])>-1&&str!="")
{removeFilter(inputs[0].getAttribute("name").split("=")[0]);}else if(TheFilter.indexOf(inputs[0].getAttribute("name").split("=")[0])>-1)
{removeFilterDisplay(inputs[0].getAttribute("name").split("=")[0]);}
if(str!="")
addFilterDisplay(str);};function afficherPhotos(div,code,filtres)
{if(div)
{var onClickJS="fermerPhotos('"+div.id+"');return false;";var str='<div><a class="fermer" href="#" onclick="'+onClickJS+'">'+getStr('fermer')+'</a>';if(TheFilter=="")
f=filtres;else if(filtres!="")
f=TheFilter+'&'+filtres;else
f=TheFilter;str+='<p class="filters">';str+=getFilterStr(f,false);str+='</p>';str+='<p></p></div>';div.innerHTML=str;p=div.getElementsByTagName('p')[1];p.innerHTML=code;div.style.display="block";}}
function fermerPhotos(id)
{var div=document.getElementById(id);if(div)
{div.innerHTML="";div.style.display="none";}};LANG="en";STR=[];function detect_lang()
{LANG="en";if(navigator.language||navigator.userLanguage)
{var lang="";if(navigator.language)
lang=navigator.language;else
lang=navigator.userLanguage;if(lang.split('-').length>=2)
{lang=lang.split('-')[0];}else if(lang.split('_').length>=2)
{lang=lang.split('_')[0];}else
{lang=lang;}
LANG=lang;}}
function select_good_language(theSelectElement)
{if(theSelectElement.options)
for(var i=0;i<theSelectElement.options.length;i++)
{if(theSelectElement.options[i].value==LANG)
{theSelectElement.selectedIndex=i;return;}}}
function afficher_debut()
{document.getElementsByTagName("h1")[0].innerHTML=getStr("h1");document.title=getStr("title");if(document.getElementById("username"))
document.getElementById("username").innerHTML=getStr("NomUtilisateur");if(document.getElementsByTagName("form")[1]&&document.getElementsByTagName("form")[1].ok)
document.getElementsByTagName("form")[1].ok.value=getStr('Chercher');if(document.getElementById("hello"))
document.getElementById("hello").innerHTML=getStr("hello");if(document.getElementById("helloAfterName"))
document.getElementById("helloAfterName").innerHTML=getStr("helloAfterName");if(document.getElementById("formulaire")&&document.getElementById("formulaire").deauth)
document.getElementById("formulaire").deauth.value=getStr("deauth");if(document.getElementById("formulaire")&&document.getElementById("formulaire").auth)
document.getElementById("formulaire").auth.value=getStr("auth");if(document.getElementById("or"))
document.getElementById("or").innerHTML=getStr("ou");}
function change(lang)
{LANG=lang;afficher_debut();var d=document.getElementById("stats");if(d.innerHTML!=""&&d.innerHTML!="&nbsp;")
afficher_nouvelles_stats();}
function getStr(str)
{if(STR[LANG]&&STR[LANG][str]!==undefined)
return STR[LANG][str];return str;};STR["fr"]=[];STR["fr"]["h1"]="Statistiques exifs de vos photos flickr";STR["fr"]["NomUtilisateur"]="Nom d'utilisateur";STR["fr"]["Chercher"]="Go !";STR["fr"]["title"]="Les statistiques exifs de vos photos flickr";STR["fr"]["RetirerFiltre"]="Retirer le filtre";STR["fr"]["FiltrerCritere"]="Filtrer selon ce critère";STR["fr"]["PasDeDonneesExif"]="Pas de données exif sur ces photos";STR["fr"]["hello"]="Salut";STR["fr"]["helloAfterName"]="&nbsp;!";STR["fr"]["ou"]="ou";STR["fr"]["deauth"]="Déconnexion";STR["fr"]["auth"]="Me connecter";STR["fr"]["PasDeDonnees"]="Pas de données";STR["fr"]["ContactFlickr"]='Contact flickr';STR["fr"]["RecupererNSID"]="Récupération du nsID";STR["fr"]["EntrerLogin"]="Veuillez entrer un nom d'utilisateur";STR["fr"]["Utilsateur"]="L'utilisateur n'existe pas : le login n'est pas bon";STR["fr"]["ListePhotos"]='Récupération de la liste des photos';STR["fr"]["Interpretation"]="Interprétation";STR["fr"]["RecupererExifs"]='Récupération des exifs';STR["fr"]["AvantPhotosRestantes"]='';STR["fr"]["ApresPhotosRestantes"]=' photos restantes';STR["fr"]["ElementNonTrouve"]="Element non trouvé dans la page";STR["fr"]["ReponseServeurErreur"]="Le serveur n'a pas répondu correctement";STR["fr"]["ReponseXML"]="Erreur : fichier xml non reçu";STR["fr"]["fermer"]="fermer";STR["fr"]["Manuel"]="Manuel";STR["fr"]["Auto"]="Auto";STR["fr"]["Av"]="Av";STR["fr"]["Tv"]="Tv";STR["fr"]["Creatif"]="Creatif";STR["fr"]["Paysage"]="Paysage";STR["fr"]["Portrait"]="Portrait";STR["fr"]["Sport"]="Sport";STR["fr"]["mm"]="mm"
STR["fr"]["s"]='s';STR["fr"]["Ouverture"]="Ouverture";STR["fr"]["Focale"]="Focale";STR["fr"]["Focale35"]="Focale eq. 35mm";STR["fr"]["Iso"]="Sensibilité";STR["fr"]["Vitesse"]="Vitesse";STR["fr"]["Programme"]="Programme";STR["fr"]["Modele"]="Modèle";STR["fr"]["AfficherLes"]="Afficher les";STR["fr"]["Photos"]="photos";STR["fr"]["Correspondantes"]="correspondantes";STR["fr"]["Filtres"]="Filtres";STR["fr"]["Aucun"]="Aucun";STR["fr"]["AfficherImagesCorrespondantes"]="Afficher les images correspondantes";STR["fr"]["Filtrer"]="Filtrer";;STR["en"]=[];STR["en"]["h1"]="Get the EXIF statistics from your photos on Flickr";STR["en"]["NomUtilisateur"]="User name";STR["en"]["Chercher"]="Go !";STR["en"]["title"]="EXIF statistics from your photos on Flickr";STR["en"]["RetirerFiltre"]="Cancel this criterion";STR["en"]["FiltrerCritere"]="Select pics according to this criterion";STR["en"]["PasDeDonneesExif"]="No EXIF data for these photos";STR["en"]["hello"]="Hello";STR["en"]["helloAfterName"]="!";STR["en"]["ou"]="or";STR["en"]["deauth"]="Sign out";STR["en"]["auth"]="Sign in";STR["en"]["PasDeDonnees"]="No data available";STR["en"]["ContactFlickr"]='Contacting Flickr';STR["en"]["RecupererNSID"]="Getting nsID";STR["en"]["EntrerLogin"]="Please give a user name";STR["en"]["Utilsateur"]="User does not exist : bad login";STR["en"]["ListePhotos"]='Getting a listing of photos';STR["en"]["Interpretation"]="Interpretation";STR["en"]["RecupererExifs"]='Getting EXIF data';STR["en"]["AvantPhotosRestantes"]='';STR["en"]["ApresPhotosRestantes"]=' photos remaining';STR["en"]["ElementNonTrouve"]="Element not found on this page";STR["en"]["ReponseServeurErreur"]="Server did not answer correctly";STR["en"]["ReponseXML"]="Error : no XML file received";STR["en"]["fermer"]="close";STR["en"]["Manuel"]="Manual";STR["en"]["Auto"]="Auto";STR["en"]["Av"]="Av";STR["en"]["Tv"]="Tv";STR["en"]["Creatif"]="Creative";STR["en"]["Paysage"]="Landscape";STR["en"]["Portrait"]="Portrait";STR["en"]["Sport"]="Sport";STR["en"]["mm"]="mm"
STR["en"]["s"]='s';STR["en"]["Ouverture"]="Aperture";STR["en"]["Focale"]="Focal length";STR["en"]["Focale35"]="Focale length in 35 mm";STR["en"]["Iso"]="ISO sensitivity";STR["en"]["Vitesse"]="Exposure time";STR["en"]["Programme"]="Program";STR["en"]["Modele"]="Camera";STR["en"]["AfficherLes"]="See corresponding";STR["en"]["Photos"]="pictures";STR["en"]["Correspondantes"]="";STR["en"]["Filtres"]="Selection criteria";STR["en"]["Aucun"]="None";STR["en"]["AfficherImagesCorrespondantes"]="See corresponding pictures";STR["en"]["Filtrer"]="Filter";;STR["de"]=[];STR["de"]["h1"]="EXIF-Statistiken für Ihre Flickr-Fotos";STR["de"]["NomUtilisateur"]="Benutzername";STR["de"]["Chercher"]="Los!";STR["de"]["title"]="EXIF-Statistiken für Ihre Flickr-Fotos";STR["de"]["RetirerFiltre"]="Filter entfernen";STR["de"]["FiltrerCritere"]="Mit dieser Auswahl filtern";STR["de"]["PasDeDonneesExif"]="Keine EXIF-Daten für diese Fotos";STR["de"]["hello"]="Hallo";STR["de"]["helloAfterName"]="!";STR["de"]["ou"]="oder";STR["de"]["deauth"]="Abmelden";STR["de"]["auth"]="Anmelden";STR["de"]["PasDeDonnees"]="Keine Daten";STR["de"]["ContactFlickr"]='Flickr-Kontakt';STR["de"]["RecupererNSID"]="nsID abholen";STR["de"]["EntrerLogin"]="Bitte Benutzernamen eingeben";STR["de"]["Utilsateur"]="Dieser Benutzername existiert nicht";STR["de"]["ListePhotos"]='Liste der Fotos erstellen';STR["de"]["Interpretation"]="Interpretierung";STR["de"]["RecupererExifs"]='EXIF-Daten abholen';STR["de"]["AvantPhotosRestantes"]='Noch ';STR["de"]["ApresPhotosRestantes"]=' Fotos';STR["de"]["ElementNonTrouve"]="Element auf dieser Seite nicht gefunden";STR["de"]["ReponseServeurErreur"]="Der Server hat nicht richtig geantwortet";STR["de"]["ReponseXML"]="Fehler: XML-File nicht erhalten";STR["de"]["fermer"]="schließen";STR["de"]["Manuel"]="Manuell";STR["de"]["Auto"]="Auto";STR["de"]["Av"]="Av";STR["de"]["Tv"]="Tv";STR["de"]["Creatif"]="Kreativ";STR["de"]["Paysage"]="Landschaft";STR["de"]["Portrait"]="Porträt";STR["de"]["Sport"]="Sport";STR["de"]["mm"]="mm"
STR["de"]["s"]='s';STR["de"]["Ouverture"]="Blende";STR["de"]["Focale"]="Brennweite";STR["de"]["Focale35"]="Brennweite äquivalent 35mm";STR["de"]["Iso"]="ISO-Empfindlichkeit";STR["de"]["Vitesse"]="Verschlusszeit";STR["de"]["Programme"]="Programm";STR["de"]["Modele"]="Kamera";STR["de"]["AfficherLes"]="";STR["de"]["Photos"]="";STR["de"]["Correspondantes"]="zugehörige Fotos anzeigen";STR["de"]["Filtres"]="Filter";STR["de"]["Aucun"]="kein";STR["de"]["AfficherImagesCorrespondantes"]="Zugehörige Fotos anzeigen";STR["de"]["Filtrer"]="Filter";;STR["sv"]=[];STR["sv"]["h1"]="Få EXIF statistik från dina bilder på Flickr";STR["sv"]["NomUtilisateur"]="Användarnamn";STR["sv"]["Chercher"]="Kör !";STR["sv"]["title"]="EXIF statistik från dina bilder på Flickr";STR["sv"]["RetirerFiltre"]="Ändra urvalskriterierna";STR["sv"]["FiltrerCritere"]="Välj bilder enligt dessa urvalskriterier";STR["sv"]["PasDeDonneesExif"]="Det finns ingen EXIF-data för dessa bilder";STR["sv"]["hello"]="Hej";STR["sv"]["helloAfterName"]="!";STR["sv"]["ou"]="eller";STR["sv"]["deauth"]="Logga ut";STR["sv"]["auth"]="Logga in";STR["sv"]["PasDeDonnees"]="Ingen data";STR["sv"]["ContactFlickr"]='Kontaktar Flickr';STR["sv"]["RecupererNSID"]="Hämtar nsID";STR["sv"]["EntrerLogin"]="Vänligen skriv ett användarnamn";STR["sv"]["Utilsateur"]="Användaren finns inte : felaktig inloggning";STR["sv"]["ListePhotos"]='Hämtar listan med bilder';STR["sv"]["Interpretation"]="Tolkning";STR["sv"]["RecupererExifs"]='Hämtar EXIF data';STR["sv"]["AvantPhotosRestantes"]='';STR["sv"]["ApresPhotosRestantes"]=' bilder kvar';STR["sv"]["ElementNonTrouve"]="Objektet hittades inte";STR["sv"]["ReponseServeurErreur"]="Felaktigt svar från servern";STR["sv"]["ReponseXML"]="Fel : ingen XML-fil mottogs";STR["sv"]["fermer"]="stäng";STR["sv"]["Manuel"]="Manual";STR["sv"]["Auto"]="Auto";STR["sv"]["Av"]="Av";STR["sv"]["Tv"]="Tv";STR["sv"]["Creatif"]="Creative";STR["sv"]["Paysage"]="Landscape";STR["sv"]["Portrait"]="Portrait";STR["sv"]["Sport"]="Sport";STR["sv"]["mm"]="mm"
STR["sv"]["s"]='s';STR["sv"]["Ouverture"]="Bländare";STR["sv"]["Focale"]="Brännvidd";STR["sv"]["Focale35"]="Brännvidd 35 mm";STR["sv"]["Iso"]="ISO känslighet";STR["sv"]["Vitesse"]="Exponering";STR["sv"]["Programme"]="Program";STR["sv"]["Modele"]="Kamera";STR["sv"]["AfficherLes"]="Se motsvarande";STR["sv"]["Photos"]="bilder";STR["sv"]["Correspondantes"]="";STR["sv"]["Filtres"]="Urvalskriterier";STR["sv"]["Aucun"]="Inga";STR["sv"]["AfficherImagesCorrespondantes"]="Se motsvarande bilder";STR["sv"]["Filtrer"]="Filter";;STR["nl"]=[];STR["nl"]["h1"]="Bekijk EXIF-statistiek van jouw foto's op Flickr";STR["nl"]["NomUtilisateur"]="Gebruikersnaam";STR["nl"]["Chercher"]="Gaan !";STR["nl"]["title"]="EXIF-statistiek van jouw foto's op Flickr";STR["nl"]["RetirerFiltre"]="Wijzig criteria";STR["nl"]["FiltrerCritere"]="Selecteer foto's volgens deze criteria";STR["nl"]["PasDeDonneesExif"]="Geen EXIF data voor deze foto's";STR["nl"]["hello"]="Hallo";STR["nl"]["helloAfterName"]="!";STR["nl"]["ou"]="of";STR["nl"]["deauth"]="Uitloggen";STR["nl"]["auth"]="Inloggen";STR["nl"]["PasDeDonnees"]="Geen data beschikbaar";STR["nl"]["ContactFlickr"]='Verbinden met Flickr';STR["nl"]["RecupererNSID"]="Bezig met het verkrijgen van nsID";STR["nl"]["EntrerLogin"]="Geef een gebruikersnaam aan alsjeblieft";STR["nl"]["Utilsateur"]="Gebruikersnaam bestaat niet : foutieve login";STR["nl"]["ListePhotos"]='Bezig met het laden van een lijst med foto\'s';STR["nl"]["Interpretation"]="Interpretatie";STR["nl"]["RecupererExifs"]='Bezig met het verkrijgen van EXIF data';STR["nl"]["AvantPhotosRestantes"]='';STR["nl"]["ApresPhotosRestantes"]=" resterende foto's ";STR["nl"]["ElementNonTrouve"]="Element niet gevonden op deze pagina";STR["nl"]["ReponseServeurErreur"]="Foutieve respons van de server";STR["nl"]["ReponseXML"]="Fout : geen XML-bestand ontvangen";STR["nl"]["fermer"]="sluiten";STR["nl"]["Manuel"]="Manual";STR["nl"]["Auto"]="Auto";STR["nl"]["Av"]="Av";STR["nl"]["Tv"]="Tv";STR["nl"]["Creatif"]="Creative";STR["nl"]["Paysage"]="Landscape";STR["nl"]["Portrait"]="Portrait";STR["nl"]["Sport"]="Sport";STR["nl"]["mm"]="mm"
STR["nl"]["s"]='s';STR["nl"]["Ouverture"]="Diafragma";STR["nl"]["Focale"]="Brandpuntsafstand";STR["nl"]["Focale35"]="Brandpuntsafstand 35 mm";STR["nl"]["Iso"]="ISO-gevoeligheid";STR["nl"]["Vitesse"]="Belichtingstijd";STR["nl"]["Programme"]="Programma";STR["nl"]["Modele"]="Camera";STR["nl"]["AfficherLes"]="Zie bijbehorende";STR["nl"]["Photos"]="foto's";STR["nl"]["Correspondantes"]="";STR["nl"]["Filtres"]="Selectiecriteria";STR["nl"]["Aucun"]="Geen";STR["nl"]["AfficherImagesCorrespondantes"]="Zie bijbehorende foto's";STR["nl"]["Filtrer"]="Filter";;STR["sp"]=[];STR["sp"]["h1"]="Obten las estadísticas EXIF de tus fotos en Flickr";STR["sp"]["NomUtilisateur"]="Nombre de usuario";STR["sp"]["Chercher"]="Buscar !";STR["sp"]["title"]="Estadísticas EXIF de tus fotos en Flickr";STR["sp"]["RetirerFiltre"]="Borrar criterio";STR["sp"]["FiltrerCritere"]="Seleccionar fotos con este criterio";STR["sp"]["PasDeDonneesExif"]="Sin datos EXIF para estas fotos";STR["sp"]["hello"]="Hola";STR["sp"]["helloAfterName"]="!";STR["sp"]["ou"]="o";STR["sp"]["deauth"]="Salir";STR["sp"]["auth"]="Entrar";STR["sp"]["PasDeDonnees"]="Sin datos disponibles";STR["sp"]["ContactFlickr"]='Contactando con Flickr';STR["sp"]["RecupererNSID"]="Obteniendo nsID";STR["sp"]["EntrerLogin"]="Porfavor, pon un nombre de usuario";STR["sp"]["Utilsateur"]="El usuario no existe : login incorrecto";STR["sp"]["ListePhotos"]='Obteniendo listado de fotos';STR["sp"]["Interpretation"]="Interpretando";STR["sp"]["RecupererExifs"]='Obteniendo datos EXIF';STR["sp"]["AvantPhotosRestantes"]='';STR["sp"]["ApresPhotosRestantes"]=' fotos restantes';STR["sp"]["ElementNonTrouve"]="Elemento no encontrado en la página";STR["sp"]["ReponseServeurErreur"]="El servidor no responde correctamente";STR["sp"]["ReponseXML"]="Error : fichero XML no recibido";STR["sp"]["fermer"]="cerrar";STR["sp"]["Manuel"]="Manual";STR["sp"]["Auto"]="Auto";STR["sp"]["Av"]="Av";STR["sp"]["Tv"]="Tv";STR["sp"]["Creatif"]="Creativo";STR["sp"]["Paysage"]="Paisaje";STR["sp"]["Portrait"]="Retrato";STR["sp"]["Sport"]="Deporte";STR["sp"]["mm"]="mm"
STR["sp"]["s"]='s';STR["sp"]["Ouverture"]="Apertura";STR["sp"]["Focale"]="Distancia focal";STR["sp"]["Focale35"]="Distancia focal en 35 mm";STR["sp"]["Iso"]="Sensibilidad ISO";STR["sp"]["Vitesse"]="Tiempo de exposición";STR["sp"]["Programme"]="Programa";STR["sp"]["Modele"]="Cámara";STR["sp"]["AfficherLes"]="Ver selección";STR["sp"]["Photos"]="fotos";STR["sp"]["Correspondantes"]="";STR["sp"]["Filtres"]="Criterios de selección";STR["sp"]["Aucun"]="Ninguno";STR["sp"]["AfficherImagesCorrespondantes"]="Ver imagenes correspondientes";STR["sp"]["Filtrer"]="Filtrar";
