/* Copyright Eventful, Inc. All rights reserved except where otherwise noted. */
if(typeof window.Eventful==="undefined")
{window.Eventful={};}
var nop=function(){return true;};Eventful._console={error:nop,info:nop,debug:nop,warn:nop,log:nop};Eventful.console=Eventful._console;if(window.console&&window.console.firebug)
{Eventful.console=window.console;}
Eventful.isIE=false/*@cc_on @*//*@if (@_win32) || true/*@end @*/;Eventful.isSafari=navigator&&navigator.userAgent.indexOf('Safari')>0;Eventful.JSCheck=function()
{document.body.className+=" has-js";}
Eventful.fixKeyCode=function(keyCode)
{var keyEnter=13;if(Eventful.isSafari&&keyCode==3)return keyEnter;if(Eventful.isIE&&keyCode==0)return keyEnter;return keyCode;}
Eventful.UIEvent=function()
{this.subscribers=[];}
Eventful.UIEvent.prototype.subscribe=function(fnCallback)
{this.subscribers.push(fnCallback);}
Eventful.UIEvent.prototype.fire=function()
{var aArgs=arguments;for(var i=0;i<this.subscribers.length;i++)
{this.subscribers[i].apply(undefined,aArgs);}}
Eventful.TrackPageview=function(oArgs)
{oArgs=oArgs||{};if(typeof oArgs=='string')
{return Eventful.TrackPageview({page:oArgs});}
oArgs.page=oArgs.page||window.location.pathname;oArgs.query=oArgs.query||'';var sQuery=Eventful.TrackPageview.query();if(oArgs.query&&oArgs.page.indexOf('?')>=0)
{oArgs.query='&'+oArgs.query.substring(1);}
if(sQuery&&(oArgs.page.indexOf('?')>=0||oArgs.query))
{sQuery='&'+sQuery.substring(1);}
Eventful.TrackPageview.track(oArgs.page+oArgs.query+sQuery);}
Eventful.TrackPageview.track=function(sPage)
{if(window.pageTracker)
{pageTracker._trackPageview(sPage);}}
Eventful.TrackPageview.trackVirturalEvent=function()
{Eventful.TrackPageview.track('/virtual/event/'+Array.prototype.slice.call(arguments).join('/'));}
Eventful.TrackPageview.trackEvent=function(category,action,optional_label,optional_value)
{if(window.pageTracker)
{pageTracker._trackEvent(category,action,optional_label,optional_value);}}
Eventful.TrackPageview.query=function(sQuery)
{return Eventful.TrackPageview._sQuery=sQuery||Eventful.TrackPageview._sQuery||window.location.search.toLowerCase();}
Eventful.TrackPageview.setParams=function(oParams)
{var aParams=[];for(var sKey in oParams)
{aParams.push(sKey+'='+oParams[sKey]);}
var sQuery=Eventful.TrackPageview.query();Eventful.TrackPageview.query((sQuery?sQuery+'&':'?')+aParams.join('&'));};/*!
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){var
window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else
return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector));},selector:"",jquery:"1.3.2",size:function(){return this.length;},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
if(value===undefined)
return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
return this.each(function(i){for(name in options)
jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)
value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!=="object"&&text!=null)
return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)
ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
wrap.insertBefore(this[0]);wrap.map(function(){var elem=this;while(elem.firstChild)
elem=elem.firstChild;return elem;}).append(this);}
return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){return jQuery.find(selector,elem);})),"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML;if(!html){var div=this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}
return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];}else
return this.cloneNode(true);});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName)
return;var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}
i++;});}
return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){jQuery.data(cur,"closest",closer);return cur;}
cur=cur.parentNode;closer++;}});},not:function(selector){if(typeof selector==="string")
if(isSimple.test(selector))
return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);else
selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return!!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))
return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
return value;values.push(value);}}
return values;}
return(elem.value||"").replace(/\r/g,"");}
return undefined;}
if(typeof value==="number")
value+='';return this.each(function(){if(this.nodeType!=1)
return;if(jQuery.isArray(value)&&/radio|checkbox/.test(this.type))
this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)
this.selectedIndex=-1;}else
this.value=value;});},html:function(value){return value===undefined?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,+i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild;if(first)
for(var i=0,l=this.length;i<l;i++)
callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);if(scripts)
jQuery.each(scripts,evalScript);}
return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)
jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)
elem.parentNode.removeChild(elem);}
function now(){return+new Date;}
jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
if(typeof target!=="object"&&!jQuery.isFunction(target))
target={};if(length==i){target=this;--i;}
for(;i<length;i++)
if((options=arguments[i])!=null)
for(var name in options){var src=target[name],copy=options[name];if(target===copy)
continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)
target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
target[name]=copy;}
return target;};var	exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)
script.appendChild(document.createTextNode(data));else
script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
if(callback.apply(object[name],args)===false)
break;}else
for(;i<length;)
if(callback.apply(object[i++],args)===false)
break;}else{if(length===undefined){for(name in object)
if(callback.call(object[name],name,object[name])===false)
break;}else
for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))
elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)
elem.className=classNames!==undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
callback.call(elem);for(var name in options)
elem.style[name]=old[name];},css:function(elem,name,force,extra){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;if(extra==="border")
return;jQuery.each(which,function(){if(!extra)
val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;if(extra==="margin")
val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;else
val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});}
if(elem.offsetWidth!==0)
getWH();else
jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val));}
return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
if(name.match(/float/i))
name=styleFloat;if(!force&&style&&style[name])
ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
ret=computedStyle.getPropertyValue(name);if(name=="opacity"&&ret=="")
ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
return[context.createElement(match[1])];}
var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
elem+='';if(!elem)
return;if(typeof elem==="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
div=div.lastChild;if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)
if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)
tbody[j].parentNode.removeChild(tbody[j]);}
if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
if(elem.nodeType)
ret.push(elem);else
ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
return scripts;}
return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
throw"type property can't be changed";elem[name]=value;}
if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
return elem[name];}
if(!jQuery.support.style&&notxml&&name=="style")
return jQuery.attr(elem.style,"cssText",value);if(set)
elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
ret[0]=array;else
while(i)
ret[--i]=array[i];}
return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)
if(array[i]===elem)
return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
if(elem.nodeType!=8)
first[pos++]=elem;}else
while((elem=second[i++])!=null)
first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}
return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)
if(!inv!=!callback(elems[i],i))
ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
ret[ret.length]=value;}
return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")
ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret),name,selector);};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems);}
return this.pushStack(ret,name,selector);};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)
this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames,state){if(typeof state!=="boolean")
state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
this.parentNode.removeChild(this);}},empty:function(){jQuery(this).children().remove();while(this.firstChild)
this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
jQuery.cache[id]={};if(data!==undefined)
jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
break;if(!name)
jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
elem.removeAttribute(expando);}
delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
q.push(data);}
return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
fn=queue[0];if(fn!==undefined)
fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
if(data===undefined)
return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});/*!
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
return[];if(!selector||typeof selector!=="string"){return results;}
var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
if(pop==null){pop=context;}
Expr.relative[cur](checkSet,pop,isXML(context));}}
if(!checkSet){checkSet=set;}
if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}}
return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
if(!set){set=context.getElementsByTagName("*");}
return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^ !!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
if(found!==undefined){if(!inplace){curLoop=result;}
expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
break;}}}
if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
old=expr;}
return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part,isXML){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag&&!isXML){part=part.toUpperCase();}
for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part;}}
if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}
for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^ (elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace)
result.push(elem);}else if(inplace){curLoop[i]=false;}}}
return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
if(match[2]==="~="){match[4]=" "+match[4]+" ";}
return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^ not);if(!inplace){result.push.apply(result,ret);}
return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}
return true;}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while(node=node.previousSibling){if(node.nodeType===1)return false;}
if(type=='first')return true;node=elem;case'last':while(node=node.nextSibling){if(node.nodeType===1)return false;}
return true;case'nth':var first=match[2],last=match[3];if(first==1&&last==0){return true;}
var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
parent.sizcache=doneName;}
var diff=elem.nodeIndex-last;if(first==0){return diff==0;}else{return(diff%first==0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ")
.indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}
var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
return ret;};}
var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true;}
return ret;};}else if("sourceIndex" in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}
return ret;};}else if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}
return ret;};}
(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
results=tmp;}
return results;};}
div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0)
return;div.lastChild.className="e";if(div.getElementsByClassName("e").length===1)
return;Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
if(elem.nodeName===cur){match=elem;break;}
elem=elem[dir];}
checkSet[i]=match;}}}
function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
elem=elem[dir];}
checkSet[i]=match;}}}
var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0;};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0;};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}
return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
matched.push(cur);cur=cur[dir];}
return matched;};jQuery.nth=function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])
if(cur.nodeType==1&&++num==result)
break;return cur;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
r.push(n);}
return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
return;if(elem.setInterval&&elem!=window)
elem=window;if(!handler.guid)
handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])
jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
elem.addEventListener(type,handle,false);else if(elem.attachEvent)
elem.attachEvent("on"+type,handle);}}
handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
for(var type in events)
this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
delete events[type][handler.guid];else
for(var handle in events[type])
if(namespace.test(events[type][handle].type))
delete events[type][handle];if(jQuery.event.specialAll[type])
jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===false){if(elem.removeEventListener)
elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)
elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}
ret=null;delete events[type];}}});}
for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
if(!elem){event.stopPropagation();if(this.global[type])
jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
jQuery.event.trigger(event,data,this.handle.elem);});}
if(!elem||elem.nodeType==3||elem.nodeType==8)
return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
if(event.isImmediatePropagationStopped())
break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
if(!event.target)
event.target=event.srcElement||document;if(event.target.nodeType==3)
event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}
if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
event.metaKey=event.ctrlKey;if(!event.which&&event.button)
event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))
remove++;});if(remove<1)
jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
function returnTrue(){return true;}
jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
return;if(e.preventDefault)
e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
return;if(e.stopPropagation)
e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
try{parent=parent.parentNode;}
catch(e){parent=this;}
if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
fn.call(document,jQuery);else
jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)
elems.push({elem:elem,fn:fn});}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
return(stop=false);});return stop;}
function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&window==window.top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
jQuery.ready();})();}
jQuery.event.add(window,"load",jQuery.ready);}
jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+
"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+
"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
if(id!=1&&jQuery.cache[id].handle)
jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}
jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0]
.getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display='none';});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")
return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
var type="GET";if(params)
if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
self.html(selector?jQuery("<div/>")
.append(res.responseText.replace(/<script(.|\s)*?\/script>/g,""))
.find(selector):res.responseText);if(callback)
self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;})
.filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type));})
.map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}
return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}
return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")
s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))
s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))
s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}
if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}
if(head)
head.removeChild(script);};}
if(s.dataType=="script"&&s.cache==null)
s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
if(s.global&&!jQuery.active++)
jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script);}};}
head.appendChild(script);return undefined;}
var requestDone=false;var xhr=s.xhr();if(s.username)
xhr.open(type,s.url,s.async,s.username,s.password);else
xhr.open(type,s.url,s.async);try{if(s.data)
xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
if(s.global)
jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
jQuery.event.trigger("ajaxStop");}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
if(s.ifModified&&modRes)
jQuery.lastModified[s.url]=modRes;if(!jsonp)
success();}else
jQuery.handleError(s,xhr,status);complete();if(isTimeout)
xhr.abort();if(s.async)
xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
setTimeout(function(){if(xhr&&!requestDone)
onreadystatechange("timeout");},s.timeout);}
try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
if(!s.async)
onreadystatechange();function success(){if(s.success)
s.success(data,status);if(s.global)
jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
function complete(){if(s.complete)
s.complete(xhr,status);if(s.global)
jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
jQuery.event.trigger("ajaxStop");}
return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
throw"parsererror";if(s&&s.dataFilter)
data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
jQuery.globalEval(data);if(type=="json")
data=window["eval"]("("+data+")");}
return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
jQuery.each(a,function(){add(this.name,this.value);});else
for(var j in a)
if(jQuery.isArray(a[j]))
jQuery.each(a[j],function(){add(j,this);});else
add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
display="block";elem.remove();elemdisplay[tagName]=display;}
jQuery.data(this[i],"olddisplay",display);}}
for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||"";}
return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));}
for(var i=0,l=this.length;i<l;i++){this[i].style.display="none";}
return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}
if(opt.overflow!=null)
this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))
e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
if(parts[1])
end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
if(timers[i].elem==this){if(gotoEnd)
timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))
return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)
if(!timers[i]())
timers.splice(i--,1);if(!timers.length){clearInterval(timerId);timerId=undefined;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)
if(this.options.curAnim[i]!==true)
done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
this.elem.style.display="block";}
if(this.options.hide)
jQuery(this.elem).hide();if(this.options.hide||this.options.show)
for(var p in this.options.curAnim)
jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}
return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
fx.elem.style[fx.prop]=fx.now+fx.unit;else
fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};else
jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom",lower=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],lower,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],lower,false,margin?"margin":"border"):null;};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();Eventful.Forms={};Eventful.Forms.focusFirstField=function(elForm)
{$(":input",elForm).not('.inactive,:hidden,:file,[value]').eq(0).focus();}
if(!Function.prototype.bind)
{Function.prototype.bind=function(){var __method=this,args=Array.prototype.slice.call(arguments),object=args.shift();return function(){var local_args=args.concat(Array.prototype.slice.call(arguments));if(this!==window)local_args.push(this);return __method.apply(object,local_args);}}}
Function.prototype.mixin=function(fn)
{this.prototype=$.extend(this.prototype,fn.prototype);return this;}
Function.prototype.later=function(msec)
{var fn=this,args=Array.prototype.slice.call(arguments,1);return window.setTimeout(function(){fn.apply(this,args)},msec);}
Function.prototype.slow=function(msec,next){var fn=this,tm;if(next){return function(){if(tm)return;tm=1;fn.apply(this,Array.prototype.slice.call(arguments));(function(){tm=0;}).later(msec);}}else{return function(){if(tm)clearTimeout(tm);tm=(function(args){tm=0;fn.apply(this,args);})
.bind(this,Array.prototype.slice.call(arguments))
.later(msec);}}};/*
 * SimpleModal 1.1.1 - jQuery Plugin
 * http://www.ericmmartin.com/projects/simplemodal/
 * http://plugins.jquery.com/project/SimpleModal
 * http://code.google.com/p/simplemodal/
 *
 * Copyright (c) 2007 Eric Martin - http://ericmmartin.com
 *
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * Revision: $Id: jquery.simplemodal.js 93 2008-01-15 16:14:20Z emartin24 $
 *
 */
(function($){$.modal=function(data,options){return $.modal.impl.init(data,options);};$.modal.close=function(){$.modal.impl.close(true);};$.fn.modal=function(options){return $.modal.impl.init(this,options);};$.modal.defaults={overlay:50,overlayId:'modalOverlay',overlayCss:{},containerId:'modalContainer',containerCss:{},close:true,closeTitle:'Close',closeClass:'modalClose',persist:false,onOpen:null,onShow:null,onClose:null};$.modal.impl={opts:null,dialog:{},init:function(data,options){if(this.dialog.data){return false;}
this.opts=$.extend({},$.modal.defaults,options);if(typeof data=='object'){data=data instanceof jQuery?data:$(data);if(data.parent().parent().size()>0){this.dialog.parentNode=data.parent();if(!this.opts.persist){this.dialog.original=data.clone(true);}}}
else if(typeof data=='string'||typeof data=='number'){data=$('<div>').html(data);}
else{if(console){console.log('SimpleModal Error: Unsupported data type: '+typeof data);}
return false;}
this.dialog.data=data.addClass('modalData');data=null;this.create();this.open();if($.isFunction(this.opts.onShow)){this.opts.onShow.apply(this,[this.dialog]);}
return this;},create:function(){this.dialog.overlay=$('<div>')
.attr('id',this.opts.overlayId)
.addClass('modalOverlay')
.css($.extend(this.opts.overlayCss,{opacity:this.opts.overlay/100,height:'100%',width:'100%',position:'fixed',left:0,top:0,zIndex:3000}))
.hide()
.appendTo('body');this.dialog.container=$('<div>')
.attr('id',this.opts.containerId)
.addClass('modalContainer')
.css($.extend(this.opts.containerCss,{zIndex:3100}))
.append(this.opts.close?'<a class="modalCloseImg '
+this.opts.closeClass
+'" title="'
+this.opts.closeTitle+'"></a>':'')
.hide()
.appendTo('body');if($.browser.msie&&($.browser.version<7)){this.fixIE();}
this.dialog.container.append(this.dialog.data.hide());},bindEvents:function(){var modal=this;$('.'+this.opts.closeClass).click(function(e){e.preventDefault();modal.close();});},unbindEvents:function(){$('.'+this.opts.closeClass).unbind('click');},fixIE:function(){if($(document.body).height()<$(document).height())
{$(document.body).css({height:'100%'});}
var wHeight=$(document.body).height()+'px';var wWidth=$(document.body).width()+'px';this.dialog.overlay.css({position:'absolute',height:wHeight,width:wWidth});this.dialog.container.css({position:'absolute'});this.dialog.iframe=$('<iframe src="javascript:false;">')
.css($.extend(this.opts.iframeCss,{opacity:0,position:'absolute',height:wHeight,width:wWidth,zIndex:1000,width:'100%',top:0,left:0}))
.hide()
.appendTo('body');},open:function(){if(this.dialog.iframe){this.dialog.iframe.show();}
if($.isFunction(this.opts.onOpen)){this.opts.onOpen.apply(this,[this.dialog]);}
else{this.dialog.overlay.show();this.dialog.container.show();this.dialog.data.show();}},close:function(external){if(!this.dialog.data){return false;}
if($.isFunction(this.opts.onClose)&&!external){this.opts.onClose.apply(this,[this.dialog]);}
if(this.dialog.parentNode){if(this.opts.persist){this.dialog.data.hide().appendTo(this.dialog.parentNode);}
else{this.dialog.data.remove();this.dialog.original.appendTo(this.dialog.parentNode);}}
else{this.dialog.data.remove();}
this.dialog.container.remove();this.dialog.overlay.remove();if(this.dialog.iframe){this.dialog.iframe.remove();}
this.dialog={};this.unbindEvents();}};})(jQuery);Eventful.Panel=function(id)
{this.id=id;this.trackingString=null;this.eventShow=new Eventful.UIEvent();this.eventClose=new Eventful.UIEvent();this.eventReady=new Eventful.UIEvent();var fnToggleAds=function(){$('.rev-gen').toggle();};this.eventShow.subscribe(fnToggleAds);this.eventClose.subscribe(fnToggleAds);}
Eventful.Panel.prototype.panel=function()
{if(!this.jqPanel)this.jqPanel=$('#'+this.id);return this.jqPanel;}
Eventful.Panel.prototype.find=function(sExpr)
{return this.panel().find(sExpr)}
Eventful.Panel.prototype.options=function(oOptions)
{if(oOptions.tracking_string)
{this.trackingString=oOptions.tracking_string;}
if(oOptions.width)
{oOptions.width=+oOptions.width.toString().replace('px','');oOptions.containerCss=$.extend(oOptions.containerCss,{width:oOptions.width,marginLeft:-oOptions.width/2});}
oOptions=$.extend({persist:true,overlay:75,onShow:this.listenShow.bind(this),closeClass:'modalClose',closeOnKeyEsc:false},oOptions);oOptions.containerCss=$.extend({position:'absolute'},oOptions.containerCss);this.oOptions=oOptions;return this;}
Eventful.Panel.prototype.autoShow=function(sHash)
{if(window.location.hash=="#"+sHash)
{$(this.show.bind(this));}}
Eventful.Panel.prototype.clickShow=function(sQuery)
{return this.clickClose(sQuery,true);}
Eventful.Panel.prototype.clickClose=function(sQuery,bShow)
{$(function()
{if(sQuery instanceof Array)sQuery=$.map(sQuery,function(id){return'#'+id}).join();$(sQuery).click(function(evt)
{evt.preventDefault();if(bShow)this.show(evt);else this.close(evt);}.bind(this));}.bind(this));return this;}
Eventful.Panel.prototype.show=function(evt)
{if(!this.panel().length)return this;if(this.oOptions.containerCss.position=='absolute')
{this.oOptions.containerCss.top=(Eventful.scrollTop()+30)+'px';}
if(this.parent(Eventful.Panel.current()))
{this.parent().close();}
this.jqModal=this.panel().modal(this.oOptions);Eventful.Panel.current(this);if(this.oOptions.containerCss.position=='fixed'&&!($.browser.msie&&($.browser.version<7)))
{var jqMC=$('#modalContainer');jqMC
.css('top','50%')
.css('marginTop','-'+Math.round(jqMC.height()*0.67)+'px');}
if(this.oOptions.closeOnKeyEsc)
{$('#modalContainer').one('keyup',function(evt){if(evt.keyCode==27)this.close();}.bind(this));}
$('#modalContainer .'+this.oOptions.closeClass).one('click',this.close.bind(this));if(this.trackingString){Eventful.TrackPageview.track(this.trackingString);}
this.eventShow.fire(evt);return this;}
Eventful.Panel.prototype.close=function(evt)
{if(this.jqModal)this.jqModal.close();this.eventClose.fire(evt);if(Eventful.Panel.current()==this)
{Eventful.Panel.current(null);}
if(this.parent())
{this.parent().show();this.parent(null);}
return this;}
Eventful.Panel.prototype.parent=function(obj)
{return obj!==undefined?this.oParent=obj:this.oParent||null;}
Eventful.Panel.prototype.listenShow=function()
{Eventful.Forms.focusFirstField(this.panel());}
Eventful.Panel.current=function(obj)
{return obj!==undefined?Eventful.Panel.oCurrent=obj:Eventful.Panel.oCurrent||null;}
Eventful.scrollTop=function()
{return document.body.scrollTop||document.documentElement.scrollTop||0;}
Eventful.PanelSigninRequired=function(oArgs)
{Eventful.PanelSigninRequired._oInstance=this;oArgs=oArgs||{};var featureIds=oArgs.featureIds;var idPanel=oArgs.idPanel||"panel-signin-required";var tracking_string="lbox_mustsignin_unknown";var panel_width="540px";if(Eventful.Session.userType=='email')
{tracking_string="lbox_mustsignin_known";}
if($('#uid-pwd-line').size())
{panel_width="360px";}
Eventful.Panel.call(this,idPanel);this.options({width:panel_width,tracking_string:tracking_string,closeOnKeyEsc:true,containerCss:{position:'fixed'}});if(featureIds)
{this.clickShow(featureIds);}}.mixin(Eventful.Panel)
Eventful.PanelSigninRequired.get=function()
{return Eventful.PanelSigninRequired._oInstance||new Eventful.PanelSigninRequired();}
Eventful.PanelSigninRequired.show=function()
{return Eventful.PanelSigninRequired.get().show();}
Eventful.Autoclose=function()
{$('body').click(Eventful.Autoclose.body_click);}
Eventful.Autoclose.element_id=null;Eventful.Autoclose.afterClosed=new Eventful.UIEvent();Eventful.Autoclose.body_click=function(evt)
{if(evt)
{var elTarget=$(evt.target);if(elTarget.size())
{if(elTarget.hasClass("autoclose")||elTarget.hasClass("autoclose-click")||elTarget.parents('.autoclose').size())
{return true;}}}
Eventful.Autoclose.close_block();}
Eventful.Autoclose.close_block=function()
{var id=Eventful.Autoclose.element_id;if(id&&id.length)
{var elAutoclose=$('#'+id);if(elAutoclose.size())
{elAutoclose.hide();Eventful.Autoclose.element_id=null;Eventful.Autoclose.afterClosed.fire(elAutoclose.get(0));}}}
Eventful.Autoclose.set_id=function(idEl)
{if(Eventful.Autoclose.element_id!=idEl)
{Eventful.Autoclose.close_block();Eventful.Autoclose.element_id=idEl;}}
$(Eventful.Autoclose);Eventful.Popover=function(jqEx,oOptions)
{this.eventShow=new Eventful.UIEvent();this.eventClose=new Eventful.UIEvent();this._setup({width:"300px",css:{'backgroundColor':'#fff','border':'1px solid #666','zIndex':"10"},position:{"top":10,"left":10,"right":'auto',"bottom":'auto',"relative":'mouse'},no_focus:false,tracking:''},jqEx,oOptions||{});}
Eventful.Popover.prototype._setup=function(default_args,jqEx,oOptions){var popoverCss={},containerCss={};$.each($.extend(default_args.css,{'width':default_args.width},oOptions.css,{'width':oOptions.width}),function(attr,val){if(!val)return;if(/^(width|height|zIndex)$/.test(attr)){containerCss[attr]=val;}else{popoverCss[attr]=val;}});this.popover(jqEx).css(popoverCss);this.args={'containerCss':containerCss,'position':$.extend(default_args.position,oOptions.position),'tracking':oOptions.tracking||default_args.tracking,'no_focus':oOptions.no_focus||default_args.no_focus,'listenKeyESC':!!this.find(':input').not(':hidden').length};}
Eventful.Popover.prototype.container=function(){var jContainer,oEvt,oInst,fnKeyESCHdl=function(evt){if(evt.keyCode==27&&oInst){oInst.close(evt);}},fnReposition=function(evt){if(oInst)oInst._position(evt);},fnMouseLeaveHdl=function(){if(oInst)oInst._slowUIAct(!oInst.args.slowActOverPopover,true);},fnMouseEnterHdl=function(){if(oInst)oInst._slowUIAct(!oInst.args.slowActOverPopover,false);},fnShow=function(intc,evt){if(oInst)fnClose();oInst=intc;oEvt=evt?{'target':evt.target,'pageX':evt.pageX,'pageY':evt.pageY}:null;jContainer
.prepend(oInst.popover(true))
.css($.extend({height:'auto',width:'auto',zIndex:'auto'},oInst.args.containerCss,{"top":"-1000px","left":"-1000px"}))
.show();oInst._position(oEvt);if(oInst.args.listenOverPopover){jContainer
.bind('mouseenter',fnMouseEnterHdl)
.bind('mouseleave',fnMouseLeaveHdl);}
if(oInst.args.listenKeyESC){jContainer.bind('keyup',fnKeyESCHdl);}
if(oInst.args.position.relative==='mouse'&&oEvt){$(oEvt.target).bind('mousemove',fnReposition);}},fnClose=function(){if(oInst.args.listenOverPopover){jContainer
.unbind('mouseenter',fnMouseEnterHdl)
.unbind('mouseleave',fnMouseLeaveHdl);}
if(oInst.args.listenKeyESC){jContainer.unbind('keyup',fnKeyESCHdl);}
if(oInst.args.position.relative==='mouse'&&oEvt){$(oEvt.target).unbind('mousemove',fnReposition);}
jContainer
.hide()
.children().not('iframe')
.each(function(){if(this.parentNode)this.parentNode.removeChild(this);});oInst=oEvt=null;};return function(doElse){if(!jContainer){jContainer=$('<div id="eventful-tooltip" class="popover autoclose" \
                          style="position:absolute;margin:0;border:0;padding:0;background-color:transparent;"> \
                      </div>')
.appendTo(document.body)
.hide()
.bind('resize',function(){jContainer
.children('iframe')
.css({'width':jContainer.width(),'height':jContainer.height()});fnReposition(oEvt);});if($.browser.msie&&($.browser.version<7)){jContainer.append('<iframe frameborder="0" src="javascript:\'\'" \
                             style="position:absolute;top:0;left:0;z-index:-1;filter:mask();"> \
                           </iframe>');}
$(window).bind('resize',function(){fnReposition(oEvt);});}
if(doElse){if(doElse.get&&doElse.get==='event'){return oEvt;}else if(doElse.get&&doElse.get==='instance'){return oInst;}else if(doElse.set&&doElse.set[0]){fnShow(doElse.set[0],doElse.set[1]);}else if(doElse.set&&oInst){fnClose();}}
return jContainer;}}();Eventful.Popover.prototype.popover=function(jqEx){if(!this._jPopover&&jqEx){this._jPopover=$(jqEx).hide();if(this._jPopover.parents('body').length){this._jPopover._delayDetach=true;}else if(typeof jqEx==='string'){this._jPopover=$('<div class="popbd">'+jqEx+'</div>');}}else if(this._jPopover._delayDetach&&jqEx===true){this._jPopover.each(function(){if(this.parentNode)this.parentNode.removeChild(this);}).removeClass('hidden').show();delete this._jPopover['_delayDetach'];}
return this._jPopover;}
Eventful.Popover.prototype.find=function(sExpr)
{return this.popover().find(sExpr)}
Eventful.Popover.prototype.clickShow=function(jSel,bStayOpen){$(jSel)
.addClass('popover-sender autoclose')
.click(function(evt){(!bStayOpen&&this.isOpen())?this.close(evt):this.show(evt);return false;}.bind(this));return this;}
Eventful.Popover.prototype.clickClose=function(jSel){$(jSel).click(function(evt){this.close(evt);return false;}.bind(this));return this;}
Eventful.Popover.prototype.hoverShow=function(jSel,options){var fnShow,fnClose;if(options&&(options.show_over||options.show_slow)){fnShow=this._slowUIAct.bind(this,!options.show_slow,false);fnClose=this._slowUIAct.bind(this,!options.show_slow,true);}else{fnShow=this.show.bind(this);fnClose=this.close.bind(this);}
this.args.listenOverPopover=!!(options&&options.show_over);this.args.slowActOverPopover=this.args.listenOverPopover&&options.show_slow;$(jSel)
.addClass('popover-sender')
.bind('mouseenter',fnShow)
.bind('mouseleave',fnClose);return this;}
Eventful.Popover.prototype._slowUIAct=(function(){var fn=function(evt,bClosing){bClosing===true?this.close(evt):this.show(evt);},fnHalfSec=fn.slow(500),fnMillSec=fn.slow(10);return function(bQuick,bClosing,evt){(bQuick?fnMillSec:fnHalfSec)
.call(this,evt?{'target':evt.target,'pageX':evt.pageX,'pageY':evt.pageY}:null,bClosing);}})();Eventful.Popover.prototype.isOpen=function(bPopover){var inst=this.container({'get':'instance'});return bPopover?!!inst:this===inst;}
Eventful.Popover.prototype.show=function(evt){if(this.isOpen()){var lastShowEvt=this.container({'get':'event'});if(!evt)return this._position(lastShowEvt);if(lastShowEvt&&lastShowEvt.target===evt.target)return this._position(evt);}
if(this.isOpen(true)){this.container({'get':'instance'}).close(evt);}
this.container({'set':[this,evt]});if(!this.args.no_focus){this.container().find(":input").not('.inactive,:hidden').eq(0).trigger('focus');}
if(this.args.tracking){Eventful.TrackPageview.track(this.args.tracking);}
Eventful.Autoclose.set_id(this.container().attr('id'));this.eventShow.fire(evt);return this;}
Eventful.Popover.prototype.close=function(evt){this.container({'set':[null,null]});Eventful.Autoclose.element_id=null;this.eventClose.fire(evt);return this;}
Eventful.Autoclose.afterClosed.subscribe(function(elClose){if(elClose===Eventful.Popover.prototype.container()[0]){var intsToClose=Eventful.Popover.prototype.container({'get':'instance'});if(intsToClose)intsToClose.close();}});Eventful.Popover.prototype._position=function(evt){var docScrollTop=document.body.scrollTop||document.documentElement.scrollTop||0,docScrollLeft=document.body.scrollLeft||document.documentElement.scrollLeft||0,h=this.container().height(),w=this.container().width(),top=0,left=0;if(typeof this.args.position.relative=='object'||(this.args.position.relative=='sender'&&evt)){var jRelative=typeof this.args.position.relative==='object'?$(this.args.position.relative):$(evt.target).parents('.popover-sender').andSelf(),positionOffset=jRelative.offset();if(typeof this.args.position.top=='number'){top=positionOffset.top+this.args.position.top;}else if(typeof this.args.position.bottom=='number'){top=positionOffset.top+jRelative.height()-h-this.args.position.bottom;}else{top=positionOffset.top+10;}
if(typeof this.args.position.left=='number'){left=positionOffset.left+this.args.position.left;}else if(typeof this.args.position.right=='number'){left=positionOffset.left+jRelative.width()-w-this.args.position.right;}else{left=positionOffset.left+10;}}else if(this.args.position.relative=='viewport'){if(typeof this.args.position.top=='number'){top=docScrollTop+this.args.position.top;}else if(typeof this.args.position.bottom=='number'){top=docScrollTop+$(window).height()-h-this.args.position.bottom;}else{top=docScrollTop+10;}
if(typeof this.args.position.left=='number'){left=docScrollLeft+this.args.position.left;}else if(typeof this.args.position.right=='number'){left=docScrollLeft+$(window).width()-w-this.args.position.right;}else{left=docScrollLeft+10;}}else if(/^(mouse|click)$/.test(this.args.position.relative)&&evt){if(typeof this.args.position.top!=='number')this.args.position.top=10;if(typeof this.args.position.left!=='number')this.args.position.left=10;if(evt.pageY<=docScrollTop+$(window).height()*0.5){top=evt.pageY+this.args.position.top;}else{top=evt.pageY-this.args.position.top-h;}
if(evt.pageX<=docScrollLeft+$(window).width()*0.5){left=evt.pageX+this.args.position.left;}else{left=evt.pageX-this.args.position.left-w;}}
this.container().css({"top":top+"px","left":left+"px"});return this;}
Eventful.Popover.blockUI=function(){if(!Eventful.Popover.blockUI.blocker)Eventful.Popover.blockUI.blocker=new Eventful.Popover('<div id="eventful-uiblocker" style="height:'+$(document).height()+
'px;background:#FFFFFF url(http://static.eventful.com/store/skin/throbbers/throbber_32x32.gif) no-repeat fixed center center;"></div>',{css:{width:'100%',border:false,opacity:0.66},position:{top:0,left:0,relative:'viewport'}});Eventful.Popover.blockUI.blocker.show();}
Eventful.Popover.unblockUI=function(){if(Eventful.Popover.blockUI.blocker)Eventful.Popover.blockUI.blocker.close();}
$(function(){var jSigninPane=$('#user-panel-popover');if(jSigninPane.length!=1)return;(new Eventful.Popover(jSigninPane,{css:{width:'',border:'',backgroundColor:''},position:{relative:$('#user-panel-signin'),top:20,left:'auto',right:0},tracking:'lbox_signin'}))
.clickShow('#user-panel-signin,#user-panel-signin-block',true)
.clickClose('#btn-user-panel-cancel');(new Image()).src="http://static.eventful.com/store/skin/chrome/chamfer_corner_strip.png";});Eventful.InactiveText=function(el)
{el=$(el);el.blur();el.blur(Eventful.InactiveText.listenBlur);el.focus(Eventful.InactiveText.listenFocus);if(!el.attr('defaultValue'))
{el.val(el.attr('alt'));el.addClass('inactive');}else
{el.val(el.attr('defaultValue'));}
el.removeClass('inactive-text');}
Eventful.InactiveText.attachHandlers=function(root)
{$('.inactive-text',root).each(function(_,el){Eventful.InactiveText(el);});}
Eventful.InactiveText.listenBlur=function(evt)
{var el=$(evt.target);if(!el.val()&&!el.parents('.field-container.has-error').size())
{el.addClass('inactive');el.val(el.attr('alt'));}}
Eventful.InactiveText.listenFocus=function(evt)
{var el=$(evt.target);if(el.hasClass('inactive'))
{el.removeClass('inactive');el.val('');}}
Eventful.InactiveText.doForcedUpdate=function(el)
{el=$(el);el.addClass('inactive');el.val(el.attr('alt'));}
Eventful.Cookies={};Eventful.Cookies.addCookie=function(sKey,sValue,nExpires)
{var sCurrentValue=Eventful.Cookies.getCookie(sKey);sValue=(sCurrentValue?sCurrentValue+'^':'')+sValue;Eventful.Cookies.setCookie(sKey,sValue,nExpires);}
Eventful.Cookies.setCookie=function(sKey,sValue,nExpires,sPath)
{if(!sPath)sPath='/';var sCookie=sKey+'='+sValue+';path='+sPath+';';if(nExpires)
{var oDate=new Date(new Date().getTime()+nExpires*60000);sCookie+='expires='+oDate.toUTCString()+';';}
document.cookie=sCookie;}
Eventful.Cookies.getCookie=function(sKey)
{var rx=new RegExp(sKey+'=([^;]*)');return(document.cookie.match(rx)||[])[1];}
Eventful.Cookies.removeCookie=function(sKey,sPath)
{Eventful.Cookies.setCookie(sKey,'',-1,sPath);}
Eventful.PanelExitSurvey=function()
{Eventful.Panel.call(this,'panel-exit-survey');this.options({width:500,closeClass:'surveyClose'});this.clickClose('#panel-exit-survey .reject');this.eventShow.subscribe(this.listenShow.bind(this));this.show();this.find('.reject, .surveyClose').click(this.listenReject.bind(this));this.find('.accept').click(this.listenAccept.bind(this));this.find('form').submit(this.listenSubmit.bind(this));}.mixin(Eventful.Panel);Eventful.PanelExitSurvey.prototype.listenShow=function()
{Eventful.TrackPageview.track('/lbox_exitsurvey_invite');this.log("impression");Eventful.Cookies.setCookie('exitsurvey1',1,129600);}
Eventful.PanelExitSurvey.prototype.listenReject=function()
{Eventful.TrackPageview.track('/lbox_exitsurvey_reject');}
Eventful.PanelExitSurvey.prototype.listenAccept=function()
{$('#panel-exit-survey .bd').removeClass('init').addClass('purpose');$('#panel-exit-survey #inp-purpose_code')
.click(function(){var jqSelect=$('#panel-exit-survey input:checked[type=radio][name=purpose_code]');if(jqSelect.val()=="9"){$(this).parents('ul').children('.field-container.purpose')
.removeClass('hidden')
.find('textarea')
.focus();}else{$(this).parents('ul').children('.field-container.purpose')
.addClass('hidden');}})
Eventful.TrackPageview.track('/lbox_exitsurvey_page1');this.log("accepted");}
Eventful.PanelExitSurvey.prototype.listenSubmit=function(evt)
{evt.preventDefault();var jqSelect=$('#panel-exit-survey input:checked[type=radio][name=purpose_code]');if(jqSelect.val()!="9"){$('#panel-exit-survey textarea[name=purpose]')
.val(jqSelect.next().text());}
window.open("/exit-survey?"+$('#panel-exit-survey form').serialize(),"_blank","resizable=no,scrollbars=no,location=no,status=no,width=600,height=525");this.close(evt);(function(win){win.focus();}).later(100,window);}
Eventful.PanelExitSurvey.prototype.log=function(sType)
{$.post('/json/tools/utils/report',{name:'exit_survey_analytics',type:sType});}
Eventful.PanelExitSurvey.setup=function()
{if(Eventful.Session.Tests.exit_survey=='1')
{$.get('/sections/panel_exit_survey',null,function(sPanel)
{$(document.body).append(sPanel);new Eventful.PanelExitSurvey();},'html');}}
$(Eventful.PanelExitSurvey.setup);Eventful.Search=function()
{$(this.setup.bind(this));this.oAltText={events:"e.g. festivals; art show",venues:"e.g. bar; Madison Square",performers:"e.g. Rolling Stones; Jay-Z",demands:"e.g. Rolling Stones; Jay-Z",groups:"e.g. Web 2.0; music",users:"e.g. tallwilly; disco"};}
Eventful.Search.prototype.find=function(el)
{return this.oPopover.find(el);}
Eventful.Search.prototype.setup=function()
{this.elSearchBox=$("#q");this.oPopover=new Eventful.Popover('#search-popover',{width:206,css:{zIndex:100,borderColor:"#999"},position:{top:24,left:0,relative:'sender'},no_focus:1});this.oPopover.eventShow.subscribe(this.listenShowPopover.bind(this));this.elSearchBox.focus(this.oPopover.show.bind(this.oPopover));$("#search-form-action").submit(this.listenSubmit.bind(this));this.find(':radio').click(this.listenClick.bind(this));this.render();Eventful.InactiveText(this.elSearchBox);}
Eventful.Search.prototype.area=function(sArea)
{var elArea=$("#search-form-action [name=area]");if(sArea)
{elArea.val(sArea);}else if(!elArea.val())
{var elBody=$('body');elArea.val(elBody.hasClass('nav-events')?"events":elBody.hasClass('nav-demands')?"demands":elBody.hasClass('nav-performers')?"performers":elBody.hasClass('nav-venues')?"venues":elBody.hasClass('nav-groups')||elBody.hasClass('nav-community')?"groups":elBody.hasClass('nav-users')?"users":"events");}
return elArea.val();}
Eventful.Search.prototype.render=function()
{var sArea=this.area();this.find('#search-areas-list').removeClass().addClass('search-'+sArea);this.elSearchBox.attr({alt:this.oAltText[sArea]});if(this.elSearchBox.hasClass('inactive')){Eventful.InactiveText.doForcedUpdate(this.elSearchBox);}}
Eventful.Search.prototype.listenShowPopover=function()
{this.find('[value='+this.area()+']').attr({checked:true});}
Eventful.Search.prototype.listenClick=function(evt,el)
{this.area($(el).val());this.render();}
Eventful.Search.prototype.listenSubmit=function(evt)
{if(this.elSearchBox.hasClass('inactive'))
{this.elSearchBox.val('');}}
Eventful.Location=function()
{this.eventLocationChanged=new Eventful.UIEvent();this.eventSetup=new Eventful.UIEvent();this.oOptions={};$(this.setup.bind(this));}
Eventful.Location.prototype.setup=function(evt)
{this.oChangeLocation=new Eventful.PopoverChangeLocation({token:'change_location',css:{zIndex:100},position:{top:16,left:1,relative:'sender'}});this.oChangeLocation.clickShow('#header-location-change',true);this.oChangeLocation.eventLocationChanged.subscribe(this.listenLocationChanged.bind(this));this.eventSetup.fire();this.bSetup=true;}
Eventful.Location.prototype.options=function(oArgs)
{return $.extend(this.oOptions,oArgs);}
Eventful.Location.prototype.subscribeSetup=function(fnSubscriber)
{if(this.bSetup)
{fnSubscriber();}else
{this.eventSetup.subscribe(fnSubscriber);}}
Eventful.Location.prototype.listenLocationChanged=function(oArgs)
{this.eventLocationChanged.fire();if(this.oOptions.no_reload)
{return;}
if(oArgs.response.base_path)
{window.location=window.location.protocol+'//'+window.location.host+oArgs.response.base_path;}else
{window.location.reload();}}
Eventful.NetflixOpener=function(){if(!Eventful.Cookies)return;if(Eventful.Cookies.getCookie('netflix_promo')==="f")return;Eventful.Cookies.setCookie('netflix_promo','f',1440);var sUrl="http://"+document.location.hostname+"/netflix";var oW=window;var sOptions="menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=720,height=300";var oNewWindow=window.open(sUrl,'Netflix',sOptions);if(oNewWindow){oNewWindow.blur();oW.focus();}}
Eventful.FormVal=function(formJExpr,summaryJExpr,oArgs){this.jForm=$(formJExpr);if(summaryJExpr)this.jqFormSummary=$(summaryJExpr);if(!oArgs)oArgs={};this.args={summaryError:oArgs.summaryError||"Oh no! Errors! Please check the fields above.",summaryEmpty:oArgs.summaryEmpty||"You forgot to fill out the fields! Good thing I reminded you.",keepValidate:oArgs.keepValidate===undefined?false:oArgs.keepValidate};this.rules=[];this.eventPassValid=new Eventful.UIEvent();this.eventJSONValidate=new Eventful.UIEvent();this.eventFailValid=new Eventful.UIEvent();this.eventErrorShown=new Eventful.UIEvent();this.initialize();}
Eventful.FormVal.prototype.bindEvent=function(nm,fn){var nmEvts={'passValid':this.eventPassValid,'failValid':this.eventFailValid,'errorShown':this.eventErrorShown,'JSONValidate':this.eventJSONValidate};if(nmEvts[nm])nmEvts[nm].subscribe(fn);return this;}
Eventful.FormVal.GetPattern=function(type){var allPatterns={"float":/^-?(\d+\.?\d*|\d*\.\d+)$/,"number":/^[-+]?\d+$/,"email":/^[\w.%+-]+@([\w-]+\.)+[A-Za-z]{2,4}$/,"url":/^https?:\/\/([\w-]+\.)+[A-Za-z]{2,4}/i};return allPatterns[type];}
Eventful.FormVal.prototype.getPattern=Eventful.FormVal.GetPattern;Eventful.FormVal.setInactive=function(exprActiveToggle){$(exprActiveToggle||'input[type=text][alt],textarea[alt]',!exprActiveToggle&&this.jForm?this.jForm:undefined)
.bind('focus',function(){if($(this).hasClass('inactive')){$(this).removeClass('inactive').val('');}})
.bind('blur',function(){var alt=$(this).attr('alt');if(this.value==''){$(this).addClass('inactive').val(alt);}})
.each(function(i,el){var alt=$(this).attr('alt');if(el.value==""||el.value==alt){$(el).addClass('inactive').val(alt);}});return this;}
Eventful.FormVal.prototype.setInactive=Eventful.FormVal.setInactive;Eventful.FormVal.emptyInactive=function(exprActiveToggle){$(exprActiveToggle||'input.inactive[type=text][alt],textarea.inactive[alt]',!exprActiveToggle&&this.jForm?this.jForm:undefined).val('');return this;}
Eventful.FormVal.prototype.emptyInactive=Eventful.FormVal.emptyInactive;Eventful.FormVal.prototype.initialize=function(){this._serializedValues=this.jForm.serialize();this.jForm.bind('submit.formval',function(){this.validateForm.bind(this).later(1);return false;}.bind(this));return this;}
Eventful.FormVal.prototype.deinitialize=function(){this.jForm.unbind('submit.formval');return this;}
Eventful.FormVal.prototype.focusFirstField=function(){var jqInputs=this.jForm.find('.has-error :input').not(':hidden');if(!jqInputs.size())
{jqInputs=this.jForm.find(':input').not(':hidden');}
jqInputs.eq(0).trigger('focus');return this;}
Eventful.FormVal.prototype.isDirty=function(){return this._serializedValues!==this.jForm.serialize();}
Eventful.FormVal.prototype.validateForm=function(){if($.grep(this.jForm.find(":input").not(':hidden,:button,:reset,:image,:submit,.inactive').serializeArray(),function(pair){return!!$.trim(pair.value)}).length===0&&$.grep(this.rules,function(rule){return rule.rule.required;}).length>0&&this.jqFormSummary)
{this.showSummaryError(this.args.summaryEmpty);return;}
this.hideSummaryError().hideHasError();$.each(this.rules,function(_,oNameRulePair){oNameRulePair.rule.quality={error:0,message:'',defaultMessage:''};});function _markBadQuality(errInput,jInput,rule,errBit,defMsg,msg){errInput.push(jInput);rule.quality.error|=1<<errBit;rule.quality.defaultMessage=defMsg||"The input has error";rule.quality.message=msg||rule.message;}
var errInput=[],jsonQueue=[];$.each(this.rules,function(_,oNameRulePair){var jInput=this.jForm.find(':input[name='+oNameRulePair.name+']'),rule=oNameRulePair.rule;if(jInput.length==0||$.grep(errInput,function(j){return jInput.attr('name')===j.attr('name')}).length||!rule)return;var nameValues=$.grep(jInput.not('.inactive').serializeArray(),function(pair){return!!$.trim(pair.value)});if(rule.required&&!nameValues.length){_markBadQuality(errInput,jInput,rule,0,"Data is required");}else if(nameValues.length&&rule.pattern&&$.grep(nameValues,function(oPair){return rule.pattern.test(oPair.value)===false;}).length){_markBadQuality(errInput,jInput,rule,1,"The input has incorrect format");}else if(nameValues.length&&rule.hasOwnProperty("minlen")){if(jInput.is(':text, :password, textarea')&&jInput.val().length<rule.minlen){_markBadQuality(errInput,jInput,rule,2,"string length must >= "+rule.minlen);}else if(jInput.is(':checkbox, select')&&nameValues.length<rule.minlen){_markBadQuality(errInput,jInput,rule,3,"at least "+rule.minlen+" selected");}}else if(nameValues.length&&rule.hasOwnProperty("maxlen")){if(jInput.is(':text, :password, textarea')&&jInput.val().length>rule.maxlen){_markBadQuality(errInput,jInput,rule,4,"string length must <= "+rule.maxlen);}else if(jInput.is(':checkbox, select')&&nameValues.length>rule.maxlen){_markBadQuality(errInput,jInput,rule,5,"at most "+rule.maxlen+" selected");}}else if(nameValues.length&&rule.hasOwnProperty("min")&&jInput.is(':text')){var aNum=/^[+-]?\d+$/.test(jInput.val())?parseInt(jInput.val()):parseFloat(jInput.val());if(isNaN(aNum)||aNum<rule.min){_markBadQuality(errInput,jInput,rule,6,"must >= "+rule.min);}}else if(nameValues.length&&rule.hasOwnProperty("max")&&jInput.is(':text')){var aNum=/^[+-]?\d+$/.test(jInput.val())?parseInt(jInput.val()):parseFloat(jInput.val());if(isNaN(aNum)||aNum>rule.max){_markBadQuality(errInput,jInput,rule,7,"must <= "+rule.max);}}else if(rule.helperCb){var msg=rule.helperCb(jInput.length===1?jInput[0]:jInput,nameValues);if(msg&&msg.error)_markBadQuality(errInput,jInput,rule,8,'Failed to helper check',msg.message);}else if(rule.jsonCb){var oJSONsetup=rule.jsonCb(jInput.length==1?jInput[0]:jInput,nameValues);if(oJSONsetup&&(oJSONsetup.post||oJSONsetup.get))
{jsonQueue.push($.extend(oJSONsetup,{'rule':rule,'jInput':jInput}));}}}.bind(this));if(errInput.length){this._afterFailure(errInput);}else if(jsonQueue.length){var _onJsonResponse=function(helperCb,jInput,rule,oResponse){var msg=helperCb(oResponse,jInput.length==1?jInput[0]:jInput,this.jForm[0]);if(msg&&msg.error){_markBadQuality(errInput,jInput,rule,9,'Failed to ajax check',msg.message);this._afterFailure(errInput);}else if(jsonQueue.length){_shiftJsonQueue.call(this);}else{this._afterSuccess();}},_shiftJsonQueue=function(){var oJson=jsonQueue.shift();if(oJson)$.ajax({url:oJson.post||oJson.get,type:oJson.post?"post":"get",data:oJson.data,success:_onJsonResponse.bind(this,oJson.helperCb,oJson.jInput,oJson.rule),error:_onJsonResponse.bind(this,oJson.helperErrorCb||function(){return{"error":1,"message":"Sorry! There is trouble to validate your input."}},oJson.jInput,oJson.rule),dataType:oJson.dataType||'json'});};_shiftJsonQueue.call(this);this.eventJSONValidate.fire();}else{this._afterSuccess();}
return this;}
Eventful.FormVal.prototype._afterSuccess=function(){if(!this.args.keepValidate)this.deinitialize();if(this.eventPassValid.subscribers.length){this.eventPassValid.fire(this.jForm[0]);}else{this.emptyInactive();this.jForm.trigger('submit');}
return this;}
Eventful.FormVal.prototype._afterFailure=function(errInput){this.showSummaryError();this.showHasError(errInput);this.eventFailValid.fire(this.jForm[0],errInput);return this;}
Eventful.FormVal.prototype.addRule=function(inputname,oRule,position){if(typeof position=='number'){this.rules.splice(position,0,{name:inputname,rule:oRule});}else{this.rules.push({name:inputname,rule:oRule});}
return this;}
Eventful.FormVal.prototype.removeRule=function(inputname){this.rules=$.map(this.rules,function(oRule){return oRule.name===inputname?null:oRule;});return this;}
Eventful.FormVal.prototype.showShowError=function(elInput){var jqElContainer=$(elInput).parents(".field-container").addClass("show-errors");var sInputName=$(elInput).attr('name');var sMessage="There are errors in your input.";var jqFormError=jqElContainer.find(".form-error");if(!jqFormError.size()){jqFormError=$('<div class="form-error"></div>')
.attr('id',sInputName+'-error')
.appendTo(jqElContainer);}
var oNameRulePair=$.grep(this.rules,function(oNameRulePair){return oNameRulePair.name==sInputName&&oNameRulePair.rule.quality&&oNameRulePair.rule.quality.error;})[0];if(oNameRulePair)
{var oRule=oNameRulePair.rule;if(oRule.markupMessage==undefined)
{oRule.markupMessage=jqFormError.html();}
sMessage=oRule.quality.message||oRule.markupMessage||oRule.quality.defaultMessage||sMessage;}
jqFormError.html(sMessage);this.eventErrorShown.fire(elInput,jqFormError.get(0));return this;}
Eventful.FormVal.prototype.hideShowError=function(elInput){$(elInput).parents(".field-container").removeClass("show-errors");return this;}
Eventful.FormVal.prototype.showHasError=function(errInput){this._fnClearHasError=this._fnClearHasError?this._fnClearHasError.splice(0):[];$.each(errInput,function(i,el){var jqEl=$(el),jqContainer=jqEl.parents(".field-container").addClass("has-error");if(jqContainer.length==0)return;jqEl.bind("focus.haserror",this.showShowError.bind(this,el))
.bind("blur.haserror",this.hideShowError.bind(this,el));var afterTryAgain=function(){jqContainer.removeClass("has-error").removeClass("show-errors");jqEl.unbind("focus.haserror").unbind("blur.haserror");}
if(jqEl.is(':text, :password, textarea')){jqEl.bind("keyup.causechange",function(sOldVal){if($(this).val()!=sOldVal){afterTryAgain();$(this).unbind('keyup.causechange')}}.bind(jqEl[0],jqEl.val()));this._fnClearHasError.push(function(){jqEl.unbind("keyup.causechange");afterTryAgain();});}else if(jqEl.is('select')){jqEl.one("change",afterTryAgain);this._fnClearHasError.push(function(){jqEl.unbind("change",afterTryAgain);afterTryAgain();});}else if(jqEl.is(':checkbox, :radio')){jqEl.one("click",afterTryAgain);this._fnClearHasError.push(function(){jqEl.unbind("click",afterTryAgain);afterTryAgain();});}}.bind(this));return this.focusFirstField();}
Eventful.FormVal.prototype.hideHasError=function(){if(this._fnClearHasError){var fn;while(fn=this._fnClearHasError.pop())fn();}
return this;}
Eventful.FormVal.prototype.showSummaryError=function(sErrorMsg){if(this.jqFormSummary){sErrorMsg=sErrorMsg||this.args.summaryError;this.jqFormSummary.html(sErrorMsg).addClass("show-errors");var fnHideSummary=function(sOldFormValue){if(sOldFormValue!==this.jForm.serialize()){this.hideSummaryError();this.jForm
.find(':text, :password, textarea')
.unbind("keyup",fnHideSummary)
.end()
.find('select')
.unbind("change",fnHideSummary)
.end()
.find(':checkbox, :radio')
.unbind("click",fnHideSummary);}}.bind(this,this.jForm.serialize());this.jForm
.find(':text, :password, textarea')
.bind("keyup",fnHideSummary)
.end()
.find('select')
.bind("change",fnHideSummary)
.end()
.find(':checkbox, :radio')
.bind("click",fnHideSummary);}
return this.focusFirstField();}
Eventful.FormVal.prototype.hideSummaryError=function(evt){if(this.jqFormSummary){this.jqFormSummary.empty().removeClass("show-errors");}
return this;}
Eventful.CircularQ=function()
{this.iter=null;if(arguments.length==1)
{this.queue=arguments[0];}
else
{this.queue=[];}}
Eventful.CircularQ.prototype={next:function()
{if(this.queue.length>0)
{var next;if(this.iter===null)next=0;else next=this.iter+1;if(next>=this.queue.length)
{next=0;}
this.iter=next;return this.queue[next];}
else
{return null;}},prev:function()
{if(this.queue.length>0)
{var prev;if(this.iter===null)prev=this.queue.length-1;else prev=this.iter-1;if(prev<0)
{prev=this.queue.length-1;}
this.iter=prev;return this.queue[prev];}
else
{return null;}},goto:function(goTo)
{if((this.queue.length>0)&&(goTo<=this.queue.length))
{var idToGoTo=goTo-1;this.iter=idToGoTo;return this.queue[idToGoTo];}
else
{return null;}},current:function()
{if(this.queue.length>0)
{var current=this.iter;return this.queue[current];}
else
{return null;}},add:function(item)
{this.queue.push(item);},extend:function(items)
{this.queue=this.queue.concat(items);},rem:function(idx)
{this.queue.splice(idx,1);}}
Eventful.DropDown=function(oArgs)
{this.elInput=oArgs.input;this.elPopover=oArgs.popover;this.nMinInputLength=oArgs.minInputLength||0;this.bExact=oArgs.exact;this.eventItemSelected=new Eventful.UIEvent();this.eventInputChanged=new Eventful.UIEvent();this.eventPopoverShown=new Eventful.UIEvent();this.eventItemHighlighted=new Eventful.UIEvent();this.eventBlur=new Eventful.UIEvent();this.eventBadFocus=new Eventful.UIEvent();this.eventEnterAfterSelected=new Eventful.UIEvent();$(this.setup.bind(this));}
Eventful.DropDown.prototype.popover=function()
{return this.jqPopover?this.jqPopover:this.jqPopover=$(this.elPopover);}
Eventful.DropDown.prototype.find=function(sExpr)
{return this.popover().find(sExpr);}
Eventful.DropDown.prototype.input=function()
{return this.jqInput?this.jqInput:this.jqInput=$(this.elInput);}
Eventful.DropDown.prototype.list=function()
{return this.jqList?this.jqList:this.jqList=this.find('ul');}
Eventful.DropDown.prototype.setup=function()
{if(this.input().hasClass('inactive-text'))
{Eventful.InactiveText(this.input());}
this.input().
focus(this.listenFocus.bind(this)).
click(this.listenClick.bind(this)).
blur(this.listenBlur.bind(this)).
keyup(this.listenKeyUp.bind(this));if(jQuery.browser.safari||jQuery.browser.msie)
{this.input().keydown(this.listenKeyDown.bind(this));}else
{this.input().keypress(this.listenKeyDown.bind(this));}
this.popover().
mousedown(this.listenMouseDown.bind(this)).
mouseup(this.listenMouseUp.bind(this));if(this.list().html())
{this.list().find('li').
mouseover(this.listenMouseOver.bind(this)).
click(this.listenClickItem.bind(this))}else
{this.list().
mouseover(this.listenMouseOver.bind(this)).
click(this.listenClickItem.bind(this));}}
Eventful.DropDown.prototype.reset=function()
{this.input().val('');this.popover().hide();this.list().empty();this.queue(null);if(!this.bHasFocus)
{Eventful.InactiveText.doForcedUpdate(this.input())}}
Eventful.DropDown.prototype.currentElement=function()
{if(this.oQueue)
{return this.list().find('li').eq(this.oQueue.iter);}}
Eventful.DropDown.prototype.indexFromElement=function(el)
{el=$(el);el=el.is('li')?el:el.parents('li');return this.list().find('li').index(el[0]);}
Eventful.DropDown.prototype.queue=function(oQueue)
{if(oQueue!==undefined)
{if(oQueue)oQueue.next();this.oQueue=oQueue;}
return this.oQueue;}
Eventful.DropDown.prototype.usingQueue=function(bUsingQueue)
{if(bUsingQueue!==undefined)this.bUsingQueue=bUsingQueue;return this.bUsingQueue;}
Eventful.DropDown.prototype.showPopover=function()
{var sVal=this.input().hasClass('inactive')?'':this.input().val();if((this.list().html()||this.popover().hasClass('empty'))&&sVal.length>=this.nMinInputLength)
{this.popover().show();this.find('iframe.popover-layer').css({width:this.popover().width(),height:this.popover().height()+500});this.eventPopoverShown.fire();setTimeout(function(){this.input().select()}.bind(this),0);}}
Eventful.DropDown.prototype.highlight=function(arg)
{if(this.oQueue[arg]||arg!=this.oQueue.iter)
{if(this.oQueue[arg])
{this.oQueue[arg]();}else
{this.oQueue.goto(arg%this.oQueue.queue.length+1);}}
this.list().find('li.highlight').removeClass('highlight');this.currentElement().addClass('highlight');}
Eventful.DropDown.prototype.clearInput=function()
{if(!this.input().hasClass('inactive'))
{this.input().val('');if(this.input().attr('alt'))
{Eventful.InactiveText.listenBlur({target:this.input()});}}}
Eventful.DropDown.prototype.listenClick=function()
{if(this.popover().css('display')!='block')
{this.showPopover();}}
Eventful.DropDown.prototype.listenFocus=function()
{if(!this.input().is(':visible'))
{this.eventBadFocus.fire();return;}
if(this.bHasFocus)return;this.bHasFocus=true;this.showPopover();}
Eventful.DropDown.prototype.listenBlur=function()
{if(this.bIgnoreBlur)
{this.bIgnoreBlur=false;return;}
this.eventBlur.fire();this.popover().hide();this.bHasFocus=false;}
Eventful.DropDown.prototype.listenKeyDown=function(evt)
{switch(evt.keyCode)
{case 38:if(this.oQueue)
{evt.preventDefault();this.usingQueue(true);this.highlight('prev');this.eventItemHighlighted.fire(this.oQueue.current());}
break;case 40:if(this.oQueue)
{evt.preventDefault();this.usingQueue(true);this.highlight('next');this.eventItemHighlighted.fire(this.oQueue.current());}
break;case 13:if(this.oQueue)
{evt.preventDefault();if(this.popover().is(':visible'))
{if(this.usingQueue()||this.bExact)
{this.eventItemSelected.fire(this.oQueue.current());}else
{this.eventItemSelected.fire(this.input().val())}
this.popover().hide();}
else
{this.eventEnterAfterSelected.fire();}}
break;}
this.sOldInput=this.input().val();}
Eventful.DropDown.prototype.listenKeyUp=function(evt)
{var sInput=this.input().val();if(this.sOldInput!=sInput)
{this.usingQueue(false);this.eventInputChanged.fire(sInput);}}
Eventful.DropDown.prototype.listenMouseOver=function(evt)
{this.highlight(this.indexFromElement(evt.target));}
Eventful.DropDown.prototype.listenClickItem=function(evt)
{var i=this.indexFromElement(evt.target);this.oQueue.goto(i+1);this.eventItemSelected.fire(this.oQueue.current());this.popover().hide();}
Eventful.DropDown.prototype.listenMouseDown=function()
{this.bIgnoreBlur=true;}
Eventful.DropDown.prototype.listenMouseUp=function()
{this.input().focus();}
Eventful.TypeAhead=function(oArgs)
{this.id=oArgs.id;this.bSingular=!oArgs.multiple;this.sExcludeQuery=null;this.oItemsToExclude={};this.bOptions=oArgs.options;this.bRequired=oArgs.required;this.eventItemSelected=new Eventful.UIEvent();this.eventOptionSelected=new Eventful.UIEvent();this.eventItemRemoved=new Eventful.UIEvent();this.eventEnterConfirm=new Eventful.UIEvent();this.oDropDown=new Eventful.DropDown({exact:1,input:'#inp-'+this.id,popover:'#popover-'+this.id,minInputLength:oArgs.minInputLength!==undefined?oArgs.minInputLength:2});this.oDropDown.eventItemSelected.subscribe(this.listenItemSelected.bind(this));this.oDropDown.eventItemHighlighted.subscribe(this.listenItemHighlighted.bind(this));this.oDropDown.eventInputChanged.subscribe(this.listenInputChanged.bind(this));this.oDropDown.eventEnterAfterSelected.subscribe(this.listenEnterAfterSelected.bind(this));if(this.bRequired)
{this.oDropDown.eventBlur.subscribe(this.listenBlur.bind(this));}
$(this.setup.bind(this));}
Eventful.TypeAhead.prototype.typeahead=function()
{return this.jqTypeahead?this.jqTypeahead:this.jqTypeahead=$('#type-ahead-'+this.id);}
Eventful.TypeAhead.prototype.selected=function()
{return this.jqSelected?this.jqSelected:this.jqSelected=$('ul',this.typeahead());}
Eventful.TypeAhead.prototype.description=function()
{return this.jqDescription?this.jqDescription:this.jqDescription=$('#description-'+this.id);}
Eventful.TypeAhead.prototype.setup=function()
{Eventful.InactiveText(this.oDropDown.input());if(this.bSingular)
{this.oDropDown.input().css({width:'98%'});this.selected().hide();}
if(this.bOptions)
{this.renderResults();}
this.updateInputLength();}
Eventful.TypeAhead.prototype.updateInputLength=function()
{if(this.bSingular)return;var nWidth=this.typeahead().width()-this.selected().width()-10;this.oDropDown.input().css({width:nWidth+'px'});this.oDropDown.popover().css({left:this.selected().width()+'px'});}
Eventful.TypeAhead.prototype.removeExcluded=function(aResults){return aResults;}
Eventful.TypeAhead.prototype.setValue=function(sValue)
{if(sValue)
{this.oDropDown.input().val(sValue).removeClass('inactive');}else
{this.item(null);}}
Eventful.TypeAhead.prototype.reset=function()
{this.item(null);}
Eventful.TypeAhead.prototype.renderResults=function(sQuery,aResults)
{this.typeahead().removeClass('loading');if(this.bOptions)
{var aOptions=this.options();if(aOptions&&aOptions.length)
{aResults=(aResults||[]).concat(aOptions);}}
if(!aResults)return;aResults=this.removeExcluded(aResults);if(sQuery)
{var aSplit=$.grep(sQuery.split(/[\s,']+/),function(s){return s;});var rxBold=new RegExp('('+aSplit.join('|')+')','ig');}
if(aResults.length)
{this.oDropDown.popover().removeClass('empty');this.oDropDown.queue(new Eventful.CircularQ(aResults));this.oDropDown.list().empty();$.each(aResults,function(i,oItem)
{var sTitle=this.itemTitle(oItem);if(rxBold&&!oItem.option)
{sTitle=sTitle.replace(rxBold,'<b>$1</b>');}
var sDescription=this.itemDescription(oItem);var elItem=$('<li>').
addClass('click-result').
html(sTitle+(sDescription?'<p class="diminished">'+sDescription+'</p>':'')).
appendTo(this.oDropDown.list());if(!i)elItem.addClass(i?'':'highlight');if(this.itemId)
{var sItemID=this.itemId(oItem);if(sItemID)elItem.attr('id','type-ahead-'+this.id+'-'+sItemID);}
if(oItem.option)elItem.addClass('option');if(i==0)elItem.addClass('first');}.bind(this));}else
{this.oDropDown.popover().addClass('empty');this.oDropDown.queue(null);this.oDropDown.list().empty();}
if(this.oDropDown.bHasFocus)
{this.oDropDown.popover().show();}}
Eventful.TypeAhead.prototype.item=function(oItem)
{if(oItem===null)
{this.description().hide();this.oDropDown.reset();this.renderResults();}else if(oItem)
{var sTitle=this.itemTitle(oItem);var sDescription=this.itemDescription(oItem);if(this.bSingular)
{this.setValue(sTitle);if(sDescription)
{this.description().html(sDescription).show().removeClass('hidden');}else
{this.description().hide();}}else
{this.oDropDown.input().css({width:0}).val('');this.oDropDown.list().empty();var elItem=$('<li>'+sTitle+' <span class="faded delete_box click-remove">X</span></li>').
appendTo(this.selected());elItem.find('.click-remove').click(this.listenClickRemove.bind(this,elItem,oItem));this.updateInputLength();}}
if(typeof oItem!=='undefined')this.oItem=oItem;return this.oItem;}
Eventful.TypeAhead.prototype.listenBlur=function()
{if(!this.bRequired||!this.oDropDown.input().is(':visible'))return;var oItem=this.item();var oQueue=this.oDropDown.oQueue;if(oQueue&&oQueue.queue[0]&&!oQueue.queue[0].option&&(oQueue.iter==0||!oItem))
{this.item(oQueue.queue[0]);this.eventItemSelected.fire(oQueue.queue[0]);}else if(oItem)
{this.item(oItem);}}
Eventful.TypeAhead.prototype.listenItemSelected=function(oItem)
{if(oItem.option)
{this.eventOptionSelected.fire(oItem);}else
{this.item(oItem);this.eventItemSelected.fire(oItem);Eventful.InactiveText.listenFocus({target:this.oDropDown.input()});this.oDropDown.input().select();}}
Eventful.TypeAhead.prototype.listenEnterAfterSelected=function()
{if(this.item())
{this.eventEnterConfirm.fire(this.item());}}
Eventful.TypeAhead.prototype.listenItemHighlighted=function(oItem)
{if(!oItem.option)
{this.item(oItem);}}
Eventful.TypeAhead.prototype.listenInputChanged=function(sInput)
{this.description().hide();if(!this.oDropDown.input().hasClass('inactive')&&sInput.length>1)
{this.typeahead().addClass('loading');this.search(sInput);}else
{this.oDropDown.popover().hide();}}
Eventful.TypeAhead.prototype.listenClickRemove=function(elItem,oItem,evt)
{$(elItem).remove();this.updateInputLength();this.eventItemRemoved.fire(oItem);}
Eventful.TypeAhead.prototype.listenServerResponse=function(sQuery,oResponse)
{var aResults=(oResponse||{}).results||[];this.renderResults(sQuery,aResults);}
String.prototype.truncate=function(n,suffix)
{if(!this.length||!n)return this;suffix=suffix||'...';if(this.length>n)
{return this.substring(0,n)+suffix;}
else{return this.substring(0);}}
String.prototype.append=function(sAdd,sSep)
{return this+((this.length)?sSep:'')+sAdd;}
String.prototype.trim=function()
{return this.replace(/(^\s+|\s+$)/g,'');}
String.prototype.lpad=function(n,sPad)
{if(n&&this.length<n)
{return(sPad+this).lpad(n,sPad);}else
{return this;}}
String.prototype.commify=function()
{return this.replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,");}
String.prototype.uppercaseFirst=function()
{return this.replace(/\b(\w)/g,function(_,m)
{return m.toUpperCase();});}
String.prototype.surplant=function(O)
{return this.replace(/\{(\w+)\}/g,function(a,b){var r=O[b];return typeof r==="string"?r:a;});}
Eventful.LocationTypeAhead=function(oArgs)
{this.nTruncate=oArgs.truncate||oArgs.length||64;this.sExclude=oArgs.exclude||'';this.bBubbleUp=oArgs.bubble_up||'';Eventful.TypeAhead.call(this,oArgs);this.eventLocationPosted=new Eventful.UIEvent();if(oArgs.post)
{this.eventItemSelected.subscribe(this.listenLocationSelected.bind(this));}}.mixin(Eventful.TypeAhead);Eventful.LocationTypeAhead.prototype.itemTitle=function(oLocation)
{var aSplit=this.splitLines(oLocation);if(aSplit)
{return aSplit[1].trim().truncate(this.nTruncate);}
return oLocation.pretty_name.truncate(this.nTruncate);}
Eventful.LocationTypeAhead.prototype.itemDescription=function(oLocation)
{var aSplit=this.splitLines(oLocation);if(aSplit)
{return aSplit[2].trim().truncate(this.nTruncate);}}
Eventful.LocationTypeAhead.prototype.splitLines=function(oLocation)
{return oLocation.pretty_name.match(/^(.*)\((.*)\)$/);}
Eventful.LocationTypeAhead.prototype.itemId=function(oLocation)
{return oLocation.location_type+'-'+oLocation.location_id;}
Eventful.LocationTypeAhead.prototype.search=function(sQuery)
{$.get('/json/tools/location/typedown',{location:sQuery,destination_key:'results',recent:1,bubble_up:this.bBubbleUp,exclude:this.sExclude},this.listenServerResponse.bind(this,sQuery),'json');}.slow(500);Eventful.LocationTypeAhead.prototype.listenLocationSelected=function(oLocation)
{$.post('/json/tools/location',{location_type:oLocation.location_type,location_id:oLocation.location_id,input_token:'save'},this.listenLocationPosted.bind(this,oLocation),'json');}
Eventful.LocationTypeAhead.prototype.listenLocationPosted=function(oLocation,oResponse)
{this.eventLocationPosted.fire(oLocation,oResponse);}
Eventful.LocationTypeAhead.prototype.options=function()
{return Eventful.LocationTypeAhead.options;}
Eventful.LocationTypeAhead.options=[{pretty_name:'Worldwide',option:1,worldwide:1,svid:'V0-001-000000001-8'}];Eventful.PopoverChangeLocation=function(oArgs)
{Eventful.Popover.call(this,'#popover-change-location',$.extend({width:250},oArgs));this.bPost=typeof oArgs.post=='undefined'?true:oArgs.post;this.sInputToken=oArgs.token;this.eventLocationChanged=new Eventful.UIEvent();this.oValidator=new Eventful.FormVal(this.find('#location-form'));this.oValidator.addRule('location-search',{required:1,message:'Please enter a location.'});this.oValidator.eventPassValid.subscribe(this.listenLocationValidated.bind(this));this.oValidator.eventFailValid.subscribe(this.listenLocationInvalid.bind(this));if(this.popover().hasClass('guessed'))
{this.swapTopAndBottom();}
this.eventShow.subscribe(this.listenShow.bind(this));this.oLocationTypeAhead=new Eventful.LocationTypeAhead({id:'location-search',required:1,exclude:['place_id'],length:28});this.oLocationTypeAhead.eventItemSelected.subscribe(this.changeLocation.bind(this));if(window.navigator&&navigator.geolocation)
{this.find('.geolocate')
.show()
.click(this.listenClickGeoLocate.bind(this));}}.mixin(Eventful.Popover);Eventful.PopoverChangeLocation.prototype.updateLocations=function(aLocales,oCurrentLocale)
{this.find('#location-form').removeClass('loading');this.find('#location-search').val('');this.find('#location-form').removeClass('has-error');this.find('#location-form').removeClass('show-errors');if(aLocales&&oCurrentLocale)
{this.aLocales=aLocales;var bFoundCurrent=false;if(this.sInputToken!='demand_flow'&&oCurrentLocale.pretty_name!='Worldwide')
{aLocales.push({pretty_name:'Worldwide',location_type:'worldwide',location_id:'worldwide'});}
this.find('#locations-list').empty();$.each(aLocales,function(_,oLocale)
{if(oLocale.location_type==oCurrentLocale.location_type&&oLocale.location_id==oCurrentLocale.location_id)
{oLocale.current=true;bFoundCurrent=true;}else
{oLocale.current=false;}
this.addLocationItem(oLocale);}.bind(this));if(!bFoundCurrent)
{oCurrentLocale.current=true;this.addLocationItem(oCurrentLocale);if(oCurrentLocale.pretty_name!='Worldwide')
{this.aLocales.push(oCurrentLocale);}}}
if(this.popover().hasClass('guessed')&&!oCurrentLocale.geo_ip_guess)
{this.popover().removeClass('guessed');this.swapTopAndBottom();}}
Eventful.PopoverChangeLocation.prototype.swapTopAndBottom=function()
{var elBody=this.find('.popbd:first')
elBody.children(':first').remove().appendTo(elBody);}
Eventful.PopoverChangeLocation.prototype.addLocationItem=function(oLocale)
{var elItem=$('\
    <li>\
      <span class="link-arrow">\
        <span class="title">\
          '+oLocale.pretty_name+'\
          <span class="progress"></span>\
        </span>\
      </span>\
    </li>\
  ').appendTo(this.find('#locations-list'));if(oLocale.current)
{elItem.addClass('current');}else
{elItem.find('.title')
.addClass('fakelink')
.click(this.listenLocationClick.bind(this,elItem,oLocale));}
if(oLocale.pretty_name=='Worldwide')
{elItem.find('.title').attr({id:'location-worldwide'});}}
Eventful.PopoverChangeLocation.prototype.changeLocation=function(oLocale,bFire)
{if(this.bPost)
{this.bLoading=true;$.post('/json/tools/location',{location_type:oLocale.location_type,location_id:oLocale.location_id,input_token:this.sInputToken,path:window.location.pathname+window.location.search},this.listenChangeLocationServerResponse.bind(this,oLocale,bFire),'json');}else
{this.updateLocations(this.aLocales,oLocale);this.eventLocationChanged.fire({locale:oLocale});}}
Eventful.PopoverChangeLocation.prototype.listenShow=function()
{this.show();this.oLocationTypeAhead.oDropDown.input().focus();if(!this.bLoaded&&!this.bLoading)
{$.get('/json/tools/location','?'+new Date().getTime(),this.listenGetLocationsServerResponse.bind(this),'json');}}
Eventful.PopoverChangeLocation.prototype.listenClickGeoLocate=function()
{navigator.geolocation.getCurrentPosition(this.listenGeoLocate.bind(this));}
Eventful.PopoverChangeLocation.prototype.listenGeoLocate=function(oPosition)
{if(oPosition&&oPosition.coords){$.getJSON('/json/tools/location/latlong',{latitude:oPosition.coords.latitude,longitude:oPosition.coords.longitude},function(oResponse)
{if(oResponse.location)
{this.changeLocation(oResponse.location);}}.bind(this))}}
Eventful.PopoverChangeLocation.prototype.listenChangeLocationServerResponse=function(oLocale,bFire,oResponse)
{this.bLoaded=true;this.bLoading=false;var aLocales=oResponse.saved_locations||oResponse.recent_locations;this.updateLocations(aLocales,oLocale);this.close();if(bFire||typeof bFire=='undefined')
{this.eventLocationChanged.fire({locale:oLocale,response:oResponse});}}
Eventful.PopoverChangeLocation.prototype.listenGetLocationsServerResponse=function(oResponse)
{this.bLoaded=true;var aLocales=oResponse.saved_locations||oResponse.recent_locations;var oCurrentLocale=oResponse.current;this.updateLocations(aLocales,oCurrentLocale);this.show();}
Eventful.PopoverChangeLocation.prototype.listenLocationClick=function(elItem,oLocale)
{if(!this.bLoading)
{elItem.addClass('loading');this.changeLocation(oLocale);}}
Eventful.PopoverChangeLocation.prototype.listenLocationValidated=function()
{this.oValidator.initialize();var oLocale=this.oLocationTypeAhead.item();if(oLocale)
{this.changeLocation(oLocale);}}
Eventful.PopoverChangeLocation.prototype.listenLocationInvalid=function()
{this.find('#location-form').removeClass('loading');}
Eventful.charts={};Eventful.charts.SubscribeToCampaign={};Eventful.charts.SubscribeToCampaign.elCampaign="top-50";Eventful.charts.SubscribeToCampaign.listenClick=function(evt)
{var elCampaign="top-50";CSS.addClass(DOM.get("subscribe-top-50"),"loading");Eventful.charts.SubscribeToCampaign.doSubscribe(elCampaign);Events.preventDefault(evt);return false;}
Eventful.charts.SubscribeToCampaign.listenServerSuccess=function(R)
{CSS.remClass(DOM.get("subscribe-top-50"),"loading");CSS.addClass(DOM.get("subscribe-click-top-50"),"hidden");CSS.remClass(DOM.get("unsubscribe-click-top-50"),"hidden");}
Eventful.charts.SubscribeToCampaign.doSubscribe=function(elCampaign)
{if(elCampaign){var sVars="campaign_key="+elCampaign;Net.post({url:"/json/tools/users/prefs/campaign/opt-in",vars:sVars,onsuccess:Eventful.charts.SubscribeToCampaign.listenServerSuccess});}}
Eventful.charts.loginRequiredHandlers=function()
{if(Eventful.Session.userName){Events.addHandler("subscribe-click-top-50","click",Eventful.charts.SubscribeToCampaign.listenClick);Events.addHandler("subscribe-click-top-50-img","click",Eventful.charts.SubscribeToCampaign.listenClick);}
else
{var oSigninRequired=new Eventful.PanelSigninRequired({featureIds:["subscribe-click-top-50","subscribe-click-top-50-img",]});}};