function copyrightYear()
{
	if ( document.getElementById( 'insertYear' ) ) 
	{
		document.getElementById( 'insertYear' ).innerHTML = new Date().getFullYear();
	}

	return true;
}


function externalLinks()
{
	if ( !document.getElementsByTagName ) 
	{
		return false;
	}

	var anchors = document.getElementsByTagName( 'a' );

	for ( var i = 0; i < anchors.length; i++ )
	{
		if ( anchors[ i ].getAttribute( 'href' ) && anchors[ i ].getAttribute( 'rel' ) == 'external') 
		{
			anchors[ i ].target = '_blank';
		}
	}

	return true;
}


function siteOnLoad() 
{
	copyrightYear();
	externalLinks();

	return true;
}


// works in IE and Firefox
function addEvent( element, evType, func, useCapture ) 
{
	if ( element.addEventListener ) 
	{
		element.addEventListener( evType, func, useCapture );
	}
	else if ( element.attachEvent ) 
	{
		var result = element.attachEvent( 'on' + evType, func );
		return result;
	}
	else 
	{
		element[ 'on' + evType ] = func;
	}

	return true;
}

addEvent( window, 'load', siteOnLoad, false );


function checkRequired( checkform, requiredArray )
{
	var error = '';
	var emailInfo = document.getElementById( 'emailInfo' );
	var errorInfo = document.getElementById( 'errorInfo' );
	
	for ( i=0; i < requiredArray.length; i++ ) 
	{
		var element = checkform[ requiredArray[ i ] ];

		if ( element.value == '' )
		{
			if ( element ) 
			{
				showError(element);
			}

			error = true;
			
			if ( errorInfo )
			{
				errorInfo.innerHTML = 'Fields marked red either have errors or are blank and are required.';
				errorInfo.style.display = 'block';
			}
		}

		if ( element.name == 'email' && element.value != '' )
		{
			if ( !validateEmail( element.value ) ) 
			{
				if ( emailInfo ) 
				{ 
					emailInfo.innerHTML = 'Format: yourname@domain.com';
				}

				showError( element );
				error = true;
			}

			element.onblur = function()
			{
				document.getElementById( 'emailInfo' ).innerHTML = '';
			}
		}
	}

	if ( error ) 
	{
		return false; 
	}

	checkform.submit();

	return true;
}


function showError( element )
{
	element.style.backgroundColor = 'rgb(251, 191, 191)';
	element.onfocus = clearError;

	return true;
}


function clearError()
{
	this.style.backgroundColor = 'rgb(255, 255, 255)';

	return true;
}


function validateEmail( src ) 
{
	var emailReg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|ca))$/;
	var regex = new RegExp( emailReg );

	return regex.test( src );
}


function togglePrograms( elName )
{
	var el = document.getElementById( elName );
	var labelName = 'label_' + elName;
	var labelSpan = document.getElementById(labelName);
	
	if( el.style.display == 'none')
	{
		el.style.display = 'block';
		labelSpan.innerHTML = 'Click to Hide Programs';
	}
	else
	{
		el.style.display = 'none';
		labelSpan.innerHTML = 'Click to Display Programs';
	}

	return true;
}
