shadowWrapper = document.createElement('div');
shadowWrapper.className = 'shadowWrapper';
/*shadowRight = document.createElement('div');
shadowRight.className='rightShadow';
shadowLeft = document.createElement('div');
shadowLeft.className='leftShadow';*/
shadowTop = document.createElement('div');
shadowTop.className='topShadow';
shadowBottom = document.createElement('div');
shadowBottom.className='bottomShadow';
contentSlot = document.createElement('div');
contentSlot.className='contentSlot';

shadowCornerTR = document.createElement('img');
shadowCornerTR.src="/mainImages/menuTopRightCorner.gif";
shadowCornerTR.className='trShadow';
shadowCornerBR = document.createElement('img');
shadowCornerBR.src="/mainImages/menuBottomRightCorner.gif";
shadowCornerBR.className='brShadow';
shadowCornerBL = document.createElement('img');
shadowCornerBL.src="/mainImages/menuBottomLeftCorner.gif";
shadowCornerBL.className='blShadow';
shadowCornerTL = document.createElement('img');
shadowCornerTL.src="/mainImages/menuTopLeftCorner.gif";
shadowCornerTL.className='tlShadow';

shadowWrapper.appendChild(shadowTop);
shadowWrapper.appendChild(contentSlot);
shadowWrapper.appendChild(shadowBottom);
/*
shadowWrapper.appendChild(shadowRight);
shadowWrapper.appendChild(shadowLeft);
*/
shadowWrapper.appendChild(shadowCornerTR);
shadowWrapper.appendChild(shadowCornerBR);
shadowWrapper.appendChild(shadowCornerTL);
shadowWrapper.appendChild(shadowCornerBL);

testFontSizeBox = document.createElement('div');
testFontSizeBox.className="testFontSize";

function $(id)
{
	return document.getElementById(id);
}

init = function()
{
	/*dropShadows();*/
	getHeaderImages();
	rotateBanner();
}

var banner = [
	{'image':"/images/snowfallPress_miniTrimmed.jpg", 'url':'/snowfallPress.html'},
	{'image':"/images/7porches_miniTrimmed.jpg", 'url':'/7porches.html'},
	{'image':"/images/frost_miniTrimmed.png", 'url':'/frost.html'},
	{'image':"/images/virtualStorehouse_miniTrimmed.jpg", 'url':'virtualStorehouse.html'}
	];
function rotateBanner()
{
	var r = Math.round(100*Math.random())%banner.length;
	$('rightHeader').src = banner[r].image;
	$('rightHeaderLink').href = banner[r].url;
	setTimeout('rotateBanner()', 6000);
}

function dropShadows()
{
	var menus = document.getElementById('contextNav').getElementsByTagName('ul');
	processShadowWrappers(menus);
	var menus = document.getElementById('rightPanel').getElementsByTagName('ul');
	processShadowWrappers(menus);
}

function processShadowWrappers(menus)
{
	for(var i=0; i<menus.length; i++)
	{
		var tempMenu = menus[i];
		if(tempMenu.className != 'nav')
		{
			continue;
		}
		var parent = tempMenu.parentNode;
		
		var clone = shadowWrapper.cloneNode(true);
		
		parent.replaceChild(clone, tempMenu);
		
		/*for(var i = 0; i<cloneDivs.childNodes.length; i++)
		{
			if(cloneDivs.childNodes[i].className=='contentSlot')
		}*/
		clone.childNodes[1].appendChild(tempMenu);
		
		/*clone.insertBefore(tempMenu, clone.childNodes[0]);*/
	}
}

function getHeaderImages()
{
	var headers1 =document.getElementById('content').getElementsByTagName('h1');
	var headers2 =document.getElementById('content').getElementsByTagName('h2');
	var headers3 =document.getElementById('content').getElementsByTagName('h3');
	var headers4 =document.getElementById('content').getElementsByTagName('h4');
	
	processHeaderImages(headers1);
	processHeaderImages(headers2);
	processHeaderImages(headers3);
	processHeaderImages(headers4);
	
}

function processHeaderImages(headers)
{
	for(var i = 0; i<headers.length; i++)
	{
		var tempImage = document.createElement('img');
		var header = headers[i];
		var text = trim(getTextNodes(header));
		var fontFamily = retrieveStyle(header, "font-family");
		/*var fontSize = retrieveStyle(header, "font-size");*/
		var tempFontBox = testFontSizeBox.cloneNode(false);
		header.appendChild(tempFontBox);
		var fontBoxHeight = tempFontBox.offsetHeight;
		var fontSize = fontBoxHeight;
		var fontWeight = retrieveStyle(header, "font-weight");
		var fontStyle = retrieveStyle(header, "font-style");
		
		var color = retrieveStyle(header, "color");
		var textAlign = retrieveStyle(header, "text-align");
		if(textAlign=="center")
		{
			tempImage.shouldCenter = true;
		}
		header.style.position="relative";
		/*header.style.textIndent="-10000px";*/
		tempImage.style.visibility="hidden";
		tempImage.onload=popHeader;
		
		tempImage.src = "/generate/heading.png?text="+text
			+"&fontFamily="+fontFamily
			+"&fontSize="+fontSize
			+"&fontWeight="+fontWeight
			+"&fontStyle="+fontStyle
			+"&color="+color;
		tempImage.style.position="absolute";
		tempImage.style.top="0px";
		tempImage.style.left="0px";
		header.appendChild(tempImage);
		/*insertAfter(header.parentNode, tempImage, header);		*/
	}
}

function popHeader()
{
	this.parentNode.style.textIndent = "-10000px"
	if(this.shouldCenter)
	{
		this.style.left = ((this.parentNode.offsetWidth-this.offsetWidth)/2)+"px";
	}
	if(this.offsetHeight>this.parentNode.offsetHeight)
	{
		this.parentNode.style.height=this.offsetHeight;
	}
	this.style.visibility="visible";
	
}

function retrieveStyle(el, styleName)
{
    var IEstyleName = styleName;
    if(styleName.indexOf('-') > 0)
    {
        var strgs = styleName.split('-');
        var str = strgs[0]+strgs[1].substring(0,1).toUpperCase() + strgs[1].substring(1,strgs[1].length);
        
        for(var i = 2; i< strgs.length; i++)
        {
            str += strgs[i].substring(0,1).toUpperCase() + strgs[i].substring(1,strgs[i].length);
        }
        
        IEstyleName = str;
    }
    
	if (el.currentStyle)
		var y = el.currentStyle[IEstyleName];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleName);

	return y;
}

function getTextNodes(node)
{
	if(node.nodeType==3)//textnode
	{
		return node.nodeValue;
	}
	else
	{
		var ret="";
		for(var i=0; i<node.childNodes.length; i++)
		{
			ret += getTextNodes(node.childNodes[i]);
		}
		return ret;
	}
	
}

function trim(value) 
{
    return value.replace(/^\s*/, "").replace(/\s*$/, "");
}