/**
 * This fellow handles flash replacement of headings. Font rendering 
 * looks cool enough in OS X, so this stuff is only active on Windows.
 */
var Headings = new function () {

    /*
    * This hacks a flash-of-non-replaced-text in IE7 (running no cache).
    */
    if (Client.hasFlash && Client.isWindows) {
        // document.write("<style type=\"text/css\"> h1.replace { color: rgb(248,248,245); }</style>");
    }


    var MARKUP =
		"<object type=\"application/x-shockwave-flash\" " +
			"data=\"/Frontend/Flash/headings_52px.swf?headingtext=${headingtext}\" " +
			"height=\"${height}\" " +
			"width=\"${width}\" " +
			"wmode=\"transparent\">\n" +
			"\t<param name=\"movie\" value=\"/Frontend/Flash/headings_52px.swf?headingtext=${headingtext}\"/>\n" +
			"\t<param name=\"wmode\" value=\"transparent\"/>\n" +
		"</object>";

    var isReplaced = false;

    /**
    * @param {HTMLHeadingElement} element
    */
    function replace(element) {

        if (element.textContent == "" && typeof (element.innerText) == "undefined") {
            return;
        }

        var text = (element.textContent ? element.textContent : element.innerText).toUpperCase();
        var markup = MARKUP.
			replace("${headingtext}", text).
			replace("${headingtext}", text).
			replace("${width}", "900").
			replace("${height}", "68");

        element.innerHTML = markup + "<span>" + element.innerHTML + "</span>";
    }

    /**
    * Replace headings.
    */
    this.ondom = function () {

        var elements = document.getElementsByTagName("h1");
        var i = 0, element;

        while (element = elements.item(i++)) {
            if (element.className == "replace") {
                replace(element);
                element.className = "replaced";
            }
        }
    }

    /*
    * Queue the DOMContentLoaded event.
    */
    if (Client.hasFlash && Client.isWindows) {
        Manager.ondom(this);
    }
}

