function loadIframe (elem, loadImage, url)
{
	if (!document.getElementById)
	{
		return;
	}

	elem	= document.getElementById(elem);

	dim		= getDimension();
	dim.x	= dim.x - 30;
	dim.y	= dim.y - 30 - elem.offsetTop;

	box 	= elem.parentNode;
	img		= document.createElement('img');
	div		= document.createElement('div');
	img.src	= url;
	div.id	= loadImage;

	var parent	= box;
//	elem.style.display = 'none';
	elem.height = '0';
	elem.style.visibility = 'hidden';
	while (true)
	{
		dim.y	= dim.y
				- parseInt(parent.offsetTop);
				- parseInt(getStyle(parent, 'padding-top'))
				- parseInt(getStyle(parent, 'padding-bottom'));
		dim.x	= dim.x
				- parseInt(parent.offsetLeft)
				- parseInt(getStyle(parent, 'padding-left'))
				- parseInt(getStyle(parent, 'padding-right'));
		parent	= parent.parentNode;
		if (parent && !parent.offsetTop)
		{
			break;
		}
	}

	setStyle(div, 'margin-top', ((dim.y - 100) / 2));
	setStyle(div, 'margin-bottom', ((dim.y - 100) / 2));

	div.style.marginTop		= ((dim.y - 100) / 2) + 'px';
	div.style.marginBottom	= ((dim.y - 100) / 2) + 'px';

	if (isNaN(parseInt(getStyle(box, 'width'))) || parseInt(getStyle(box, 'width')) == 0)
	{
		// variable width
		setStyle(div, 'margin-left', ((dim.x - 100) / 2));
		setStyle(div, 'margin-right', ((dim.x - 100) / 2));
		div.style.marginLeft	= ((dim.x - 100) / 2) + 'px';
		div.style.marginRight	= ((dim.x - 100) / 2) + 'px';
	} else {
		// fixed width
		div.style.textAlign		= 'center';
	}

	div.appendChild(img);
	box.appendChild(div);
}

function resizeIframe (elem, loadImage)
{
	if (!document.getElementById)
	{
		return;
	}

	elem		= document.getElementById(elem);
	loadImage	= document.getElementById(loadImage);

	if (!loadImage)
	{
		return;
	}

//	elem.style.display = 'block';
	elem.style.visibility = 'visible';

	dim			= getDimension();
	dim.x		= dim.x - 30;
	dim.y		= dim.y - 30 - elem.offsetTop;

	box 		= elem.parentNode;

	var parent	= box;

	while (true)
	{
		dim.y	= dim.y
				- parseInt(parent.offsetTop);
				- parseInt(getStyle(parent, 'padding-top'))
				- parseInt(getStyle(parent, 'padding-bottom'));
		dim.x	= dim.x
				- parseInt(parent.offsetLeft)
				- parseInt(getStyle(parent, 'padding-left'))
				- parseInt(getStyle(parent, 'padding-right'));
		parent	= parent.parentNode;
		if (parent && !parent.offsetTop)
		{
			break;
		}
	}
	width		= isNaN(parseInt(getStyle(box, 'width')))
				? 0
				: parseInt(getStyle(box, 'width'));
	width		= navigator.userAgent.toLowerCase().indexOf('opera') != -1
				? width - 20
				: width;
	elem.height	= dim.y >= 400
				? dim.y
				: 400;
	elem.width	= width == 0 || dim.x < width
				? dim.x
				: width;

	elem.parentNode.removeChild(loadImage);

	window.scroll(0, 0);
}

function getDimension ()
{
	if (self.innerHeight)
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body)
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	
	return {x:x, y:y};
}

function getStyle(el, style)
{
	if (!document.getElementById)
	{
		return;
	}

	var value = el.style[toCamelCase(style)];

	if (!value)
	{
		if (document.defaultView)
		{
			value = document.defaultView.getComputedStyle(el, "").getPropertyValue(style);
		} else if (el.currentStyle)
		{
			value = el.currentStyle[toCamelCase(style)];
		}
	 }

	 return value;
}

function setStyle(el, style, value)
{
	el.style[style] = value;
}

function toCamelCase (sInput)
{
	var oStringList = sInput.split('-');
	if (oStringList.length == 1)
	{
		return oStringList[0];
	}
	
	var ret = sInput.indexOf("-") == 0
			? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1)
			: oStringList[0];
	for (var i = 1, len = oStringList.length; i < len; i++)
	{
		var s = oStringList[i];
		ret += s.charAt(0).toUpperCase() + s.substring(1)
	}
	return ret;
}
