var jssm={created:false,rid:0,zerolength:false,pointer:false,interval:100,stackelem:false,lengthelem:false,pointerelem:false,iframe:false,stack:[],settings:{formid:"jssmform",stackid:"jssmstack",lengthid:"jssmlength",pointerid:"jssmpointer",iframeid:"jssmiframe",blankurl:"/blank.html",basetitle:"",titleseparator:" : "},functions:{pageload:false,beforeload:false,load:false,afterload:false,beforeunload:false,unload:false,afterunload:false},inline:function(a){if(this.created){return
}this.created=true;this.settings=jQuery.fn.extend(this.settings,a);document.write('<div style="display: none;">');
document.write('<form id="'+this.settings.formid+'" action="" method="post"><div><textarea name="'+this.settings.stackid+'" id="'+this.settings.stackid+'"></textarea><input type="text" id="'+this.settings.lengthid+'" name="'+this.settings.lengthid+'" /><input type="text" id="'+this.settings.pointerid+'" name="'+this.settings.pointerid+'" /></div></form>');
if(jQuery.browser.msie&&jQuery.browser.version<8){document.write('<iframe id="'+this.settings.iframeid+'" src="'+this.settings.blankurl+"?"+this.getHash()+'"></iframe>')
}document.write("</div>");if(jQuery.browser.opera){document.write('<img style="position: absolute; left: -999em; top: -999em;" width="1" height="1"  src="javascript:location.href=\'javascript:jssm.fixOpera();\';" />')
}},init:function(a){if(jQuery.browser.msie&&a=="ready"){return}if(!jQuery.browser.msie&&a=="load"){return
}jQuery(window).bind("hashchange",jssm.hashchange);this.stackelem=document.getElementById(this.settings.stackid);
this.lengthelem=document.getElementById(this.settings.lengthid);this.pointerelem=document.getElementById(this.settings.pointerid);
this.iframe=document.getElementById(this.settings.iframeid);if(jQuery.browser.opera){this.stackelem.focus();
this.lengthelem.focus();this.pointerelem.focus();window.focus()}if(this.lengthelem.value){this.zerolength=this.lengthelem.value;
this.load()}else{this.zerolength=history.length;this.pointer=this.zerolength;this.stack[this.pointer]=this.getHash();
this.save()}this.rid=this.getRID(this.stack[this.pointer]);this.rid++;if(this.functions.pageload){this.functions.pageload(this.stack[this.pointer])
}if(!jQuery.browser.msie||(jQuery.browser.msie&&jQuery.browser.version<8)){this.poll()
}},poll:function(){if(jssm.getHash()!=jssm.stack[jssm.pointer]){jQuery(window).trigger("hashchange")
}setTimeout(jssm.poll,jssm.interval)},fixOpera:function(){},iframeEvent:function(a){if(a||window.location.hash){window.location.hash=a
}},hashchange:function(){var d=jssm.getHash();var c=d;if(d===""){c=jssm.getCurrentPage()
}if(jQuery.browser.msie&&jQuery.browser.version<8&&jssm.iframe.contentWindow.document.body.innerText!=d){jssm.setHash(d)
}if(jssm.functions.beforeunload){jssm.functions.beforeunload(c)}if(jssm.functions.unload){jssm.functions.unload(c)
}if(jssm.functions.afterunload){jssm.functions.afterunload(c)}if(jssm.functions.beforeload){jssm.functions.beforeload(c)
}if(jssm.functions.load){jssm.functions.load(c)}if(jssm.functions.afterload){jssm.functions.afterload(c)
}var b=[];for(var a=jssm.zerolength;a<jssm.stack.length;a++){if(d===jssm.stack[a]){b.push(a)
}}switch(b.length){case 0:jssm.pointer++;jssm.stack[jssm.pointer]=d;jssm.stack.length=jssm.pointer+1;
break;case 1:jssm.pointer=b[0];break}jssm.save()},load:function(){this.stack=JSON.parse(this.stackelem.value);
this.length=this.lengthelem.value;this.pointer=this.pointerelem.value},save:function(){this.stackelem.value=JSON.stringify(this.stack);
this.lengthelem.value=this.zerolength;this.pointerelem.value=this.pointer},getHash:function(){if(jQuery.browser.safari&&parseInt(jQuery.browser.version,10)<522&&!/adobeair/i.test(jQuery.browser.userAgent)){this.getHash=function(){return jssm.stack[history.length-jssm.zerolength-1]
}}else{this.getHash=function(){var b=window.location.href;var a=b.indexOf("#");return(a>=0?b.substr(a+1):"")
}}return this.getHash()},setHash:function(a){if(jQuery.browser.msie&&jQuery.browser.version<8){this.setHash=function(c){var b=jssm.iframe.contentWindow.document;
b.open("javascript:'<html></html>'");b.write('<html><head><script type="text/javascript">window.parent.jssm.iframeEvent("'+c+'");<\/script></head><body>'+c+"</body></html>");
b.close()}}else{this.setHash=function(b){window.location.hash=b}}return this.setHash(a)
},getRID:function(a){if(!a){return 0}var b=a.match(/rid=[\d]+/);return b?b[0].substr(4):0
},getHref:function(){var a=window.location.href.indexOf("#");return(a>=0?window.location.href.substr(0,a):window.location.href)
},getPathTokens:function(b){var d=b.indexOf("#");var c=b.indexOf("?");var a="";var f="";
if(d!=-1){if(c!=-1&&c<d){a=b.substring(c,d);f=b.substring(d)}else{f=b.substring(d)
}}else{if(c>=0){a=b.substring(c)}else{}}if(d!=-1&&c!=-1){b=b.substring(0,Math.min(d,c))
}else{if(d!=-1){b=b.substring(0,d)}else{if(c!=-1){b=b.substring(0,c)}}}var e=/^(https?:\/\/){0,1}([A-Za-z0-9\-\.]+){0,1}(\:\d+){0,1}(\/){0,1}((?:[^\/]*\/)*){0,1}(.*)$/;
b=e.exec(b);if(b[5]){b[5]=b[5].split("/");b[5].pop()}else{b[5]=[]}b.push(a);b.push(f);
return b},getCurrentPath:function(){var a=this.getPathTokens(this.getHref());return(a&&a[5]?a[5].join("/")+"/":"")
},getCurrentPage:function(){var a=this.getPathTokens(this.getHref());return(a&&a[6]?a[6]:"")
},getRelativePath:function(f,e,b){if(f==e&&e.indexOf("?")==-1){return this.getCurrentPage(e)
}f=this.getPathTokens(f);e=this.getPathTokens(e);b=b||false;if((b||e[1])&&(f[1]!==e[1])){return false
}if((b||e[2])&&(f[2]!==e[2])){return false}if(f[3]!==e[3]){if(b){return false}var c=false;
switch(f[1]){case"http":c=80;break;case"https":c=443;break}if(!c){return false}if(!(f[3]===""&&e[3]==c)&&!(f[3]==c&&e[3]==="")){return false
}}var a="";if(!f[5].length||!e[4]){a+=e[5].join("/")+"/"+(e[6]?e[6]:"")}else{var d=0;
if(f[5].length&&e[5].length){for(d=0;d<f[5].length;d++){if(f[5][d]==e[5][d]){f[5].shift();
e[5].shift();d--}else{break}}for(d=0;d<f[5].length;d++){a+="../"}a+=e[5].join("/")+(e[5].length?"/":"")+(e[6]?e[6]:"")
}else{for(d=0;d<f[5].length;d++){a+="../"}a+=(e[6]?e[6]:"")}}if(e[7]){a+=e[7]}if(e[8]){a+=e[8]
}return a},getRootRelativePath:function(f,e,b){if(arguments.length==1){var d=jssm.getPathTokens(f);
return"/"+d[5].join("/")+"/"+(d[6]?d[6]:"")}f=this.getPathTokens(f);e=this.getPathTokens(e);
b=b||false;if((b||e[1])&&(f[1]!==e[1])){return false}if((b||e[2])&&(f[2]!==e[2])){return false
}if(f[3]!==e[3]){if(b){return false}var c=false;switch(f[1]){case"http":c=80;break;
case"https":c=443;break}if(!c){return false}if(!(f[3]===""&&e[3]==c)&&!(f[3]==c&&e[3]==="")){return false
}}var a="/";if(!e[4]){a+=f[5].join("/")+"/"}if(e[5].length){a+=e[5].join("/")+"/"
}if(e[6]){a+=e[6]}if(e[7]){a+=e[7]}if(e[8]){a+=e[8]}return a},setTitle:function(a){document.title=a
},buildTitle:function(b,a){a=a||this.settings.titleseparator;return this.settings.basetitle+(b?a+b:"")
}};jQuery.fn.jssm=function(a,b){return this.each(function(c){jQuery(this).bind(a,function(e){var h=jQuery.data(this,"jssm");
var d="";var f="";if(a=="submit"&&this.action){d=jQuery('<a href="'+this.action+'"></a>').get(0).href;
f="&"+jQuery(this).serialize()}else{if(this.href){d=this.href}}var g=jssm.getRelativePath(jssm.getHref(),d);
if(g!==false){g=g+(g.indexOf("?")>=0?"&":"?")+"rid="+(jssm.rid++)+f;jssm.setHash(g)
}e.preventDefault();return false})})};jQuery(document).ready(function(){jssm.init("ready")
});jQuery(window).load(function(){jssm.init("load")});