(function(){var O=20;var V=0;var c=null;var Q=null;var R=0;var Y=location.hash;var F="#_";var N=[];var K=0;var f;var X=false;var g="portrait";var a="landscape";window.iui={animOn:false,showPage:function(i,h){if(i){if(Q){Q.removeAttribute("selected");Q=null}if(D(i,"dialog")){W(i)}else{var j=c;c=i;if(j){setTimeout(C,0,j,i,h)}else{T(i,j)}}}},showPageById:function(i){var k=M(i);if(k){var j=N.indexOf(i);var h=j!=-1;if(h){N.splice(j,N.length)}iui.showPage(k,h)}},showPageByHref:function(i,j,m,k,h){var l=new XMLHttpRequest();l.onerror=function(){if(h){h(false)}};l.onreadystatechange=function(){if(l.readyState==4){if(k){U(k,l.responseText)}else{var n=document.createElement("div");n.innerHTML=l.responseText;iui.insertPages(n.childNodes)}if(h){setTimeout(h,1000,true)}}};if(j){l.open(m||"GET",i,true);l.setRequestHeader("Content-Type","application/x-www-form-urlencoded");l.setRequestHeader("Content-Length",j.length);l.send(j.join("&"))}else{l.open(m||"GET",i,true);l.send(null)}},insertPages:function(h){var k;for(var j=0;j<h.length;++j){var m=h[j];if(m.nodeType==1){if(!m.id){m.id="__"+(++K)+"__"}var l=M(m.id);if(l){l.parentNode.replaceChild(m,l)}else{document.body.appendChild(m)}if(m.getAttribute("selected")=="true"||!k){k=m}--j}}if(k){iui.showPage(k)}},getSelectedPage:function(){for(var h=document.body.firstChild;h;h=h.nextSibling){if(h.nodeType==1&&h.getAttribute("selected")=="true"){return h}}},isNativeUrl:function(h){for(var j=0;j<iui.nativeUrlPatterns.length;j++){if(h.match(iui.nativeUrlPatterns[j])){return true}}return false},nativeUrlPatterns:[new RegExp("^http://maps.google.com/maps?"),new RegExp("^mailto:"),new RegExp("^tel:"),new RegExp("^http://www.youtube.com/watch\\?v="),new RegExp("^http://www.youtube.com/v/"),new RegExp("^javascript:"),]};addEventListener("load",function(i){var j=iui.getSelectedPage();var h=b();if(j){iui.showPage(j)}if(h&&(h!=j)){iui.showPage(h)}setTimeout(P,0);if(typeof window.onorientationchange=="object"){window.onorientationchange=H;X=true;setTimeout(H,0)}setTimeout(I,0);f=setInterval(I,300)},false);addEventListener("unload",function(h){return},false);addEventListener("click",function(j){var i=A(j.target,"a");if(i){function h(){i.removeAttribute("selected")}if(i.href&&i.hash&&i.hash!="#"&&!i.target){i.setAttribute("selected","true");iui.showPage(M(i.hash.substr(1)));setTimeout(h,500)}else{if(i==M("backButton")){if((i.innerHTML=="Home")&&((document.referrer=="")||document.referrer.toLowerCase().indexOf("/mobile/goals")>=0||document.referrer.toLowerCase().indexOf("/mobile/challenges")>=0)){window.location="/mobile/default.aspx";return}history.back()}else{if(i.getAttribute("type")=="submit"){S(A(i,"form"))}else{if(i.getAttribute("type")=="cancel"){G(A(i,"form"))}else{if(i.target=="_replace"){i.setAttribute("selected","progress");iui.showPageByHref(i.href,null,null,i,h)}else{if(iui.isNativeUrl(i.href)){return}else{if(i.target=="_webapp"){location.href=i.href}else{if(!i.target){i.setAttribute("selected","progress");iui.showPageByHref(i.href,null,null,null,h)}else{return}}}}}}}}j.preventDefault()}},true);addEventListener("click",function(h){var i=A(h.target,"div");if(i&&D(i,"toggle")){i.setAttribute("toggled",i.getAttribute("toggled")!="true");h.preventDefault()}},true);function b(){var i;var h=location.hash.match(/#_([^\?_]+)/);if(h){i=h[1]}if(i){i=M(i)}return i}function H(){var h=window.orientation;switch(h){case 0:d(g);break;case 90:case -90:d(a);break}}function I(){if(!X){if(window.innerWidth!=R){R=window.innerWidth;var i=R==320?g:a;d(i)}}if(location.hash!=Y){var h=location.hash.substr(F.length);iui.showPageById(h)}}function d(h){document.body.setAttribute("orient",h);setTimeout(scrollTo,100,0,1)}function W(h){Q=h;h.setAttribute("selected","true");if(D(h,"dialog")&&!h.target){Z(h)}}function Z(h){h.onsubmit=function(i){i.preventDefault();S(h)};h.onclick=function(i){if(i.target==h&&D(h,"dialog")){G(h)}}}function G(h){h.removeAttribute("selected")}function T(k,l){if(!k.id){k.id="__"+(++K)+"__"}location.hash=Y=F+k.id;N.push(k.id);var j=M("pageTitle");if(k.title){j.innerHTML=k.title}if(k.localName.toLowerCase()=="form"&&!k.target){Z(k)}var i=M("backButton");if(i){var h=M(N[N.length-2]);if(h&&!k.getAttribute("hideBackButton")){i.style.display="inline";i.innerHTML="Home"}else{i.style.display="none"}}}function C(l,k,i){var j=(i?l:k).getAttribute("axis");clearInterval(f);if(J()&&j!="y"){B(l,k,i,h)}else{E(l,k,i,j,h)}function h(){if(!D(k,"dialog")){l.removeAttribute("selected")}f=setInterval(I,300);setTimeout(T,0,k,l);l.removeEventListener("webkitTransitionEnd",h,false)}}function J(){return(iui.animOn)&&(typeof WebKitCSSMatrix=="object")}function E(n,m,j,k,i){if(k=="y"){(j?n:m).style.top="100%"}else{m.style.left="100%"}scrollTo(0,1);m.setAttribute("selected","true");var l=100;h();var o=setInterval(h,V);function h(){l-=O;if(l<=0){l=0;clearInterval(o);i()}if(k=="y"){j?n.style.top=(100-l)+"%":m.style.top=l+"%"}else{n.style.left=(j?(100-l):(l-100))+"%";m.style.left=(j?-l:l)+"%"}}}function B(m,l,i,h){l.style.webkitTransitionDuration="0ms";var j="translateX("+(i?"-":"")+window.innerWidth+"px)";var k="translateX("+(i?"100%":"-100%")+")";l.style.webkitTransform=j;l.setAttribute("selected","true");l.style.webkitTransitionDuration="";function n(){m.style.webkitTransform=k;l.style.webkitTransform="translateX(0%)"}m.addEventListener("webkitTransitionEnd",h,false);setTimeout(n,0)}function P(){var h=document.createElement("div");h.id="preloader";document.body.appendChild(h)}function S(h){iui.showPageByHref(h.action||"POST",e(h),h.method)}function e(j){function i(k){for(var l=0;l<k.length;++l){if(k[l].name){h.push(k[l].name+"="+escape(k[l].value))}}}var h=[];i(j.getElementsByTagName("input"));i(j.getElementsByTagName("textarea"));i(j.getElementsByTagName("select"));return h}function A(i,h){while(i&&(i.nodeType!=1||i.localName.toLowerCase()!=h)){i=i.parentNode}return i}function D(h,i){var j=new RegExp("(^|\\s)"+i+"($|\\s)");return j.exec(h.getAttribute("class"))!=null}function U(h,k){var j=h.parentNode;var i=h;while(j.parentNode!=document.body){j=j.parentNode;i=i.parentNode}var l=document.createElement(i.localName);l.innerHTML=k;j.removeChild(i);while(l.firstChild){j.appendChild(l.firstChild)}}function M(h){return document.getElementById(h)}function L(){console.log.apply(console,arguments)}})();var WebKitDetect={};WebKitDetect.isWebKit=function isWebKit(){return RegExp(" AppleWebKit/").test(navigator.userAgent)};WebKitDetect.version=function version(){var E=RegExp("( AppleWebKit/)([^ ]+)").exec(navigator.userAgent);if(!E||E.length<3){return null}var B=E[2];var C=B.indexOf("+")!=-1;var D=RegExp("[^\\.0-9]").exec(B);if(D){B=B.slice(0,D.index)}var A=B.split(".");A.isNightlyBuild=C;return A};WebKitDetect.versionIsAtLeast=function versionIsAtLeast(F){function C(H){var I=parseInt(H);return isNaN(I)?0:I}if(F===undefined){F=""}var G=F.split(".");var B=WebKitDetect.version();if(!B){return false}if(B.isNightlyBuild){return true}for(var E=0;E<G.length;E++){var D=C(B[E]);var A=C(G[E]);if(D>A){return true}if(D<A){return false}}return true};WebKitDetect.isMobile=function isMobile(){return WebKitDetect.isWebKit()&&RegExp(" Mobile/").test(navigator.userAgent)};WebKitDetect.mobileDevice=function mobileDevice(){if(!WebKitDetect.isMobile()){return null}var A=RegExp("(Mozilla/5.0 \\()([^;]+)").exec(navigator.userAgent);if(!A||A.length<3){return null}return A[2]};WebKitDetect._mobileVersion=function _mobileVersion(B){var A=RegExp("([0-9]+)([A-Z]+)([0-9]+)").exec(B);if(!A||A.length!=4){return null}return[A[1],A[2],A[3]]};WebKitDetect.mobileVersion=function mobileVersion(){var A=RegExp("( Mobile/)([^ ]+)").exec(navigator.userAgent);if(!A||A.length<3){return null}var B=A[2];return WebKitDetect._mobileVersion(B)};WebKitDetect.mobileVersionIsAtLeast=function mobileVersionIsAtLeast(G){function A(K){var L=parseInt(K);return isNaN(L)?0:L}if(G===undefined){G=""}var I=WebKitDetect._mobileVersion(G);var H=WebKitDetect.mobileVersion();if(!H){return false}var E=A(H[0]);var B=A(I[0]);if(E>B){return true}if(E<B){return false}var F=H[1];var C=I[1];if(F>C){return true}if(F<C){return false}var J=A(H[2]);var D=A(I[2]);if(J>D){return true}if(J<D){return false}return true};function ShowSignOutButton(){document.getElementById("SignOutButton").style.visibility="visible";return true}function HideSignOutButton(){document.getElementById("SignOutButton").style.visibility="hidden";return true}function ShowBackButton(){document.getElementById("backButton").style.visibility="visible";return true};