// JavaScript Document
function MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; 
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function loadMonth()
{
	var ddlMonth = $('ddlMonth');
	var ddlYear  = $('ddlYear');
	
	if(ddlMonth && ddlYear)
	{
		$arrNoQS = document.location.toString().split("?");
		document.location = $arrNoQS[0] + "?month=" + ddlMonth.value + "&year=" + ddlYear.value;
	}
}

function loadCategory(blArticles)
{
	var strGotTo	= document.location.toString().split("?")[0];
	strGotTo		= strGotTo + "?category=" + $('ddlcat').value;	
	
	if(blArticles)
	{
		strGotTo	= strGotTo + "&article=" + $('ddlart').value;
	}
	
	document.location = strGotTo;	
}

function submitSearch(strLocation)
{
	var strGoTo			= strLocation + "/search/?searchterm=" + $('tbxsearch').value;
	
	if(strLocation.indexOf("foundation") > 0)
	{
		strGoTo			= strGoTo + "&amp;startnode=1"
	}
	
	document.location	= strGoTo;
}

function preparePopups()
{
	var objMouseOptions	= 	{
								onOver:		function()
								{
									var iCalLeft	= 495;
									var iCalTop		= 390;			

									var blSwitch = this.hasClass('displayleft');
									if(blSwitch) iCalLeft += 220;

									if(window.ActiveXObject)
									{
										iCalTop		= 365;
										if(blSwitch) iCalLeft -= 10;
									}

									var objPos 	 	= this.getCoordinates();
									var iMouseXPos  = objPos.left;
									var iMouseYPos  = objPos.top;

									var objPopup = $('popup');
									objPopup.setStyles({ 	left: 		(iMouseXPos - iCalLeft)+'px',
															top: 		(iMouseYPos - iCalTop)+'px',
															position: 	'absolute',
															display: 	'block',
															opacity:	0
														});
									
									new Fx.Style(objPopup, 'opacity', {duration:1500, transition:Fx.Transitions.expoOut}).start(0,1);
									
									/*var linkHref = this;
									var linksInPopup = $$('a.popuplink');
									for(var i = 0; i < linksInPopup.length; i++)
									{
										linksInPopup[i].setProperty('href', linkHref);
									}*/
								},
								
								onLeave:	function()
								{
									var objPopup = $('popup');
									objPopup.setStyle('display', 'none');																	
								}
							};

	var arrEvents = $$('.dayimage');
	for(var i=0; i < arrEvents.length; i++)
	{
		arrEvents[i].objParent = arrEvents[i].getParent();
		
		arrEvents[i].removeEvents('mouseover');
		arrEvents[i].removeEvents('mouseout');
		
		arrEvents[i].addEvent('mouseover', objMouseOptions.onOver);
		arrEvents[i].addEvent('mouseout', objMouseOptions.onLeave);	
	}
}

function setCalendarHeights()
{
	var arrDivs = $$(".day");
	
	if(arrDivs.length > 0)
	{
		for(var i = 0; i < arrDivs.length; i++)
		{
			arrDivs[i].setStyle('min-height',0+'px');
		}
		for( var i = 0; i < 5; i++)
		{
			var height = 0;
			for( var j = 0; j < 7; j++)
			{
				height = Math.max(height,arrDivs[(i*7)+j].offsetHeight);
			}
			for( var j = 0; j < 7; j++)
				arrDivs[(i*7)+j].setStyle('min-height',height+'px');
		}
	}
}

function placeFooter()
{
	var windowHeight 		= window.getHeight();
	var footerElement 		= $('footer');

	if(footerElement && windowHeight > 0)
	{
		var headerHeight	= $('header').offsetHeight;
		var bodyWrapHeight	= $('bodywrapper').offsetHeight;
		var navHeight		= $('navholder').offsetHeight;
		var contentHeight	= Math.max(bodyWrapHeight,navHeight) + headerHeight;
		var footerHeight	= footerElement.getStyle('height').toInt();
		var difference		= windowHeight-(contentHeight+footerHeight);
		//alert(windowHeight + "-("+contentHeight+"+"+footerHeight+") = " + difference);
		if(difference >= 0)
		{
			$('bodywrapper').setStyle('height', (bodyWrapHeight+difference)+'px');			
		}
		else
		{
			footerElement.setStyle('position', 'static');
		}
	}
}

// place footer
if(!(document.FIN || (Cookie.get("TextOnly") && Cookie.get("TextOnly")=="Yes") || Cookie.get("FontSize")))
{
	Window.onDomReady(function(){ placeFooter(); });
}

window.addEvent('resize', placeFooter);
Window.onDomReady(function(){ preparePopups(); });
Window.onDomReady(function(){ setCalendarHeights(); });

// sort out nav css (blargh, hacky)
function checkNavPos()
{
	var iTitleHeight = $('doubletitle').getStyle('height');
	var iMoveUpBy	 = iTitleHeight.substring(0, iTitleHeight.length-2) - 33;

	var iMarginTop	 = $('navholder').getStyle('margin-top');
	var iNewValue	 = iMarginTop.substring(0, iMarginTop.length-2) - iMoveUpBy;
	
	$('navholder').setStyle('margin-top', iNewValue + 'px');
}

Window.onDomReady(function(){ 
						   		var divSite = $('site');
								if(divSite && divSite.hasClass('foundation'))
								{ 
									setTimeout(checkNavPos, 100); 
								} 
							});
