Accessibility = {} var form; Accessibility.onPageLoad = function() { Accessibility.loadPreferences(); } Accessibility.savePreferences = function() { var settings = Common.getFormKeyValuePairs(form); Common.setCookie("accessibility", settings, "/"); } Accessibility.loadPreferences = function() { form = document.forms['settings']; var settings = Common.getCookie("accessibility"); Accessibility.applyPreferences(settings, document); if (form != null) { Common.setFormKeyValuePairs(form, settings); Accessibility.addPreviewEventHandlers(); } } Accessibility.addPreviewEventHandlers = function() { var elems = form.elements; for (var n=0; n < elems.length; n++) { if (elems[n].type == "checkbox" || elems[n].type == "radio" || elems[n].type == "select-one") { if (Common.checkIfIE()) elems[n].onclick = function() { Accessibility.refreshPreview(); }; else elems[n].setAttribute("onclick", "Accessibility.refreshPreview()"); } } } Accessibility.refreshPreview = function() { if (document.getElementById("autopreview").checked) { var settings = Common.getFormKeyValuePairs(form); Accessibility.applyPreferences(settings, document.getElementById("preview")); document.getElementById("preview").style.display = "block"; } else { document.getElementById("preview").style.display = "none"; } } Accessibility.getPreference = function(type) { var values = Common.getCookie("accessibility"); if (values != null) { var value = Common.getKeyValue(values, type); return value; } else { return null; } } Accessibility.applyPreferences = function(settings, targetObject) { var graphics = Common.getKeyValue(settings, "graphics"); if (graphics != null) { if (graphics == "full") { //do nothing } else if (graphics == "simple") { var content = targetObject.getElementsByTagName("img"); for(var i=0; i < content.length; i++){ var oElement = content[i]; if ((oElement.className.indexOf("_simple") == -1) && (oElement.className.indexOf("_alwaysShow") == -1)) oElement.style.display = "none"; } } else if (graphics == "off") { var content = targetObject.getElementsByTagName("img"); for(var i=0; i < content.length; i++){ var oElement = content[i]; if (oElement.className.indexOf("_alwaysShow") == -1) oElement.style.display = "none"; } } } var layout = Common.getKeyValue(settings, "layout"); if (layout != null) { if (layout == "yes") { var content = Common.getElementsByClassName(targetObject, "*", "_simpleLayout"); for (var i=0; i < content.length; i++){ content[i].style.display = "block"; } var stylesheetCount = document.styleSheets.length; for (var i=0; i < stylesheetCount; i++) { document.styleSheets[i].disabled = true; } } else if (layout == "no") { //do nothing } } /* var textsize = Common.getKeyValue(settings, "textsize"); if (textsize != null) { //var content = document.getElementsByClassName(targetclass); var content = Common.getElementsByClassName(targetObject, "*", "main"); if (content != null) { for(var i=0; i < content.length; i++){ var oElement = content[i]; if (content[i].style.fontSize == "") { content[i].style.fontSize = "1.0em"; } content[i].style.fontSize = parseFloat(content[i].style.fontSize) + (textsize * 0.2) + "em"; } } }*/ var textspacing = Common.getKeyValue(settings, "textspacing"); if (textspacing != null && textspacing != "") { //var content = document.getElementsByClassName(targetclass); var content = Common.getElementsByClassName(targetObject, "*", "main"); if (content != null) { for(var i=0; i < content.length; i++){ var oElement = content[i]; if (content[i].style.letterSpacing == "") { content[i].style.letterSpacing = "0px"; } content[i].style.letterSpacing = parseFloat(textspacing) + "px"; } } } var linkhighlight = Common.getKeyValue(settings, "linkhighlight"); if (linkhighlight != null) { var content = targetObject.getElementsByTagName("A") if (content != null) { for(var i=0; i < content.length; i++){ var oElement = content[i]; if (oElement.nodeName == "A") { if (linkhighlight == 1) { content[i].style.backgroundColor = "#FFFF00"; } else { content[i].style.backgroundColor = ""; } } } } } var colors = Common.getKeyValue(settings, "colors"); if (colors != null) { var targetId = ""; if (targetObject == document.getElementById("preview")) targetId = "#preview "; // Loop through the stylesheets until we find one we can modify without a security error var cssArrayLength = document.styleSheets.length; for(i=0; i<=cssArrayLength; i++) { try { var css = document.styleSheets[i]; var rules = (css.cssRules ? css.cssRules : css.rules); break; // Break out of loop if no error encountered } catch(err) { continue; // Return to start of loop and try again } } if (colors == "Default") { //do nothing } else if (colors == "High Contrast") { if (css.insertRule) { css.insertRule(targetId + 'body { background-color: #000000; color: #EEEE00;}',rules.length); css.insertRule(targetId + 'a { color: #00FFFF; }',rules.length); } else { css.addRule(targetId + 'body', 'background-color: #000000; color: #EEEE00;',rules.length); css.addRule(targetId + 'a', 'color: #00FFFF;',rules.length); } } else if (colors == "Soft") { if (css.insertRule) { css.insertRule(targetId + 'body { background-color: #FFFFCC; color: #333329;}',rules.length); css.insertRule(targetId + 'a { color: #4444F1; }',rules.length); } else { css.addRule(targetId + 'body', 'background-color: #FFFFCC; color: #333329;',rules.length); css.addRule(targetId + 'a', 'color: #4444F1;',rules.length); } } else if (colors == "Simple") { if (css.insertRule) { css.insertRule(targetId + 'body { background-color: #FFFFFF; color: #000000;}',rules.length); css.insertRule(targetId + 'a { color: #2222B5; }',rules.length); } else { css.addRule(targetId + 'body', 'background-color: #FFFFFF; color: #000000;',rules.length); css.addRule(targetId + 'a', 'color: #2222B5;',rules.length); } } else if (colors == "Blue") { if (css.insertRule) { css.insertRule(targetId + 'body { background-color: #9FCFFF; color: #010066;}',rules.length); css.insertRule(targetId + 'a { color: #000FFF; }',rules.length); } else { css.addRule(targetId + 'body', 'background-color: #9FCFFF; color: #010066;',rules.length); css.addRule(targetId + 'a', 'color: #000FFF;',rules.length); } } } }