(function(n){function i(t,i){var u=n(t),r={loaded:!0,loadedCallback:null,init:function(){n(window).bind("hashchange",function(){r.updatePage()});r.loaded=!1;r.getSiteMap(r.updateFlow)},updatePage:function(){var n=r.pageFlow(),t=i.getDesc();r.updateCurrent(n.pages.length-1,n);r.pageFlow(n);i.onPageUpdated(n.pages[n.pages.length-1]);r.pageFlow(n)},updateFlow:function(n){var s=window.location.href,f=window.location.href.replace(i.rootUrl,"~/").replace(window.location.search,"").replace(window.location.hash,""),e=i.getDesc(),h=window.location.hash,c=window.location.search,t=r.pageFlow(),l=r.indexOfPage(f,t),u,o;l>-1?r.updateCurrent(l,t,e):(u=r.findMatch(f,n),u?(o=null,u.attr("show")&&u.attr("show").toLowerCase()!=="true"||(t.pages.push({key:u.attr("url"),base:f,url:s,queryString:c,hash:h,desc:e&&e.length>0?e:u.attr("desc")}),o=t.pages.length-1),r.traverseBranch(u,o,t)):(t.pages.length=0,t.pages.push({key:f,base:f,url:s,queryString:c,hash:h,desc:e})));r.loaded||(r.loaded=!0,r.loadedCallback&&r.loadedCallback(t.pages));i.onFlowUpdated(t.pages);r.pageFlow(t)},findMatch:function(t,i){for(var s=i.find("page"),e,u,o,c,f=0,h=s.length;f<h;f++)if(e=n(s[f]),u=e.attr("url"),u&&(o=!1,c=u.indexOf("["),o=c>-1?r.regExMatch(u,t):u.toLowerCase()===t.toLowerCase(),o))return e;return null},traverseBranch:function(n,t,i){var u=n.parent(),e=u?u.attr("url"):null,o=u?!u.attr("show")||u.attr("show").toLowerCase()==="true":!0,f;e?(o&&(f=t!=null&&t>-1?t-1:i.pages.length-1,t=f>-1?i.pages[f].key.toLowerCase()===e.toLowerCase()?f:r.createParent(u,t,i):r.createParent(u,t,i)),r.traverseBranch(u,t,i)):r.clearToIndex(t,i)},createParent:function(n,t,u){var f,e,o;return(t=t<0?0:t,f=n.attr("url"),e=f,f.indexOf("[")>-1&&(e=r.deriveUrlFromCurrentPage(f),!e))?t-1:(o={key:f,base:e,url:e.replace("~/",i.rootUrl),queryString:"",hash:"",desc:n.attr("desc")},u.pages.splice(t,0,o),t)},deriveUrlFromCurrentPage:function(n){for(var a=window.location.href,l=window.location.href.replace(i.rootUrl,"~/").replace(window.location.search,"").replace(window.location.hash,""),u=n.split("/").length-1,e=l.split("/"),f="",c,o,s,t=0,h=u;t<=h;t++)t>0&&(f+="/"),f+=e[t];return r.regExMatch(n,f)?f:u===e.length-1&&(c=n.split("/")[u],c.indexOf("[")>-1&&(o=n.substring(0,n.lastIndexOf("/")+1),s=e[u],r.regExMatch(n,o+s)))?o+s:null},updateCurrent:function(n,t,i){var u=r.popToIndex(n,t);u&&(i&&i!==""&&(u.desc=i),u.url=window.location.href,u.queryString=window.location.search,u.hash=window.location.hash,r.pageFlow(t))},regExMatch:function(n,t){var i=r.replaceAll(n,"/","\\/").toLowerCase(),u=new RegExp("^"+i+"$");return u.test(t.toLowerCase())},popToIndex:function(n,t){while(n<t.pages.length-1)t.pages.pop();return t.pages[t.pages.length-1]},clearToIndex:function(n,t){n!==null&&n>-1?n>0&&(t.pages=t.pages.slice(n)):t.pages.length=0},indexOfPage:function(n,t){if(t.pages.length===0)return-1;for(var i=t.pages.length-1;i>=0;i--)if(t.pages[i].base.toLowerCase()===n.toLowerCase())return i},replaceAll:function(n,t,i){var r=new RegExp(t,"g");return n.replace(r,i)},getSiteMap:function(t){var u=r.siteMap();u?t(u):n.ajax({type:"GET",url:i.rootUrl+i.siteMapPath,dataType:"xml",cache:!0,success:function(i){t(n(i))}})},siteMap:function(t){return(t!==undefined&&typeof Storage!==undefined&&sessionStorage&&sessionStorage.setItem("siteMap",(new XMLSerializer).serializeToString(t)),typeof Storage!==undefined&&sessionStorage&&(t=sessionStorage.getItem("siteMap"),t))?n.parseXML(t):null},pageFlow:function(n){return(n!==undefined&&typeof Storage!==undefined&&sessionStorage&&sessionStorage.setItem("pageFlow",JSON.stringify(n)),typeof Storage!==undefined&&sessionStorage&&(n=sessionStorage.getItem("pageFlow"),n))?JSON.parse(n):{pages:[]}}};return t.navigatorOptions=i,t.navigatorActions=r,t.navigatorActions.init(),t}var t=!1;n(document).ready(function(){t=!0});n.fn.navigator=function(r){var f=n.extend({},n.fn.navigator.defaults,r),u=document,e=n.metadata?n.extend({},f,u.metadata()):f;if(t)return i(u,e);n(document).ready(function(){return i(u,e)})};n.fn.forcePageUpdate=function(t){var i=document;return i.navigatorActions&&(i.navigatorOptions=n.extend(i.navigatorOptions,t),i.navigatorActions.updatePage()),i};n.fn.forceFlowUpdate=function(t){var i=document;return i.navigatorActions&&(i.navigatorOptions=n.extend(i.navigatorOptions,t),i.navigatorActions.getSiteMap(i.navigatorActions.updateFlow)),i};n.fn.onFlowReady=function(n){var t=document,i;return t.navigatorActions&&(t.navigatorActions.loaded?(i=t.navigatorActions.pageFlow(),n(i.pages)):t.navigatorActions.loadedCallback=n),t};n.fn.navigator.defaults={siteMapPath:"Content/sitemap.xml",rootUrl:"http://",getDesc:function(){return document.title},onFlowUpdated:function(){},onPageUpdated:function(){}}})(jQuery);casenet.breadcrumb=function(){var n=function(n,t,i){$(document).navigator({rootUrl:n,onFlowUpdated:t,getDesc:i})},t=function(){return window.location.href.substring(0,window.location.href.indexOf(window.location.host)+window.location.host.length)+casenet.getSiteRoot()},i=function(n){var i=$("#breadcrumb ul"),t,r;if(i.empty(),n.length>1){for(t=0,r=n.length;t<r;t++)t==n.length-1?i.append("<li><span class='"+(n.length==1?"only":"")+"'><label>"+n[t].desc+"<\/label><\/span><\/li>"):i.append("<li><a href='"+n[t].url+"' class='"+(t==0?"first ":"")+(t==n.length-2?"last":"")+"'><label>"+n[t].desc+"<\/label><\/a><\/li>");i.show()}else i.hide(),$("#breadcrumb").hide()},r=function(){return $(".pageHeader h1").not("#snippets .pageHeader h1").length>0?$($(".pageHeader h1").not("#snippets .pageHeader h1")[0]).text():document.title};return{initialise:function(u,f,e){u||(u=t());f||(f=i);e||(e=r);n(u,f,e)}}}()