// JavaScript Document
var minTextSize = 12;
var maxTextSize = 26;
var tagsToResize = ['body', 'p','table','tr','td','input','ul','ol','li','a', 'label', 'font', 'span', 'em', 'div', 'h1', 'h2', 'h3'];
var textSizeUnits = 'px';

function addBookmark(title,url)
{
	if (window.sidebar)							// Mozilla Firefox Bookmark
	{
		window.sidebar.addPanel(title, url,"");
	}
	else if (window.external)					// IE Favorite
	{
		window.external.AddFavorite( url, title);
	}
	else if (window.opera && window.print)		// Opera Hotlist
	{
		return true;
	}
}

function modifyTextSize(adjust)
{
	return modifyTextSize(adjust, false);
}

function modifyTextSize(adjust, pageLoad)
{
	//The theory!
	//Loop through all objects in the page and increase / decrease
	//the text size using the style.fontSize attribute
	if (adjust == null)
		adjust = 0;

	if (adjust == -99)
		createCookie('textAdjust', 0, 7);

	adjust = Number(adjust);

	if (findSmallestText() + adjust < minTextSize && adjust < 0)
		adjust = minTextSize - findSmallestText();

	if (findLargestText() + adjust > maxTextSize && adjust > 0)
		adjust = maxTextSize - findLargestText();

	for (var x = 0; x < tagsToResize.length; x++)
	{
		var tags = document.getElementsByTagName(tagsToResize[x]);
		for (var y = 0; y < tags.length; y++)
		{
			if (tags[y].style.fontSize)
			{
				var newSize = Number(tags[y].style.fontSize.substr(0, tags[y].style.fontSize.length - 2)) + Number(adjust);
				tags[y].style.fontSize = newSize + textSizeUnits;
			}
		}
	}

	//get current textAdjust value
	var currAdjust = readCookie('textAdjust');
	if (currAdjust == null || currAdjust < 0)
		currAdjust = 0;

	//Set cookie to hold current adjust value
	if (!pageLoad)
		createCookie('textAdjust', Number(currAdjust) + Number(adjust), 7);
}

function findSmallestText()
{
	var smallestText = -1;

	for (var x = 0; x < tagsToResize.length; x++)
	{
		var tags = document.getElementsByTagName(tagsToResize[x]);

		for (var y = 0; y < tags.length; y++)
			if (tags[y].style.fontSize)
				if (Number(tags[y].style.fontSize.substr(0, tags[y].style.fontSize.length - 2)) < Number(smallestText) || Number(smallestText) < 0)
					smallestText = Number(tags[y].style.fontSize.substr(0, tags[y].style.fontSize.length - 2));
	}

	if (smallestText < minTextSize)
		minTextSize = smallestText;

	return smallestText;
}

function findLargestText()
{
	var largestText = -1;

	for (var x = 0; x < tagsToResize.length; x++)
	{
		var tags = document.getElementsByTagName(tagsToResize[x]);
		for (var y = 0; y < tags.length; y++)
			if (tags[y].style.fontSize)
				if (Number(tags[y].style.fontSize.substr(0, tags[y].style.fontSize.length - 2)) > Number(largestText) || Number(largestText) < 0)
					largestText = Number(tags[y].style.fontSize.substr(0, tags[y].style.fontSize.length - 2));
	}

	if (largestText > maxTextSize)
		maxTextSize = largestText;

	return largestText;
}

function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else
		var expires = "";

	document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for (var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ')
			c = c.substring(1,c.length);

		if (c.indexOf(nameEQ) == 0)
			return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}

function hideDiv(ref, imgID, imgPath)
{
	el = document.getElementById('menuDiv_' + ref);

	if (el)
		el.style.visibility = 'hidden';

	document.getElementById(imgID).src = imgPath;

	return;
}

function showDiv(ref, imgID, imgPath)
{
	el = document.getElementById('menuDiv_' + ref);

	if (el)
		el.style.visibility = 'visible';

	document.getElementById(imgID).src = imgPath;

	return;
}

function checkContact(form)
{
	if (form.txtName.value == '')
	{
		alert('Please enter your name.');
		form.txtName.focus();
		return false;
	}

	if (form.txtEmail.value == '')
	{
		alert('Please enter your email address.');
		form.txtEmail.focus();
		return false;
	}

	if (form.txtEmail.value.indexOf('@') == -1 || form.txtEmail.value.indexOf('@') > form.txtEmail.value.lastIndexOf('.'))
	{
		alert('Please enter your email address. The address entered is not a valid email address.');
		form.txtEmail.focus();
		return false;
	}

	if (form.txtMessage.value == '')
	{
		alert('Please enter your message.');
		form.txtMessage.focus();
		return false;
	}

	return true;
}