/*********************************************
 **                                         **
 ** Workaround for Webkit browsers to       **
 ** fix focus problems when using skiplinks **
 **                                         **
 ** Copyright 2008 William Humphreys        **
 **                                         **
 ** http://www.technical-solutions.co.uk/   **
 **                                         **
 ** ver 1.0.0                               **
 **                                         **
 ** Last Updated 08 Feb 2010                **
 **                                         **
 *********************************************/

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) {
    
      // 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();");		

    }

  }

};

focusFix.init();