function GSX()
{
	this.Font = "";
	this.FontSize = "";
	this.UpperCase = false;
	this.Color = "000000";
	this.BgColor = "ffffff";
	this.Elements = new Array();
	
	this.Replace = function()
	{
		// get method http/https
		var sGsxUrl = "http://gsx.fuse8.net";
		if(document.location.href.substring(0,5) == "https")
		    sGsxUrl = "https://gsx.fuse8.net";

		// loop through elements
		for (var i=0; i<this.Elements.length; i++) 
		{
			// get variables
			var sUrl = sGsxUrl;
			var pElement = this.Elements[i];
			var sText = encodeURI(pElement.innerHTML);

			// see if we should convert to uppercase
			if(this.UpperCase)
			    	sText = sText.toUpperCase();
		    	
			// fix problems with the encodeURI
			// adds the "%0D%0A" characters which cause a linebreak
			sText = sText.replace(new RegExp(/%0D%0A/g), "%20");
			sText = sText.replace("&amp;" , "+%26+");
			
			// sniff the element's width and set wrapping on the generated image 
			var nWidth = pElement.offsetWidth;
			
			// build url for gsx 
			sUrl += "/image.gif?w=" + nWidth + "&h=500";
			sUrl += "&size=" + this.FontSize;
			sUrl += "&color=" + this.Color;
			sUrl += "&bgcolor=" + this.BgColor;
			sUrl += "&font=" + this.Font;
			sUrl += "&text=" + sText;
			sUrl += "&cache=true&autoresize=true&wrap=true";

			// replace with the &lt;img&gt; tag
			pElement.style.display = 'none';		
			pElement.innerHTML = '<img src="' + sUrl + '">';
			pElement.style.textIndent = '0px';
			pElement.style.display = '';
		}
	}
}



// perform image  replacement 
function GSXReplacementH5(){
	var gsx = new GSX();
	gsx.FontSize = 18; 
	gsx.Font = "GLYPHA__.TTF"; 
	gsx.Color = "929d98"; 
	gsx.BgColor = "ffffff";
	gsx.UpperCase = false; 

	if(document.getElementById("content"))
	{
		gsx.Elements = document.getElementById("content").getElementsByTagName("h5");
		gsx.Replace();
	}
	
	gsx.Color = "929d98";
	gsx.FontSize = 19; 
	
	if(document.getElementById("content-left"))
	{
		gsx.Elements = document.getElementById("content-left").getElementsByTagName("h4");
		gsx.Replace();
	}
	if(document.getElementById("page-title"))
	{
		gsx.Elements = document.getElementById("page-title").getElementsByTagName("h4");
		gsx.Replace();
	}

}

// perform image  replacement 
function GSXReplacementH4(){
	var gsx = new GSX();
	gsx.FontSize = 18; 
	gsx.Font = "GLYPHA__.TTF"; 
	gsx.Color = "b6bdba"; 
	gsx.BgColor = "ffffff";
	gsx.UpperCase = false; 

	if(document.getElementById("content"))
	{
		gsx.Elements = document.getElementById("content").getElementsByTagName("h4");
		gsx.Replace();
	}
	
	gsx.Color = "b6bdba";
	gsx.FontSize = 19; 
	
	if(document.getElementById("content-left"))
	{
		gsx.Elements = document.getElementById("content-left").getElementsByTagName("h4");
		gsx.Replace();
	}
	if(document.getElementById("page-title"))
	{
		gsx.Elements = document.getElementById("page-title").getElementsByTagName("h4");
		gsx.Replace();
	}

}

// perform image  replacement 
function GSXReplacementBlockquote(){
	var gsx = new GSX();
	gsx.FontSize = 19; 
	gsx.Font = "GLYPHA__.TTF"; 
	gsx.Color = "00b6dd"; 
	gsx.BgColor = "ffffff";
	gsx.UpperCase = false; 

	if(document.getElementById("content"))
	{
		gsx.Elements = document.getElementById("content").getElementsByTagName("blockquote");
		gsx.Replace();
	}

}


window.onload = function(){
	GSXReplacementH5();
	GSXReplacementH4();
	decorateList();
}

