/*------------------------------------ Title: Cross-Browser Text Drop
Shadows Author: Scott Jehl, www.scottjehl.com, scott@scottjehl.com
Date: 7/19/06
http://creativecommons.org/licenses/by-nc-sa/2.5/
--------------------------------------*/
/*
addDomLoadEvent function from
http://www.thefutureoftheweb.com/blog/2006/6/adddomloadevent
*/
function addDOMLoadEvent(func) { if (!window.__load_events) { var init
= function () { if (arguments.callee.done) return;
arguments.callee.done = true; if (window.__load_timer) {
clearInterval(window.__load_timer); window.__load_timer = null;}
for (var i=0;i &lt; window.__load_events.length;i++) {
window.__load_events[i]();}
window.__load_events = null;}; if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", init, false);}
if (/WebKit/i.test(navigator.userAgent)) { window.__load_timer =
setInterval(function() { if
(/loaded|complete/.test(document.readyState)) { init();}
}, 10);}
window.onload = init; window.__load_events = [];}
window.__load_events.push(func);}
/*
getElementsByClass function (credit Dustin Diaz, www.dustindiaz.com)
*/
function getElementsByClass(searchClass,node,tag) { var classElements =
new Array(); if ( node == null ) node = document; if ( tag == null )
tag = '*'; var els = node.getElementsByTagName(tag); var elsLen =
els.length; var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
for (i = 0, j = 0; i &lt; elsLen; i++) { if (
pattern.test(els[i].className) ) { classElements[j] = els[i]; j++; } }
return classElements;
}
/*
createDropShadows function */
createDropShadows = function(){
//get the elements with the classname highContrast
var highContrast = getElementsByClass('highContrast'); for(i = 0; i
&lt; highContrast.length; i++){ //current element var
currentElement = highContrast[i]; //current element's text var
hcContent = currentElement.firstChild.data; //create a new span to
replace the content text var contentSpan =
document.createElement('span'); var contentSpanText =
document.createTextNode(hcContent);
contentSpan.appendChild(contentSpanText); //create another span for the
shadow text and give it the class "shadow" var shadowSpan =
document.createElement('span'); var shadowSpanText =
document.createTextNode(hcContent);
shadowSpan.appendChild(shadowSpanText); shadowSpan.className =
"shadow"; //kill the original text and toss the spans in there with the
content on top currentElement.firstChild.data = '';
currentElement.appendChild(shadowSpan);
currentElement.appendChild(contentSpan); }
}
addDOMLoadEvent(createDropShadows);
