﻿// converts a page title into an address
function convertTitleToPath(source, targetID)
{
	var target = document.getElementById(targetID);
	
	if (target)
	{
		var title = source.value != null ? source.value : "";
		
		if (target.value == null || target.value == "")
		{
			title = title.replace(/[^A-Z0-9]/gi, "_");
			title = title.replace(/^_+|_+$/gi, "");
			title = title.replace(/_+/gi, "_");
			
			target.value = title.toLowerCase();
		}
	}
}

// fixes transparent PNG background in Internet Explorer
function fixBackgroundTransparency(e)
{
	if (arguments.length == 0)
	{
		e = document.body;
	}
	
	var pngTest = /.png/gi;
	var src = e.currentStyle != null ? e.currentStyle.backgroundImage : "";
	
	if (pngTest.test(src)) // background image is a PNG
	{
		var bg = e.backgroundElement;
		
		if (bg == null)
		{
			bg = e.backgroundElement = e.appendChild(document.createElement("div"));
			bg.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"" + src.replace(/url\("(.*?)"\)/i, "$1") + "\",sizingMethod=\"scale\")";
			bg.style.left = "0px";
			bg.style.position = "absolute";
			bg.style.top = "0px";
			bg.style.zIndex = "-1";

			e.style.backgroundImage = "none";
			e.style.position = "relative";
		}
		
		bg.style.height = e.offsetHeight + "px";
		bg.style.width = e.offsetWidth + "px";
	}
	
	for (var i = 0; i < e.childNodes.length; i++)
	{
		fixBackgroundTransparency(e.childNodes[i]);
	}
}

// executes site load functions
function loadSite()
{
	var headings = new Array();
	var h1s = document.getElementById("Content").getElementsByTagName("h1");
	var h2s = document.getElementById("Content").getElementsByTagName("h2");

	if ((document.documentElement && typeof document.documentElement.style.maxHeight != "undefined") == false)
	{
		fixBackgroundTransparency();
	}
	
	for (var i = 0; i < h1s.length; i++) headings.push(h1s[i]);
	for (var i = 0; i < headings.length; i++)
	{
		var heading = headings[i];
		
		TextFX.addDropShadow(heading, -1, 1, "#FFF");
		TextFX.addDropShadow(heading, -2, 2, "#DDD");
	}
}

Tactica.loadScript("scripts/tactica.forms.js");
Tactica.loadScript("scripts/tactica.menus.js");
Tactica.loadScript("scripts/tactica.stats.js");
Tactica.loadScript("scripts/tactica.text.js");

Tactica.addLoadFunction(loadSite);