").append(ib.parseHTML(a)).find(e):a)}).complete(d&&function(a,b){h.each(d,f||[a.responseText,b,a])}),this},ib.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){ib.fn[b]=function(a){return this.on(b,a)}}),ib.each(["get","post"],function(a,c){ib[c]=function(a,d,e,f){return ib.isFunction(d)&&(f=f||e,e=d,d=b),ib.ajax({url:a,type:c,dataType:f,data:d,success:e})}}),ib.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Fc,type:"GET",isLocal:Lc.test(Ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Sc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":ib.parseJSON,"text xml":ib.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?G(G(a,ib.ajaxSettings),b):G(ib.ajaxSettings,a)},ajaxPrefilter:E(Qc),ajaxTransport:E(Rc),ajax:function(a,c){function d(a,c,d,e){var f,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),k=b,h=e||"",w.readyState=a>0?4:0,d&&(t=H(m,w,d)),a>=200&&300>a||304===a?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&(ib.lastModified[g]=v),v=w.getResponseHeader("etag"),v&&(ib.etag[g]=v)),204===a?(f=!0,x="nocontent"):304===a?(f=!0,x="notmodified"):(f=I(m,t),x=f.state,l=f.data,s=f.error,f=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),w.status=a,w.statusText=(c||x)+"",f?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=b,j&&o.trigger(f?"ajaxSuccess":"ajaxError",[w,m,f?l:s]),q.fireWith(n,[w,x]),j&&(o.trigger("ajaxComplete",[w,m]),--ib.active||ib.event.trigger("ajaxStop")))}"object"==typeof a&&(c=a,a=b),c=c||{};var e,f,g,h,i,j,k,l,m=ib.ajaxSetup({},c),n=m.context||m,o=m.context&&(n.nodeType||n.jquery)?ib(n):ib.event,p=ib.Deferred(),q=ib.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!l)for(l={};b=Kc.exec(h);)l[b[1].toLowerCase()]=b[2];b=l[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?h:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return k&&k.abort(b),d(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,m.url=((a||m.url||Fc)+"").replace(Ic,"").replace(Nc,Ec[1]+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=ib.trim(m.dataType||"*").toLowerCase().match(kb)||[""],null==m.crossDomain&&(e=Oc.exec(m.url.toLowerCase()),m.crossDomain=!(!e||e[1]===Ec[1]&&e[2]===Ec[2]&&(e[3]||("http:"===e[1]?80:443))==(Ec[3]||("http:"===Ec[1]?80:443)))),m.data&&m.processData&&"string"!=typeof m.data&&(m.data=ib.param(m.data,m.traditional)),F(Qc,m,c,w),2===u)return w;j=m.global,j&&0===ib.active++&&ib.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!Mc.test(m.type),g=m.url,m.hasContent||(m.data&&(g=m.url+=(Hc.test(g)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=Jc.test(g)?g.replace(Jc,"$1_="+Gc++):g+(Hc.test(g)?"&":"?")+"_="+Gc++)),m.ifModified&&(ib.lastModified[g]&&w.setRequestHeader("If-Modified-Since",ib.lastModified[g]),ib.etag[g]&&w.setRequestHeader("If-None-Match",ib.etag[g])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Sc+"; q=0.01":""):m.accepts["*"]);for(f in m.headers)w.setRequestHeader(f,m.headers[f]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(f in{success:1,error:1,complete:1})w[f](m[f]);if(k=F(Rc,m,c,w)){w.readyState=1,j&&o.trigger("ajaxSend",[w,m]),m.async&&m.timeout>0&&(i=setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,k.send(s,d)}catch(x){if(!(2>u))throw x;d(-1,x)}}else d(-1,"No Transport");return w},getScript:function(a,c){return ib.get(a,b,c,"script")},getJSON:function(a,b,c){return ib.get(a,b,c,"json")}}),ib.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return ib.globalEval(a),a}}}),ib.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),ib.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=W.head||ib("head")[0]||W.documentElement;return{send:function(b,e){c=W.createElement("script"),c.async=!0,a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,b){(b||!c.readyState||/loaded|complete/.test(c.readyState))&&(c.onload=c.onreadystatechange=null,c.parentNode&&c.parentNode.removeChild(c),c=null,b||e(200,"success"))},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(b,!0)}}}});var Uc=[],Vc=/(=)\?(?=&|$)|\?\?/;ib.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Uc.pop()||ib.expando+"_"+Gc++;return this[a]=!0,a}}),ib.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.jsonp!==!1&&(Vc.test(c.url)?"url":"string"==typeof c.data&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vc.test(c.data)&&"data");return i||"jsonp"===c.dataTypes[0]?(f=c.jsonpCallback=ib.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,i?c[i]=c[i].replace(Vc,"$1"+f):c.jsonp!==!1&&(c.url+=(Hc.test(c.url)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||ib.error(f+" was not called"),h[0]},c.dataTypes[0]="json",g=a[f],a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,Uc.push(f)),h&&ib.isFunction(g)&&g(h[0]),h=g=b}),"script"):void 0});var Wc,Xc,Yc=0,Zc=a.ActiveXObject&&function(){var a;for(a in Wc)Wc[a](b,!0)};ib.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&J()||K()}:J,Xc=ib.ajaxSettings.xhr(),ib.support.cors=!!Xc&&"withCredentials"in Xc,Xc=ib.support.ajax=!!Xc,Xc&&ib.ajaxTransport(function(c){if(!c.crossDomain||ib.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();if(c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async),c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),c.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l;try{if(d&&(e||4===i.readyState))if(d=b,g&&(i.onreadystatechange=ib.noop,Zc&&delete Wc[g]),e)4!==i.readyState&&i.abort();else{l={},h=i.status,j=i.getAllResponseHeaders(),"string"==typeof i.responseText&&(l.text=i.responseText);try{k=i.statusText}catch(m){k=""}h||!c.isLocal||c.crossDomain?1223===h&&(h=204):h=l.text?200:404}}catch(n){e||f(-1,n)}l&&f(h,k,l,j)},c.async?4===i.readyState?setTimeout(d):(g=++Yc,Zc&&(Wc||(Wc={},ib(a).unload(Zc)),Wc[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(b,!0)}}}});var $c,_c,ad=/^(?:toggle|show|hide)$/,bd=new RegExp("^(?:([+-])=|)("+jb+")([a-z%]*)$","i"),cd=/queueHooks$/,dd=[P],ed={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=bd.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){if(c=+f[2],d=f[3]||(ib.cssNumber[a]?"":"px"),"px"!==d&&h){h=ib.css(e.elem,a,!0)||c||1;do i=i||".5",h/=i,ib.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&1!==i&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};ib.Animation=ib.extend(N,{tweener:function(a,b){ib.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ed[c]=ed[c]||[],ed[c].unshift(b)},prefilter:function(a,b){b?dd.unshift(a):dd.push(a)}}),ib.Tween=Q,Q.prototype={constructor:Q,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(ib.cssNumber[c]?"":"px")},cur:function(){var a=Q.propHooks[this.prop];return a&&a.get?a.get(this):Q.propHooks._default.get(this)},run:function(a){var b,c=Q.propHooks[this.prop];return this.pos=b=this.options.duration?ib.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Q.propHooks._default.set(this),this}},Q.prototype.init.prototype=Q.prototype,Q.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=ib.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){ib.fx.step[a.prop]?ib.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[ib.cssProps[a.prop]]||ib.cssHooks[a.prop])?ib.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Q.propHooks.scrollTop=Q.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},ib.each(["toggle","show","hide"],function(a,b){var c=ib.fn[b];ib.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(R(b,!0),a,d,e)}}),ib.fn.extend({fadeTo:function(a,b,c,d){return this.filter(w).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=ib.isEmptyObject(a),f=ib.speed(b,c,d),g=function(){var b=N(this,ib.extend({},a),f);g.finish=function(){b.stop(!0)},(e||ib._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return"string"!=typeof a&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=null!=a&&a+"queueHooks",f=ib.timers,g=ib._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cd.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem!==this||null!=a&&f[c].queue!==a||(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&ib.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=ib._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=ib.timers,g=d?d.length:0;for(c.finish=!0,ib.queue(this,a,[]),e&&e.cur&&e.cur.finish&&e.cur.finish.call(this),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),ib.each({slideDown:R("show"),slideUp:R("hide"),slideToggle:R("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){ib.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),ib.speed=function(a,b,c){var d=a&&"object"==typeof a?ib.extend({},a):{complete:c||!c&&b||ib.isFunction(a)&&a,duration:a,easing:c&&b||b&&!ib.isFunction(b)&&b};return d.duration=ib.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in ib.fx.speeds?ib.fx.speeds[d.duration]:ib.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){ib.isFunction(d.old)&&d.old.call(this),d.queue&&ib.dequeue(this,d.queue)},d},ib.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},ib.timers=[],ib.fx=Q.prototype.init,ib.fx.tick=function(){var a,c=ib.timers,d=0;for($c=ib.now();d
-1,l={},m={};k?(m=g.position(),e=m.top,f=m.left):(e=parseFloat(i)||0,f=parseFloat(j)||0),ib.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(l.top=b.top-h.top+e),null!=b.left&&(l.left=b.left-h.left+f),"using"in b?b.using.call(a,l):g.css(l)}},ib.fn.extend({position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===ib.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),ib.nodeName(a[0],"html")||(c=a.offset()),c.top+=ib.css(a[0],"borderTopWidth",!0),c.left+=ib.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-ib.css(d,"marginTop",!0),left:b.left-c.left-ib.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||W.documentElement;a&&!ib.nodeName(a,"html")&&"static"===ib.css(a,"position");)a=a.offsetParent;return a||W.documentElement})}}),ib.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);ib.fn[a]=function(e){return ib.access(this,function(a,e,f){var g=S(a);return f===b?g?c in g?g[c]:g.document.documentElement[e]:a[e]:(g?g.scrollTo(d?ib(g).scrollLeft():f,d?f:ib(g).scrollTop()):a[e]=f,void 0)},a,e,arguments.length,null)}}),ib.each({Height:"height",Width:"width"},function(a,c){ib.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){ib.fn[e]=function(e,f){var g=arguments.length&&(d||"boolean"!=typeof e),h=d||(e===!0||f===!0?"margin":"border");return ib.access(this,function(c,d,e){var f;return ib.isWindow(c)?c.document.documentElement["client"+a]:9===c.nodeType?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?ib.css(c,d,h):ib.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=ib,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return ib})}(window);
\ No newline at end of file
diff --git a/www/js/libs/jquery-cookie.min.js b/www/js/libs/jquery-cookie.min.js
deleted file mode 100644
index b553dcc..0000000
--- a/www/js/libs/jquery-cookie.min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(a,b,c){function d(a){return a}function e(a){return decodeURIComponent(a.replace(f," "))}var f=/\+/g;a.cookie=function(f,g,h){if(g!==c&&!/Object/.test(Object.prototype.toString.call(g))){if(h=a.extend({},a.cookie.defaults,h),null===g&&(h.expires=-1),"number"==typeof h.expires){var i=h.expires,j=h.expires=new Date;j.setDate(j.getDate()+i)}return g=String(g),b.cookie=[encodeURIComponent(f),"=",h.raw?g:encodeURIComponent(g),h.expires?"; expires="+h.expires.toUTCString():"",h.path?"; path="+h.path:"",h.domain?"; domain="+h.domain:"",h.secure?"; secure":""].join("")}h=g||a.cookie.defaults||{};for(var k,l=h.raw?d:e,m=b.cookie.split("; "),n=0;k=m[n]&&m[n].split("=");n++)if(l(k.shift())===f)return l(k.join("="));return null},a.cookie.defaults={},a.removeCookie=function(b,c){return null!==a.cookie(b,c)?(a.cookie(b,null,c),!0):!1}}(jQuery,document);
\ No newline at end of file
diff --git a/www/js/libs/jquery-joyride-2-1.min.js b/www/js/libs/jquery-joyride-2-1.min.js
deleted file mode 100644
index 7179e8b..0000000
--- a/www/js/libs/jquery-joyride-2-1.min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(a,b,c){"use strict";var d={version:"2.1",tipLocation:"bottom",nubPosition:"auto",scroll:!0,scrollSpeed:300,timer:0,autoStart:!1,startTimerOnClick:!0,startOffset:0,nextButton:!0,tipAnimation:"fade",pauseAfter:[],tipAnimationFadeSpeed:300,cookieMonster:!1,cookieName:"joyride",cookieDomain:!1,cookiePath:!1,localStorage:!1,localStorageKey:"joyride",tipContainer:"body",modal:!1,expose:!1,postExposeCallback:a.noop,preRideCallback:a.noop,postRideCallback:a.noop,preStepCallback:a.noop,postStepCallback:a.noop,template:{link:'X',timer:'
',tip:'
',wrapper:'',button:'',modal:'',expose:'',exposeCover:''}},e=e||!1,f={},g={init:function(c){return this.each(function(){a.isEmptyObject(f)?(f=a.extend(!0,d,c),f.document=b.document,f.$document=a(f.document),f.$window=a(b),f.$content_el=a(this),f.$body=a(f.tipContainer),f.body_offset=a(f.tipContainer).position(),f.$tip_content=a("> li",f.$content_el),f.paused=!1,f.attempts=0,f.tipLocationPatterns={top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},g.jquery_check(),a.isFunction(a.cookie)||(f.cookieMonster=!1),f.cookieMonster&&a.cookie(f.cookieName)||f.localStorage&&g.support_localstorage()&&localStorage.getItem(f.localStorageKey)||(f.$tip_content.each(function(b){g.create({$li:a(this),index:b})}),f.autoStart&&(!f.startTimerOnClick&&f.timer>0?(g.show("init"),g.startTimer()):g.show("init"))),f.$document.on("click.joyride",".joyride-next-tip, .joyride-modal-bg",function(a){a.preventDefault(),f.$li.next().length<1?g.end():f.timer>0?(clearTimeout(f.automate),g.hide(),g.show(),g.startTimer()):(g.hide(),g.show())}),f.$document.on("click.joyride",".joyride-close-tip",function(a){a.preventDefault(),g.end()}),f.$window.bind("resize.joyride",function(){if(f.$li){if(f.exposed&&f.exposed.length>0){var b=a(f.exposed);b.each(function(){var b=a(this);g.un_expose(b),g.expose(b)})}g.is_phone()?g.pos_phone():g.pos_default()}})):g.restart()})},resume:function(){g.set_li(),g.show()},nextTip:function(){f.$li.next().length<1?g.end():f.timer>0?(clearTimeout(f.automate),g.hide(),g.show(),g.startTimer()):(g.hide(),g.show())},tip_template:function(b){var c,d,e;return b.tip_class=b.tip_class||"",c=a(f.template.tip).addClass(b.tip_class),d=a.trim(a(b.li).html())+g.button_text(b.button_text)+f.template.link+g.timer_instance(b.index),e=a(f.template.wrapper),b.li.attr("data-aria-labelledby")&&e.attr("aria-labelledby",b.li.attr("data-aria-labelledby")),b.li.attr("data-aria-describedby")&&e.attr("aria-describedby",b.li.attr("data-aria-describedby")),c.append(e),c.first().attr("data-index",b.index),a(".joyride-content-wrapper",c).append(d),c[0]},timer_instance:function(b){var c;return c=0===b&&f.startTimerOnClick&&f.timer>0||0===f.timer?"":g.outerHTML(a(f.template.timer)[0])},button_text:function(b){return f.nextButton?(b=a.trim(b)||"Next",b=g.outerHTML(a(f.template.button).append(b)[0])):b="",b},create:function(b){var c=b.$li.attr("data-button")||b.$li.attr("data-text"),d=b.$li.attr("class"),e=a(g.tip_template({tip_class:d,index:b.index,button_text:c,li:b.$li}));a(f.tipContainer).append(e)},show:function(b){var d,e,h={},i=[],j=0,k=null;if(f.$li===c||-1===a.inArray(f.$li.index(),f.pauseAfter))if(f.paused?f.paused=!1:g.set_li(b),f.attempts=0,f.$li.length&&f.$target.length>0){for(b&&(f.preRideCallback(f.$li.index(),f.$next_tip),f.modal&&g.show_modal()),f.preStepCallback(f.$li.index(),f.$next_tip),i=(f.$li.data("options")||":").split(";"),j=i.length,d=j-1;d>=0;d--)e=i[d].split(":"),2===e.length&&(h[a.trim(e[0])]=a.trim(e[1]));f.tipSettings=a.extend({},f,h),f.tipSettings.tipLocationPattern=f.tipLocationPatterns[f.tipSettings.tipLocation],f.modal&&f.expose&&g.expose(),!/body/i.test(f.$target.selector)&&f.scroll&&g.scroll_to(),g.is_phone()?g.pos_phone(!0):g.pos_default(!0),k=a(".joyride-timer-indicator",f.$next_tip),/pop/i.test(f.tipAnimation)?(k.outerWidth(0),f.timer>0?(f.$next_tip.show(),k.animate({width:a(".joyride-timer-indicator-wrap",f.$next_tip).outerWidth()},f.timer)):f.$next_tip.show()):/fade/i.test(f.tipAnimation)&&(k.outerWidth(0),f.timer>0?(f.$next_tip.fadeIn(f.tipAnimationFadeSpeed),f.$next_tip.show(),k.animate({width:a(".joyride-timer-indicator-wrap",f.$next_tip).outerWidth()},f.timer)):f.$next_tip.fadeIn(f.tipAnimationFadeSpeed)),f.$current_tip=f.$next_tip,a(".joyride-next-tip",f.$current_tip).focus(),g.tabbable(f.$current_tip)}else f.$li&&f.$target.length<1?g.show():g.end();else f.paused=!0},is_phone:function(){return!1},support_localstorage:function(){return e?e.localstorage:!!b.localStorage},hide:function(){f.modal&&f.expose&&g.un_expose(),f.modal||a(".joyride-modal-bg").hide(),f.$current_tip.hide(),f.postStepCallback(f.$li.index(),f.$current_tip)},set_li:function(a){a?(f.$li=f.$tip_content.eq(f.startOffset),g.set_next_tip(),f.$current_tip=f.$next_tip):(f.$li=f.$li.next(),g.set_next_tip()),g.set_target()},set_next_tip:function(){f.$next_tip=a(".joyride-tip-guide[data-index="+f.$li.index()+"]")},set_target:function(){var b=f.$li.attr("data-class"),c=f.$li.attr("data-id"),d=function(){return c?a(f.document.getElementById(c)):b?a("."+b).filter(":visible").first():a("body")};f.$target=d()},scroll_to:function(){var b,c;b=f.$window.height()/2,c=Math.ceil(f.$target.offset().top-b+f.$next_tip.outerHeight()),a("html, body").stop().animate({scrollTop:c},f.scrollSpeed)},paused:function(){return-1===a.inArray(f.$li.index()+1,f.pauseAfter)?!0:!1},destroy:function(){a.isEmptyObject(f)||f.$document.off(".joyride"),a(b).off(".joyride"),a(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),a(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(f.automate),f={}},restart:function(){f.autoStart?(g.hide(),f.$li=c,g.show("init")):(!f.startTimerOnClick&&f.timer>0?(g.show("init"),g.startTimer()):g.show("init"),f.autoStart=!0)},pos_default:function(b){var c=(Math.ceil(f.$window.height()/2),f.$next_tip.offset(),a(".joyride-nub",f.$next_tip)),d=Math.ceil(c.outerWidth()/2),e=Math.ceil(c.outerHeight()/2),h=b||!1;if(h&&(f.$next_tip.css("visibility","hidden"),f.$next_tip.show()),/body/i.test(f.$target.selector))f.$li.length&&g.pos_modal(c);else{var i=f.tipSettings.tipAdjustmentY?parseInt(f.tipSettings.tipAdjustmentY):0,j=f.tipSettings.tipAdjustmentX?parseInt(f.tipSettings.tipAdjustmentX):0;g.bottom()?(f.$next_tip.css({top:f.$target.offset().top+e+f.$target.outerHeight()+i,left:f.$target.offset().left-.7*f.$next_tip.outerWidth()+j}),/right/i.test(f.tipSettings.nubPosition)&&f.$next_tip.css("left",f.$target.offset().left+f.$target.outerWidth()),g.nub_position(c,f.tipSettings.nubPosition,"top")):g.top()?(f.$next_tip.css({top:f.$target.offset().top-f.$next_tip.outerHeight()-e-i,left:f.$target.offset().left-.8*f.$next_tip.outerWidth()+j}),g.nub_position(c,f.tipSettings.nubPosition,"bottom")):g.right()?(f.$next_tip.css({top:f.$target.offset().top+.5*i,left:f.$target.outerWidth()+f.$target.offset().left+d+j}),g.nub_position(c,f.tipSettings.nubPosition,"left")):g.left()&&(f.$next_tip.css({top:f.$target.offset().top+.5*i,left:f.$target.offset().left-f.$next_tip.outerWidth()-d-j}),g.nub_position(c,f.tipSettings.nubPosition,"right")),!g.visible(g.corners(f.$next_tip))&&f.attempts0&&arguments[0]instanceof a)e=arguments[0];else{if(!f.$target||/body/i.test(f.$target.selector))return!1;e=f.$target}return e.length<1?(b.console&&console.error("element not valid",e),!1):(c=a(f.template.expose),f.$body.append(c),c.css({top:e.offset().top-2,left:e.offset().left-2,width:e[0].clientWidth+4,height:e[0].clientHeight+4}),d=a(f.template.exposeCover),h={zIndex:e.css("z-index"),position:e.css("position")},e.css("z-index",1*c.css("z-index")+1),"static"==h.position&&e.css("position","relative"),e.data("expose-css",h),d.css({top:e.offset().top-2,left:e.offset().left-2,width:e[0].clientWidth+4,height:e[0].clientHeight+4}),f.$body.append(d),c.addClass(i),d.addClass(i),f.tipSettings.exposeClass&&(c.addClass(f.tipSettings.exposeClass),d.addClass(f.tipSettings.exposeClass)),e.data("expose",i),f.postExposeCallback(f.$li.index(),f.$next_tip,e),g.add_exposed(e),void 0)},un_expose:function(){var c,d,e,h,i=!1;if(arguments.length>0&&arguments[0]instanceof a)d=arguments[0];else{if(!f.$target||/body/i.test(f.$target.selector))return!1;d=f.$target}return d.length<1?(b.console&&console.error("element not valid",d),!1):(c=d.data("expose"),e=a("."+c),arguments.length>1&&(i=arguments[1]),i===!0?a(".joyride-expose-wrapper,.joyride-expose-cover").remove():e.remove(),h=d.data("expose-css"),"auto"==h.zIndex?d.css("z-index",""):d.css("z-index",h.zIndex),h.position!=d.css("position")&&("static"==h.position?d.css("position",""):d.css("position",h.position)),d.removeData("expose"),d.removeData("expose-z-index"),g.remove_exposed(d),void 0)},add_exposed:function(b){f.exposed=f.exposed||[],b instanceof a?f.exposed.push(b[0]):"string"==typeof b&&f.exposed.push(b)},remove_exposed:function(b){var c;b instanceof a?c=b[0]:"string"==typeof b&&(c=b),f.exposed=f.exposed||[];for(var d=0;dd&&(i=0>d?0:d),g>h&&(h=g),[a.offset().topa.offset().left]},visible:function(a){for(var b=a.length;b--;)if(a[b])return!1;return!0},nub_position:function(a,b,c){"auto"===b?a.addClass(c):a.addClass(b)},startTimer:function(){f.$li.length?f.automate=setTimeout(function(){g.hide(),g.show(),g.startTimer()},f.timer):clearTimeout(f.automate)},end:function(){f.cookieMonster&&a.cookie(f.cookieName,"ridden",{expires:365,domain:f.cookieDomain,path:f.cookiePath}),f.localStorage&&localStorage.setItem(f.localStorageKey,!0),f.timer>0&&clearTimeout(f.automate),f.modal&&f.expose&&g.un_expose(),f.$current_tip&&f.$current_tip.hide(),f.$li&&(f.postStepCallback(f.$li.index(),f.$current_tip),f.postRideCallback(f.$li.index(),f.$current_tip)),a(".joyride-modal-bg").hide()},jquery_check:function(){return a.isFunction(a.fn.on)?!0:(a.fn.on=function(a,b,c){return this.delegate(b,a,c)},a.fn.off=function(a,b,c){return this.undelegate(b,a,c)},!1)},outerHTML:function(a){return a.outerHTML||(new XMLSerializer).serializeToString(a)},version:function(){return f.version},tabbable:function(b){a(b).on("keydown",function(c){if(!c.isDefaultPrevented()&&c.keyCode&&27===c.keyCode)return c.preventDefault(),g.end(),void 0;if(9===c.keyCode){var d=a(b).find(":tabbable"),e=d.filter(":first"),f=d.filter(":last");c.target!==f[0]||c.shiftKey?c.target===e[0]&&c.shiftKey&&(f.focus(1),c.preventDefault()):(e.focus(1),c.preventDefault())}})}};a.fn.joyride=function(b){return g[b]?g[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?(a.error("Method "+b+" does not exist on jQuery.joyride"),void 0):g.init.apply(this,arguments)}}(jQuery,this);
\ No newline at end of file
diff --git a/www/settings.html b/www/settings.html
index ba7ee3a..aac0987 100644
--- a/www/settings.html
+++ b/www/settings.html
@@ -180,6 +180,10 @@
+