// Perform Flash Replacement
function resizeDiv(d,h) {
	$("#"+d).css("height", h+"px");
	return false;
}

function rgbToHex(rgb) {
	var rgb=rgb.substring(rgb.indexOf('(')+1);
	var rgb=rgb.substring(0, rgb.indexOf(')'));
	var parts=rgb.split(", ");
	var result="#";
	var vals=["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
	for (var i=0; i<parts.length; i++) {
		var num=parts[i]*1;
		result+=vals[Math.floor(num/16)]+vals[num % 16];
	}
	return result;
}

function doFlashReplace(selector, flashPath) {
	// Go through the selector match
	$(selector).each(function(k, v) {
		$_this=$(this);
				
		// Skip "no_flash" entries
		if (!$_this.is(".no_flash")) {
		
			// If the element doesn't have an id, make up a unique one for it.
			if ((typeof $_this.attr('id') == "undefined") || ($_this.attr('id')=="")) {
				now=new Date();
				content=$_this.text();
				content=content.replace(/\W/g, "");
				content="generated_id_"+content+Math.round(Math.random()*1000000)+"_"+now.getTime();
				$_this.attr('id', content);
			}
			
			var fontSize=parseInt($_this.css('font-size'));
			
			text=$_this.text();
			text=text.replace(/\s+/g, ' ');
			text=text.replace(/^\s/g, '');
			text=text.replace(/\"/g, '\'\'');
			
			if ($_this.css('color').toString().indexOf('rgb')!=-1) {
				var color=rgbToHex($_this.css('color'));
			} else {
				color=$_this.css('color');
			}
			if (color=="white") {
				color="#ffffff";
			}
			if (color=="#fff") {
				color="#ffffff";
			}
						
			// Perform the swfobject based replacement		
			swfobject.embedSWF(flashPath, $_this.attr("id"), '100%', '23', '9.0.124', '', {t:escape(text), l:$("a:first", this).attr("href"), lt:$("a:first", this).attr("target"), d:$_this.attr("id"), s:fontSize, c:color, lc:color, lhc:color}, {menu:'false', quality:'best', scale:'noscale', wmode:'transparent'});
		}
	});	
}

function flashReplace() {
	// Perform standard replaces
	var selector=".moduleContentInner h1, .moduleContentInner h2, .genericModuleHeader h4";
	var flashPath="/Media/flash/textReplace.swf";
	doFlashReplace(selector, flashPath);
	
	// Perform page header replace
	var headerImg=$('h1.genericPageTitle span.genericPageTitleImage');
	if ((headerImg) && (headerImg.length>0)) {	
		var headerStyle=headerImg.css('background-image').toString();
	
		// Replace any that have generic_dark_page_header.jpg as their background
		if (headerStyle.indexOf("generic_dark_page_header.jpg")!=-1) {	
			// Create an extra child div so we don't replace the background image.
			var text=$('h1.genericPageTitle span.genericPageTitleImage').text().toString().toUpperCase();
			$('h1.genericPageTitle span.genericPageTitleImage').html('<div class="flashTitle">'+text+'</div>').css('text-indent', 0);
		
			selector="h1.genericPageTitle span.genericPageTitleImage div.flashTitle";
			flashPath="/Media/flash/textReplaceLarge.swf";
			doFlashReplace(selector, flashPath);
		}
	}
}