var focusFix = {
	init: function() {
		var userAgent = navigator.userAgent.toLowerCase();
		var	is_webkit = userAgent.indexOf('webkit') > -1;
		var	is_ie = userAgent.indexOf('msie') > -1;
		var i = 0;
		var links, skiplinks = [];
		
		if(is_webkit || is_ie) {
			if(document.getElementsByClassName !== undefined) {
				skiplinks = document.getElementsByClassName('skip');
	
				for (i=0; i<skiplinks.length; i++) { this.setTabIndex(skiplinks[i]); }
			} else {
				links = document.getElementsByTagName('a');
				for (i = 0; i < links.length; i++) {
					var s = links[i].getAttribute('href');
					if(s.length > 1 && s.substr(0, 1) == '#') { this.setTabIndex(links[i]); }
				}
			}
		}
	},
	
	setTabIndex: function( skiplink ) {
		var target = skiplink.href.substr(skiplink.href.indexOf('#') + 1);
		var targetElement = document.getElementById(target);
    
		if(targetElement !== null) {
			targetElement.setAttribute("tabindex", "-1");
			skiplink.setAttribute("onclick", "document.getElementById('" + target + "').focus();");
		}
	}
};

focusFix.init();
