/*	
	2005-09-14
	this library has been modified for specific uses on our site.  these changes include:
		- parseSelector() has been removed.  we are leveraging other external code to 
		  perform the same task, so it's unnecessary here.
		- fetchContent() has been removed and replaced with myInnerHTML().	

	a human-readable for of this document is available as lib_sifr_uncompressed.js

	original copyright notice:
	----------------------------------------------------------------------------
	sIFR v2.0.1 SOURCE
	Copyright 2004 - 2005 Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben

	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/
function getElemRefs(id) {
	var el = (document.getElementById)? document.getElementById(id): (document.all)? document.all[id]: (document.layers)? getLyrRef(id,document): null;
	if (el) el.css = (el.style)? el.style: el;
	return el;
}	

var hasFlash = function(){ var nRequiredVersion = 6; if(navigator.appVersion.indexOf("MSIE") != -1 && navigator.appVersion.indexOf("Windows") > -1){ document.write('<script language="VBScript"\> \non error resume next \nhasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & ' + nRequiredVersion + '))) \n</script\> \n'); if(window.hasFlash != null){ return window.hasFlash;};}; if(navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){ var flashDescription = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description; return parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1)) >= nRequiredVersion;}; return false;}(); String.prototype.normalize = function(){ return this.replace(/\s+/g, " ");}; if(Array.prototype.push == null){ Array.prototype.push = function(){ var i = 0, index = this.length, limit = arguments.length; while(i < limit){ this[index++] = arguments[i++];}; return this.length;};}; if (!Function.prototype.apply){ Function.prototype.apply = function(oScope, args) { var sarg = []; var rtrn, call; if (!oScope) oScope = window; if (!args) args = []; for (var i = 0; i < args.length; i++) { sarg[i] = "args["+i+"]";}; call = "oScope.__applyTemp__(" + sarg.join(",") + ");"; oScope.__applyTemp__ = this; rtrn = eval(call); oScope.__applyTemp__ = null; return rtrn;};}; function named(oArgs){ return new named.Arguments(oArgs);}; named.Arguments = function(oArgs){ this.oArgs = oArgs;}; named.Arguments.prototype.constructor = named.Arguments; named.extract = function(listPassedArgs, oMapping){ var oNamedArgs, passedArg; var i = listPassedArgs.length; while(i--){ passedArg = listPassedArgs[i]; if(passedArg != null && passedArg.constructor != null && passedArg.constructor == named.Arguments){ oNamedArgs = listPassedArgs[i].oArgs; break;};}; if(oNamedArgs == null){ return }; for(sName in oNamedArgs){ if(oMapping[sName] != null){ oMapping[sName](oNamedArgs[sName]);};}; return;}; var sIFR = function(){ var sNameSpaceURI = "http://www.w3.org/1999/xhtml"; var bIsInitialized = false; var bIsSetUp = false; var bInnerHTMLTested = false; var sDocumentTitle; var stackReplaceElementArguments = []; var UA = function(){ var sUA = navigator.userAgent.toLowerCase(); var oReturn = { bIsWebKit : sUA.indexOf("applewebkit") > -1, bIsSafari : sUA.indexOf("safari") > -1, bIsKonq: navigator.product != null && navigator.product.toLowerCase().indexOf("konqueror") > -1, bIsOpera : sUA.indexOf("opera") > -1, bIsXML : document.contentType != null && document.contentType.indexOf("xml") > -1, bHasTransparencySupport : true, bUseDOM : true, nFlashVersion : null, nOperaVersion : null, nGeckoBuildDate : null, nWebKitVersion : null
}; oReturn.bIsKHTML = oReturn.bIsWebKit || oReturn.bIsKonq; oReturn.bIsGecko = !oReturn.bIsWebKit && navigator.product != null && navigator.product.toLowerCase() == "gecko"; if(oReturn.bIsGecko){ oReturn.nGeckoBuildDate = new Number(sUA.match(/.*gecko\/(\d{8}).*/)[1]) }; oReturn.bIsIE = sUA.indexOf("msie") > -1 && !oReturn.bIsOpera && !oReturn.bIsKHTML && !oReturn.bIsGecko; oReturn.bIsIEMac = oReturn.bIsIE && sUA.match(/.*mac.*/) != null; if(oReturn.bIsOpera){ oReturn.nOperaVersion = new Number(sUA.match(/.*opera(\s|\/)(\d+\.\d+)/)[2]) }; if(oReturn.bIsIE || (oReturn.bIsOpera && oReturn.nOperaVersion < 7.6)){ oReturn.bUseDOM = false }; if(oReturn.bIsWebKit){ oReturn.nWebKitVersion = new Number(sUA.match(/.*applewebkit\/(\d+).*/)[1]) }; if(window.hasFlash && (!oReturn.bIsIE || oReturn.bIsIEMac)){ var flashDescription = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description; oReturn.nFlashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));}; if(sUA.match(/.*(windows|mac).*/) == null || oReturn.bIsIEMac || oReturn.bIsKonq || (oReturn.bIsOpera && oReturn.nOperaVersion < 7.6) || (oReturn.bIsSafari && oReturn.nFlashVersion < 7) || (!oReturn.bIsSafari && oReturn.bIsWebKit && oReturn.nWebKitVersion < 124) || (oReturn.bIsGecko && oReturn.nGeckoBuildDate < 20020523)){ oReturn.bHasTransparencySupport = false;}; if(!oReturn.bIsIEMac && !oReturn.bIsGecko && document.createElementNS){ try { document.createElementNS(sNameSpaceURI, "i").innerHTML = "";} catch(e){ oReturn.bIsXML = true;};}; oReturn.bUseInnerHTMLHack = oReturn.bIsKonq || (oReturn.bIsWebKit && oReturn.nWebKitVersion < 312) || oReturn.bIsIE; return oReturn;}(); if(window.hasFlash == false || !document.createElement || !document.getElementById || (UA.bIsXML && UA.bUseInnerHTMLHack)){ return {UA:UA};}; function sIFR(e){ if((!self.bAutoInit && (window.event || e) != null) || !mayReplace(e)){ return;}; bIsInitialized = true; for(var i = 0, limit = stackReplaceElementArguments.length; i < limit; i++){ replaceElement.apply(null, stackReplaceElementArguments[i]);}; stackReplaceElementArguments = [];}; var self = sIFR; function mayReplace(e){ if(bIsSetUp == false || self.bIsDisabled == true || ((UA.bIsXML && UA.bIsGecko || UA.bIsKHTML) && e == null && bIsInitialized == false) || (document.body == null || document.getElementsByTagName("body").length == 0)){ return false;}; return true;}; function escapeHex(sHex){ if(UA.bIsIE){ return sHex.replace(new RegExp("%\d{0}", "g"), "%25");}
return sHex.replace(new RegExp("%(?!\d)", "g"), "%25");}; function matchNodeNames(node, sMatch){ if(sMatch == "*"){ return true;}; return node.nodeName.toLowerCase().replace("html:", "") == sMatch.toLowerCase();}; function createElement(sTagName){ if(document.createElementNS && UA.bUseDOM){ return document.createElementNS(sNameSpaceURI, sTagName);} else { return document.createElement(sTagName);};}; function createObjectParameter(nodeObject, sName, sValue){ var node = createElement("param"); node.setAttribute("name", sName); node.setAttribute("value", sValue); nodeObject.appendChild(node);}; function appendToClassName(node, sAppend){ var sClassName = node.className; if(sClassName == null){ sClassName = sAppend;} else { sClassName = sClassName.normalize() + (sClassName == "" ? "" : " ") + sAppend;}; node.className = sClassName;}; function prepare(bNow){ var node = document.documentElement; if(self.bHideBrowserText == false){ node = document.getElementsByTagName("body")[0];}; if((self.bHideBrowserText == false || bNow) && node){ if(node.className == null || node.className.match(/\bsIFR\-hasFlash\b/) == null){ appendToClassName(node, "sIFR-hasFlash");};};}; function myInnerHTML(node) { var nodeNamesWeIgnore = "accessKey|coords|noWrap|dataFormatAs|disabled|dataSrc|object|dataFld|language|compact|contentEditable|inherit|tabIndex|align|clear|shape|charset|urn|rel|rev|dir|css"; var result = ""; switch (node.nodeType) { case 3:
var textValue = node.nodeValue; textValue = textValue.replace(/\t/g, ""); textValue = textValue.replace(/\n/g, ""); textValue = textValue.replace(/\r/g, ""); result += textValue; break; case 1:
result += "<" + node.nodeName.toLowerCase(); if (node.attributes != null) { if (node.attributes.length > 0) { for (var i = 0; i < node.attributes.length; i++) { var nodeName = node.attributes.item(i).nodeName; if ((node.attributes.item(i).value != "null") && (nodeNamesWeIgnore.indexOf(nodeName) == -1)) { result += " " + node.attributes.item(i).nodeName; result += "=\""; result += node.attributes.item(i).value +"\"";}
}
}
}
if (node.childNodes != null) { if (node.childNodes.length > 0) { result += ">"; for (var j = 0; j < node.childNodes.length; j++) { result += myInnerHTML(node.childNodes[j]);}
result += "</"+ node.nodeName.toLowerCase() +">";} else { result += "/>";}
}
break;}
return result;}
function replaceElement(sSelector, sFlashSrc, sColor, sLinkColor, sHoverColor, sBgColor, nPaddingTop, nPaddingRight, nPaddingBottom, nPaddingLeft, sFlashVars, sCase, sWmode){ if(!mayReplace()){ return stackReplaceElementArguments.push(arguments);}; prepare(); named.extract(arguments, { sSelector : function(value){ sSelector = value }, oNodeRef : function(value){ oNodeRef = value }, sFlashSrc : function(value){ sFlashSrc = value }, sColor : function(value){ sColor = value }, sLinkColor : function(value){ sLinkColor = value }, sHoverColor : function(value){ sHoverColor = value }, sBgColor : function(value){ sBgColor = value }, nPaddingTop : function(value){ nPaddingTop = value }, nPaddingRight : function(value){ nPaddingRight = value }, nPaddingBottom : function(value){ nPaddingBottom = value }, nPaddingLeft : function(value){ nPaddingLeft = value }, sFlashVars : function(value){ sFlashVars = value }, sCase : function(value){ sCase = value }, sWmode : function(value){ sWmode = value }
}); if (oNodeRef == null) { return false }; if(sFlashVars != null){ sFlashVars = "&" + sFlashVars.normalize();} else { sFlashVars = "";}; if(sColor != null){sFlashVars += "&textcolor=" + sColor}; if(sHoverColor != null){sFlashVars += "&hovercolor=" + sHoverColor}; if(sHoverColor != null || sLinkColor != null){sFlashVars += "&linkcolor=" + (sLinkColor || sColor)}; if(nPaddingTop == null){ nPaddingTop = 0 }; if(nPaddingRight == null){ nPaddingRight = 0 }; if(nPaddingBottom == null){ nPaddingBottom = 0 }; if(nPaddingLeft == null){ nPaddingLeft = 0 }; if(sBgColor == null){ sBgColor = "#FFFFFF" }; if(sWmode == "transparent"){ if(!UA.bHasTransparencySupport){ sWmode = "opaque";} else { sBgColor = "transparent";};}; if(sWmode == null){ sWmode = "" }; var node, sWidth, sHeight, sMargin, sPadding, sVars, nodeAlternate, nodeFlash, oContent; var nodeFlashTemplate = null; if (1 == 1) { node = oNodeRef; sWidth = node.offsetWidth - nPaddingLeft - nPaddingRight; sHeight = node.offsetHeight - nPaddingTop - nPaddingBottom; if(isNaN(sWidth) || isNaN(sHeight)){ self.bIsDisabled = true; document.documentElement.className = document.documentElement.className.replace(/\bsIFR\-hasFlash\b/, ""); return;}; nodeAlternate = createElement("span"); nodeAlternate.className = "sIFR-alternate"; var nodeContent; nodeContent = myInnerHTML(node); nodeContent = nodeContent.replace(/<p((.|\n)*?)>/ig, "<p$1><![CDATA["); nodeContent = nodeContent.replace(/<\/p>/ig, "]]></p>"); nodeContent = nodeContent.replace(/<h3((.|\n)*?)>/ig, "<h3$1><![CDATA["); nodeContent = nodeContent.replace(/<\/h3>/ig, "]]></h3>"); nodeContent = nodeContent.replace(/<h4((.|\n)*?)>/ig, "<h4$1><![CDATA["); nodeContent = nodeContent.replace(/<\/h4>/ig, "]]></h4>"); sVars = "txtCount=1&txt0=" + escapeHex((nodeContent)).replace(/\+/g, "%2B").replace(/&/g, "%26").replace(/\"/g, "%22").normalize() + sFlashVars + "&w=" + sWidth + "&h=" + sHeight
appendToClassName(node, "sIFR-replaced"); var oRemove = null; var oTemp = node.firstChild; var oRemoved = null; while (oTemp) { oRemove = oTemp; oTemp = oTemp.nextSibling; if(nodeAlternate != null){ oRemoved = oRemove.parentNode.removeChild(oRemove); nodeAlternate.appendChild(oRemoved);}
}
if(nodeFlashTemplate == null || !UA.bUseDOM){ if(!UA.bUseDOM){ node.innerHTML = ['<embed class="sIFR-flash" type="application/x-shockwave-flash" src="', sFlashSrc, '" quality="best" wmode="', sWmode, '" bgcolor="', sBgColor, '" flashvars="', sVars, '" width="', sWidth, '" height="', sHeight, '" sifr="true"></embed>'].join("");} else { if(UA.bIsOpera){ nodeFlash = createElement("object"); nodeFlash.setAttribute("data", sFlashSrc); createObjectParameter(nodeFlash, "quality", "best"); createObjectParameter(nodeFlash, "wmode", sWmode); createObjectParameter(nodeFlash, "bgcolor", sBgColor);} else { nodeFlash = createElement("embed"); nodeFlash.setAttribute("src", sFlashSrc); nodeFlash.setAttribute("quality", "best"); nodeFlash.setAttribute("flashvars", sVars); nodeFlash.setAttribute("wmode", sWmode); nodeFlash.setAttribute("bgcolor", sBgColor); nodeFlash.setAttribute("pluginspace", "http://www.macromedia.com/go/getflashplayer"); nodeFlash.setAttribute("scale", "noscale");}; nodeFlash.setAttribute("sifr", "true"); nodeFlash.setAttribute("type", "application/x-shockwave-flash"); nodeFlash.className = "sIFR-flash"; if(!UA.bIsKHTML || !UA.bIsXML){ nodeFlashTemplate = nodeFlash.cloneNode(true);};};} else { nodeFlash = nodeFlashTemplate.cloneNode(true);}; if(UA.bUseDOM){ if(UA.bIsOpera){ createObjectParameter(nodeFlash, "flashvars", sVars);} else { nodeFlash.setAttribute("flashvars", sVars);}; nodeFlash.setAttribute("width", sWidth); nodeFlash.setAttribute("height", sHeight); nodeFlash.style.width = sWidth + "px"; nodeFlash.style.height = sHeight + "px"; node.appendChild(nodeFlash);}; node.appendChild(nodeAlternate); if(UA.bUseInnerHTMLHack){ node.innerHTML += "";};}; if(UA.bIsIE && self.bFixFragIdBug){ setTimeout(function(){document.title = sDocumentTitle}, 0);};}; function updateDocumentTitle(){ sDocumentTitle = document.title;}; function setup(){ if(self.bIsDisabled == true){ return }; bIsSetUp = true; if(self.bHideBrowserText){ prepare(true);}; if(window.attachEvent){ window.attachEvent("onload", sIFR);} else if(!UA.bIsKonq && (document.addEventListener || window.addEventListener)){ if(document.addEventListener){ document.addEventListener("load", sIFR, false);}; if(window.addEventListener){ window.addEventListener("load", sIFR, false);};} else { if(typeof window.onload == "function"){ var fOld = window.onload; window.onload = function(){ fOld(); sIFR();};} else { window.onload = sIFR;};}; if(!UA.bIsIE || window.location.hash == ""){ self.bFixFragIdBug = false;} else { updateDocumentTitle();};}; function debug(){ prepare(true);}; debug.replaceNow = function(){ setup(); sIFR();}; self.UA = UA; self.bAutoInit = true; self.bFixFragIdBug = true; self.replaceElement = replaceElement; self.updateDocumentTitle = updateDocumentTitle; self.appendToClassName = appendToClassName; self.setup = setup; self.debug = debug; self.bIsDisabled = false; self.bHideBrowserText = true; return self;}(); if(typeof sIFR == "function" && !sIFR.UA.bIsIEMac){ sIFR.setup();}; 
