/*
	libphasenoise.js
	
	Created 12/6/2007
	Copyright Paul Martin 2007 > 2011. All rights reserved.
	Version 2.2.3
	
	History
	-------
	3/8/2011: Version 2.2.3
	+ displayMenu renamed to showMenu(). Separate top offset.
	+ validateEmail() renamed to checkMailForm().
	
	29/10/2010: Version 2.2.2
	+ Form name changed.
	
	31/8/2010: Version 2.2.1
	+ Stops the menu falling off the side of the screen.
	+ Remove 5px horizontal offset as there is a new button.
	
	24/3/2008: Version 2.2.0
	+ Adds copyright() function.
	
	24/3/2008: Version 2.1.0
	
	6/3/2008: Version 2.0.4
	
	29/2/2008: Version 2.0.3
	
	14/11/2007: Version 2.0.2
	+ Removed old interface.
	+ Change to message in validateEmail().
	
	3/10/2007: Version 2.0.1
	+ formFieldFX() Logic cleaned up.
	+ Phasenoise P7.1.x Interface added.
	+ menu() renamed displayMenu().
	+ searchFX() renamed formFieldFX().
	
	13/8/2007: Version 2.0.0
	+ Re-written validateEmail() function.
	+ Re-written menu() function which incorporated showHide().
	+ Removed changeColour() function.
	+ searchFX() replaces searchFocus() and searchBlur().
	
	28/6/2007: Version 1.0.2
	+ Move menu 5px left for better centering.
	
	12/6/2007: Version 1.0.1
	+ Fixed menu bug for Safari 3.0 beta.
*/

function showMenu( senderId, targetId )
{
	var button = document.getElementById( senderId );
	var menu = document.getElementById( targetId ).style;
	
	var leftOffset = button.offsetLeft - button.offsetWidth;
	var topOffset = button.offsetTop + button.offsetHeight;
	
	/* Adjust spacing of objects. Just makes it look better. */
	topOffset -= 5;
	
	/* Fix menu falling off the side of the screen. */
	if ( leftOffset < 0 )
	{
		leftOffset *= -1;
	}
	
	menu.left = leftOffset + "px";
	menu.top = topOffset + "px";
	
	if ( menu.visibility == "visible" )
	{
		menu.visibility = "hidden";
	}
	else
	{
		menu.visibility = "visible";
	}
}

function checkMailForm()
{	
	var form = document.forms.contactform;
	
	if ( form.email.value == "example@example.com" )
	{
		window.alert( "Please enter an email address." );
	}
	else if ( form.email.value != form.email2.value )
	{
		window.alert( "Your email addresses did not match." );
	}
	else if ( form.subject.value == "Enter your subject here" )
	{
		window.alert( "You did not enter a subject for this email" );
	}
	else if ( form.message.value.length == 0 )
	{
		window.alert( "You haven't typed a message yet!" );
	}
	else
	{
		return true;
	}
	
	return false;
}

function formFX( id, message )
{
	var textField = document.getElementById( id );
	
	if ( textField.value == message )
	{
		textField.value = "";
	}
	else if ( textField.value.length == 0 )
	{
		textField.value = message;
	}
}

function copyright( startYear )
{
	var year = new Date().getYear();
	
	/* Fix year bug in some browsers */
	if ( year < 2000 )
	{
		year += 1900;
	}
	
	if ( parseInt( startYear ) >= year || startYear == null )
	{
		document.write( "&copy; " + year );
	}
	else
	{
		document.write( "&copy; " + startYear + " > " + year );
	}
}
