(function($){$.fn.mouseDownButton=function(options){var opts=$.extend({},$.fn.mouseDownButton.defaults,options);$(this).live("mousedown",function(){if(opts.useCustom)$(this).css(opts.downStateCss);else $(this).addClass("down")}).live("mouseup",function(){if(opts.useCustom)$(this).css(opts.upStateCss);else $(this).removeClass("down")})};$.fn.mouseDownButton.defaults={useCustom:false,downStateCss:{},upStateCss:{}};$(function(){$(".hasDownState").mouseDownButton();$(".purchase").mouseDownButton({useCustom:true,
downStateCss:{"background-position":"-378px 0"},upStateCss:{"background-position":"0 0"}})})})(jQuery);
(function($){$(document).ready(function(){if(Modernizr.input.placeholder)return;$("input[placeholder]").not(".field").each(function(index){var $input=$(this);var text=$input.attr("placeholder");$input.parent().css("position","relative");$input.before("\x3cdiv class\x3d'placeholder invisible' style\x3d'position:absolute;border:none;text-align:left;background:transparent;'\x3e\x3c/div\x3e");var $placeholder=$input.parent().children(".placeholder");$placeholder.css("font-size",$input.css("font-size"));
$placeholder.css("width",$input.css("width"));$placeholder.css("height",$input.css("height"));$placeholder.css("line-height",$input.css("height"));$placeholder.css("padding-top",$input.css("padding-top"));$placeholder.css("padding-left",$input.css("padding-left"));$placeholder.css("padding-right",$input.css("padding-right"));$placeholder.css("padding-bottom",$input.css("padding-bottom"));$placeholder.text(text);if(text!=""&&$input.val()=="")$placeholder.removeClass("invisible");$input.bind("mousedown focus",
function(){$placeholder.addClass("invisible")});$placeholder.mousedown(function(){$placeholder.addClass("invisible");$input.focus()});$input.blur(function(){if($input.val()=="")$placeholder.removeClass("invisible");else $placeholder.addClass("invisible");$placeholder.text($input.attr("placeholder"))})})})})(jQuery);
if(typeof deconcept=="undefined")var deconcept=new Object;if(typeof deconcept.util=="undefined")deconcept.util=new Object;if(typeof deconcept.SWFObjectUtil=="undefined")deconcept.SWFObjectUtil=new Object;
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById)return;this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object;this.variables=new Object;this.attributes=new Array;if(_1)this.setAttribute("swf",_1);if(id)this.setAttribute("id",id);if(w)this.setAttribute("width",w);if(h)this.setAttribute("height",h);if(_5)this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));this.installedVer=
deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7)deconcept.SWFObject.doPrepUnload=true;if(c)this.addParam("bgcolor",c);var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=_8?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9)this.setAttribute("redirectUrl",_9)};
deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true)},setAttribute:function(_e,_f){this.attributes[_e]=_f},getAttribute:function(_10){return this.attributes[_10]},addParam:function(_11,_12){this.params[_11]=_12},getParams:function(){return this.params},addVariable:function(_13,_14){this.variables[_13]=_14},getVariable:function(_15){return this.variables[_15]},getVariables:function(){return this.variables},
getVariablePairs:function(){var _16=new Array;var key;var _18=this.getVariables();for(key in _18)_16[_16.length]=key+"\x3d"+_18[key];return _16},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath)}_19='\x3cembed type\x3d"application/x-shockwave-flash" src\x3d"'+this.getAttribute("swf")+'" width\x3d"'+this.getAttribute("width")+
'" height\x3d"'+this.getAttribute("height")+'" style\x3d"'+this.getAttribute("style")+'"';_19+=' id\x3d"'+this.getAttribute("id")+'" name\x3d"'+this.getAttribute("id")+'" ';var _1a=this.getParams();for(var key in _1a)_19+=[key]+'\x3d"'+_1a[key]+'" ';var _1c=this.getVariablePairs().join("\x26");if(_1c.length>0)_19+='flashvars\x3d"'+_1c+'"';_19+="/\x3e"}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath)}_19='\x3cobject id\x3d"'+
this.getAttribute("id")+'" classid\x3d"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width\x3d"'+this.getAttribute("width")+'" height\x3d"'+this.getAttribute("height")+'" style\x3d"'+this.getAttribute("style")+'"\x3e';_19+='\x3cparam name\x3d"movie" value\x3d"'+this.getAttribute("swf")+'" /\x3e';var _1d=this.getParams();for(key in _1d)_19+='\x3cparam name\x3d"'+key+'" value\x3d"'+_1d[key]+'" /\x3e';var _1f=this.getVariablePairs().join("\x26");if(_1f.length>0)_19+='\x3cparam name\x3d"flashvars" value\x3d"'+
_1f+'" /\x3e';_19+="\x3c/object\x3e"}return _19},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title)}}if(this.skipDetect||
this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=typeof _20=="string"?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true}else if(this.getAttribute("redirectUrl")!="")document.location.replace(this.getAttribute("redirectUrl"));return false}};
deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description)_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."))}else if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;for(var _26=3;axo;)try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);
_23=new deconcept.PlayerVersion([_26,0,0])}catch(e){axo=null}}else{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(e$$0){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always"}catch(e$$1){if(_23.major==6)return _23}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e$$2){}}if(axo!=null)_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","))}return _23};
deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major)return false;if(this.major>fv.major)return true;if(this.minor<fv.minor)return false;if(this.minor>fv.minor)return true;if(this.rev<fv.rev)return false;return true};
deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null)return q;if(q){var _2d=q.substring(1).split("\x26");for(var i=0;i<_2d.length;i++)if(_2d[i].substring(0,_2d[i].indexOf("\x3d"))==_2b)return _2d[i].substring(_2d[i].indexOf("\x3d")+1)}return""}};
deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i])if(typeof _2f[i][x]=="function")_2f[i][x]=function(){}}};
if(deconcept.SWFObject.doPrepUnload)if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs)};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true}if(!document.getElementById&&document.all)document.getElementById=function(id){return document.all[id]};var getQueryParamValue=deconcept.util.getRequestParameter;
var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;
if(typeof fitbit=="undefined")var fitbit={};fitbit.namespace=function(){var a=arguments;var o=null;var i;var j;var d;for(i=0;i<a.length;i=i+1){d=a[i].split(".");o=fitbit;for(j=d[0]=="fitbit"?1:0;j<d.length;j=j+1){o[d[j]]=o[d[j]]||{};o=o[d[j]]}}return o};
var JSON;if(!JSON)JSON={};
(function(){function f(n){return n<10?"0"+n:n}function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i;var k;var v;var length;var mind=gap;var partial;var value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function")value=value.toJSON(key);if(typeof rep==="function")value=
rep.call(holder,key,value);switch(typeof value){case "string":return quote(value);case "number":return isFinite(value)?String(value):"null";case "boolean":case "null":return String(value);case "object":if(!value)return"null";gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1)partial[i]=str(i,value)||"null";v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&
typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1)if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v)partial.push(quote(k)+(gap?": ":":")+v)}}else for(k in value)if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v)partial.push(quote(k)+(gap?": ":":")+v)}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?
this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;var escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
var gap;var indent;var meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};var rep;if(typeof JSON.stringify!=="function")JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number")for(i=0;i<space;i+=1)indent+=" ";else if(typeof space==="string")indent=space;rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number"))throw new Error("JSON.stringify");return str("",{"":value})};
if(typeof JSON.parse!=="function")JSON.parse=function(text,reviver){function walk(holder,key){var k;var v;var value=holder[key];if(value&&typeof value==="object")for(k in value)if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined)value[k]=v;else delete value[k]}return reviver.call(holder,key,value)}var j;text=String(text);cx.lastIndex=0;if(cx.test(text))text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse");}})();
/*
 
 jQuery Tools @VERSION Tooltip - UI essentials

 NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.

 http://flowplayer.org/tools/tooltip/

 Since: November 2008
 Date: @DATE 
*/
(function($){function getPosition(trigger,tip,conf){var top=conf.relative?trigger.position().top:trigger.offset().top;var left=conf.relative?trigger.position().left:trigger.offset().left;var pos=conf.position[0];top-=tip.outerHeight(false)-conf.offset[0];left+=trigger.outerWidth(false)+conf.offset[1];if(/iPad/i.test(navigator.userAgent))top-=$(window).scrollTop();var height=tip.outerHeight(false)+trigger.outerHeight(false);if(pos=="center")top+=height/2;if(pos=="bottom")top+=height;pos=conf.position[1];
var width=tip.outerWidth(false)+trigger.outerWidth(false);if(pos=="center")left-=width/2;if(pos=="left")left-=width;return{top:top,left:left}}function Tooltip(trigger,conf){var self=this;var fire=trigger.add(self);var tip;var timer=0;var pretimer=0;var title=trigger.attr("title");var tipAttr=trigger.attr("data-tooltip");var effect=effects[conf.effect];var shown;var isInput=trigger.is(":input");var isWidget=isInput&&trigger.is(":checkbox, :radio, select, :button, :submit");var type=trigger.attr("type");
var evt=conf.events[type]||conf.events[isInput?isWidget?"widget":"input":"def"];if(!effect)throw'Nonexistent effect "'+conf.effect+'"';evt=evt.split(/,\s*/);if(evt.length!=2)throw"Tooltip: bad events configuration for "+type;trigger.bind(evt[0],function(e){clearTimeout(timer);if(conf.predelay)pretimer=setTimeout(function(){self.show(e)},conf.predelay);else self.show(e)}).bind(evt[1],function(e){clearTimeout(pretimer);if(conf.delay)timer=setTimeout(function(){self.hide(e)},conf.delay);else self.hide(e)});
if(title&&conf.cancelDefault){trigger.removeAttr("title");trigger.data("title",title)}$.extend(self,{show:function(e$$0){if(!tip){if(tipAttr)tip=$(tipAttr);else if(conf.tip)tip=$(conf.tip).eq(0);else if(title)tip=$(conf.layout).addClass(conf.tipClass).appendTo(document.body).hide().append(title);else{tip=trigger.next();if(!tip.length)tip=trigger.parent().next()}if(!tip.length)throw"Cannot find tooltip for "+trigger;}if(self.isShown())return self;tip.stop(true,true);var pos=getPosition(trigger,tip,
conf);if(conf.tip)tip.html(trigger.data("title"));e$$0=e$$0||$.Event();e$$0.type="onBeforeShow";fire.trigger(e$$0,[pos]);if(e$$0.isDefaultPrevented())return self;pos=getPosition(trigger,tip,conf);tip.css({position:"absolute",top:pos.top,left:pos.left});shown=true;effect[0].call(self,function(){e$$0.type="onShow";shown="full";fire.trigger(e$$0)});var event=conf.events.tooltip.split(/,\s*/);if(!tip.data("__set")){tip.bind(event[0],function(){clearTimeout(timer);clearTimeout(pretimer)});if(event[1]&&
!trigger.is("input:not(:checkbox, :radio), textarea"))tip.bind(event[1],function(e){if(e.relatedTarget!=trigger[0])trigger.trigger(evt[1].split(" ")[0])});tip.data("__set",true)}return self},hide:function(e){if(!tip||!self.isShown())return self;e=e||$.Event();e.type="onBeforeHide";fire.trigger(e);if(e.isDefaultPrevented())return;shown=false;effects[conf.effect][1].call(self,function(){e.type="onHide";fire.trigger(e)});return self},isShown:function(fully){return fully?shown=="full":shown},getConf:function(){return conf},
getTip:function(){return tip},getTrigger:function(){return trigger}});$.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(i,name){if($.isFunction(conf[name]))$(self).bind(name,conf[name]);self[name]=function(fn){if(fn)$(self).bind(name,fn);return self}})}$.tools=$.tools||{version:"@VERSION"};$.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,position:["top","center"],offset:[0,0],relative:false,cancelDefault:true,events:{def:"mouseenter,mouseleave",
input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"\x3cdiv/\x3e",tipClass:"tooltip"},addEffect:function(name,loadFn,hideFn){effects[name]=[loadFn,hideFn]}};var effects={toggle:[function(done){var conf=this.getConf();var tip=this.getTip();var o=conf.opacity;if(o<1)tip.css({opacity:o});tip.show();done.call()},function(done){this.getTip().hide();done.call()}],fade:[function(done){var conf=this.getConf();this.getTip().fadeTo(conf.fadeInSpeed,conf.opacity,
done)},function(done){this.getTip().fadeOut(this.getConf().fadeOutSpeed,done)}]};$.fn.tooltip=function(conf){var api=this.data("tooltip");if(api)return api;conf=$.extend(true,{},$.tools.tooltip.conf,conf);if(typeof conf.position=="string")conf.position=conf.position.split(/,?\s/);this.each(function(){api=new Tooltip($(this),conf);$(this).data("tooltip",api)});return conf.api?api:this}})(jQuery);
/*
 
 jQuery Tools @VERSION / Tooltip Slide Effect

 NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.

 http://flowplayer.org/tools/tooltip/slide.html

 Since: September 2009
 Date: @DATE 
*/
(function($){var t=$.tools.tooltip;$.extend(t.conf,{direction:"up",bounce:false,slideOffset:10,slideInSpeed:200,slideOutSpeed:200,slideFade:!$.browser.msie});var dirs={up:["-","top"],down:["+","top"],left:["-","left"],right:["+","left"]};t.addEffect("slide",function(done){var conf=this.getConf();var tip=this.getTip();var params=conf.slideFade?{opacity:conf.opacity}:{};var dir=dirs[conf.direction]||dirs.up;params[dir[1]]=dir[0]+"\x3d"+conf.slideOffset;if(conf.slideFade)tip.css({opacity:0});tip.show().animate(params,
conf.slideInSpeed,done)},function(done){var conf=this.getConf();var offset=conf.slideOffset;var params=conf.slideFade?{opacity:0}:{};var dir=dirs[conf.direction]||dirs.up;var sign=""+dir[0];if(conf.bounce)sign=sign=="+"?"-":"+";params[dir[1]]=sign+"\x3d"+offset;this.getTip().animate(params,conf.slideOutSpeed,function(){$(this).hide();done.call()})})})(jQuery);
/*
 
 jQuery Tools @VERSION Tabs- The basics of UI design.

 NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.

 http://flowplayer.org/tools/tabs/

 Since: November 2008
 Date: @DATE 
*/
(function($){function Tabs(root,paneSelector,conf){var self=this;var trigger=root.add(this);var tabs=root.find(conf.tabs);var panes=paneSelector.jquery?paneSelector:root.children(paneSelector);var current;if(!tabs.length)tabs=root.children();if(!panes.length)panes=root.parent().find(paneSelector);if(!panes.length)panes=$(paneSelector);$.extend(this,{click:function(i,e){var tab=tabs.eq(i);if(typeof i=="string"&&i.replace("#","")){tab=tabs.filter("[href*\x3d"+i.replace("#","")+"]");i=Math.max(tabs.index(tab),
0)}if(conf.rotate){var last=tabs.length-1;if(i<0)return self.click(last,e);if(i>last)return self.click(0,e)}if(!tab.length){if(current>=0)return self;i=conf.initialIndex;tab=tabs.eq(i)}if(i===current)return self;e=e||$.Event();e.type="onBeforeClick";trigger.trigger(e,[i]);if(e.isDefaultPrevented())return;effects[conf.effect].call(self,i,function(){e.type="onClick";trigger.trigger(e,[i])});current=i;tabs.removeClass(conf.current);tab.addClass(conf.current);return self},getConf:function(){return conf},
getTabs:function(){return tabs},getPanes:function(){return panes},getCurrentPane:function(){return panes.eq(current)},getCurrentTab:function(){return tabs.eq(current)},getIndex:function(){return current},next:function(){return self.click(current+1)},prev:function(){return self.click(current-1)},destroy:function(){tabs.unbind(conf.event).removeClass(conf.current);panes.find("a[href^\x3d#]").unbind("click.T");return self}});$.each("onBeforeClick,onClick".split(","),function(i,name){if($.isFunction(conf[name]))$(self).bind(name,
conf[name]);self[name]=function(fn){if(fn)$(self).bind(name,fn);return self}});if(conf.history&&$.fn.history){$.tools.history.init(tabs);conf.event="history"}tabs.each(function(i){$(this).bind(conf.event,function(e){self.click(i,e);return e.preventDefault()})});panes.find("a[href^\x3d#]").bind("click.T",function(e){self.click($(this).attr("href"),e)});if(location.hash&&conf.tabs=="a"&&root.find("[href\x3d"+location.hash+"]").length)self.click(location.hash);else if(conf.initialIndex===0||conf.initialIndex>
0)self.click(conf.initialIndex)}$.tools=$.tools||{version:"@VERSION"};$.tools.tabs={conf:{tabs:"a",current:"current",onBeforeClick:null,onClick:null,effect:"default",initialIndex:0,event:"click",rotate:false,history:false},addEffect:function(name,fn){effects[name]=fn}};var effects={"default":function(i,done){this.getPanes().hide().eq(i).show();done.call()},fade:function(i,done){var conf=this.getConf();var speed=conf.fadeOutSpeed;var panes=this.getPanes();if(speed)panes.fadeOut(speed);else panes.hide();
panes.eq(i).fadeIn(conf.fadeInSpeed,done)},slide:function(i,done){this.getPanes().slideUp(200);this.getPanes().eq(i).slideDown(400,done)},ajax:function(i,done){this.getPanes().eq(0).load(this.getTabs().eq(i).attr("href"),done)}};var w;$.tools.tabs.addEffect("horizontal",function(i,done){if(!w)w=this.getPanes().eq(0).width();this.getCurrentPane().animate({width:0},function(){$(this).hide()});this.getPanes().eq(i).animate({width:w},function(){$(this).show();done.call()})});$.fn.tabs=function(paneSelector,
conf){var el=this.data("tabs");if(el){el.destroy();this.removeData("tabs")}if($.isFunction(conf))conf={onBeforeClick:conf};conf=$.extend({},$.tools.tabs.conf,conf);this.each(function(){el=new Tabs($(this),paneSelector,conf);$(this).data("tabs",el)});return conf.api?el:this}})(jQuery);
/*
 
 jQuery Tools @VERSION Scrollable - New wave UI design

 NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.

 http://flowplayer.org/tools/scrollable.html

 Since: March 2008
 Date: @DATE 
*/
(function($){function dim(el,key){var v=parseInt(el.css(key),10);if(v)return v;var s=el[0].currentStyle;return s&&s.width&&parseInt(s.width,10)}function find(root,query){var el=$(query);return el.length<2?el:root.parent().find(query)}function Scrollable(root,conf){var self=this;var fire=root.add(self);var itemWrap=root.children();var index=0;var vertical=conf.vertical;if(!current)current=self;if(itemWrap.length>1)itemWrap=$(conf.items,root);$.extend(self,{getConf:function(){return conf},getIndex:function(){return index},
getSize:function(){return self.getItems().size()},getNaviButtons:function(){return prev.add(next)},getRoot:function(){return root},getItemWrap:function(){return itemWrap},getItems:function(){return itemWrap.children(conf.item).not("."+conf.clonedClass)},move:function(offset,time){return self.seekTo(index+offset,time)},next:function(time){return self.move(1,time)},prev:function(time){return self.move(-1,time)},begin:function(time){return self.seekTo(0,time)},end:function(time){return self.seekTo(self.getSize()-
1,time)},focus:function(){current=self;return self},addItem:function(item){item=$(item);if(!conf.circular)itemWrap.append(item);else{itemWrap.children("."+conf.clonedClass+":last").before(item);itemWrap.children("."+conf.clonedClass+":first").replaceWith(item.clone().addClass(conf.clonedClass))}fire.trigger("onAddItem",[item]);return self},seekTo:function(i,time,fn){if(!i.jquery)i*=1;if(conf.circular&&i===0&&index==-1&&time!==0)return self;if(!conf.circular&&i<0||i>self.getSize()||i<-1)return self;
var item=i;if(i.jquery)i=self.getItems().index(i);else item=self.getItems().eq(i);var e=$.Event("onBeforeSeek");if(!fn){fire.trigger(e,[i,time]);if(e.isDefaultPrevented()||!item.length)return self}var props=vertical?{top:-item.position().top}:{left:-item.position().left};index=i;current=self;if(time===undefined)time=conf.speed;itemWrap.animate(props,time,conf.easing,fn||function(){fire.trigger("onSeek",[i])});return self}});$.each(["onBeforeSeek","onSeek","onAddItem"],function(i,name){if($.isFunction(conf[name]))$(self).bind(name,
conf[name]);self[name]=function(fn){if(fn)$(self).bind(name,fn);return self}});if(conf.circular){var cloned1=self.getItems().slice(-1).clone().prependTo(itemWrap);var cloned2=self.getItems().eq(1).clone().appendTo(itemWrap);cloned1.add(cloned2).addClass(conf.clonedClass);self.onBeforeSeek(function(e,i,time){if(e.isDefaultPrevented())return;if(i==-1){self.seekTo(cloned1,time,function(){self.end(0)});return e.preventDefault()}else if(i==self.getSize())self.seekTo(cloned2,time,function(){self.begin(0)})});
self.seekTo(0,0,function(){})}var prev=find(root,conf.prev).click(function(){self.prev()});var next=find(root,conf.next).click(function(){self.next()});if(!conf.circular&&self.getSize()>1){self.onBeforeSeek(function(e,i){setTimeout(function(){if(!e.isDefaultPrevented()){prev.toggleClass(conf.disabledClass,i<=0);next.toggleClass(conf.disabledClass,i>=self.getSize()-1)}},1)});if(!conf.initialIndex)prev.addClass(conf.disabledClass)}if(conf.mousewheel&&$.fn.mousewheel)root.mousewheel(function(e,delta){if(conf.mousewheel){self.move(delta<
0?1:-1,conf.wheelSpeed||50);return false}});if(conf.touch){var touch={};itemWrap[0].ontouchstart=function(e){var t=e.touches[0];touch.x=t.clientX;touch.y=t.clientY};itemWrap[0].ontouchmove=function(e){if(e.touches.length==1&&!itemWrap.is(":animated")){var t=e.touches[0];var deltaX=touch.x-t.clientX;var deltaY=touch.y-t.clientY;self[vertical&&deltaY>0||!vertical&&deltaX>0?"next":"prev"]();e.preventDefault()}}}if(conf.keyboard)$(document).bind("keydown.scrollable",function(evt){if(!conf.keyboard||evt.altKey||
evt.ctrlKey||$(evt.target).is(":input"))return;if(conf.keyboard!="static"&&current!=self)return;var key=evt.keyCode;if(vertical&&(key==38||key==40)){self.move(key==38?-1:1);return evt.preventDefault()}if(!vertical&&(key==37||key==39)){self.move(key==37?-1:1);return evt.preventDefault()}});if(conf.initialIndex)self.seekTo(conf.initialIndex,0,function(){})}$.tools=$.tools||{version:"@VERSION"};$.tools.scrollable={conf:{activeClass:"active",circular:false,clonedClass:"cloned",disabledClass:"disabled",
easing:"swing",initialIndex:0,item:null,items:".items",keyboard:true,mousewheel:false,next:".next",prev:".prev",speed:400,vertical:false,touch:true,wheelSpeed:0}};var current;$.fn.scrollable=function(conf){var el=this.data("scrollable");if(el)return el;conf=$.extend({},$.tools.scrollable.conf,conf);this.each(function(){el=new Scrollable($(this),conf);$(this).data("scrollable",el)});return conf.api?el:this}})(jQuery);
/*
 
 jQuery Tools @VERSION / Scrollable Navigator

 NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.

 http://flowplayer.org/tools/scrollable/navigator.html

 Since: September 2009
 Date: @DATE 
*/
(function($){function find(root,query){var el=$(query);return el.length<2?el:root.parent().find(query)}var t=$.tools.scrollable;t.navigator={conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,idPrefix:null,history:false}};$.fn.navigator=function(conf){if(typeof conf=="string")conf={navi:conf};conf=$.extend({},t.navigator.conf,conf);var ret;this.each(function(){function doClick(el,i,e){api.seekTo(i);if(history){if(location.hash)location.hash=el.attr("href").replace("#","")}else return e.preventDefault()}
function els(){return navi.find(conf.naviItem||"\x3e *")}function addItem(i){var item=$("\x3c"+(conf.naviItem||"a")+"/\x3e").click(function(e){doClick($(this),i,e)}).attr("href","#"+i);if(i===0)item.addClass(cls);if(conf.indexed)item.text(i+1);if(conf.idPrefix)item.attr("id",conf.idPrefix+i);return item.appendTo(navi)}function doHistory(evt,hash){var el=els().eq(hash.replace("#",""));if(!el.length)el=els().filter("[href\x3d"+hash+"]");el.click()}var api=$(this).data("scrollable");var navi=conf.navi.jquery?
conf.navi:find(api.getRoot(),conf.navi);var buttons=api.getNaviButtons();var cls=conf.activeClass;var history=conf.history&&$.fn.history;if(api)ret=api;api.getNaviButtons=function(){return buttons.add(navi)};if(els().length)els().each(function(i){$(this).click(function(e){doClick($(this),i,e)})});else $.each(api.getItems(),function(i){addItem(i)});api.onBeforeSeek(function(e,index){setTimeout(function(){if(!e.isDefaultPrevented()){var el=els().eq(index);if(!e.isDefaultPrevented()&&el.length)els().removeClass(cls).eq(index).addClass(cls)}},
1)});api.onAddItem(function(e,item){item=addItem(api.getItems().index(item));if(history)item.history(doHistory)});if(history)els().history(doHistory)});return conf.api?ret:this}})(jQuery);
/*
 
 jQuery Tools @VERSION Overlay - Overlay base. Extend it.

 NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.

 http://flowplayer.org/tools/overlay/

 Since: March 2008
 Date: @DATE 
*/
(function($){function Overlay(trigger,conf){var self=this;var fire=trigger.add(self);var w=$(window);var closers;var overlay;var opened;var maskConf=$.tools.expose&&(conf.mask||conf.expose);var uid=Math.random().toString().slice(10);if(maskConf){if(typeof maskConf=="string")maskConf={color:maskConf};maskConf.closeOnClick=maskConf.closeOnEsc=false}var jq=conf.target||trigger.attr("rel");overlay=jq?$(jq):null||trigger;if(!overlay.length)throw"Could not find Overlay: "+jq;if(trigger&&trigger.index(overlay)==
-1)trigger.click(function(e){self.load(e);return e.preventDefault()});$.extend(self,{load:function(e$$0){if(self.isOpened())return self;var eff=effects[conf.effect];if(!eff)throw'Overlay: cannot find effect : "'+conf.effect+'"';if(conf.oneInstance)$.each(instances,function(){this.close(e$$0)});e$$0=e$$0||$.Event();e$$0.type="onBeforeLoad";fire.trigger(e$$0);if(e$$0.isDefaultPrevented())return self;opened=true;if(maskConf)$(overlay).expose(maskConf);var top=conf.top;var left=conf.left;var oWidth=overlay.outerWidth(true);
var oHeight=overlay.outerHeight(true);if(typeof top=="string")top=top=="center"?Math.max((w.height()-oHeight)/2,0):parseInt(top,10)/100*w.height();if(left=="center")left=Math.max((w.width()-oWidth)/2,0);eff[0].call(self,{top:top,left:left},function(){if(opened){e$$0.type="onLoad";fire.trigger(e$$0)}});if(maskConf&&conf.closeOnClick)$.mask.getMask().one("click",self.close);if(conf.closeOnClick)$(document).bind("click."+uid,function(e){if(!$(e.target).parents(overlay).length)self.close(e)});if(conf.closeOnEsc)$(document).bind("keydown."+
uid,function(e){if(e.keyCode==27)self.close(e)});return self},close:function(e){if(!self.isOpened())return self;e=e||$.Event();e.type="onBeforeClose";fire.trigger(e);if(e.isDefaultPrevented())return;opened=false;effects[conf.effect][1].call(self,function(){e.type="onClose";fire.trigger(e)});$(document).unbind("click."+uid).unbind("keydown."+uid);if(maskConf)$.mask.close();return self},getOverlay:function(){return overlay},getTrigger:function(){return trigger},getClosers:function(){return closers},
isOpened:function(){return opened},getConf:function(){return conf}});$.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(i,name){if($.isFunction(conf[name]))$(self).bind(name,conf[name]);self[name]=function(fn){if(fn)$(self).bind(name,fn);return self}});closers=overlay.find(conf.close||".close");if(!closers.length&&!conf.close){closers=$('\x3ca class\x3d"close"\x3e\x3c/a\x3e');overlay.prepend(closers)}closers.click(function(e){self.close(e)});if(conf.load)self.load()}$.tools=
$.tools||{version:"@VERSION"};$.tools.overlay={addEffect:function(name,loadFn,closeFn){effects[name]=[loadFn,closeFn]},conf:{close:null,closeOnClick:true,closeOnEsc:true,closeSpeed:"fast",effect:"default",fixed:true,left:"center",load:false,mask:null,oneInstance:true,speed:"normal",target:null,top:"10%"}};var instances=[];var effects={};$.tools.overlay.addEffect("default",function(pos,onLoad){var conf=this.getConf();var w=$(window);if(!conf.fixed){pos.top+=w.scrollTop();pos.left+=w.scrollLeft()}pos.position=
conf.fixed?"fixed":"absolute";this.getOverlay().css(pos).fadeIn(conf.speed,onLoad)},function(onClose){this.getOverlay().fadeOut(this.getConf().closeSpeed,onClose)});$.fn.overlay=function(conf){var el=this.data("overlay");if(el)return el;if($.isFunction(conf))conf={onBeforeLoad:conf};conf=$.extend(true,{},$.tools.overlay.conf,conf);this.each(function(){el=new Overlay($(this),conf);instances.push(el);$(this).data("overlay",el)});return conf.api?el:this}})(jQuery);
/*
 
 jQuery Tools @VERSION / Expose - Dim the lights

 NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.

 http://flowplayer.org/tools/toolbox/expose.html

 Since: Mar 2010
 Date: @DATE 
*/
(function($){function viewport(){if($.browser.msie){var d=$(document).height();var w=$(window).height();return[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,d-w<20?w:d]}return[$(document).width(),$(document).height()]}function call(fn){if(fn)return fn.call($.mask)}$.tools=$.tools||{version:"@VERSION"};var tool;tool=$.tools.expose={conf:{maskId:"exposeMask",loadSpeed:"slow",closeSpeed:"fast",closeOnClick:true,closeOnEsc:true,zIndex:9998,opacity:.8,startOpacity:0,
color:"#fff",onLoad:null,onClose:null}};var mask;var exposed;var loaded;var config;var overlayIndex;$.mask={load:function(conf,els){if(loaded)return this;if(typeof conf=="string")conf={color:conf};conf=conf||config;config=conf=$.extend($.extend({},tool.conf),conf);mask=$("#"+conf.maskId);if(!mask.length){mask=$("\x3cdiv/\x3e").attr("id",conf.maskId);$("body").append(mask)}var size=viewport();mask.css({position:"absolute",top:0,left:0,width:size[0],height:size[1],display:"none",opacity:conf.startOpacity,
zIndex:conf.zIndex});if(conf.color)mask.css("backgroundColor",conf.color);if(call(conf.onBeforeLoad)===false)return this;if(conf.closeOnEsc)$(document).bind("keydown.mask",function(e){if(e.keyCode==27)$.mask.close(e)});if(conf.closeOnClick)mask.bind("click.mask",function(e){$.mask.close(e)});$(window).bind("resize.mask",function(){$.mask.fit()});if(els&&els.length){overlayIndex=els.eq(0).css("zIndex");$.each(els,function(){var el=$(this);if(!/relative|absolute|fixed/i.test(el.css("position")))el.css("position",
"relative")});exposed=els.css({zIndex:Math.max(conf.zIndex+1,overlayIndex=="auto"?0:overlayIndex)})}mask.css({display:"block"}).fadeTo(conf.loadSpeed,conf.opacity,function(){$.mask.fit();call(conf.onLoad);loaded="full"});loaded=true;return this},close:function(){if(loaded){if(call(config.onBeforeClose)===false)return this;mask.fadeOut(config.closeSpeed,function(){call(config.onClose);if(exposed)exposed.css({zIndex:overlayIndex});loaded=false});$(document).unbind("keydown.mask");mask.unbind("click.mask");
$(window).unbind("resize.mask")}return this},fit:function(){if(loaded){var size=viewport();mask.css({width:size[0],height:size[1]})}},getMask:function(){return mask},isLoaded:function(fully){return fully?loaded=="full":loaded},getConf:function(){return config},getExposed:function(){return exposed}};$.fn.mask=function(conf){$.mask.load(conf);return this};$.fn.expose=function(conf){$.mask.load(conf,this);return this}})(jQuery);
/*
 WTFPL
 @contributor_license Dojo CLA
*/
(function(root){function MessageFormat(locale,pluralFunc){if(locale&&pluralFunc)MessageFormat.locale[locale]=pluralFunc;locale=locale||"en";pluralFunc=pluralFunc||MessageFormat.locale[locale];if(!pluralFunc)throw new Error("Plural Function not found for locale: "+locale);this.pluralFunc=pluralFunc;this.locale=locale}MessageFormat.locale={"en":function(n){if(n===1)return"one";return"other"},"en_us":function(){return this.en.apply(this,arguments)}};MessageFormat.SafeString=function(string){this.string=
string};MessageFormat.SafeString.prototype.toString=function(){return this.string.toString()};MessageFormat.Utils={numSub:function(string,key,depth){return string.replace(/^#|[^\\]#/g,function(m){var prefix=m&&m.length===2?m.charAt(0):"";return prefix+'" + (function(){ var x \x3d '+key+';\nif( isNaN(x) ){\nthrow new Error("MessageFormat: `"+lastkey_'+depth+'+"` isnt a number.");\n}\nreturn x;\n})() + "'})},escapeExpression:function(string){var escape={"\n":"\\n"};var badChars=/(\n)|[\n]/g;var possible=
/[\n]/;var escapeChar=function(chr){return escape[chr]||"\x26amp;"};if(string instanceof MessageFormat.SafeString)return string.toString();else if(string===null||string===false)return"";if(!possible.test(string))return string;return string.replace(badChars,escapeChar)}};var mparser=function(){var result={parse:function(input,startRule){function padLeft(input,padding,length){var result=input;var padLength=length-input.length;for(var i=0;i<padLength;i++)result=padding+result;return result}function escape(ch){var charCode=
ch.charCodeAt(0);if(charCode<=255){var escapeChar="x";var length=2}else{escapeChar="u";length=4}return"\\"+escapeChar+padLeft(charCode.toString(16).toUpperCase(),"0",length)}function quote(s){return'"'+s.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/[\x80-\uFFFF]/g,escape)+'"'}function matchFailed(failure){if(pos<rightmostMatchFailuresPos)return;if(pos>rightmostMatchFailuresPos){rightmostMatchFailuresPos=pos;rightmostMatchFailuresExpected=[]}rightmostMatchFailuresExpected.push(failure)}
function parse_start(){var cacheKey="start@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;var result1=parse_messageFormatPattern();var result2=result1!==null?function(messageFormatPattern){return{type:"program",program:messageFormatPattern}}(result1):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_messageFormatPattern(){var cacheKey=
"messageFormatPattern@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;var savedPos1=pos;var result3=parse_string();if(result3!==null){var result4=[];for(var result5=parse_messageFormatPatternRight();result5!==null;){result4.push(result5);result5=parse_messageFormatPatternRight()}if(result4!==null)var result1=[result3,result4];else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}var result2=result1!==null?function(s1,
inner){var st=[];if(s1&&s1.val)st.push(s1);for(var i in inner)if(inner.hasOwnProperty(i))st.push(inner[i]);return{type:"messageFormatPattern",statements:st}}(result1[0],result1[1]):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_messageFormatPatternRight(){var cacheKey="messageFormatPatternRight@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=
pos;var savedPos1=pos;if(input.substr(pos,1)==="{"){var result3="{";pos+=1}else{result3=null;if(reportMatchFailures)matchFailed('"{"')}if(result3!==null){var result4=parse__();if(result4!==null){var result5=parse_messageFormatElement();if(result5!==null){var result6=parse__();if(result6!==null){if(input.substr(pos,1)==="}"){var result7="}";pos+=1}else{result7=null;if(reportMatchFailures)matchFailed('"}"')}if(result7!==null){var result8=parse_string();if(result8!==null)var result1=[result3,result4,
result5,result6,result7,result8];else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}var result2=result1!==null?function(mfe,s1){var res=[];if(mfe)res.push(mfe);if(s1&&s1.val)res.push(s1);return{type:"messageFormatPatternRight",statements:res}}(result1[2],result1[5]):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}cache[cacheKey]=
{nextPos:pos,result:result0};return result0}function parse_messageFormatElement(){var cacheKey="messageFormatElement@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;var savedPos1=pos;var result3=parse_id();if(result3!==null){var savedPos2=pos;if(input.substr(pos,1)===","){var result6=",";pos+=1}else{result6=null;if(reportMatchFailures)matchFailed('","')}if(result6!==null){var result7=parse_elementFormat();if(result7!==null)var result5=
[result6,result7];else{result5=null;pos=savedPos2}}else{result5=null;pos=savedPos2}var result4=result5!==null?result5:"";if(result4!==null)var result1=[result3,result4];else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}var result2=result1!==null?function(argIdx,efmt){var res={type:"messageFormatElement",argumentIndex:argIdx};if(efmt&&efmt.length)res.elementFormat=efmt[1];else res.output=true;return res}(result1[0],result1[1]):null;if(result2!==null)var result0=result2;else{result0=
null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_elementFormat(){var cacheKey="elementFormat@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos2=pos;var savedPos3=pos;var result14=parse__();if(result14!==null){if(input.substr(pos,6)==="plural"){var result15="plural";pos+=6}else{result15=null;if(reportMatchFailures)matchFailed('"plural"')}if(result15!==null){var result16=parse__();if(result16!==
null){if(input.substr(pos,1)===","){var result17=",";pos+=1}else{result17=null;if(reportMatchFailures)matchFailed('","')}if(result17!==null){var result18=parse__();if(result18!==null){var result19=parse_pluralStyle();if(result19!==null){var result20=parse__();if(result20!==null)var result12=[result14,result15,result16,result17,result18,result19,result20];else{result12=null;pos=savedPos3}}else{result12=null;pos=savedPos3}}else{result12=null;pos=savedPos3}}else{result12=null;pos=savedPos3}}else{result12=
null;pos=savedPos3}}else{result12=null;pos=savedPos3}}else{result12=null;pos=savedPos3}var result13=result12!==null?function(t,s){return{type:"elementFormat",key:t,val:s.val}}(result12[1],result12[5]):null;if(result13!==null)var result11=result13;else{result11=null;pos=savedPos2}if(result11!==null)var result0=result11;else{var savedPos0=pos;var savedPos1=pos;var result4=parse__();if(result4!==null){if(input.substr(pos,6)==="select"){var result5="select";pos+=6}else{result5=null;if(reportMatchFailures)matchFailed('"select"')}if(result5!==
null){var result6=parse__();if(result6!==null){if(input.substr(pos,1)===","){var result7=",";pos+=1}else{result7=null;if(reportMatchFailures)matchFailed('","')}if(result7!==null){var result8=parse__();if(result8!==null){var result9=parse_selectStyle();if(result9!==null){var result10=parse__();if(result10!==null)var result2=[result4,result5,result6,result7,result8,result9,result10];else{result2=null;pos=savedPos1}}else{result2=null;pos=savedPos1}}else{result2=null;pos=savedPos1}}else{result2=null;
pos=savedPos1}}else{result2=null;pos=savedPos1}}else{result2=null;pos=savedPos1}}else{result2=null;pos=savedPos1}var result3=result2!==null?function(t,s){return{type:"elementFormat",key:t,val:s.val}}(result2[1],result2[5]):null;if(result3!==null)var result1=result3;else{result1=null;pos=savedPos0}if(result1!==null)result0=result1;else result0=null}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_pluralStyle(){var cacheKey="pluralStyle@"+pos;var cachedResult=cache[cacheKey];
if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;var result1=parse_pluralFormatPattern();var result2=result1!==null?function(pfp){return{type:"pluralStyle",val:pfp}}(result1):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_selectStyle(){var cacheKey="selectStyle@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=
pos;var result1=parse_selectFormatPattern();var result2=result1!==null?function(sfp){return{type:"selectStyle",val:sfp}}(result1):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_pluralFormatPattern(){var cacheKey="pluralFormatPattern@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;var savedPos1=pos;var result6=parse_offsetPattern();
var result3=result6!==null?result6:"";if(result3!==null){var result4=[];for(var result5=parse_pluralForms();result5!==null;){result4.push(result5);result5=parse_pluralForms()}if(result4!==null)var result1=[result3,result4];else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}var result2=result1!==null?function(op,pf){var res={type:"pluralFormatPattern",pluralForms:pf};if(op)res.offset=op;else res.offset=0;return res}(result1[0],result1[1]):null;if(result2!==null)var result0=result2;else{result0=
null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_offsetPattern(){var cacheKey="offsetPattern@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;var savedPos1=pos;var result3=parse__();if(result3!==null){if(input.substr(pos,6)==="offset"){var result4="offset";pos+=6}else{result4=null;if(reportMatchFailures)matchFailed('"offset"')}if(result4!==null){var result5=parse__();if(result5!==
null){if(input.substr(pos,1)===":"){var result6=":";pos+=1}else{result6=null;if(reportMatchFailures)matchFailed('":"')}if(result6!==null){var result7=parse__();if(result7!==null){var result8=parse_digits();if(result8!==null){var result9=parse__();if(result9!==null)var result1=[result3,result4,result5,result6,result7,result8,result9];else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=
null;pos=savedPos1}}else{result1=null;pos=savedPos1}var result2=result1!==null?function(d){return d}(result1[5]):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_selectFormatPattern(){var cacheKey="selectFormatPattern@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;var result1=[];for(var result3=parse_pluralForms();result3!==
null;){result1.push(result3);result3=parse_pluralForms()}var result2=result1!==null?function(pf){return{type:"selectFormatPattern",pluralForms:pf}}(result1):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_pluralForms(){var cacheKey="pluralForms@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;var savedPos1=pos;var result3=
parse__();if(result3!==null){var result4=parse_stringKey();if(result4!==null){var result5=parse__();if(result5!==null){if(input.substr(pos,1)==="{"){var result6="{";pos+=1}else{result6=null;if(reportMatchFailures)matchFailed('"{"')}if(result6!==null){var result7=parse__();if(result7!==null){var result8=parse_messageFormatPattern();if(result8!==null){var result9=parse__();if(result9!==null){if(input.substr(pos,1)==="}"){var result10="}";pos+=1}else{result10=null;if(reportMatchFailures)matchFailed('"}"')}if(result10!==
null)var result1=[result3,result4,result5,result6,result7,result8,result9,result10];else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}var result2=result1!==null?function(k,mfp){return{type:"pluralForms",key:k,val:mfp}}(result1[1],result1[5]):null;if(result2!==null)var result0=result2;else{result0=
null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_stringKey(){var cacheKey="stringKey@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos2=pos;var result7=parse_id();var result8=result7!==null?function(i){return i}(result7):null;if(result8!==null)var result6=result8;else{result6=null;pos=savedPos2}if(result6!==null)var result0=result6;else{var savedPos0=pos;var savedPos1=pos;if(input.substr(pos,
1)==="\x3d"){var result4="\x3d";pos+=1}else{result4=null;if(reportMatchFailures)matchFailed('"\x3d"')}if(result4!==null){var result5=parse_digits();if(result5!==null)var result2=[result4,result5];else{result2=null;pos=savedPos1}}else{result2=null;pos=savedPos1}var result3=result2!==null?function(d){return d}(result2[1]):null;if(result3!==null)var result1=result3;else{result1=null;pos=savedPos0}if(result1!==null)result0=result1;else result0=null}cache[cacheKey]={nextPos:pos,result:result0};return result0}
function parse_string(){var cacheKey="string@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;var savedPos1=pos;var result3=parse__();if(result3!==null){var result4=[];var savedPos2=pos;var result6=parse__();if(result6!==null){var result7=parse_chars();if(result7!==null){var result8=parse__();if(result8!==null)var result5=[result6,result7,result8];else{result5=null;pos=savedPos2}}else{result5=null;pos=savedPos2}}else{result5=
null;pos=savedPos2}for(;result5!==null;){result4.push(result5);savedPos2=pos;result6=parse__();if(result6!==null){result7=parse_chars();if(result7!==null){result8=parse__();if(result8!==null)result5=[result6,result7,result8];else{result5=null;pos=savedPos2}}else{result5=null;pos=savedPos2}}else{result5=null;pos=savedPos2}}if(result4!==null)var result1=[result3,result4];else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}var result2=result1!==null?function(ws,s){var tmp=[];for(var i=0;i<
s.length;++i)for(var j=0;j<s[i].length;++j)tmp.push(s[i][j]);return{type:"string",val:ws+tmp.join("")}}(result1[0],result1[1]):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_id(){var cacheKey="id@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;var savedPos1=pos;var result3=parse__();if(result3!==null){if(input.substr(pos).match(/^[a-zA-Z$_]/)!==
null){var result4=input.charAt(pos);pos++}else{result4=null;if(reportMatchFailures)matchFailed("[a-zA-Z$_]")}if(result4!==null){var result5=[];if(input.substr(pos).match(/^[^ \t\n\r,.+={}]/)!==null){var result7=input.charAt(pos);pos++}else{result7=null;if(reportMatchFailures)matchFailed("[^ \t\\n\\r,.+\x3d{}]")}for(;result7!==null;){result5.push(result7);if(input.substr(pos).match(/^[^ \t\n\r,.+={}]/)!==null){result7=input.charAt(pos);pos++}else{result7=null;if(reportMatchFailures)matchFailed("[^ \t\\n\\r,.+\x3d{}]")}}if(result5!==
null){var result6=parse__();if(result6!==null)var result1=[result3,result4,result5,result6];else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}}else{result1=null;pos=savedPos1}var result2=result1!==null?function(s1,s2){return s1+(s2?s2.join(""):"")}(result1[1],result1[2]):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_chars(){var cacheKey="chars@"+pos;
var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;var result3=parse_char();if(result3!==null)for(var result1=[];result3!==null;){result1.push(result3);result3=parse_char()}else result1=null;var result2=result1!==null?function(chars){return chars.join("")}(result1):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_char(){var cacheKey=
"char@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos5=pos;if(input.substr(pos).match(/^[^{}\\\0-\u001f\u007f \t\n\r]/)!==null){var result19=input.charAt(pos);pos++}else{result19=null;if(reportMatchFailures)matchFailed("[^{}\\\\\\0-\u001f\u007f \t\\n\\r]")}var result20=result19!==null?function(x){return x}(result19):null;if(result20!==null)var result18=result20;else{result18=null;pos=savedPos5}if(result18!==null)var result0=
result18;else{var savedPos4=pos;if(input.substr(pos,2)==="#"){var result16="#";pos+=2}else{result16=null;if(reportMatchFailures)matchFailed('"\\#"')}var result17=result16!==null?function(){return"#"}():null;if(result17!==null)var result15=result17;else{result15=null;pos=savedPos4}if(result15!==null)result0=result15;else{var savedPos3=pos;if(input.substr(pos,2)==="\\{"){var result13="\\{";pos+=2}else{result13=null;if(reportMatchFailures)matchFailed('"\\\\{"')}var result14=result13!==null?function(){return"{"}():
null;if(result14!==null)var result12=result14;else{result12=null;pos=savedPos3}if(result12!==null)result0=result12;else{var savedPos2=pos;if(input.substr(pos,2)==="\\}"){var result10="\\}";pos+=2}else{result10=null;if(reportMatchFailures)matchFailed('"\\\\}"')}var result11=result10!==null?function(){return"}"}():null;if(result11!==null)var result9=result11;else{result9=null;pos=savedPos2}if(result9!==null)result0=result9;else{var savedPos0=pos;var savedPos1=pos;if(input.substr(pos,2)==="\\u"){var result4=
"\\u";pos+=2}else{result4=null;if(reportMatchFailures)matchFailed('"\\\\u"')}if(result4!==null){var result5=parse_hexDigit();if(result5!==null){var result6=parse_hexDigit();if(result6!==null){var result7=parse_hexDigit();if(result7!==null){var result8=parse_hexDigit();if(result8!==null)var result2=[result4,result5,result6,result7,result8];else{result2=null;pos=savedPos1}}else{result2=null;pos=savedPos1}}else{result2=null;pos=savedPos1}}else{result2=null;pos=savedPos1}}else{result2=null;pos=savedPos1}var result3=
result2!==null?function(h1,h2,h3,h4){return String.fromCharCode(parseInt("0x"+h1+h2+h3+h4))}(result2[1],result2[2],result2[3],result2[4]):null;if(result3!==null)var result1=result3;else{result1=null;pos=savedPos0}if(result1!==null)result0=result1;else result0=null}}}}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_digits(){var cacheKey="digits@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}var savedPos0=pos;if(input.substr(pos).match(/^[0-9]/)!==
null){var result3=input.charAt(pos);pos++}else{result3=null;if(reportMatchFailures)matchFailed("[0-9]")}if(result3!==null)for(var result1=[];result3!==null;){result1.push(result3);if(input.substr(pos).match(/^[0-9]/)!==null){result3=input.charAt(pos);pos++}else{result3=null;if(reportMatchFailures)matchFailed("[0-9]")}}else result1=null;var result2=result1!==null?function(ds){return parseInt(ds.join(""),10)}(result1):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}cache[cacheKey]=
{nextPos:pos,result:result0};return result0}function parse_hexDigit(){var cacheKey="hexDigit@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}if(input.substr(pos).match(/^[0-9a-fA-F]/)!==null){var result0=input.charAt(pos);pos++}else{result0=null;if(reportMatchFailures)matchFailed("[0-9a-fA-F]")}cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse__(){var cacheKey="_@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=
cachedResult.nextPos;return cachedResult.result}var savedReportMatchFailures=reportMatchFailures;reportMatchFailures=false;var savedPos0=pos;var result1=[];for(var result3=parse_whitespace();result3!==null;){result1.push(result3);result3=parse_whitespace()}var result2=result1!==null?function(w){return w.join("")}(result1):null;if(result2!==null)var result0=result2;else{result0=null;pos=savedPos0}reportMatchFailures=savedReportMatchFailures;if(reportMatchFailures&&result0===null)matchFailed("whitespace");
cache[cacheKey]={nextPos:pos,result:result0};return result0}function parse_whitespace(){var cacheKey="whitespace@"+pos;var cachedResult=cache[cacheKey];if(cachedResult){pos=cachedResult.nextPos;return cachedResult.result}if(input.substr(pos).match(/^[ \t\n\r]/)!==null){var result0=input.charAt(pos);pos++}else{result0=null;if(reportMatchFailures)matchFailed("[ \t\\n\\r]")}cache[cacheKey]={nextPos:pos,result:result0};return result0}function buildErrorMessage(){function buildExpected(failuresExpected){failuresExpected.sort();
var lastFailure=null;var failuresExpectedUnique=[];for(var i=0;i<failuresExpected.length;i++)if(failuresExpected[i]!==lastFailure){failuresExpectedUnique.push(failuresExpected[i]);lastFailure=failuresExpected[i]}switch(failuresExpectedUnique.length){case 0:return"end of input";case 1:return failuresExpectedUnique[0];default:return failuresExpectedUnique.slice(0,failuresExpectedUnique.length-1).join(", ")+" or "+failuresExpectedUnique[failuresExpectedUnique.length-1]}}var expected=buildExpected(rightmostMatchFailuresExpected);
var actualPos=Math.max(pos,rightmostMatchFailuresPos);var actual=actualPos<input.length?quote(input.charAt(actualPos)):"end of input";return"Expected "+expected+" but "+actual+" found."}function computeErrorPosition(){var line=1;var column=1;var seenCR=false;for(var i=0;i<rightmostMatchFailuresPos;i++){var ch=input.charAt(i);if(ch==="\n"){if(!seenCR)line++;column=1;seenCR=false}else if(ch==="\r"|ch==="\u2028"||ch==="\u2029"){line++;column=1;seenCR=true}else{column++;seenCR=false}}return{line:line,
column:column}}var parseFunctions={"_":parse__,"char":parse_char,"chars":parse_chars,"digits":parse_digits,"elementFormat":parse_elementFormat,"hexDigit":parse_hexDigit,"id":parse_id,"messageFormatElement":parse_messageFormatElement,"messageFormatPattern":parse_messageFormatPattern,"messageFormatPatternRight":parse_messageFormatPatternRight,"offsetPattern":parse_offsetPattern,"pluralFormatPattern":parse_pluralFormatPattern,"pluralForms":parse_pluralForms,"pluralStyle":parse_pluralStyle,"selectFormatPattern":parse_selectFormatPattern,
"selectStyle":parse_selectStyle,"start":parse_start,"string":parse_string,"stringKey":parse_stringKey,"whitespace":parse_whitespace};if(startRule!==undefined){if(parseFunctions[startRule]===undefined)throw new Error("Invalid rule name: "+quote(startRule)+".");}else startRule="start";var pos=0;var reportMatchFailures=true;var rightmostMatchFailuresPos=0;var rightmostMatchFailuresExpected=[];var cache={};var result$$0=parseFunctions[startRule]();if(result$$0===null||pos!==input.length){var errorPosition=
computeErrorPosition();throw new this.SyntaxError(buildErrorMessage(),errorPosition.line,errorPosition.column);}return result$$0},toSource:function(){return this._source}};result.SyntaxError=function(message,line,column){this.name="SyntaxError";this.message=message;this.line=line;this.column=column};result.SyntaxError.prototype=Error.prototype;return result}();MessageFormat.prototype.parse=function(){return mparser.parse.apply(mparser,arguments)};MessageFormat.prototype.precompile=function(ast){function interpMFP(ast,
data){data=data||{};var s="";var i;var tmp;var lastkeyname;switch(ast.type){case "program":return interpMFP(ast.program);case "messageFormatPattern":for(i=0;i<ast.statements.length;++i)s+=interpMFP(ast.statements[i],data);return fp.begin+s+fp.end;case "messageFormatPatternRight":for(i=0;i<ast.statements.length;++i)s+=interpMFP(ast.statements[i],data);return s;case "messageFormatElement":data.pf_count=data.pf_count||0;s+='if(!d){\nthrow new Error("MessageFormat: No data passed to function.");\n}\n';
if(ast.output)s+='r +\x3d d["'+ast.argumentIndex+'"];\n';else{lastkeyname="lastkey_"+(data.pf_count+1);s+="var "+lastkeyname+' \x3d "'+ast.argumentIndex+'";\n';s+="var k_"+(data.pf_count+1)+"\x3dd["+lastkeyname+"];\n";s+=interpMFP(ast.elementFormat,data)}return s;case "elementFormat":if(ast.key==="select"){s+=interpMFP(ast.val,data);s+="r +\x3d (pf_"+data.pf_count+"[ k_"+(data.pf_count+1)+" ] || pf_"+data.pf_count+'[ "other" ])( d );\n'}else if(ast.key==="plural"){s+=interpMFP(ast.val,data);s+="if ( pf_"+
data.pf_count+"[ k_"+(data.pf_count+1)+' + "" ] ) {\n';s+="r +\x3d pf_"+data.pf_count+"[ k_"+(data.pf_count+1)+' + "" ]( d ); \n';s+="}\nelse {\n";s+="r +\x3d (pf_"+data.pf_count+'[ MessageFormat.locale["'+self.locale+'"]( k_'+(data.pf_count+1)+" - off_"+data.pf_count+" ) ] || pf_"+data.pf_count+'[ "other" ] )( d );\n';s+="}\n"}return s;case "pluralFormatPattern":data.pf_count=data.pf_count||0;s+="var off_"+data.pf_count+" \x3d "+ast.offset+";\n";s+="var pf_"+data.pf_count+" \x3d { \n";needOther=
true;for(i=0;i<ast.pluralForms.length;++i){if(ast.pluralForms[i].key==="other")needOther=false;if(tmp)s+=",\n";else tmp=1;s+='"'+ast.pluralForms[i].key+'" : '+interpMFP(ast.pluralForms[i].val,function(){var res=JSON.parse(JSON.stringify(data));res.pf_count++;return res}())}s+="\n};\n";if(needOther)throw new Error("No 'other' form found in pluralFormatPattern "+data.pf_count);return s;case "selectFormatPattern":data.pf_count=data.pf_count||0;s+="var off_"+data.pf_count+" \x3d 0;\n";s+="var pf_"+data.pf_count+
" \x3d { \n";needOther=true;for(i=0;i<ast.pluralForms.length;++i){if(ast.pluralForms[i].key==="other")needOther=false;if(tmp)s+=",\n";else tmp=1;s+='"'+ast.pluralForms[i].key+'" : '+interpMFP(ast.pluralForms[i].val,function(){var res=JSON.parse(JSON.stringify(data));res.pf_count++;return res}())}s+="\n};\n";if(needOther)throw new Error("No 'other' form found in selectFormatPattern "+data.pf_count);return s;case "string":return'r +\x3d "'+MessageFormat.Utils.numSub(MessageFormat.Utils.escapeExpression(ast.val),
"k_"+data.pf_count+" - off_"+(data.pf_count-1),data.pf_count)+'";\n';default:throw new Error("Bad AST type: "+ast.type);}}var self=this;var needOther=false;var fp={begin:'function(d){\nvar r \x3d "";\n',end:"return r;\n}"};return interpMFP(ast)};MessageFormat.prototype.compile=function(message){return(new Function("MessageFormat","return "+this.precompile(this.parse(message))))(MessageFormat)};root["MessageFormat"]=MessageFormat})(this);
MessageFormat.locale.en=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.en_US=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.en_AU=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.en_NZ=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.en_GB=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.en_HK=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.en_SG=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.en_ZA=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.en_IL=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.en_CA=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.fr_FR=function(n){if(n>=0&&n<2)return"one";return"other"};
MessageFormat.locale.de_DE=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_ES=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_MX=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_CO=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_CL=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_EC=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_VE=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_AR=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_PE=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_PY=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_CR=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_PA=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_PR=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.es_GT=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.ja_JP=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.zh_CN=function(n){return"other"};
MessageFormat.locale.ko_KR=function(n){return"other"};
MessageFormat.locale.it_IT=function(n){if(n===1)return"one";return"other"};
MessageFormat.locale.ru=function(n){if(n%10==1&&n%100!=11)return"one";if(n%10>=2&&n%10<=4&&(n%100<12||n%100>14)&&n==Math.floor(n))return"few";if(n%10===0||n%10>=5&&n%10<=9||n%100>=11&&n%100<=14&&n==Math.floor(n))return"many";return"other"};
(function(){if(typeof fitbit.i18n!="undefined")return;fitbit.namespace("fitbit.i18n");window["EN"]=function(englishValue){var tmpl=fitbit.i18n.byEnglish[englishValue]||"";for(var ii=1;ii<arguments.length;ii++)tmpl=tmpl.replace("{"+(ii-1)+"}",""+arguments[ii]);return tmpl};fitbit.i18n={resources:{},byEnglish:{},getResource:function(resourceKey,tplSubst){if(fitbit.i18n.resources[resourceKey]==undefined)return"";if(arguments.length>1){var resultResource=fitbit.i18n.resources[resourceKey];var i=0;for(var l=
arguments.length;i<l;i++)resultResource=resultResource.replace("{"+i+"}",arguments[i+1]+"")}else resultResource=fitbit.i18n.resources[resourceKey];return resultResource},getPluralResource:function(resourceKey,n){var msg=fitbit.i18n.getResource(resourceKey);if(msg.indexOf("{")==-1)return n==undefined?function(){return msg}:msg;var mf=new MessageFormat(fitbit.i18n.locale);var message=mf.compile("{NUM_RESULTS, plural, "+msg+"}");if(n==undefined)return function(n){return message({NUM_RESULTS:n})};else return message({NUM_RESULTS:n})},
setResource:function(resourceKey,resourceValue,englishValue){fitbit.i18n.resources[resourceKey.replace(/^\.+/,"")]=resourceValue;fitbit.i18n.byEnglish[englishValue]=resourceValue},switchLocale:function(lcl){$.post("/i18n/switch?locale\x3d"+lcl,function(){var arr=window.location.pathname.match("^/(uk|fr|de|es|ru|au|nz|jp)($|/[^?]*$)");if(arr==null)window.location.reload();else window.location.pathname=arr[2]})},locale:"en",decimalParams:{decimalSeparator:function(){switch(fitbit.i18n.locale){case "de_DE":case "es_ES":case "fr_FR":return",";
default:return"\\."}},groupSeparator:function(){switch(fitbit.i18n.locale){case "de_DE":case "es_ES":return"\\.";case "fr_FR":return"\\s";default:return","}}},DecimalNumber:{decimalSeparator:".",groupSeparator:",",negativeSign:"-",parse:function(value){var valueStr=String(value).trim();var numberPattern=new RegExp("^["+fitbit.i18n.DecimalNumber.negativeSign+"]?[\\d"+fitbit.i18n.DecimalNumber.groupSeparator+"]+["+fitbit.i18n.DecimalNumber.decimalSeparator+"]?[\\d]*$","");if(numberPattern.test(valueStr)){valueStr=
valueStr.replace(fitbit.i18n.DecimalNumber.groupSeparator,"").replace(fitbit.i18n.DecimalNumber.decimalSeparator,".").replace(fitbit.i18n.DecimalNumber.negativeSign,"-");return parseFloat(valueStr)}return NaN},format:function(value){return YAHOO.util.Number.format(value,{decimalSeparator:fitbit.i18n.DecimalNumber.decimalSeparator,thousandsSeparator:fitbit.i18n.DecimalNumber.groupSeparator,negativeFormat:fitbit.i18n.DecimalNumber.negativeSign+"#"})}},WEEKDAYS:null,MONTHS:null}})();
(function($){var countrySelector={init:function(){this.footerClickHandler();$("#ftr_picker").tooltip(this.ttConfigFtr)},footerClickHandler:function(){$("#ftr_i18n_country_list").on("click","li",function(){var country=$(this).attr("data-country");countrySelector.switchLocale(country)})},ttConfigHdr:{tipClass:"ttHdr",offset:[10,0],relative:true,position:"bottom center",delay:100,predelay:200},ttConfigFtr:{tipClass:"ttFtr",offset:[-4,0],relative:true,position:"top center",delay:100,predelay:200,onBeforeShow:function(e,
args){this.getConf().offset=[/iPad/i.test(navigator.userAgent)?$(window).scrollTop():-4,0]}},switchLocale:function(country){$.post("/i18n/switch?locale\x3d"+country,function(){var arr=window.location.pathname.match("^/(uk|fr|de|es|ru|au|nz|jp|cn|kr|sg|hk|za|ca|il|mx|co|cl|ec|ve|ar|pe|py|cr|pa|pr|gt)($|/[^?]*$)");if(arr==null)window.location.reload();else window.location.pathname=arr[2]})}};$($.proxy(countrySelector.init,countrySelector))})(jQuery);
var Y=YAHOO.util;String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};Y.Event.on(document,"keydown",function(e){if(e.keyCode==13){var el=Y.Event.getTarget(e);if(el.tagName!="TEXTAREA"){var frm=el.tagName=="FORM"?el:Y.Dom.getAncestorByTagName(el,"FORM");if(frm){var button=Y.Dom.getElementsByClassName("defaultSubmit","",frm)[0];if(button&&"click"in button){Y.Event.preventDefault(e);button.click()}}}}});
if(YAHOO.widget.Calendar)YAHOO.widget.Calendar.prototype.buildMonthLabel=function(){var pageDate=this.cfg.getProperty(YAHOO.widget.Calendar._DEFAULT_CONFIG.PAGEDATE.key);var pageMonth=this.Locale.LOCALE_MONTHS[pageDate.getMonth()];var yearSuffix=fitbit.i18n.getResource("com.fitbit.util.dateformat.datepicker_year_suffix");var pageYear=pageDate.getFullYear()+yearSuffix;var showMonthAfterYear=fitbit.i18n.getResource("com.fitbit.util.dateformat.datepicker_show_month_after_year");return showMonthAfterYear?
pageYear+" "+pageMonth:pageMonth+" "+pageYear};
(function(){fitbit.namespace("fitbit.app");fitbit.app={};fitbit.app.objectsCounter=0;fitbit.app.calendarPathSeparator="/";fitbit.app.Calendar=function(calendarId,dateSelectHandler,path){var dialog;var calendar;var weekStartsOn=null;this.show=function(positionDivId,pageDate,selectedDates,maxDate,renderDivId,todayDate,minDate){if(calendarId==null)calendarId="calendar";if(!dialog){Y.Event.on(document,"click",function(e){var positionElement=Y.Dom.get(positionDivId);var el=Y.Event.getTarget(e);var dialogEl=
dialog.element;if(el!=dialogEl&&!Y.Dom.isAncestor(dialogEl,el)&&el!=positionElement&&!Y.Dom.isAncestor(positionElement,el))dialog.hide()});dialog=new YAHOO.widget.Dialog(calendarId+"Container",{visible:false,context:[positionDivId,"tl","bl",["windowResize","show"]],width:"16em",draggable:false,close:true,zIndex:3});if(fitbit.i18n)dialog.setHeader(fitbit.i18n.getResource("com.fitbit.app.label.select_date"));else dialog.setHeader("Select a date");dialog.setBody('\x3cdiv id\x3d"'+calendarId+'"\x3e\x3c/div\x3e');
if(renderDivId!=undefined&&renderDivId!=null)dialog.render(renderDivId);else dialog.render(document.body);dialog.showEvent.subscribe(function(){if(YAHOO.env.ua.ie)dialog.fireEvent("changeContent")})}if(!calendar){calendar=new YAHOO.widget.Calendar(calendarId,{iframe:false,hide_blank_weeks:true});calendar.path=path;calendar.calendarId=calendarId;if(pageDate!=null){var date=new Date(0,0,0);date.setISO8601UTC(pageDate);calendar.cfg.setProperty("pagedate",date.getMonth()+1+"/"+date.getFullYear())}if(selectedDates==
null&&pageDate!=null){var tDate=new Date(0,0,0);tDate.setISO8601UTC(pageDate);calendar.cfg.setProperty("selected",tDate.getMonth()+1+"/"+tDate.getDate()+"/"+tDate.getFullYear())}else if(selectedDates!=null)calendar.cfg.setProperty("selected",selectedDates);if(maxDate!=undefined&&maxDate!=null)calendar.cfg.setProperty("maxdate",maxDate);if(minDate!=undefined&&minDate!=null)calendar.cfg.setProperty("mindate",minDate);if(todayDate!=null)calendar.today=todayDate;if(weekStartsOn!=null)calendar.cfg.setProperty("start_weekday",
weekStartsOn);if(fitbit.i18n){if(fitbit.i18n.WEEKDAYS)if(fitbit.i18n.locale=="zh_CN")calendar.cfg.setProperty("WEEKDAYS_SHORT",["\u5468\u65e5","\u5468\u4e00","\u5468\u4e8c","\u5468\u4e09","\u5468\u56db","\u5468\u4e94","\u5468\u516d"]);else calendar.cfg.setProperty("WEEKDAYS_SHORT",fitbit.i18n.WEEKDAYS);if(fitbit.i18n.MONTHS)calendar.cfg.setProperty("MONTHS_LONG",fitbit.i18n.MONTHS)}calendar.render();calendar.renderEvent.subscribe(function(){dialog.fireEvent("changeContent")});calendar.selectEvent.subscribe(dateSelectHandler,
calendar,true)}dialog.show()};this.hide=function(){dialog.hide()};this.setWeekStartsOn=function(day){weekStartsOn=day}};fitbit.app.dateSelectHandler=function(type,args,calendar){var dateResult=fitbit.util.getDateFromYUIDateArray(args[0][0]);var bizPath=calendar.path!=undefined&&calendar.path!=""?calendar.path:"";location.href=bizPath+"/"+dateResult.getFullYear()+fitbit.app.calendarPathSeparator+dateResult.getPaddedMonth()+fitbit.app.calendarPathSeparator+dateResult.getPaddedDate()};fitbit.app.showCalendar=
function(path,calendarId,positionDivId,pageDate,noMaxDate,dateSeparator,userWeekStartsOn){if(dateSeparator!=null||dateSeparator!="")fitbit.app.calendarPathSeparator=dateSeparator;var cal=new fitbit.app.Calendar(calendarId,fitbit.app.dateSelectHandler,path);var today=new Date;today.setISO8601UTC(pageDate);var maxDate=today;if(noMaxDate)maxDate=null;if(userWeekStartsOn)cal.setWeekStartsOn(userWeekStartsOn);cal.show(positionDivId,pageDate,null,maxDate,null,today)};fitbit.app.showWeeklyCalendar=function(path,
calendarId,positionDivId,todayDate,pageDate,minDate,maxDate,dateSeparator,selectedDates,userWeekStartsOn){if(dateSeparator!=null||dateSeparator!="")fitbit.app.calendarPathSeparator=dateSeparator;var cal=new fitbit.app.Calendar(calendarId,fitbit.app.dateSelectHandler,path);var today=new Date;today.setISO8601UTC(todayDate);var max=null;if(maxDate!=null){max=new Date;max.setISO8601UTC(maxDate)}var min=null;if(minDate!=null){min=new Date;min.setISO8601UTC(minDate)}cal.setWeekStartsOn(userWeekStartsOn);
cal.show(positionDivId,pageDate,selectedDates,max,null,today,min)};fitbit.app.TabSet=function(tabContainerId,activeClazz,disableClazz){if(activeClazz==undefined)activeClazz="selected";if(disableClazz==undefined)disableClazz="disabled";this.tabChangeEvent=new Y.CustomEvent("tabChange",this);var tabsContainer=Y.Dom.get(tabContainerId);if(!tabsContainer)return;var activeTab=Y.Dom.getElementsByClassName(activeClazz,"a",tabsContainer)[0];var tabs=new Array;var parentElements=null;if(activeTab!=undefined){parentElements=
Y.Dom.getChildren(activeTab.parentNode.parentNode);var activeTabHref=activeTab.getAttribute("href",2);var activeContent=Y.Dom.get(activeTabHref.substr(activeTabHref.indexOf("#")+1))}else parentElements=tabsContainer.getElementsByTagName("li");var _tabChangeEvent=this.tabChangeEvent;var handleOnMouseDown=function(e,tab){if(tab!=activeTab&&!Y.Dom.hasClass(tab,disableClazz)){Y.Dom.addClass(tab,activeClazz);Y.Dom.addClass(tab.parentNode,activeClazz);if(activeTab!=undefined){Y.Dom.removeClass(activeTab,
activeClazz);Y.Dom.removeClass(activeTab.parentNode,activeClazz);Y.Dom.addClass(activeContent,"invisible")}activeTab=tab;var destHref=activeTab.getAttribute("href",2);var href=destHref.substr(destHref.indexOf("#")+1);activeContent=Y.Dom.get(href);Y.Dom.removeClass(activeContent,"invisible");_tabChangeEvent.fire(href)}};var handleOnClick=function(e){Y.Event.preventDefault(e)};for(var i=0;i<parentElements.length;i++){var tab=Y.Dom.getChildren(parentElements[i])[0];Y.Event.on(tab,"mousedown",handleOnMouseDown,
tab);Y.Event.on(tab,"click",handleOnClick);tabs.push(tab)}this.destroy=function(){for(var i=0;i<tabs.length;i++){Y.Event.removeListener(tabs[i],"mousedown",handleOnMouseDown);Y.Event.removeListener(tabs[i],"click",handleOnClick)}};this.disableTab=function(tabIndex){var selectedTab=tabs[tabIndex];if(selectedTab!=activeTab){Y.Dom.addClass(selectedTab,disableClazz);Y.Dom.addClass(selectedTab.parentNode,disableClazz)}};this.enableTab=function(tabIndex){var selectedTab=tabs[tabIndex];if(selectedTab!=activeTab){Y.Dom.removeClass(selectedTab,
disableClazz);Y.Dom.removeClass(selectedTab.parentNode,disableClazz)}};this.switchToTab=function(tabIndex){var selectedTab=tabs[tabIndex];handleOnMouseDown(null,selectedTab)}};fitbit.app.Chart=function(id,chartDisplayId,chartType,dataURL,width,height,isVisible){var chartTypeUrl;var so;var url=dataURL;var loadGraph=function(dataURL){so=new SWFObject(chartTypeUrl,id,width,height,"8","#FFFFFF","best");so.addParam("wmode","opaque");so.addVariable("chartWidth",width);so.addVariable("chartHeight",height);
so.addVariable("dataURL",escape(dataURL));so.write(chartDisplayId)};switch(chartType){case "column2d":chartTypeUrl="/flash/charts/FC_2_3_MSColumn2D.swf";break;case "area2d":chartTypeUrl="/flash/charts/FC_2_3_MSArea2D.swf";break;case "line":chartTypeUrl="/flash/charts/FC_2_3_MSLine.swf";break;case "linecolumn2d":chartTypeUrl="/flash/charts/FC_2_3_MSColumnLine_DY_2D.swf";break;case "stackedarea2d":chartTypeUrl="/flash/charts/FC_2_3_StackedArea_MSLine_DY_2D.swf";break;case "pie":chartTypeUrl="/flash/charts/FC_2_3_Pie2D.swf";
break}if(!isVisible)Y.Dom.addClass(chartDisplayId,"invisible");else loadGraph(dataURL);this.update=function(graphData){if(graphData!=null)loadGraph(graphData);else loadGraph(url)};this.hide=function(){Y.Dom.addClass(chartDisplayId,"invisible");fitbit.util.setContent(Y.Dom.get(chartDisplayId),"")};this.show=function(){Y.Dom.removeClass(chartDisplayId,"invisible")}};fitbit.app.EjsChart=function(id,type,title,dataURL,color){var firstSeries;var additionalSeries=new Array;var handler=new EJSC.XMLDataHandler(dataURL,
{onDataReady:function(response,handler,series,chart){var axisX=chart.axis_bottom;var xml=response.responseXML;if(xml==null)return true;var format=xml.getElementsByTagName("dateFormat")[0].firstChild.nodeValue;for(axisX.formatter.format_string=format;additionalSeries.length>0;)chart.removeSeries(additionalSeries.pop(),false);var additionalDatasets=xml.getElementsByTagName("D");for(var i=0;i<additionalDatasets.length;i++){xml=additionalDatasets[i].firstChild.nodeValue;var ser=getSeries(new EJSC.XMLStringDataHandler(xml));
ser.color="#"+additionalDatasets[i].getAttribute("color");additionalSeries.push(ser);chart.addSeries(ser,false)}if(additionalDatasets.length==0&&type=="column2d"){var max=xml.getElementsByTagName("YMax")[0].firstChild.nodeValue;var min=xml.getElementsByTagName("YMin")[0].firstChild.nodeValue;var step=(max-min)/4;series.addRange(min,min+step,"rgb(0,0,0)",100,100,1,false);series.addRange(min+step,min+2*step,"rgb(0,0,255)",100,100,1,false);series.addRange(min+2*step,min+3*step,"rgb(0,255,0)",100,100,
1,false);series.addRange(min+3*step,min+4*step,"rgb(255,0,0)",100,100,1,true)}chart.redraw();return true}});var options={color:color,useColorArray:false};var getSeries=function(hndlr){switch(type){case "column2d":return new EJSC.BarSeries(hndlr,options);case "area2d":return new EJSC.AreaSeries(hndlr,options);case "line":return new EJSC.LineSeries(hndlr,options);case "pie":return new EJSC.PieSeries(hndlr,options);default:return null}};var axisX={formatter:new EJSC.DateFormatter({format_string:"MMM D, YYYY"}),
visible:true,caption:""};firstSeries=getSeries(handler);var ejsChart=new EJSC.Chart(id,{title:title,show_legend:false,axis_bottom:axisX,axis_left:{caption:""}});ejsChart.addSeries(firstSeries);if(type=="pie")ejsChart.setShowLegend(true);this.update=function(graphDataURL){if(graphDataURL!=null)firstSeries.getDataHandler().setUrl(graphDataURL);firstSeries.reload()};this.hide=function(){Y.Dom.addClass(id,"invisible")};this.show=function(){Y.Dom.removeClass(id,"invisible")}};fitbit.app.AmChartNew=function(chartDisplayId,
chartType,dataURL,settingsURL,isVisible){var loadGraph=function(){var amFallback=new AmCharts.AmFallback;amFallback.settingsFile=settingsURL;amFallback.dataFile=dataURL;amFallback.pathToImages="/amcharts/2.2.0/amcharts/javascript/images/";amFallback.type=chartType;amFallback.loading_settings="Loading settings...";amFallback.loading_data="Loading data...";amFallback.write(chartDisplayId)};if(!isVisible)Y.Dom.addClass(chartDisplayId,"invisible");else loadGraph();this.update=function(){fitbit.util.setContent(Y.Dom.get(chartDisplayId),
"");loadGraph()};this.hide=function(){Y.Dom.addClass(chartDisplayId,"invisible")};this.show=function(){Y.Dom.removeClass(chartDisplayId,"invisible")}};fitbit.app.AmChart=function(id,chartDisplayId,chartType,dataURL$$0,width,height,isVisible,usePrintWrapper,chartData){if(!document.getElementById(chartDisplayId))return;var chartTypeUrl;var so;var url=dataURL$$0;var loadGraph=function(dataURL){var enablePrintableContainer=usePrintWrapper!=undefined&&usePrintWrapper!=null&&usePrintWrapper;var swfUrl=
enablePrintableContainer?"/flash/amcharts/swfPrintableContainer.swf":chartTypeUrl;so=new SWFObject(swfUrl,id,width,height,"8","#FFFFFF","best");so.addParam("wmode","opaque");so.addParam("hasPriority","true");so.addParam("allowScriptAccess","always");so.addVariable("path","/flash/amcharts/");so.addVariable("settings_file",escape(dataURL));so.addVariable("data_file",escape(""));if(enablePrintableContainer){so.addParam("title",chartDisplayId);so.addVariable("amChartUrl",chartTypeUrl)}if(chartData!=undefined&&
chartData!=null)so.addVariable("chart_data",chartData);if(chartType=="line")so.addVariable("additional_chart_settings",escape("\x3csettings\x3e\x3cgraphs\x3e\x3cgraph gid\x3d'0'\x3e\x3ctype\x3eline\x3c/type\x3e\x3c/graph\x3e\x3cgraph gid\x3d'1'\x3e\x3ctype\x3eline\x3c/type\x3e\x3c/graph\x3e\x3cgraph gid\x3d'2'\x3e\x3ctype\x3eline\x3c/type\x3e\x3c/graph\x3e\x3cgraph gid\x3d'3'\x3e\x3ctype\x3eline\x3c/type\x3e\x3c/graph\x3e\x3cgraph gid\x3d'4'\x3e\x3ctype\x3eline\x3c/type\x3e\x3c/graph\x3e\x3c/graphs\x3e\x3c/settings\x3e"));
if(chartType=="linecolumn2d")so.addVariable("additional_chart_settings",escape("\x3csettings\x3e\x3cgraphs\x3e\x3cgraph gid\x3d'0'\x3e\x3c/graph\x3e\x3cgraph gid\x3d'1'\x3e\x3ctype\x3eline\x3c/type\x3e\x3c/graph\x3e\x3cgraph gid\x3d'2'\x3e\x3ctype\x3eline\x3c/type\x3e\x3c/graph\x3e\x3cgraph gid\x3d'3'\x3e\x3ctype\x3eline\x3c/type\x3e\x3c/graph\x3e\x3cgraph gid\x3d'4'\x3e\x3ctype\x3eline\x3c/type\x3e\x3c/graph\x3e\x3c/graphs\x3e\x3c/settings\x3e"));so.addVariable("preloader_color","#999999");so.addVariable("chart_id",
id);if(enablePrintableContainer){var container=document.createElement("div");container.id="cont_"+fitbit.app.objectsCounter.toString();container.style.position="absolute";container.style.left=fitbit.app.objectsCounter.toString()+"px";fitbit.app.objectsCounter++;document.getElementById("amChartsFixContainer").appendChild(container);so.write(container.id)}else so.write(chartDisplayId);var sourceLinkElem=Y.Dom.get(chartDisplayId+"Source");if(sourceLinkElem!=undefined)sourceLinkElem.innerHTML='\x3ca target\x3d"_blank" href\x3d"'+
dataURL+'"\x3eSource\x3c/a\x3e'};dataURL$$0=dataURL$$0+"\x26chart_type\x3d"+chartType;switch(chartType){case "pie":chartTypeUrl="/flash/amcharts/ampie.swf";break;case "trueline":chartTypeUrl="/flash/amcharts/amline.swf";break;default:chartTypeUrl="/flash/amcharts/amcolumn.swf";break}if(!isVisible)Y.Dom.addClass(chartDisplayId,"invisible");else loadGraph(dataURL$$0);this.update=function(graphData){Y.Dom.get(chartDisplayId).innerHTML="";if(graphData!=null)loadGraph(graphData);else loadGraph(url)};this.hide=
function(){Y.Dom.addClass(chartDisplayId,"invisible")};this.show=function(){Y.Dom.removeClass(chartDisplayId,"invisible")}};fitbit.app.convertErrorsToList=function(errorsArray,listId,escapeHtml){var errorString="\x3cdiv class\x3d'errorMessage'\x3e"+fitbit.i18n.getResource("com.fitbit.app.error.errors_title")+"\x3c/div\x3e\x3cdiv style\x3d'height: 100px; overflow: auto;'\x3e\x3cul class\x3d'errorList clearfix' style\x3d'margin-bottom: 15px;' id\x3d'"+listId+"'\x3e";for(var i=0;i<errorsArray.length;i++){var errorMessage;
if(errorsArray[i].errorType=="system")errorMessage=fitbit.i18n.getResource("com.fitbit.app.error.general_fatal_error");else if(escapeHtml)errorMessage=fitbit.app.escapeHtml(errorsArray[i].message);else errorMessage=errorsArray[i].message;errorString+="\x3cli class\x3d'errorBullet'\x3e"+errorMessage+"\x3c/li\x3e"}return errorString+"\x3c/ul\x3e\x3c/div\x3e"};fitbit.app.escapeHtml=function(originalString){return originalString.split("\x26").join("\x26amp;").split("\x3c").join("\x26lt;").split("\x3e").join("\x26gt;")};
fitbit.app.unEscapeHtml=function(originalString){return originalString.split("\x26amp;").join("\x26").split("\x26lt;").join("\x3c").split("\x26gt;").join("\x3e")};fitbit.app.BitSet=function(){this.bits=[]};fitbit.app.BitSet.prototype={member:function(i){for(var ii=0;ii<this.bits.length;ii++)if(this.bits[ii]==i)return true;return false},numBits:function(){var max=0;for(var ii=0;ii<this.bits.length;ii++)max=Math.max(this.bits[ii],max);return max+1},add:function(i){this.clear(i);this.bits.push(i)},clear:function(i){for(var ii=
0;ii<this.bits.length;ii++)if(this.bits[ii]==i)this.bits.splice(ii,1)}};fitbit.app.UIState=function(){this.cookieName="uis";this.state=null;this.set=function(index){this.state.add(index);this.saveState()};this.clearAndSet=function(indicesToClear,indicesToSet){if(indicesToClear){if(!$.isArray(indicesToClear))indicesToClear=[indicesToClear];for(var i=0;i<indicesToClear.length;i++)this.state.clear(indicesToClear[i])}if(indicesToSet){if(!$.isArray(indicesToSet))indicesToSet=[indicesToSet];for(i=0;i<indicesToSet.length;i++)this.state.add(indicesToSet[i])}this.saveState()};
this.clear=function(index){this.state.clear(index);this.saveState()};this.get=function(index){return this.state.member(index)};this.getCookie=function(name){var results=document.cookie.match("(^|;) ?"+name+"\x3d([^;]*)(;|$)");if(results)return unescape(results[2]);else return""};this.setCookie=function(name,value,exp_ms,path,domain,secure){var cookieString=name+"\x3d"+escape(value);if(exp_ms){var expires=new Date;expires.setTime(expires.getTime()+exp_ms);cookieString+="; expires\x3d"+expires.toUTCString()}if(path)cookieString+=
"; path\x3d"+escape(path);if(domain)cookieString+="; domain\x3d"+escape(domain);if(secure)cookieString+="; secure";document.cookie=cookieString};this.loadState=function(){var stateStr=this.getCookie(this.cookieName);if(this.state==null)this.state=this.loadStateFromByteArray(this.base64Decode(stateStr))};this.saveState=function(){var stateStr=this.base64Encode(this.saveStateToByteArray());this.setCookie(this.cookieName,stateStr,3600*24*365*1E3,"/")};this.loadStateFromByteArray=function(bytes){var bitSet=
null;if(bytes!=null){var bytesLength=bytes.length;bitSet=new fitbit.app.BitSet;for(var i=0;i<bytesLength*8;i++)if((bytes[bytesLength-Math.floor(i/8)-1]&1<<i%8)>0)bitSet.add(i)}return bitSet};this.saveStateToByteArray=function(){var bytes=null;if(this.state!=null){var size=0;for(var i=0;i<this.state.numBits();i++)if(this.state.member(i))size=i+1;var bytesLength=Math.floor(size/8)+1;bytes=new Array;for(i=0;i<bytesLength;i++)bytes[i]=0;for(i=0;i<size;i++)if(this.state.member(i))bytes[bytesLength-Math.floor(i/
8)-1]|=1<<i%8}return bytes};this.base64Encode=function(data){var b64_map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d";var byte1;var byte2;var byte3;var ch1;var ch2;var ch3;var ch4;var result=new Array;var j=0;for(var i=0;i<data.length;i+=3){byte1=data[i];byte2=data[i+1];byte3=data[i+2];ch1=byte1>>2;ch2=(byte1&3)<<4|byte2>>4;ch3=(byte2&15)<<2|byte3>>6;ch4=byte3&63;if(isNaN(byte2))ch3=ch4=64;else if(isNaN(byte3))ch4=64;result[j++]=b64_map.charAt(ch1)+b64_map.charAt(ch2)+b64_map.charAt(ch3)+
b64_map.charAt(ch4)}return result.join("")};this.base64Decode=function(data){data=data.replace(/[^a-z0-9\+\/=]/ig,"");var b64_map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d";var byte1;var byte2;var byte3;var ch1;var ch2;var ch3;var ch4;var result=new Array;for(var j=0;data.length%4!=0;)data+="\x3d";for(var i=0;i<data.length;i+=4){ch1=b64_map.indexOf(data.charAt(i));ch2=b64_map.indexOf(data.charAt(i+1));ch3=b64_map.indexOf(data.charAt(i+2));ch4=b64_map.indexOf(data.charAt(i+
3));byte1=ch1<<2|ch2>>4;byte2=(ch2&15)<<4|ch3>>2;byte3=(ch3&3)<<6|ch4;result[j++]=byte1;if(ch3!=64)result[j++]=byte2;if(ch4!=64)result[j++]=byte3}return result};this.loadState()};fitbit.app.addTile=function(tileId,callback){$.getJSON("/userSettings/dh/save?apiFormat\x3djson",function(data){if(data.result&&data.result.settings){var tiles=data.result.settings["galileo dashboard state"];if(tiles)tiles=JSON.parse(tiles);else tiles=[];if($.inArray(tileId,tiles)==-1){tiles.push(tileId);$.post("/userSettings/dh/save?apiFormat\x3djson",
{"settings['galileo dashboard state']":JSON.stringify(tiles)},callback);return}}if(typeof callback=="function")callback.apply(this,arguments)})};fitbit.app.toggleScale=function(scaleName,on,uisIndex){if(on){Y.Dom.addClass(scaleName+"ShowLink","invisible");Y.Dom.removeClass(scaleName+"Scale","invisible");(new fitbit.app.UIState).clear(uisIndex)}else{Y.Dom.addClass(scaleName+"Scale","invisible");Y.Dom.removeClass(scaleName+"ShowLink","invisible");(new fitbit.app.UIState).set(uisIndex)}};fitbit.app.highlightRow=
function(elementId,on){var highlightElement=Y.Dom.get(elementId);if(on)Y.Dom.setStyle(highlightElement,"background-color","#fffdcc");else Y.Dom.setStyle(highlightElement,"background-color","");return highlightElement};fitbit.app.highlightRecord=function(recordType,recordId,on){var actions=Y.Dom.get(recordType+"Actions."+recordId);if(on)Y.Dom.removeClass(actions,"invisible");else Y.Dom.addClass(actions,"invisible")};fitbit.app.highlightDelete=function(deleteImgId,on,isBackgroundOn){var deleteImg=Y.Dom.get("deleteImg."+
deleteImgId);if(on)if(isBackgroundOn)deleteImg.src="/images/common/delete_red_yellow.gif";else deleteImg.src="/images/common/delete_red_white.gif";else if(isBackgroundOn)deleteImg.src="/images/common/delete_grey_yellow.gif";else deleteImg.src="/images/common/delete_grey_white.gif";return deleteImg};fitbit.app.loadTooltips=function(){var zIndex=2E4;var ttClass="tooltip";var ttPrefix="tooltip-";var ctxPrefix="ttid-";var ctxPrefixLen=ctxPrefix.length;var infiniteDelay=1E8;var nodes=Y.Dom.getElementsByClassName(ttClass);
var i=nodes.length;var args$$0;for(var id;i--;){var handleHover=function(e,tooltip){for(var el=Y.Event.getRelatedTarget(e);el&&el!=this;el=el.parentNode);if(!el)if(e.type=="mouseout")tooltip.hideProcId=setTimeout(function(){tooltip.hide()},tooltip.cfg.getProperty("hidedelay"));else clearTimeout(tooltip.hideProcId)};args$$0={context:nodes[i],zIndex:zIndex,autodismissdelay:infiniteDelay};if(args$$0.context.title)id=ttPrefix+i;else{id="";var classes=nodes[i].className.split(/\s+/);for(var j=classes.length;j--;)if(classes[j].indexOf(ctxPrefix)==
0){var content=document.getElementById(classes[j].slice(ctxPrefixLen));if(content){id=ttPrefix+content.id;args$$0.text=content.innerHTML;break}}}if(id){args$$0.context.tooltip=new YAHOO.widget.Tooltip(id,args$$0);args$$0.context.tooltip.contextTriggerEvent.subscribe(function(type,args){var tooltip=args[0].tooltip;tooltip.contextTriggerEvent.unsubscribe(arguments.callee);Y.Event.on(tooltip.id,"mouseover",handleHover,tooltip);Y.Event.on(tooltip.id,"mouseout",handleHover,tooltip)})}}};fitbit.app.init=
function(){fitbit.app.loadTooltips()};Y.Event.onDOMReady(fitbit.app.init)})();
(function(){fitbit.namespace("fitbit.app.search.solr");fitbit.app.search.solr.food={solrURL:"/search/solrFood",getQueryStringBaseInternal:function(queryParameter,qtParameter,fqParameter){var q="?q\x3d"+encodeURIComponent(queryParameter);var qt=qtParameter==null||qtParameter==""?"":"\x26qt\x3d"+qtParameter;var fq=fqParameter==null||fqParameter==""?"":"\x26fq\x3d"+encodeURIComponent(fqParameter);var queryString=q+qt+fq;return queryString},getQueryString:function(queryParameter,qtParameter,fqParameter){return this.getQueryStringBaseInternal(queryParameter,
qtParameter,fqParameter)+"\x26userOnly\x3dfalse"},getQueryStringMyFoodsOnly:function(queryParameter,qtParameter,fqParameter){return this.getQueryStringBaseInternal(queryParameter,qtParameter,fqParameter)+"\x26userOnly\x3dtrue"}};fitbit.app.search.solr.brand={solrURL:"/search/solrBrand",getQueryStringBaseInternal:function(queryParameter,wtParameter,qtParameter,fqParameter,chunkSizeParameter,startParameter,rowsParameter){var q="?q\x3d"+encodeURIComponent(queryParameter);var wt=wtParameter==null||wtParameter==
""?"\x26wt\x3dbrandjson":"\x26wt\x3d"+encodeURIComponent(wtParameter);var qt=qtParameter==null||qtParameter==""?"":"\x26qt\x3d"+encodeURIComponent(qtParameter);var fq=fqParameter==null||fqParameter==""?"":"\x26fq\x3d"+encodeURIComponent(fqParameter);var chunkSize=chunkSizeParameter==null||chunkSizeParameter==""?"":"\x26chunkSize\x3d"+encodeURIComponent(chunkSizeParameter);var start=startParameter==null||startParameter==""?"":"\x26start\x3d"+encodeURIComponent(startParameter);var rows=rowsParameter==
null||rowsParameter==""?"":"\x26rows\x3d"+encodeURIComponent(rowsParameter);var queryString=q+wt+qt+fq+chunkSize+start+rows;return queryString},getQueryString:function(queryParameter,qtParameter,fqParameter,startParameter,rowsParameter){return this.getQueryStringBaseInternal(queryParameter,null,qtParameter,fqParameter,null,startParameter,rowsParameter)},getQueryStringForMenu:function(queryParameter,qtParameter,fqParameter,chunkSizeParameter){return this.getQueryStringBaseInternal(queryParameter,"brandindexjson",
qtParameter,fqParameter,chunkSizeParameter,null,null)}};fitbit.app.search.solr.activity={solrURL:"/search/solrActivity",getQueryString:function(queryParameter,qtParameter,locale){var q="?q\x3d"+encodeURIComponent(queryParameter);var wt="\x26wt\x3dactivityjson";var qt=qtParameter==null||qtParameter==""?"":"\x26qt\x3d"+qtParameter;var queryString=q+wt+qt;return queryString}};fitbit.app.search.solr.forum={solrURL:"/search/solrForum",getQueryStringBaseInternal:function(queryParameter,qtParameter,fqParameter){var q=
"?q\x3d"+encodeURIComponent(queryParameter);var wt="\x26wt\x3dforumjson";var qt=qtParameter==null||qtParameter==""?"":"\x26qt\x3d"+qtParameter;var fq=fqParameter==null||fqParameter==""?"":"\x26fq\x3d"+encodeURIComponent(fqParameter);var queryString=q+wt+qt+fq;return queryString},getQueryStringAdmin:function(queryParameter){var qt="forum";return this.getQueryStringBaseInternal(queryParameter,qt,null)},getQueryString:function(queryParameter){var qt="forum";return this.getQueryStringBaseInternal(queryParameter,
qt,null)},getQueryStringForHightlightedPost:function(postId,queryParameter){var fq="id:"+postId;var qt="post_hl";var q="id:"+postId+" "+queryParameter;return this.getQueryStringBaseInternal(q,qt,fq)}};fitbit.app.search.solr.blog={solrURL:"/search/solrBlog",getQueryStringBaseInternal:function(queryParameter,qtParameter,fqParameter){var q="?q\x3d"+encodeURIComponent(queryParameter);var wt="\x26wt\x3dblogjson";var qt=qtParameter==null||qtParameter==""?"":"\x26qt\x3d"+qtParameter;var fq=fqParameter==
null||fqParameter==""?"":"\x26fq\x3d"+encodeURIComponent(fqParameter);var queryString=q+wt+qt+fq;return queryString},getQueryString:function(queryParameter){var qt="blog";return this.getQueryStringBaseInternal(queryParameter,qt,null)},getQueryStringForHightlightedPost:function(postId,queryParameter){var fq="id:"+postId;var qt="post_hl";var q="id:"+postId+" "+queryParameter;return this.getQueryStringBaseInternal(q,qt,fq)}};fitbit.app.search.solr.friend={solrURL:"/search/solrFriend",getQueryStringBaseInternal:function(queryParameter,
qtParameter,fqParameter){var q="?q\x3d"+encodeURIComponent(queryParameter);var wt="\x26wt\x3dfriendjson";var qt=qtParameter==null||qtParameter==""?"":"\x26qt\x3d"+qtParameter;var fq=fqParameter==null||fqParameter==""?"":"\x26fq\x3d"+encodeURIComponent(fqParameter);var queryString=q+wt+qt+fq;return queryString},getQueryString:function(queryParameter,qtParameter,fqParameter){return this.getQueryStringBaseInternal(queryParameter,qtParameter,fqParameter)}}})();
(function(){fitbit.namespace("fitbit.util");fitbit.util={truncateString:function(string,length){if(string.length<length)return string;else return string.substr(0,length)+"..."},setContent:function(node,content){for(;node.hasChildNodes();)node.removeChild(node.firstChild);var span=document.createElement("span");span.innerHTML=content;node.appendChild(span)},appendRow:function(table,content,cssClass,trID){var tr=document.createElement("tr");table.appendChild(tr);tr.innerHTML=content;if(cssClass!=null)tr.className=
cssClass;if(trID!=null)tr.id=trID;return tr},isInt:function(value){return!isNaN(value)&&!isNaN(parseInt(value))},isFloat:function(value){return!isNaN(parseFloat(value))},isWindowsPlatform:function(){return navigator.appVersion.indexOf("Win")!=-1},resetForm:function(xForm){var arrElems=xForm.elements;for(var xi=0;xi<arrElems.length;xi++)if(arrElems[xi].type.toLowerCase()=="text"||arrElems[xi].type.toLowerCase()=="password"||arrElems[xi].type.toLowerCase()=="textarea")arrElems[xi].value="";else if(arrElems[xi].type.toLowerCase()==
"radio")arrElems[xi].selected=false;else if(arrElems[xi].type.toLowerCase()=="checkbox")arrElems[xi].checked=false;else if(arrElems[xi].type.toLowerCase().indexOf("select")!=-1)arrElems[xi].selectedIndex=0},getWrappable:function(s,maxWordLength){var breakText="\u200b";if(s==undefined||s==null||s.length<=maxWordLength||s.replace(/^\s+|\s+$/g,"")=="")return s;var idx=0;var wordSize=0;var sb=new Array;for(var i=0;i<s.length;i++){var c=s.charAt(i);if(wordSize<maxWordLength){sb.push(c);if(c==" ")wordSize=
0;else wordSize++}else if(c==" "){sb.push(c);wordSize=0}else{sb.push(breakText,c);wordSize=1}}return sb.join("")},getWrappableNoIE6:function(s,maxWordLength){if(YAHOO){var ieVersion=YAHOO.env.ua.ie;if(ieVersion==0||ieVersion>=7)return fitbit.util.getWrappable(s,maxWordLength);else return s}else return fitbit.util.getWrappable(s,maxWordLength)},getDateFromYUIDateArray:function(inDate){return new Date(inDate[0],inDate[1]-1,inDate[2])},preLoadImages:function(){var cache=[];var argsLen=arguments.length;
for(var i=argsLen;i--;){var cacheImage=document.createElement("img");cacheImage.src=arguments[i];cache.push(cacheImage)}},parseQuery:function(query){var ret={};var search=(query||location.search.slice(1)).replace(/\+/g,"%20");if(search){var pairs=search.split("\x26");var i=0;var l=pairs.length;for(var pair;i<l;i++){pair=pairs[i].split("\x3d");key=decodeURIComponent(pair[0]);val=decodeURIComponent(pair[1]);if(key in ret){if(!(ret[key]instanceof Array))ret[key]=[ret[key]];ret[key].push(val)}else ret[key]=
val}}return ret},toHexColor:function(s){s=s.replace(/^\s+|\s+$/g,"");if(s.charAt(0)=="#"&&s.length==4)return s.toLowerCase().replace(/[a-f\d]/g,"$\x26$\x26");else if(s.toLowerCase().indexOf("rgb")==0)return"#"+s.replace(/\D*(\d+)\D*/g,function(m,c){return("0"+(+c).toString(16)).slice(-2)});return s},cssRule:function(selText){selText=selText.toLowerCase().replace(/^\s+|\s+$/g,"");var re=new RegExp("(?:^|,)\\s*"+selText.replace(/\W/g,"$\x26")+"\\s*(?:,|$)");for(var j=document.styleSheets.length-1;j>=
0;j--){var ss=document.styleSheets[j];var cache=ss.cssRulesCache=ss.cssRulesCache||{};if(cache[selText])return cache[selText];var rules=ss.cssRules||ss.rules;var i=0;for(var len=rules.length;i<len;i++){var rule=rules[i];var ruleSelText=rule.selectorText;ruleSelText=ruleSelText.replace(/\.(\w+)\[CLASS~="\1"\]/g,".$1").replace(/\[ID"([^"]+)"\]/g,"#$1");ruleSelText=ruleSelText.replace(/\*([.#])/g,"$1");ruleSelText=ruleSelText.toLowerCase();if(re.test(ruleSelText))return cache[selText]=rules[i]}}return null},
getRelativeDate:function(dateTime,isDateFormatISO){if(isDateFormatISO)try{var now=new Date;var conversionMethod=dateTime.charAt(dateTime.length-1)==="Z"?"setISO8601":"setISO8601UTC";now[conversionMethod](dateTime);dateTime=now}catch(e){return""}var dateNamespace="com.fitbit.util.relativedateutil.";var getDateMessage=function(key,num){return fitbit.i18n.getResource(dateNamespace+key,num)};var delta=Math.floor(((new Date).getTime()-(new Date(dateTime)).getTime())/1E3);var relativeDate="";if($.isNumeric(delta)){var minute=
60;var hour=minute*60;var day=hour*24;var week=day*7;var month=week*4;var year=month*52;if(delta<30)relativeDate=getDateMessage("just_now",delta);else if(delta<minute)relativeDate=getDateMessage("seconds",delta);else if(delta<minute*2)relativeDate=getDateMessage("minute","1");else if(delta<hour)relativeDate=getDateMessage("minutes",Math.floor(delta/minute));else if(delta<hour*2)relativeDate=getDateMessage("hour","1");else if(delta<day)relativeDate=getDateMessage("hours",Math.floor(delta/hour));else if(delta<
day*2)relativeDate=getDateMessage("day","1");else if(delta<week)relativeDate=getDateMessage("days",Math.floor(delta/day));else if(delta<week*2)relativeDate=getDateMessage("week","1");else if(delta<month*3)relativeDate=getDateMessage("weeks",Math.floor(delta/week));else if(delta<year*2)relativeDate=getDateMessage("months",Math.floor(delta/month));else relativeDate=getDateMessage("years",Math.floor(delta/year))}return relativeDate}};if("textContent"in document.documentElement){fitbit.util.setTextContent=
function(el,text){el.textContent=text};fitbit.util.getTextContent=function(el){return el.textContent}}else{fitbit.util.setTextContent=function(el,text){el.innerText=text};fitbit.util.getTextContent=function(el){return el.innerText}}})();
Date.prototype.setISO8601=function(string){var regexp="([0-9]{4})(-([0-9]{2})(-([0-9]{2})"+"(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(.([0-9]+))?)?"+"(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";var d=string.match(new RegExp(regexp));var offset=0;var date=new Date(d[1],0,1);if(d[3])date.setMonth(d[3]-1);if(d[5])date.setDate(d[5]);if(d[7])date.setHours(d[7]);if(d[8])date.setMinutes(d[8]);if(d[10])date.setSeconds(d[10]);if(d[12])date.setMilliseconds(Number("0."+d[12])*1E3);if(d[14]){offset=Number(d[16])*60+
Number(d[17]);offset*=d[15]=="-"?1:-1}offset-=date.getTimezoneOffset();var time=Number(date)+offset*60*1E3;this.setTime(Number(time))};
Date.prototype.setISO8601UTC=function(string){var regexp="([0-9]{4})(-([0-9]{2})(-([0-9]{2})"+"(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(.([0-9]+))?)?"+"(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";var d=string.match(new RegExp(regexp));var offset=0;var date=new Date(d[1],0,1);if(d[3])date.setMonth(d[3]-1);if(d[5])date.setDate(d[5]);if(d[7])date.setHours(d[7]);if(d[8])date.setMinutes(d[8]);if(d[10])date.setSeconds(d[10]);if(d[12])date.setMilliseconds(Number("0."+d[12])*1E3);if(d[14]){offset=Number(d[16])*
60+Number(d[17]);offset*=d[15]=="-"?1:-1}var time=Number(date)+offset*60*1E3;this.setTime(Number(time))};Date.prototype.getPaddedMonth=function(){var month=this.getMonth()+1;if(month<10)return"0"+month;else return month};Date.prototype.getPaddedDate=function(){var date=this.getDate();if(date<10)return"0"+date;else return date};Date.prototype.getPrettyMonth=function(){var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return months[this.getMonth()]};
var Y=YAHOO.util;(function(){fitbit.namespace("fitbit.app.premium");fitbit.app.premium={addTrialSubscription:function(packName,successUrl,linkId){Y.Connect.asyncRequest("POST","/premium/subscriptions/trial?apiFormat\x3djson\x26pack\x3d"+packName+"\x26add\x3don\x26linkId\x3d"+linkId,{success:function(o){window.location=successUrl},failure:function(o){},argument:[]},null)}}})();
(function(){fitbit.namespace("fitbit.app.premium.customTrackers");fitbit.app.premium.customTrackers={dialog:null,init:function(){fitbit.app.premium.customTrackers.dialog=new YAHOO.widget.Dialog("customTrackersPremiumModal",{width:"554px",zIndex:75,fixedcenter:true,visible:false,modal:true,constraintoviewport:true,draggable:false,close:false})},showDialog:function(){fitbit.app.premium.customTrackers.dialog.render(document.body);Y.Dom.removeClass("customTrackersPremiumModal","invisible");fitbit.app.premium.customTrackers.dialog.show();
fitbit.app.premium.customTrackers.dialog.center()},onClose:function(){fitbit.app.premium.customTrackers.dialog.cancel()}}})();
(function(){fitbit.namespace("fitbit.app.premium.photoStream");fitbit.app.premium.photoStream={dialog:null,init:function(){fitbit.app.premium.photoStream.dialog=new YAHOO.widget.Dialog("photoStreamPremiumModal",{width:"554px",zIndex:55,fixedcenter:true,visible:false,modal:true,constraintoviewport:true,draggable:false,close:false})},showDialog:function(){fitbit.app.premium.photoStream.dialog.render(document.body);Y.Dom.removeClass("photoStreamPremiumModal","invisible");fitbit.app.premium.photoStream.dialog.show();
fitbit.app.premium.photoStream.dialog.doCenterOnDOMEvent()},onClose:function(){fitbit.app.premium.photoStream.dialog.cancel()}}})();
(function(){fitbit.namespace("fitbit.app.premium.heartRate");fitbit.app.premium.heartRate={dialog:null,init:function(){fitbit.app.premium.heartRate.dialog=new YAHOO.widget.Dialog("heartRatePremiumModal",{width:"554px",fixedcenter:true,visible:false,modal:true,constraintoviewport:true,draggable:false,close:false})},showDialog:function(){fitbit.app.premium.heartRate.dialog.render(document.body);Y.Dom.removeClass("heartRatePremiumModal","invisible");fitbit.app.premium.heartRate.dialog.show();fitbit.app.premium.heartRate.dialog.doCenterOnDOMEvent()},
onClose:function(){fitbit.app.premium.heartRate.dialog.cancel()}}})();
(function(){fitbit.namespace("fitbit.app.premium.bloodSugar");fitbit.app.premium.bloodSugar={dialog:null,init:function(){fitbit.app.premium.bloodSugar.dialog=new YAHOO.widget.Dialog("bloodSugarPremiumModal",{width:"554px",fixedcenter:true,visible:false,modal:true,constraintoviewport:true,draggable:false,close:false})},showDialog:function(){fitbit.app.premium.bloodSugar.dialog.render(document.body);Y.Dom.removeClass("bloodSugarPremiumModal","invisible");fitbit.app.premium.bloodSugar.dialog.show();
fitbit.app.premium.bloodSugar.dialog.doCenterOnDOMEvent()},onClose:function(){fitbit.app.premium.bloodSugar.dialog.cancel()}}})();
(function(){fitbit.namespace("fitbit.app.premium.benchmarking");fitbit.app.premium.benchmarking={dialog:null,init:function(){fitbit.app.premium.benchmarking.dialog=new YAHOO.widget.Dialog("benchmarkingPremiumModal",{width:"554px",fixedcenter:true,visible:false,modal:true,constraintoviewport:true,draggable:false,close:false})},showDialog:function(){fitbit.app.premium.benchmarking.dialog.render(document.body);Y.Dom.removeClass("benchmarkingPremiumModal","invisible");fitbit.app.premium.benchmarking.dialog.show();
fitbit.app.premium.benchmarking.dialog.doCenterOnDOMEvent()},onClose:function(){fitbit.app.premium.benchmarking.dialog.cancel()}}})();
(function(){fitbit.namespace("fitbit.app.premium.activityReport");fitbit.app.premium.activityReport={dialog:null,init:function(){fitbit.app.premium.activityReport.dialog=new YAHOO.widget.Dialog("activityReportPremiumModal",{width:"554px",fixedcenter:true,visible:false,modal:true,constraintoviewport:true,draggable:false,close:false})},showDialog:function(){fitbit.app.premium.activityReport.dialog.render(document.body);Y.Dom.removeClass("activityReportPremiumModal","invisible");fitbit.app.premium.activityReport.dialog.show();
fitbit.app.premium.activityReport.dialog.doCenterOnDOMEvent()},onClose:function(){fitbit.app.premium.activityReport.dialog.cancel()}}})();
(function(){fitbit.namespace("fitbit.app.premium.foodReport");fitbit.app.premium.foodReport={dialog:null,init:function(){fitbit.app.premium.foodReport.dialog=new YAHOO.widget.Dialog("foodReportPremiumModal",{width:"554px",fixedcenter:true,visible:false,modal:true,constraintoviewport:true,draggable:false,close:false})},showDialog:function(){fitbit.app.premium.foodReport.dialog.render(document.body);Y.Dom.removeClass("foodReportPremiumModal","invisible");fitbit.app.premium.foodReport.dialog.show();
fitbit.app.premium.foodReport.dialog.doCenterOnDOMEvent()},onClose:function(){fitbit.app.premium.foodReport.dialog.cancel()}}})();
(function(){fitbit.namespace("fitbit.app.premium.sleepReport");fitbit.app.premium.sleepReport={dialog:null,init:function(){fitbit.app.premium.sleepReport.dialog=new YAHOO.widget.Dialog("sleepReportPremiumModal",{width:"554px",fixedcenter:true,visible:false,modal:true,constraintoviewport:true,draggable:false,close:false})},showDialog:function(){fitbit.app.premium.sleepReport.dialog.render(document.body);Y.Dom.removeClass("sleepReportPremiumModal","invisible");fitbit.app.premium.sleepReport.dialog.show();
fitbit.app.premium.sleepReport.dialog.doCenterOnDOMEvent()},onClose:function(){fitbit.app.premium.sleepReport.dialog.cancel()}}})();
(function(){fitbit.namespace("fitbit.app.premium.trainer");fitbit.app.premium.trainer={dialog:null,init:function(){fitbit.app.premium.trainer.dialog=new YAHOO.widget.Dialog("trainerPremiumModal",{width:"554px",zIndex:65,fixedcenter:true,visible:false,modal:true,constraintoviewport:true,draggable:false,close:false})},showDialog:function(){fitbit.app.premium.trainer.dialog.render(document.body);Y.Dom.removeClass("trainerPremiumModal","invisible");fitbit.app.premium.trainer.dialog.show();fitbit.app.premium.trainer.dialog.doCenterOnDOMEvent()},
onClose:function(){fitbit.app.premium.trainer.dialog.cancel()}}})();if(Y.Dom.get("customTrackersPremiumModal")!=null)fitbit.app.premium.customTrackers.init();if(Y.Dom.get("photoStreamPremiumModal")!=null)fitbit.app.premium.photoStream.init();if(Y.Dom.get("heartRatePremiumModal")!=null)fitbit.app.premium.heartRate.init();if(Y.Dom.get("bloodSugarPremiumModal")!=null)fitbit.app.premium.bloodSugar.init();if(Y.Dom.get("benchmarkingPremiumModal")!=null)fitbit.app.premium.benchmarking.init();
if(Y.Dom.get("activityReportPremiumModal")!=null)fitbit.app.premium.activityReport.init();if(Y.Dom.get("foodReportPremiumModal")!=null)fitbit.app.premium.foodReport.init();if(Y.Dom.get("sleepReportPremiumModal")!=null)fitbit.app.premium.sleepReport.init();if(Y.Dom.get("trainerPremiumModal")!=null)fitbit.app.premium.trainer.init();
var Y=YAHOO.util;
(function(){fitbit.namespace("fitbit.app.customTracker");fitbit.app.customTracker={addCustomTrackerDialog:null,init:function(){fitbit.app.customTracker.addCustomTrackerDialog=new YAHOO.widget.Dialog("addCustomTrackerModal",{width:"384px",zIndex:20,fixedcenter:true,visible:false,modal:true,constraintoviewport:true,draggable:false,close:false,buttons:[{text:fitbit.i18n.getResource("com.fitbit.app.tracker.label.add_tracker_button"),handler:fitbit.app.customTracker.handleAddCustomTrackerSubmit,id:"addCustomTracker",
isDefault:true}]})},guessSubjectPluralForm:function(customTrackerFormId,singleFormElementName,pluralFormElementName,performGuess){var form=document.getElementById(customTrackerFormId);var singleForm=form[singleFormElementName].value;var pluralForm=performGuess?fitbit.app.customTracker.computeSubjectPluralForm(singleForm):singleForm;form[pluralFormElementName].value=pluralForm},computeSubjectPluralForm:function(singleForm){var pluralForm=null;if(singleForm.charAt(singleForm.length-1)=="y")pluralForm=
singleForm.substr(0,singleForm.length-1)+"ies";else if(singleForm.charAt(singleForm.length-1)=="f")pluralForm=singleForm.substr(0,singleForm.length-1)+"ves";else if(singleForm.charAt(singleForm.length-1)=="s")pluralForm=singleForm+"es";else if(singleForm.charAt(singleForm.length-1)=="x")pluralForm=singleForm+"es";else if(singleForm.charAt(singleForm.length-1)=="z")pluralForm=singleForm+"es";else if(singleForm.charAt(singleForm.length-2)=="c"&&singleForm.charAt(singleForm.length-1)=="h")pluralForm=
singleForm+"es";else if(singleForm.charAt(singleForm.length-2)=="s"&&singleForm.charAt(singleForm.length-1)=="h")pluralForm=singleForm+"es";else pluralForm=singleForm+"s";return pluralForm},showAddCustomTrackerDialog:function(){fitbit.app.customTracker.addCustomTrackerDialog.render(document.body);Y.Dom.removeClass("addCustomTrackerModal","invisible");fitbit.app.customTracker.setAddCustomTrackerButtonText(fitbit.i18n.getResource("com.fitbit.app.tracker.label.add_tracker_button"));fitbit.app.customTracker.addCustomTrackerDialog.show();
fitbit.app.customTracker.addCustomTrackerDialog.center()},setAddCustomTrackerButtonText:function(buttonText){var addCustomTrackerButton=fitbit.app.customTracker.addCustomTrackerDialog.getButtons()[0];addCustomTrackerButton.innerHTML=buttonText},onClose:function(){var form=document.getElementById("addCustomTrackerForm");fitbit.util.resetForm(form);var errorsElement=Y.Dom.get("addCustomTrackerModalErrors");fitbit.util.setContent(errorsElement,"");Y.Dom.addClass(errorsElement,"invisible");fitbit.app.customTracker.addCustomTrackerDialog.cancel()},
handleAddCustomTrackerSubmit:function(){var progressElement=Y.Dom.get("addCustomTrackerModalProgress");fitbit.util.setContent(progressElement,'\x3cimg src\x3d"/images/controls/busy_grey_green.gif"/\x3e '+fitbit.i18n.getResource("com.fitbit.app.tracker.message.tracker_add_progress"));Y.Dom.removeClass(progressElement,"invisible");var errorsElement=Y.Dom.get("addCustomTrackerModalErrors");fitbit.util.setContent(errorsElement,"");Y.Dom.addClass(errorsElement,"invisible");var form=document.getElementById("addCustomTrackerForm");
var formActionURL=form.action;YAHOO.util.Connect.setForm(form);YAHOO.util.Connect.asyncRequest("POST",formActionURL,{success:function(o){var result=eval("("+o.responseText+")").result;window.location="/log/"+result.uri},failure:function(o){var result=eval("("+o.responseText+")").result;fitbit.util.setContent(Y.Dom.get("addCustomTrackerModalErrors"),fitbit.app.convertErrorsToList(result.errors));Y.Dom.removeClass(Y.Dom.get("addCustomTrackerModalErrors"),"invisible");fitbit.app.customTracker.addCustomTrackerDialog.hide();
fitbit.app.customTracker.addCustomTrackerDialog.show();var progressElement=Y.Dom.get("addCustomTrackerModalProgress");fitbit.util.setContent(progressElement,"");Y.Dom.removeClass(progressElement,"invisible")}})}}})();if(Y.Dom.get("addCustomTrackerModal")!=null)fitbit.app.customTracker.init();
var curvyCornersNoAutoScan=true;$.fb101NeedsSetup=true;
(function($){$.fn.fitbit101=function(options){var $self=$(this);var opts=$.extend({},$.fn.fitbit101.defaults,options);var fb101={tabsApi:{},scrollApi:{},init:function(){fb101.overlaySetup();if($.fb101NeedsSetup){fb101.scrollSetup();fb101.tabSetup();fb101.tabRoute(opts.sectionId);fb101.hideNextPrev();fb101.bindEvents()}},overlaySetup:function(){$self.overlay({top:"center",left:"center",mask:{color:"#000",opacity:.6},onLoad:function(){fb101.track()},close:".closeModal"});fb101.overlayApi=$self.data("overlay");
fb101.overlayApi.load()},bindEvents:function(){$self.delegate(".mainNav .page_next, .mainNav .page_prev","click",function(e){var length=fb101.scrollLength();var index=fb101.scrollIndex();if($(this).hasClass("page_next"))fb101.nextButton(length,index);else if($(this).hasClass("page_prev"))fb101.prevButton(length,index);e.preventDefault()});$self.delegate($self,"click",function(){fb101.hideNextPrev()});$(".chapterNav").delegate(".pager","click",function(){if($(this).parent("li").hasClass("device"))fb101.scrollApi.device.begin();
else if($(this).parent("li").hasClass("basestation"))fb101.scrollApi.base.begin();else fb101.scrollApi.website.begin();fb101.hideNextPrev()})},tabSetup:function(){$(".chapterNav").tabs(".chapterPanes \x3e div",{current:"selected"});fb101.tabsApi=$(".chapterNav").data("tabs")},tabRoute:function(sectionId){switch(sectionId){case "fb101-website":fb101.tabsApi.click(2);break;case "fb101-base":fb101.tabsApi.click(1);break;default:fb101.tabsApi.click(0)}},scrollSetup:function(){$(".fb101Scroll_device").scrollable({items:".section"}).navigator({navi:".fb101ScrollNav_device",
naviItem:"a",activeClass:"selected"});fb101.scrollApi.device=$(".fb101Scroll_device").data("scrollable");$(".fb101Scroll_base").scrollable({items:".section"}).navigator({navi:".fb101ScrollNav_base",naviItem:"a",activeClass:"selected"});fb101.scrollApi.base=$(".fb101Scroll_base").data("scrollable");$(".fb101Scroll_website").scrollable({items:".section"}).navigator({navi:".fb101ScrollNav_website",naviItem:"a",activeClass:"selected"});fb101.scrollApi.website=$(".fb101Scroll_website").data("scrollable");
$.fb101NeedsSetup=false},whichScrollApi:function(){var tabIndex=fb101.tabsApi.getIndex();if(tabIndex===2)return fb101.scrollApi.website;else if(tabIndex===1)return fb101.scrollApi.base;else return fb101.scrollApi.device},hideNextPrev:function(){var tabPosition=fb101.firstOrLastTab();var index=fb101.scrollIndex();var length=fb101.scrollLength();if(tabPosition==="first"&&index===0)$self.find(".page_prev").hide();else if(tabPosition==="last"&&index+1===length)$self.find(".page_next").hide();else $self.find(".page_prev, .page_next").show()},
scrollLength:function(){var api=fb101.whichScrollApi();return api.getSize()},scrollIndex:function(){var api=fb101.whichScrollApi();return api.getIndex()},firstOrLastTab:function(){var tabIndex=fb101.tabsApi.getIndex();var tabCount=fb101.tabsApi.getTabs().length;if(tabIndex===0&&tabCount>1)return"first";else if(tabIndex+1===tabCount)return"last"},nextButton:function(length,index){var api=fb101.whichScrollApi();if(index+1<length)api.next();else fb101.tabsApi.next()},prevButton:function(length,index){var api=
fb101.whichScrollApi();if(index>0)api.prev();else{fb101.tabsApi.prev();fb101.whichScrollApi().end()}},trackingLabelMap:{"fb101-device":"Fitbit101device","fb101-base":"Fitbit101base","fb101-website":"Fitbit101web"},track:function(){try{if(opts.sectionId in fb101.trackingLabelMap&&fitbit.util.track)fitbit.util.track(["_trackEvent","Fitbit101","Click",fb101.trackingLabelMap[opts.sectionId]])}catch(err){if(window["console"]&&window["console"]["log"])console.log(err)}}};fb101.init()};$.fn.fitbit101.defaults=
{sectionId:"fb101-device"}})(jQuery);
!function($){$(function(){var hasLaunched=false;var back;var dialog;var content;var top_nav;var navs;var close;var bottom_nav;var prev;var next;var nav_dots;var lengths;var paddings;var copy;$.aria101=function(){function close_dialog(){back.detach();dialog.detach()}function go_to(major,minor){var newContent=content.clone();var locale_suffix="";newContent.css("background-image","url(/images/aria_101/"+major+"/"+minor+locale_suffix+".jpg)");var padding=paddings[major-1][minor-1];newContent.css({margin:0,
"padding-left":padding.x+"px","padding-top":padding.y+"px",width:679-padding.x+"px",height:408-padding.y+"px","padding-right":"35px"});if(major==1&&minor==1)newContent.css({margin:"0px -6px",width:685-padding.x+"px"});newContent.html($("#aria101_"+major+"_"+minor).html());apply_styles(newContent);update_nav(major);update_subnav(major,minor);content.replaceWith(newContent);content=newContent}function update_subnav(major,minor){prev.removeClass("disabled").unbind("click");next.removeClass("disabled").unbind("click");
if(major==1&&minor==1)prev.addClass("disabled");else prev.click(function(){if(minor==1)go_to(major-1,lengths[major-2]);else go_to(major,minor-1)});if(major==3&&minor==lengths[2])next.addClass("disabled");else next.click(function(){if(minor==lengths[major-1])go_to(major+1,1);else go_to(major,minor+1)});var dots=_(_.range(lengths[major-1])).map(function(ii){return $("\x3cspan/\x3e").addClass(ii==minor-1?"active dot":"dot").click(function(){go_to(major,ii+1)})});nav_dots.empty();_(dots).map(function(d){nav_dots.append(d)})}
function update_nav(major){_(navs).map(function(nav,ii){if(ii==major-1)nav.addClass("active");else nav.removeClass("active")})}function click_weight_button(){if($.fn.foodGoalModal){close_dialog();$().foodGoalModal()}else if(window.location=="/#foodGoal")close_dialog();else window.location="/#foodGoal"}function apply_styles(cont){cont.css("position","relative");cont.find("h1").css({"font":'bold 30px "museo slab",georgia,serif',"color":"#333","padding":0,"margin":0});cont.find("p, li, dd").css({"font":"14px helvetica,arial",
"color":"#666","margin":"10px 0px"});cont.find("ol").css({"padding-left":"25px","padding-right":"25px","font-weight":"bold"});cont.find("li").css({"margin-top":"13px","margin-bottom":"13px"});cont.find("dt").css({"font":'bold 14px "museo slab",georgia,serif',"color":"#333"});cont.find("dd").css({margin:0,"margin-bottom":"20px"});cont.find("button").addClass("btnLg btnPink").css("margin-top","30px").click(click_weight_button)}function initDialog(){dialog.appendTo("body").append(content).append(bottom_nav).append(top_nav);
back.appendTo("body");go_to(1,1)}var labels=$.parseJSON($("#aria101_labels").html());if(hasLaunched){initDialog();return}hasLaunched=true;back=$("\x3cdiv/\x3e").css({zIndex:1E4,"background-color":"#000","opacity":"0.5","width":"100%","height":"100%","position":"fixed","left":0,"top":0}).click(close_dialog);dialog=$("\x3cdiv id\x3d'aria101'/\x3e").css({zIndex:10001,"position":"fixed","left":"50%","margin-left":"-357px","top":"20%"});content=$("\x3cdiv/\x3e");top_nav=$("\x3cdiv/\x3e").addClass("top-nav");
navs=[$("\x3cbutton/\x3e").text(labels.using_scale),$("\x3cbutton/\x3e").text(labels.adding_people),$("\x3cbutton/\x3e").text(labels.reaching_goals)];_(navs).map(function(nav,ii){top_nav.append(nav);nav.click(function(){go_to(ii+1,1)})});close=$("\x3cdiv/\x3e").addClass("close").text(labels.close).appendTo(top_nav);close.click(close_dialog);bottom_nav=$("\x3cdiv/\x3e").css({"background-color":"#d8d8d8","height":"44px","width":"714px"});prev=$("\x3cbutton/\x3e").addClass("prev").text(labels.prev).appendTo(bottom_nav);
next=$("\x3cbutton/\x3e").addClass("next").text(labels.next).appendTo(bottom_nav);nav_dots=$("\x3cdiv/\x3e").addClass("dots").appendTo(bottom_nav);lengths=[3,3,3];paddings=[[{x:416,y:108},{x:405,y:96},{x:333,y:72}],[{x:440,y:92},{x:357,y:92},{x:440,y:81}],[{x:405,y:78},{x:434,y:88},{x:429,y:88}]];initDialog()};!function(){var launch=/launchAria101/.test(location.hash);if(launch)$.aria101()}()})}(jQuery);
(function($){function exit(){modal.fadeOut(300)}function setup(){modal=$("#zip101_modal"),dlg=$("#zip101_dialog");modal.click(function(ev){if(ev.target==this)exit()});dlg.find(".get_started,.close").click(exit)}function visit(idx){modal.css("display","block");content&&content.remove();content=$("#zip101_content \x3e div").eq(idx).children().clone();var packed_images=["/images/zip_101/screen1.png","/images/zip_101/screen2.png","/images/zip_101/screen3.png","/images/zip_101/screen4.png","/images/zip_101/screen5.png"];
$("#zip101_container").append(content).css("backgroundImage","url("+packed_images[idx]+")");var nav_idx=idx<=1?0:idx<=3?1:2;dlg.find(".nav").removeClass("activeNav").eq(nav_idx).addClass("activeNav");dlg.find(".prev,.next").show();dlg.find(".get_started").hide();if(idx==0)dlg.find(".prev").hide();if(idx==4){dlg.find(".next").hide();dlg.find(".get_started").show()}dlg.find(".prev").off("click").click(function(){visit(idx-1)});dlg.find(".next").off("click").click(function(){visit(idx+1)});centerRow(dlg.find(".readout.firstRow \x3e div"));
centerRow(dlg.find(".readout.secondRow \x3e div"))}function centerRow(row){var h=0;row.each(function(){h=Math.max(h,$(this).height())}).each(function(){var hdiff=(h-$(this).height())/2;$(this).css("paddingTop",hdiff).css("paddingBottom",hdiff)})}$.zip101=function(){$(function(){visit(0)})};$(setup);$(function(){if(/launchZip101/.test(location.hash)||/launchZip101/.test(location.search))$.zip101()});var modal;var dlg;var content})(jQuery);
(function($){function exit(){modal.fadeOut(300)}function setup(){modal=$("#one101_modal"),dlg=$("#one101_dialog");modal.click(function(ev){if(ev.target==this)exit()});dlg.find(".get_started,.close").click(exit)}function visit(idx){modal.css("display","block");content&&content.remove();content=$("#one101_content \x3e div").eq(idx).children().clone();var packed_images=["/images/one_101/screen2.png","/images/one_101/screen3.png","/images/one_101/screen4.png","/images/one_101/screen5.png","/images/one_101/screen6.png",
"/images/one_101/screen7.png"];$("#one101_container").append(content).css("backgroundImage","url("+packed_images[idx]+")");$("#one101_container").find("ul \x3e li").prepend($("\x3cspan/\x3e").html("\x26bull;").css({position:"absolute",left:0}));var nav_idx=idx<=0?0:idx<=3?1:2;dlg.find(".nav").removeClass("activeNav").eq(nav_idx).addClass("activeNav");dlg.find(".prev,.next").show();dlg.find(".get_started").hide();if(idx==0)dlg.find(".prev").hide();if(idx==5){dlg.find(".next").hide();dlg.find(".get_started").show()}dlg.find(".prev").off("click").click(function(){visit(idx-
1)});dlg.find(".next").off("click").click(function(){visit(idx+1)})}$.one101=function(){$(function(){visit(0)})};$(setup);$(function(){if(/launchOne101/.test(location.hash)||/launchOne101/.test(location.search))$.one101()});var modal;var dlg;var content})(jQuery);
(function(){var p=this;var C=p._;var m={};var i=Array.prototype;var n=Object.prototype;var f=i.slice;var D=i.unshift;var E=n.toString;var l=n.hasOwnProperty;var s=i.forEach;var t=i.map;var u=i.reduce;var v=i.reduceRight;var w=i.filter;var x=i.every;var y=i.some;var o=i.indexOf;var z=i.lastIndexOf;n=Array.isArray;var F=Object.keys;var q=Function.prototype.bind;var b=function(a){return new j(a)};typeof module!=="undefined"&&module.exports?(module.exports=b,b._=b):p._=b;b.VERSION="1.1.7";var h=b.each=
b.forEach=function(a,c,b){if(a!=null)if(s&&a.forEach===s)a.forEach(c,b);else if(a.length===+a.length){var e=0;for(var k=a.length;e<k;e++)if(e in a&&c.call(b,a[e],e,a)===m)break}else for(e in a)if(l.call(a,e)&&c.call(b,a[e],e,a)===m)break};b.map=function(a$$0,c,b){var e=[];if(a$$0==null)return e;if(t&&a$$0.map===t)return a$$0.map(c,b);h(a$$0,function(a,g,G){e[e.length]=c.call(b,a,g,G)});return e};b.reduce=b.foldl=b.inject=function(a$$0,c,d,e){var k=d!==void 0;a$$0==null&&(a$$0=[]);if(u&&a$$0.reduce===
u)return e&&(c=b.bind(c,e)),k?a$$0.reduce(c,d):a$$0.reduce(c);h(a$$0,function(a,b,f){k?d=c.call(e,d,a,b,f):(d=a,k=!0)});if(!k)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){a==null&&(a=[]);if(v&&a.reduceRight===v)return e&&(c=b.bind(c,e)),d!==void 0?a.reduceRight(c,d):a.reduceRight(c);a=(b.isArray(a)?a.slice():b.toArray(a)).reverse();return b.reduce(a,c,d,e)};b.find=b.detect=function(a$$0,c,b){var e;A(a$$0,function(a,g,f){if(c.call(b,
a,g,f))return e=a,!0});return e};b.filter=b.select=function(a$$0,c,b){var e=[];if(a$$0==null)return e;if(w&&a$$0.filter===w)return a$$0.filter(c,b);h(a$$0,function(a,g,f){c.call(b,a,g,f)&&(e[e.length]=a)});return e};b.reject=function(a$$0,c,b){var e=[];if(a$$0==null)return e;h(a$$0,function(a,g,f){c.call(b,a,g,f)||(e[e.length]=a)});return e};b.every=b.all=function(a$$0,c,b){var e=!0;if(a$$0==null)return e;if(x&&a$$0.every===x)return a$$0.every(c,b);h(a$$0,function(a,g,f){if(!(e=e&&c.call(b,a,g,f)))return m});
return e};var A=b.some=b.any=function(a$$0,c,d){c=c||b.identity;var e=!1;if(a$$0==null)return e;if(y&&a$$0.some===y)return a$$0.some(c,d);h(a$$0,function(a,b,f){if(e|=c.call(d,a,b,f))return m});return!!e};b.include=b.contains=function(a$$0,c){var b=!1;if(a$$0==null)return b;if(o&&a$$0.indexOf===o)return a$$0.indexOf(c)!=-1;A(a$$0,function(a){if(b=a===c)return!0});return b};b.invoke=function(a$$0,c){var d=f.call(arguments,2);return b.map(a$$0,function(a){return(c.call?c||a:a[c]).apply(a,d)})};b.pluck=
function(a$$0,c){return b.map(a$$0,function(a){return a[c]})};b.max=function(a$$0,c,d){if(!c&&b.isArray(a$$0))return Math.max.apply(Math,a$$0);var e={computed:-Infinity};h(a$$0,function(a,b,f){b=c?c.call(d,a,b,f):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a$$0,c,d){if(!c&&b.isArray(a$$0))return Math.min.apply(Math,a$$0);var e={computed:Infinity};h(a$$0,function(a,b,f){b=c?c.call(d,a,b,f):a;b<e.computed&&(e={value:a,computed:b})});return e.value};b.sortBy=function(a$$0,
c$$0,d$$0){return b.pluck(b.map(a$$0,function(a,b,f){return{value:a,criteria:c$$0.call(d$$0,a,b,f)}}).sort(function(a,b){var c=a.criteria;var d=b.criteria;return c<d?-1:c>d?1:0}),"value")};b.groupBy=function(a$$0,b){var d={};h(a$$0,function(a,f){var g=b(a,f);(d[g]||(d[g]=[])).push(a)});return d};b.sortedIndex=function(a,c,d){d||(d=b.identity);var e=0;for(var f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){if(!a)return[];if(a.toArray)return a.toArray();if(b.isArray(a))return f.call(a);
if(b.isArguments(a))return f.call(a);return b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?f.call(a,0,b):a[0]};b.rest=b.tail=function(a,b,d){return f.call(a,b==null||d?1:b)};b.last=function(a){return a[a.length-1]};b.compact=function(a$$0){return b.filter(a$$0,function(a){return!!a})};b.flatten=function(a$$0){return b.reduce(a$$0,function(a,d){if(b.isArray(d))return a.concat(b.flatten(d));a[a.length]=d;return a},[])};b.without=function(a){return b.difference(a,
f.call(arguments,1))};b.uniq=b.unique=function(a$$0,c){return b.reduce(a$$0,function(a,e,f){if(0==f||(c===!0?b.last(a)!=e:!b.include(a,e)))a[a.length]=e;return a},[])};b.union=function(){return b.uniq(b.flatten(arguments))};b.intersection=b.intersect=function(a$$0){var c$$0=f.call(arguments,1);return b.filter(b.uniq(a$$0),function(a){return b.every(c$$0,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a$$0,c){return b.filter(a$$0,function(a){return!b.include(c,a)})};b.zip=function(){var a=
f.call(arguments);var c=b.max(b.pluck(a,"length"));var d=Array(c);for(var e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d};b.indexOf=function(a,c,d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(o&&a.indexOf===o)return a.indexOf(c);d=0;for(e=a.length;d<e;d++)if(a[d]===c)return d;return-1};b.lastIndexOf=function(a,b){if(a==null)return-1;if(z&&a.lastIndexOf===z)return a.lastIndexOf(b);for(var d=a.length;d--;)if(a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=
1&&(b=a||0,a=0);d=arguments[2]||1;var e=Math.max(Math.ceil((b-a)/d),0);var f=0;for(var g=Array(e);f<e;)g[f++]=a,a+=d;return g};b.bind=function(a,b){if(a.bind===q&&q)return q.apply(a,f.call(arguments,1));var d=f.call(arguments,2);return function(){return a.apply(b,d.concat(f.call(arguments)))}};b.bindAll=function(a){var c$$0=f.call(arguments,1);c$$0.length==0&&(c$$0=b.functions(a));h(c$$0,function(c){a[c]=b.bind(a[c],a)});return a};b.memoize=function(a,c){var d={};c||(c=b.identity);return function(){var b=
c.apply(this,arguments);return l.call(d,b)?d[b]:d[b]=a.apply(this,arguments)}};b.delay=function(a,b){var d=f.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(f.call(arguments,1)))};var B=function(a,b,d){var e;return function(){var f=this;var g=arguments;var h=function(){e=null;a.apply(f,g)};d&&clearTimeout(e);if(d||!e)e=setTimeout(h,b)}};b.throttle=function(a,b){return B(a,b,!1)};b.debounce=function(a,b){return B(a,b,!0)};
b.once=function(a){var b=!1;var d;return function(){if(b)return d;b=!0;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(f.call(arguments));return b.apply(this,d)}};b.compose=function(){var a=f.call(arguments);return function(){var b=f.call(arguments);for(var d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}};b.after=function(a,b){return function(){if(--a<1)return b.apply(this,arguments)}};b.keys=F||function(a){if(a!==Object(a))throw new TypeError("Invalid object");
var b=[];for(var d in a)l.call(a,d)&&(b[b.length]=d);return b};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[];for(var d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){h(f.call(arguments,1),function(b){for(var d in b)b[d]!==void 0&&(a[d]=b[d])});return a};b.defaults=function(a){h(f.call(arguments,1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return b.isArray(a)?a.slice():b.extend({},a)};b.tap=
function(a,b){b(a);return a};b.isEqual=function(a,c){if(a===c)return!0;var d=typeof a;if(d!=typeof c)return!1;if(a==c)return!0;if(!a&&c||a&&!c)return!1;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual)return a.isEqual(c);if(c.isEqual)return c.isEqual(a);if(b.isDate(a)&&b.isDate(c))return a.getTime()===c.getTime();if(b.isNaN(a)&&b.isNaN(c))return!1;if(b.isRegExp(a)&&b.isRegExp(c))return a.source===c.source&&a.global===c.global&&a.ignoreCase===c.ignoreCase&&a.multiline===c.multiline;if(d!==
"object")return!1;if(a.length&&a.length!==c.length)return!1;d=b.keys(a);var e=b.keys(c);if(d.length!=e.length)return!1;for(var f in a)if(!(f in c)||!b.isEqual(a[f],c[f]))return!1;return!0};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(l.call(a,c))return!1;return!0};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=n||function(a){return E.call(a)==="[object Array]"};b.isObject=function(a){return a===Object(a)};b.isArguments=function(a){return!(!a||
!l.call(a,"callee"))};b.isFunction=function(a){return!(!a||!a.constructor||!a.call||!a.apply)};b.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)};b.isNumber=function(a){return!!(a===0||a&&a.toExponential&&a.toFixed)};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===!0||a===!1};b.isDate=function(a){return!(!a||!a.getTimezoneOffset||!a.setUTCFullYear)};b.isRegExp=function(a){return!(!a||!a.test||!a.exec||!(a.ignoreCase||a.ignoreCase===!1))};b.isNull=function(a){return a===
null};b.isUndefined=function(a){return a===void 0};b.noConflict=function(){p._=C;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.mixin=function(a){h(b.functions(a),function(c){H(c,b[c]=a[c])})};var I=0;b.uniqueId=function(a){var b=I++;return a?a+b:b};b.templateSettings={evaluate:/{([\s\S]+?)}/g,interpolate:/{(([\s\S]+?))}/g};b.template=function(a$$0,c){var d=b.templateSettings;d="var __p\x3d[],print\x3dfunction(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+
a$$0.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.interpolate,function(a,b){return"',"+b.replace(/\\'/g,"'")+",'"}).replace(d.evaluate||null,function(a,b){return"');"+b.replace(/\\'/g,"'").replace(/[\r\n\t]/g," ")+"__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');";d=new Function("obj",d);return c?d(c):d};var j=function(a){this._wrapped=a};b.prototype=j.prototype;var r=function(a,c){return c?b(a).chain():a};var H=function(a$$0,c){j.prototype[a$$0]=
function(){var a=f.call(arguments);D.call(a,this._wrapped);return r(c.apply(b,a),this._chain)}};b.mixin(b);h(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=i[a];j.prototype[a]=function(){b.apply(this._wrapped,arguments);return r(this._wrapped,this._chain)}});h(["concat","join","slice"],function(a){var b=i[a];j.prototype[a]=function(){return r(b.apply(this._wrapped,arguments),this._chain)}});j.prototype.chain=function(){this._chain=!0;return this};j.prototype.value=function(){return this._wrapped}})();
window.Modernizr=function(a,b,c){function u(a){i.cssText=a}function v(a,b){return u(prefixes.join(a+";")+(b||""))}function w(a,b){return typeof a===b}function x(a,b){return!!~(""+a).indexOf(b)}function y(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:w(f,"function")?f.bind(d||b):f}return!1}function z(){e.input=function(c){var d=0;for(var e=c.length;d<e;d++)o[c[d]]=c[d]in j;return o.list&&(o.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),o}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),
e.inputtypes=function(a){var d=0;var e;var g;var h;for(var i=a.length;d<i;d++)j.setAttribute("type",g=a[d]),e=j.type!=="text",e&&(j.value=k,j.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(g)&&j.style.WebkitAppearance!==c?(f.appendChild(j),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(j,null).WebkitAppearance!=="textfield"&&j.offsetHeight!==0,f.removeChild(j)):/^(search|tel)$/.test(g)||(/^(url|email)$/.test(g)?e=j.checkValidity&&j.checkValidity()===!1:e=j.value!=k)),
n[a[d]]=!!e;return n}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.6.2";var e={};var f=b.documentElement;var g="modernizr";var h=b.createElement(g);var i=h.style;var j=b.createElement("input");var k=":)";var l={}.toString;var m={};var n={};var o={};var p=[];var q=p.slice;var r;var s={}.hasOwnProperty;var t;!w(s,"undefined")&&!w(s.call,"undefined")?t=function(a,b){return s.call(a,b)}:t=function(a,b){return b in a&&w(a.constructor.prototype[b],
"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=q.call(arguments,1);var e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a;var g=c.apply(f,d.concat(q.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(q.call(arguments)))};return e}),m.localstorage=function(){try{return localStorage.setItem(g,g),localStorage.removeItem(g),!0}catch(a){return!1}};for(var A in m)t(m,
A)&&(r=A.toLowerCase(),e[r]=m[A](),p.push((e[r]?"":"no-")+r));return e.input||z(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)t(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof enableClasses!="undefined"&&enableClasses&&(f.className+=" "+(b?"":"no-")+a),e[a]=b}return e},u(""),h=j=null,e._version=d,e}(this,this.document),Modernizr.addTest("placeholder",function(){return"placeholder"in(Modernizr.input||document.createElement("input"))&&
"placeholder"in(Modernizr.textarea||document.createElement("textarea"))});
window.log=function(){log.history=log.history||[];log.history.push(arguments);if(this.console){arguments.callee=arguments.callee.caller;var newarr=[].slice.call(arguments);typeof console.log==="object"?log.apply.call(console.log,console,newarr):console.log.apply(console,newarr)}};
(function(b){function c(){}var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,timeStamp,profile,profileEnd,time,timeEnd,trace,warn".split(",");for(var a;a=d.pop();)b[a]=b[a]||c})(function(){try{console.log();return window.console}catch(err){return window.console={}}}());(function($){var o=$({});$.subscribe=function(){o.on.apply(o,arguments)};$.unsubscribe=function(){o.off.apply(o,arguments)};$.publish=function(){o.trigger.apply(o,arguments)}})(jQuery);
$.subscribe("xhr",function(e,obj){$.ajax({type:obj.method,url:obj.url,data:obj.params,success:function(json){if(typeof obj.callback==="function")obj.callback($.isPlainObject(json)?json:$.parseJSON(json))},error:function(jqXHR,exception){if(jqXHR.status===0)console.error("Not connecting.\n Verify Network.");else if(jqXHR.status==404)console.error("Requested page not found. [404]");else if(jqXHR.status==500)console.error("Internal Server Error [500].");else if(exception==="parsererror")console.error("Requested JSON parse failed.");
else if(exception==="timeout")console.error("Time out error.");else if(exception==="abort")console.error("Ajax request aborted.");else console.error("Uncaught Error.\n"+jqXHR.responseText)}})});
