/**
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
*
* (en) Workaround for IE8 und Webkit browsers to fix focus problems when using skiplinks
* (de) Workaround für IE8 und Webkit browser, um den Focus zu korrigieren, bei Verwendung von Skiplinks
*
* @note inspired by Paul Ratcliffe's article
* http://www.communis.co.uk/blog/2009-06-02-skip-links-chrome-safari-and-added-wai-aria
* Many thanks to Mathias Schäfer (http://molily.de/) for his code improvements
*
* @copyright Copyright 2005-2010, Dirk Jesse
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
* @link http://www.yaml.de
* @package yaml
* @version 3.3
* @revision $Revision: 466 $
* @lastmodified $Date: 2010-09-14 21:19:30 +0200 (Di, 14 Sep 2010) $
*/
(function () {
var YAML_focusFix = {
skipClass : 'skip',
init : function () {
var userAgent = navigator.userAgent.toLowerCase();
var is_webkit = userAgent.indexOf('webkit') > -1;
var is_ie = userAgent.indexOf('msie') > -1;
if (is_webkit || is_ie) {
var body = document.body,
handler = YAML_focusFix.click;
if (body.addEventListener) {
body.addEventListener('click', handler, false);
} else if (body.attachEvent) {
body.attachEvent('onclick', handler);
}
}
},
click : function (e) {
e = e || window.event;
var target = e.target || e.srcElement;
if (target.className.indexOf(YAML_focusFix.skipClass) > -1) {
YAML_focusFix.focus(target);
}
},
focus : function (link) {
var href = link.href,
id = href.substr(href.indexOf('#') + 1),
target = document.getElementById(id);
if (target) {
target.setAttribute("tabindex", "-1");
target.focus();
}
}
};
YAML_focusFix.init();
})();