/* PNG FIX */

jQuery('document').ready(function(){
	
	renderHTag("1", 32 , "light");
	renderHTag("2", 26 , "bold");
	renderHTag("3", 22 , "regular");
	renderHTag("4", 18 , "regular");
	renderHTag("5", 14 , "regular");
	renderHTag("6", 12 , "regular");
	
	if ( /MSIE (5\.5|6)/.test(navigator.userAgent) )
	{
		correctPNG();
	}
});

function renderHTag(hSize, size, font) {
	
	var tag = "h" + hSize;
	var type = "title" + hSize;
	renderTag(tag, type, size, font);
}
	
function renderTag(tag, type, size, font) {

	var titles;

	titles = document.getElementsByTagName(tag);
		
	var color = "00000";
	var typeBlue= type+"Blue";
	var typeWhite= type+"White";
	var typeGreen= type+"Green";
	var typePurple = type+"Purple";
	
	for (var i = 0; i < titles.length; i++) {
		if(titles[i].innerHTML != "" && titles[i].innerHTML.indexOf("/servlet/fontServlet") == -1)
		{
			if ( titles[i].id != null && titles[i].id.indexOf(type) == 0 )
			{
			//if ((titles[i].id==type) || (titles[i].id==typeBlue) || (titles[i].id==typeWhite) || (titles[i].id==typeGreen) || (titles[i].id==typePurple)) {
				
				var strHTML = "";
				
				if(titles[i].id.indexOf("Blue") != -1)
				{
					color = "00abff";
				}
				else if(titles[i].id.indexOf("White") != -1)
				{
					color = "ffffff";
				}
				else if(titles[i].id.indexOf("Green") != -1)
				{
					color = "A0B534";
				}
				else if(titles[i].id.indexOf("Purple") != -1)
				{
					color = "ff00ff";
				}
				else
				{
					var color = "00000";
				}
				
				// Check overrides on fonts
				//
				if (titles[i].id.indexOf("-regular") != -1)
				{
					font = "regular";
				}
				else if(titles[i].id.indexOf("-light") != -1)
				{
					font = "light";
				}
				else if (titles[i].id.indexOf("-medium") != -1)
				{
					font = "medium";
				}
				else if (titles[i].id.indexOf("-bold") != -1)
				{
					font = "bold";
				}
				
				var src = "/servlet/fontServlet?text=" + titles[i].innerHTML
				+ "&amp;color=" + color 
				+ "&amp;size=" + size 
				+ "&amp;font=" + font;
				
				src = encodeURI(src);
				src=src.replace(/\+/g, "%2B");
				
				var ie6 = /MSIE (5\.5|6)/.test(navigator.userAgent);
				
				if ( ie6 && isVisible(titles[i]) )
				{
					
					var headerImg = new Image();
					var text = titles[i].innerText;					
					
					text = encodeURI(text);
					text=text.replace(/\+/g, "%2B");
					//text=text.replace(/\&/g, "%26");
					/*
					text = (text || '').replace(/\(/g, '%28')
									   .replace(/\)/g, '%29')
									   .replace(/\?/g, '%3F')
									   .replace(/\$/g, '%24')
									   .replace(/\&/g, '%26')
									   .replace(/\+/g, '%2B')
									  // .replace(/\//g, '%2F')
									   .replace(/\:/g, '%3A');
					*/
					
					headerImg.src = "/servlet/fontServlet?text=" + text 
						+ "&color=" + color 
						+ "&size=" + size 
						+ "&font=" + font;	
					
					titles[i].innerText = "";
					titles[i].appendChild(headerImg);
				}
				else if ( !ie6 )
				{
					titles[i].innerHTML = "<img src='" + src + "' alt='"+titles[i].innerHTML+"'/>";
				}
			}
		}
	}
}

function isVisible(element)
{

	if ( element.currentStyle != null && 
		 ( element.currentStyle.display == "none" || element.currentStyle.visibility == "none" ) )
	{
		return false;
	}
	
	var parent = element.parentNode;
	while ( parent != null )
	{
		if ( parent.currentStyle != null && 
		     ( parent.currentStyle.display == "none" || parent.currentStyle.visibility == "none" ) )
		{
			return false;
		}
		parent = parent.parentNode;
	}
	return true;
}

var notCompletedImages = new Array();

function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
{
   if ((document.body.filters)) 
   {
      for(var i=0; i<document.images.length; i++)
      {
         var img = document.images[i]
         var imgName = img.src.toUpperCase()
         if (imgName.substring(imgName.length-3, imgName.length) == "PNG" ||
		     img.src.indexOf("/servlet/fontServlet") != -1 )
         {
			if ( img.width == 0 && img.height == 0 )
			{
				notCompletedImages.push(img);
				continue;
			}
			
            fixPNGImage(img);
            i = i-1
         }
      }
	  
	  if ( notCompletedImages.length > 0 )
	  {
	 	  setTimeout(correctPNGDelayed,100);
	  }
   }    
}

function fixPNGImage(img)
{
	var imgID = (img.id) ? "id='" + img.id + "' " : ""
	var imgClass = (img.className) ? "class='" + img.className + "' " : ""
	var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
	var imgStyle = "display:inline-block;" + img.style.cssText 
	if (img.align == "left") imgStyle = "float:left;" + imgStyle
	if (img.align == "right") imgStyle = "float:right;" + imgStyle
	if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
	
	var imgSrc = encodeURI(img.src);
	imgSrc = (imgSrc || '').replace(/\(/g, '%28').replace(/\)/g, '%29');
	
	var strNewHTML = "<span " + imgID + imgClass + imgTitle
	+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
	+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
	+ "(src=\'" + imgSrc + "\', sizingMethod='scale');\"></span>" 
	img.outerHTML = strNewHTML
}


function correctPNGDelayed()
{
	var newList = new Array();
	for ( var i=0;i < notCompletedImages.length; i++ )
	{
		var img = notCompletedImages[i];
		if ( img.width == 0 && img.height == 0 )
		{
			newList.push(img);
			continue;
		}
		fixPNGImage(img);
		
	}
	
	if ( newList.length > 0 )
	{
		notCompletedImages = newList;
		setTimeout(correctPNGDelayed,100);
	}
	
}
