// Angie Radtke 2009 // /*global window, $, localStorage, Cookie, altopen, altclose, big, small, rightopen, rightclose, bildauf, bildzu */ //Storeage functions function supportsLocalStorage() { return ('localStorage' in window) && window.localStorage !== null; } function saveIt(name) { var x = $(name).style.display; if (!x) { alert('No cookie available'); } else { if (supportsLocalStorage()) { localStorage[name] = x; } else { Cookie.write(name, x, {duration: 7}); } } } function readIt(name) { if (supportsLocalStorage()) { return localStorage[name]; } else { return Cookie.read(name); } } function wrapperwidth(width) { $('wrapper').setStyle('width', width); } // add Wai-Aria landmark-roles window.addEvent('domready', function () { if ($('nav')) { $('nav').setProperties( { role : 'navigation' }); } if ($('breadcrumbs')) { $('breadcrumbs').setProperties( { role : 'breadcrumbs' }); } if (document.id('mod-search-searchword')) { document.id(document.id('mod-search-searchword').form).set( { role : 'search' }); } if ($('main')) { $('main').setProperties( { role : 'main' }); } if ($('right')) { $('right').setProperties( { role : 'contentinfo' }); } }); window.addEvent('domready', function() { // get ankers var myankers = $(document.body).getElements('a.opencloselink'); myankers.each(function(element) { $(element).setProperty('role', 'tab'); var myid = $(element).getProperty('id'); myid = myid.split('_'); myid = 'module_' + myid[1]; $(element).setProperty('aria-controls', myid); }); var list = $(document.body).getElements('div.moduletable_js'); list.each(function(element) { if ($(element).getElement('div.module_content')) { var el = $(element).getElement('div.module_content'); $(el).setProperty('role', 'tabpanel'); var myid = $(el).getProperty('id'); myid = myid.split('_'); myid = 'link_' + myid[1]; $(el).setProperty('aria-labelledby', myid); var myclass = el.get('class'); var one = myclass.split(' '); // search for active menu-item var listelement = el.getElement('a.active'); var unique = el.id; var nocookieset = readIt(unique); if ((listelement) || ((one[1] == 'open') && (nocookieset == null))) { el.setStyle('display', 'block'); var eltern = el.getParent(); var elternh = eltern.getElement('h3'); var elternbild = eltern.getElement('img'); elternbild.setProperties( { alt : altopen, src : bildzu }); elternbild.focus(); } else { el.setStyle('display', 'none'); el.setProperty('aria-expanded', 'false'); } unique = el.id; var cookieset = readIt(unique); if (cookieset == 'block') { el.setStyle('display', 'block'); el.setProperty('aria-expanded', 'true'); } } }); }); window.addEvent('domready', function() { var what = $('right'); // if rightcolumn if (what != null) { var whatid = what.id; var rightcookie = readIt(whatid); if (rightcookie == 'none') { what.setStyle('display', 'none'); $('nav').addClass('leftbigger'); wrapperwidth(big); var grafik = $('bild'); $('bild').innerHTML = rightopen; grafik.focus(); } } }); function auf(key) { var el = $(key); if (el.style.display == 'none') { el.setStyle('display', 'block'); el.setProperty('aria-expanded', 'true'); if (key != 'right') { el.slide('hide').slide('in'); el.getParent().setProperty('class', 'slide'); eltern = el.getParent().getParent(); elternh = eltern.getElement('h3'); elternh.addClass('high'); elternbild = eltern.getElement('img'); // elternbild.focus(); el.focus(); elternbild.setProperties( { alt : altopen, src : bildzu }); } if (key == 'right') { document.getElementById('right').setStyle('display', 'block'); wrapperwidth(small); $('nav').removeClass('leftbigger'); grafik = $('bild'); $('bild').innerHTML = rightclose; grafik.focus(); } } else { el.setStyle('display', 'none'); el.setProperty('aria-expanded', 'false'); el.removeClass('open'); if (key != 'right') { eltern = el.getParent().getParent(); elternh = eltern.getElement('h3'); elternh.removeClass('high'); elternbild = eltern.getElement('img'); // alert(bildauf); elternbild.setProperties( { alt : altclose, src : bildauf }); elternbild.focus(); } if (key == 'right') { document.getElementById('right').setStyle('display', 'none'); wrapperwidth(big); $('nav').addClass('leftbigger'); grafik = $('bild'); $('bild').innerHTML = rightopen; grafik.focus(); } } // write cookie saveIt(key); } // ########### Tabfunctions #################### window.addEvent('domready', function() { var alldivs = $(document.body).getElements('div.tabcontent'); var outerdivs = $(document.body).getElements('div.tabouter'); outerdivs = outerdivs.getProperty('id'); for (var i = 0; i < outerdivs.length; i++) { alldivs = $(outerdivs[i]).getElements('div.tabcontent'); count = 0; alldivs.each(function(element) { count++; $(element).setProperty('role', 'tabpanel'); $(element).setProperty('aria-hidden', 'false'); $(element).setProperty('aria-expanded', 'true'); elid = $(element).getProperty('id'); elid = elid.split('_'); elid = 'link_' + elid[1]; $(element).setProperty('aria-labelledby', elid); if (count != 1) { $(element).addClass('tabclosed').removeClass('tabopen'); $(element).setProperty('aria-hidden', 'true'); $(element).setProperty('aria-expanded', 'false'); } }); countankers = 0; allankers = $(outerdivs[i]).getElement('ul.tabs').getElements('a'); allankers.each(function(element) { countankers++; $(element).setProperty('aria-selected', 'true'); $(element).setProperty('role', 'tab'); linkid = $(element).getProperty('id'); moduleid = linkid.split('_'); moduleid = 'module_' + moduleid[1]; $(element).setProperty('aria-controls', moduleid); if (countankers != 1) { $(element).addClass('linkclosed').removeClass('linkopen'); $(element).setProperty('aria-selected', 'false'); } }); } }); function tabshow(el) { var outerdiv = $(el).getParent(); outerdiv = outerdiv.getProperty('id'); var alldivs = $(outerdiv).getElements('div.tabcontent'); var liste = $(outerdiv).getElement('ul.tabs'); $(liste).getElements('a').setProperty('aria-selected', 'false'); alldivs.each(function(element) { $(element).addClass('tabclosed').removeClass('tabopen'); $(element).setProperty('aria-hidden', 'true'); $(element).setProperty('aria-expanded', 'false'); }); $(el).addClass('tabopen').removeClass('tabclosed'); $(el).setProperty('aria-hidden', 'false'); $(el).setProperty('aria-expanded', 'true'); $(el).focus(); var getid = el.split('_'); var activelink = 'link_' + getid[1]; $(activelink).setProperty('aria-selected', 'true'); $(liste).getElements('a').addClass('linkclosed').removeClass('linkopen'); $(activelink).addClass('linkopen').removeClass('linkclosed'); } function nexttab(el) { var outerdiv = $(el).getParent(); var liste = $(outerdiv).getElement('ul.tabs'); var getid = el.split('_'); var activelink = 'link_' + getid[1]; var aktiverlink = $(activelink).getProperty('aria-selected'); var tablinks = $(liste).getElements('a').getProperty('id'); for ( var i = 0; i < tablinks.length; i++) { if (tablinks[i] == activelink) { if ($(tablinks[i + 1]) != null) { $(tablinks[i + 1]).onclick(); break; } } } }