/**
 * "Boo Yah! Javascript" - (X)HTML/CSS Framework
 *
 * Workaround for Webkit browsers to fix focus problems when using skiplinks
 * @revision        $Revision: 443 $
 * @lastmodified    $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
 */

var BOOYAH_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)
		{
			// find skiplinks in modern browsers ...
			if ( document.getElementsByClassName !== undefined) {
				skiplinks = document.getElementsByClassName('skip');
	
				for (i=0; i<skiplinks.length; i++) {
					this.setTabIndex(skiplinks[i]);
				}
			} else {
				// find skiplinks in older browsers ...
				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) {
			// make element accessible for .focus() method  
			targetElement.setAttribute("tabindex", "-1");
			skiplink.setAttribute("onclick", "document.getElementById('"+target+"').focus();");		
		}
	}
};

BOOYAH_focusFix.init();
