/** * Index.js * * Author: gautier.ringeisen@dalim.com * Company: Dalim Software GmbH */ var currentrow = null; var interval = null; var timeout = null; var currentcolor = new Array(255, 255, 255); var finalcolor = new Array(181, 213, 255); var step = 0.0; function onMouseOver( row ) { if(timeout != null) { clearTimeout(timeout); timeout = null; } if(currentrow == row) return; if(currentrow != null) backToWhite(); if(interval != null) { clearInterval(interval); interval = null; } currentcolor = new Array(255, 255, 255); step = 5.0; currentrow = row; interval = setInterval('fadeToBlue()', 50); //row.style.backgroundImage = 'url(./index.html?file=degrade.jpg&ctype=image/jpeg)'; } function onMouseOut( row ) { timeout = setTimeout('backToWhite()', 100); } function backToWhite() { if(currentrow == null) return; if(interval != null) { clearInterval(interval); interval = null; } currentrow.style.backgroundColor = 'white'; currentrow.style.backgroundImage = 'none'; currentrow = null; } function openURL( event, url ) { if(window.event != null) event = window.event; try { event.cancelBubble = true; } catch(e) { // ... } if(event) { if(event.stopPropagation) event.stopPropagation(); if(event.preventDefault) event.preventDefault(); } window.top.document.location.href = url; } function fadeToBlue() { if(timeout != null) { clearTimeout(timeout); timeout = null; } if(currentrow == null) return; currentcolor[0] = Math.max(0, Math.min(255, currentcolor[0] + Math.ceil((finalcolor[0] - currentcolor[0]) / step))); currentcolor[1] = Math.max(0, Math.min(255, currentcolor[1] + Math.ceil((finalcolor[1] - currentcolor[1]) / step))); currentcolor[2] = Math.max(0, Math.min(255, currentcolor[2] + Math.ceil((finalcolor[2] - currentcolor[2]) / step))); currentrow.style.backgroundColor = 'rgb(' + currentcolor[0] + ', ' + currentcolor[1] + ', ' + currentcolor[2] + ')'; step = step - 1.0; if(step <= 0 && interval != null) { clearInterval(interval); interval = null; } } function getBrowserLanguage() { var language = "en"; try { language = navigator.language.substring(0,2); } catch (e) {} return language; }; function getBrowserLanguage() { var language = "en"; try { language = navigator.language.substring(0,2); } catch (e) {} return language; }; function translate(key) { return translateKey(getBrowserLanguage(),key) } function translateKey(lang, key) { var keys = translations[lang]; if ( keys == undefined ) { lang = "en"; keys = translations["en"]; } if ( keys == undefined ) return undefined; var i18n = translations[lang][key]; if ( i18n != undefined && i18n.length > 0 ) return i18n; if ( lang != "en" ) { i18n = translateKey("en", key); if ( i18n != undefined && i18n.length > 0 ) return i18n; } if (arguments.length > 2) return arguments[2]; return undefined; } function translatePage() { var nodeList = document.querySelectorAll("[data-i18n]"); var iterator = 0; var node = null; var language = getBrowserLanguage(); while (node = nodeList[iterator++]) { var key = node.getAttribute("data-i18n"); var txt = translateKey(language, key ); if ( txt != undefined ) node.textContent = txt; } } var translations = {};