/**********************************************************
Author:
Adam Barry
Klestrup | partners
www.klestrup-partners.dk

Date: December 6 2007

© 2007 Adam Barry, all rights reserved

Based on script from http://homepage.ntlworld.com/bobosola
-----------------------------------------------------------

Name:
pngfix script

-----------------------------------------------------------
Description:
Function that enables PNG-transparency in IE 5.5 & 6

-----------------------------------------------------------
Usage:
Simply place a link to the this script in the head-section
of the XHTML page. The script will then automatically
execute on page load.

<script type="text/javascript" src="pngfix.js"></script>

-----------------------------------------------------------
Dependencies:
This script depends on the windowOnLoad-script to execute

**********************************************************/

function fixSpecificPNG() {

	var arVersion = navigator.appVersion.split("MSIE")
	var version = parseFloat(arVersion[1])

	if ((version < 7) && (version >= 5.5) && (document.body.filters)) {

		var topGraphics = document.getElementById('topGraphics');
		topGraphics.style.backgroundImage = "none";
		topGraphics.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/graphics/main-top.png', sizingMethod='scale')";

		var main = document.getElementById('main');
		main.style.backgroundImage = "none";

		var footer = document.getElementById('footer');
		footer.style.backgroundImage = "none";

		var bodyClass = document.getElementById('body').className;

		if (bodyClass == 'frontPage') {
			main.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/graphics/frontpage/main-bg.png', sizingMethod='scale')";
			footer.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/graphics/frontpage/bottom-frontpage.png', sizingMethod='scale')";
		}

		else {
			main.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/graphics/main-bg.png', sizingMethod='scale')";
			footer.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/graphics/bottom.png', sizingMethod='scale')";
		}

		fixPNGimages();
	}
}
addLoadEvent(function(){fixSpecificPNG();});


function fixPNGimages() {
	var pngImages = new Array();
	var images = document.getElementsByTagName('img');

	if (!images.length > 0) return;

	for (var i = 0; i < images.length; i++) {

		if (images[i].src.indexOf('.png') > -1) {

			pngImages.push(images[i]);
		}
	}

	if (pngImages.length < 1) return;

	for (var i = 0; i < pngImages.length; i++) {
		var width = pngImages[i].width;
		var height = pngImages[i].height - 16;
		var fileName = getFileName(pngImages[i].src);

		var newHTML = "<span style=\"width:"+width+"px;height:"+height+"px;float:left;display:block;position:relative;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+fileName+"', sizingMethod='scale')\"></span>";
		pngImages[i].parentNode.innerHTML = newHTML;
	}
}

String.prototype.reverse = function () {
	var s = "";
	var i = this.length;

	while (i>0) {
		s += this.substring(i-1,i);
		i--;
	}
    return s;
}

function getFileName (string) {
	var reversePath = string.reverse();
	var splitPath = reversePath.split("/");
	/* Create filename and path using the tokenized string */
	var fileName = "/"+ splitPath[2].reverse() +"/"+ splitPath[1].reverse() +"/"+ splitPath[0].reverse();
	return fileName;
}
