function XML_HTTP_class()
{
	var ns=!document.all;
	var ax=null;
	do_init();

	function do_init()
	{
		function err(e)
		{
			program_abort('foundation_download_class: Cannot create XMLHTTP: ',e)
		}
		if(ns)
		{
			try
			{
				ax=new XMLHttpRequest()
			}
			catch(e)
			{
				err(e)
			}
		}
		else if (window.ActiveXObject)
		{
			try
			{
				ax=new ActiveXObject('Microsoft.XMLHTTP')
			}
			catch(e)
			{
				err(e)
			}
		}
		else
		{
			program_abort('Your browser does not support XMLHTTP')
		}
	}
	
	this.getResponseText=function()
	{
		return ax.responseText
	}
	
	this.getResponse=function()
	{
		return ax.responseText
	}
	
	this.GET=function(url)
	{
		ax.open('get',url,false)
		if(ns)
			ax.send(null)
		else
			ax.send()
	}
	
	this.postForm=function(url,sss)
	{
		ax.open('post',url,false)
		ax.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
		ax.send(sss)
	}
	
	this.postXML=function(url,sss)
	{
		ax.open('post',url,false)
		ax.setRequestHeader('Content-Type','text/xml')
		ax.send(sss)
	}
}

var httpRequest=new XML_HTTP_class();
var tooltipArray=new Array();
var effectDelay=0.25;

function xid(a)
{
	return document.getElementById(a)
}

function getAjaxInfo(url)
{
	httpRequest.GET(url);
	return httpRequest.getResponseText();
}

function openWindow(windowDivId,contentDivId)
{
	var browserHeight = 0;
	var browserWidth = 0;
	if(window.innerWidth)
	{
		browserHeight = window.innerHeight;
		browserWidth = window.innerWidth;
	}
	else if((document.documentElement)&&(document.documentElement.clientWidth)&&(document.documentElement.clientWidth != 0))
	{
		browserHeight = document.documentElement.clientHeight;
		browserWidth = document.documentElement.clientWidth;
	}
	else
	{
		browserHeight = document.getElementsByTagName('BODY')[0].clientHeight;
		browserWidth = document.getElementsByTagName('BODY')[0].clientWidth;
	}
	var scrollTopPos = document.body.scrollTop;
	if(scrollTopPos == 0)
	{
		if(window.pageYOffset)
			scrollTopPos = window.pageYOffset;
		else
			scrollTopPos = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
	}


	var popupContainer=xid('popups').getElementsByTagName('DIV');
	for(var i=0;i<popupContainer.length;i++)
	{
		if(popupContainer[i].className=="popup")
		{
			popupContainer[i].style.display="none";
			var errMsgElement=xid(popupContainer[i].id+"ErrMsg");
			if(errMsgElement)
				errMsgElement.innerHTML="";
		}
	}
	var windowDiv = xid(windowDivId);
	var windowTop = (((browserHeight/2) - 235) + scrollTopPos);
	var windowLeft = ((browserWidth/2) - 250);
	if(windowTop < 0)
		windowTop = 0;
	if(windowLeft < 0)
		windowLeft = 0;
	windowDiv.style.top = windowTop+"px";
	windowDiv.style.left = windowLeft+"px";
	fadeInDiv(xid(windowDivId));
}

function swapPopupContent(swapOut,swapIn,clearMsgId)
{
	if(clearMsgId)
	{
		var clearErrMsg=xid(clearMsgId);
		if((clearErrMsg)&&(clearErrMsg.innerHtml))
			clearErrMsg.innerHTML="";
	}
	if(swapOut)
		new Effect.Fade(swapOut,{duration:effectDelay});
	if(swapIn)
		new Effect.Appear(swapIn,{duration:effectDelay,delay:effectDelay});
}

function closeWindow(windowDivId,clearMsgId)
{
	if(clearMsgId)
	{
		var clearErrMsg=xid(clearMsgId);
		if(clearErrMsg)
			clearErrMsg.innerHTML="";
	}
	fadeOutDiv(xid(windowDivId));
}

function fadeOutDiv(elementDiv)
{
	if(elementDiv)
		new Effect.Fade(elementDiv,{duration:effectDelay});
}

function fadeInDiv(elementDiv)
{
	if(elementDiv)
		new Effect.Appear(elementDiv,{duration:effectDelay});
}

function getMousePosition(e)
{
	var cursor={x:0,y:0};
	if(e.pageX&&e.pageY)
	{
		cursor.x=(e.pageX+15);
		cursor.y=(e.pageY);
	}
	else if(e.clientX&&e.clientY)
	{
		cursor.x=e.clientX+ (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft+15);
		cursor.y=e.clientY+ (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
	}
	return cursor;
}

function addToolTip(textString,elementId)
{
	if(!tooltipArray[elementId])
		tooltipArray[elementId]=textString;
}

function showToolTip(element,textString,e)
{
	var elementId=element.id;
	if(!tooltipArray[elementId])
		addToolTip(textString,elementId);
	var tooltipElement=xid("toolTip");
	if(tooltipElement)
	{
		tooltipElement.innerHTML=tooltipArray[elementId];
		var mousePos=getMousePosition(e);
		tooltipElement.style.top=mousePos.y+"px";
		tooltipElement.style.left=mousePos.x+"px";
		tooltipElement.style.display="block";
	}
}

function hideToolTip()
{
	var tooltipElement=xid("toolTip");
	if(tooltipElement)
		tooltipElement.style.display="none";
}

function setSelectedValue(controlId, selectedValue)
{
	var controlElement = xid(controlId);
	var valueFound = false;
	if(controlElement)
	{
		for(var i=0; i<controlElement.length; i++)
		{
			if(controlElement.options[i].value == selectedValue)
			{
				controlElement.selectedIndex = i;
				valueFound=true;
			}
		}
	}
	if(!valueFound)
		controlElement.SelectedIndex=0;
}

function gup(name)
{
	name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS="[\\?&]"+name+"=([^&#]*)";
	var regex=new RegExp(regexS);
	var results=regex.exec(window.location.href);
	if(results==null)
		return "";
	else
		return results[1];
}

function disableButton(buttonId)
{
	var button = xid(buttonId);
	if(button)
	{
		button.value = "Processing...";
		button.disabled = true;
	}
}

function loadRandomProfile()
{
	if(xid("box_5_content"))
	{
		var profileTypeHeader=xid("profileTypeHeader");
		var profileImg=xid("profileImg");
		var profileName=xid("profileName");
		var profileShortDescription=xid("profileShortDescription");
		var profileQuote=xid("profileQuote");
		var profileLink=xid("profileLink");
		var responseStream=getAjaxInfo("profilejson.aspx?act=random");
		if(responseStream != "")
		{
			var profile=eval("("+responseStream+")");
			if(!profile.error)
			{
				if(profileTypeHeader)
					profileTypeHeader.innerHTML=profile.profileType+" Profile";
				if(profileImg)
					profileImg.src=profile.profileImgPath;
				if(profileName)
					profileName.innerHTML=profile.name;
				if(profileShortDescription)
					profileShortDescription.innerHTML=profile.shortDescription;
				if(profileQuote)
					profileQuote.innerHTML=profile.quote;
				if(profileLink)
				{
					if(profile.profileType=="Staff")
						profileLink.href="staffprofiles.aspx?id="+profile.id+"&t="+profile.profileTypeId;
					else if(profile.profileType=="Student")
						profileLink.href="studentprofiles.aspx?id="+profile.id+"&t="+profile.profileTypeId;
				}
			}
			var profileContent=xid("profileContent");
			var profileLoadingContent=xid("profileLoadingContent");
			profileContent.style.display = "";
			profileLoadingContent.style.display="none";
		}
	}
}

function getRandomInt(min,max)
{
	return Math.round(min + Math.random()*(max-min));
}

window.onload=function()
{
	if(xid("popups"))
	{
		var popupContainer=xid("popups").getElementsByTagName("DIV");
		for(var i=0;i<popupContainer.length;i++)
		{
			if((popupContainer[i].className=="popup")||(popupContainer[i].className=="big_popup"))
			{
				new Draggable(popupContainer[i].id,{handle:popupContainer[i].id+"Handle"});
				var errMsgElement=xid(popupContainer[i].id+"ErrMsg");
				if((errMsgElement)&&(errMsgElement.innerHTML!=""))
					fadeInDiv(popupContainer[i])
			}
		}
	}
	if(xid("box_5_content"))
	{
		loadRandomProfile();
	}
	getAjaxInfo("hitsjson.aspx?url="+location.href.substring(location.href.lastIndexOf("/")+1));
	if(xid("flash_div"))
	{
		initContent();
	}
}

function loadHeader()
{
	var header_01=xid("header_01");
	var header_02=xid("header_02");
	var header_03=xid("header_03");
	var header_04=xid("header_04");
	var header_05=xid("header_05");
	var header_06=xid("header_06");
	var header_07=xid("header_07");
	var header_08=xid("header_08");
	if(header_01&&header_02&&header_03&&header_04&&header_05&&header_06&&header_07&&header_08)
	{
		var num =getRandomInt(1,11);
		header_01.src="images/header_images/header_"+num+"/header_"+num+"_01.gif";
		header_02.src="images/header_images/header_"+num+"/header_"+num+"_02.gif";
		header_03.src="images/header_images/header_"+num+"/header_"+num+"_03.gif";
		header_04.src="images/header_images/header_"+num+"/header_"+num+"_04.gif";
		header_05.src="images/header_images/header_"+num+"/header_"+num+"_05.jpg";
		header_06.src="images/header_images/header_"+num+"/header_"+num+"_06.jpg";
		header_07.src="images/header_images/header_"+num+"/header_"+num+"_07.jpg";
		header_08.src="images/header_images/header_"+num+"/header_"+num+"_08.jpg";
	}
}
