function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

// Standard Dreamweaver-generated JavaScript
function MM_swapImage() 
{ //v3.0
  var i,j=0,x,a=MM_swapImage.arguments;
  document.MM_sr=new Array;
   for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null)
	{
		document.MM_sr[j++]=x;
		if(!x.oSrc) 
			x.oSrc=x.src; 
		x.src=a[i+2];
	}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

// *************************************************************
// Functions to position Footer
// *************************************************************
function getWindowHeight()
{
	var windowHeight=0;
	if (typeof(window.innerHeight)=='number') 
	{
		windowHeight=window.innerHeight;
	}
	else 
	{
		if (document.documentElement && document.documentElement.clientHeight) 
		{
			windowHeight= document.documentElement.clientHeight;
		}
		else 
		{
			if (document.body&&document.body.clientHeight) 
			{
				windowHeight=document.body.clientHeight;
			}
		}
	}
	return windowHeight;
}
function positionFooter() 
{
	if (document.getElementById) 
	{
		if (document.getElementById('pagefooter') != null)
		{
			if (
			     (document.getElementById('pageheader') != null)
			     && (document.getElementById('pagecontent') != null)
			     && (document.getElementById('pagesidebar') != null)
			    )
			    {
				var windowHeight=getWindowHeight();
				if (windowHeight>0) 
				{
					var headerElement = document.getElementById('pageheader')
					var headerHeight= headerElement.offsetHeight;

					var maindivElement = document.getElementById('pagecontent')	
					var maindivHeight = maindivElement.offsetHeight;

					var sidebarElement = document.getElementById('pagesidebar')
					var sidebarHeight = sidebarElement.offsetHeight;

					var contentHeight =0;

				    if (sidebarHeight>maindivHeight) 
				    {
						contentHeight=sidebarHeight;
					} 
					else
					{
						contentHeight=maindivHeight;
					}

					var footerElement=document.getElementById('pagefooter');
					var footerHeight=footerElement.offsetHeight;

					if(windowHeight < ( headerHeight+contentHeight+footerHeight))
					{
						//Window is shorter than content

						if ((windowHeight-(contentHeight + headerHeight))>=0) 
						{
							footerElement.style.position='relative';
							var relativefootertop = 0;
							if ((sidebarHeight - maindivHeight + 10) > 0) 
							{
								//if sidebar bottom is greater than content bottom then shift footer down to content bottom + difference
								relativefootertop = (contentHeight - maindivHeight - (footerHeight*0.5));
							}
							else
							{
								relativefootertop = (windowHeight-(contentHeight + headerHeight)) - (footerHeight*0.5);
							}


								if (relativefootertop < 0)
									relativefootertop = 0;
								footerElement.style.top=(relativefootertop)+'px';

						}
						else 
						{
							if( (sidebarHeight - maindivHeight + 10) <= 0 )
							{
								footerElement.style.position='static';
							}
							else
							{
								footerElement.style.position='relative';
								var relativefootertop = (sidebarHeight - maindivHeight + 10);
								if (relativefootertop < 0)
									relativefootertop = 0;
								footerElement.style.top=(relativefootertop) +'px';

							}
						}
					}
					else
					{
						// Window is taller than content
						// move the footer down

						var desiredfootertop = windowHeight - footerHeight;
						var maindivbottom = maindivHeight + headerHeight;

						if (headerHeight > 100)
						{
							// Non-admin pages
							var relativefootertop = desiredfootertop - maindivbottom - 38;

							if (relativefootertop < 38)
								relativefootertop += 18;
						}
						else
						{
							//Admin pages
						    if (maindivHeight == 352)
								// Admin home page 
								var relativefootertop = desiredfootertop - maindivbottom - 38;
							else
								// Other admin pages
								var relativefootertop = desiredfootertop - maindivbottom - 20;

						}

						if (relativefootertop < 0)
							relativefootertop = 0;


						footerElement.style.position='relative';
						footerElement.style.top = (relativefootertop)+'px';
					}

					/*						
					var outputstring = "";
					outputstring += "windowHeight = " + windowHeight + "\n";
					outputstring += "HeaderHeight = " + headerHeight + "\n";
					outputstring += "maindivHeight = " + maindivHeight + "\n";
					outputstring += "sidebarHeight = " + sidebarHeight + "\n";
					outputstring += "ContentHeight = " + contentHeight + "\n";
					outputstring += "footerHeight = " + footerHeight + "\n";
					outputstring += "footerPosition = " + footerElement.style.position + "\n";
					outputstring += "footerElement.style.top = " + footerElement.style.top + "\n";
					outputstring += "desiredfootertop = " + desiredfootertop + "\n";
					outputstring += "maindivbottom = " + maindivbottom + "\n";
					outputstring += "maindivElement.top = " + maindivElement.y + "\n";
					outputstring += "sidebarElement.top = " + sidebarElement.y + "\n";
					alert(outputstring);
					*/			

				}
			}	
		}
	}
}

addLoadEvent(positionFooter) 
window.onresize = function() {
positionFooter();
}

// *************************************************************
// End of Functions to position Footer
// *************************************************************