(function(g,n){g.bbqhistory=function(o){var e=g.extend(true,{id:"bbqhistory"},o),k="none",c=[],i=function(b){var a=undefined;if(c[b])if(c[b].element)a=c[b].element.data(e.id);else if(c[b].data)a=c[b].data;return a},p=function(b){var a={};a[e.id]={};for(var d in c)if(c.hasOwnProperty(d)){var f=i(d);if(f)if(f.state==="triggered"||b)a[e.id][d]=f["default"]}return a},h=function(b,a){if(c[b]){var d=i(b);if(d){d.state=a||"none";k=a||"none";if(c[b].element)c[b].element.data(e.id,d);else c[b].data=d}}};g(n).bind("hashchange",
function(){var b=g.extend(true,p(true)[e.id],g.bbq.getState(e.id));if(k==="none"||k==="hashchanged")for(var a in b){if(b.hasOwnProperty(a))if(c[a]){var d=i(a);if(d&&d.state!=="assigned"&&c[a].callback){h(a,"hashchanged");c[a].callback&&c[a].callback(b[a])}}}else k="none";return false});g(n).bind(e.id,function(b,a,d){b={};var f=undefined,l=false,m=g.bbq.getState(e.id)||{};if(typeof a=="object")for(var j in a){if(a.hasOwnProperty(j))if(f=i(j))if(f.state!=="hashchanged"){h(j,"triggered");m[j]=a[j];l=
true}else h(j,"none")}else if(f=i(a))if(f.state!=="hashchanged"){h(a,"triggered");m[a]=d;l=true}else h(a,"none");if(l){b[e.id]=m;g.bbq.pushState(b)}});return{id:e.id,assign:function(b,a,d,f){c[b]={callback:d,data:{"default":a,state:"none"}};f&&f.data(e.id,{"default":a,name:b,state:"none"});return this},state:function(b,a){h(b,a);return this},read:function(){var b=g.bbq.getState(e.id);if(b)for(var a in b)if(b.hasOwnProperty(a)&&c[a])if(i(a)&&c[a].callback){h(a,"hashchanged");c[a].callback&&c[a].callback(b[a])}return this}}}})(jQuery,
window);

