var History=new Class({getOptions:function(){return{links:'.loadMe'};},initialize:function(options){this.setOptions(this.getOptions(),options);this.url=window.location.href.toString();this.checkURL.periodical(500,this);if(window.ie){this.iframe=new Element('iframe').setProperties({id:'HistoryIframe',src:this.url}).setStyles({display:'none'}).injectInside(document.body);}
var url=this.formatHash(this.url);this.links=$$(this.options.links);this.links.each(function(el,i){el.addEvent('click',function(e){if(e!=undefined){new Event(e).stop();}
this.set(el);}.bind(this));if(url!=''){if(el.href==url){el.fireEvent('click','',50);this.set(el.href);}}}.bind(this));},formatHash:function(str){str=str.toString();var index=str.indexOf('#');if(index>-1){str=str.substr(index+1);}
return str;},formatURL:function(str){str=str.toString();var index=str.indexOf('#');if(index>-1){str=str.substring(0,index);}
return str;},set:function(str){var url=this.formatURL(this.url);str=this.formatHash(str);this.url=url+'#'+str;window.location.href=this.url;if(window.ie){this.iframe.setProperty('src',str);}},checkURL:function(){if(window.ie){var url=this.iframe.contentWindow.location.href;if(url!=this.formatHash(this.url)){this.url=this.formatURL(this.url)+'#'+url;window.location.href=this.url;this.iframe.setProperty('src',url);this.setContent();}}else{var url=window.location.href.toString();if(url!=this.url){this.url=url;window.location.href=this.url;this.setContent();}}},setContent:function(){var url=this.formatHash(this.url)
this.links.each(function(el,i){if(el.href==url){el.fireEvent('click','',50);}});}});
