/*
 *	File Name : formfunctions.js
 *	Author : 					 Domenic Polsoni
 *	
 *	Date Created :			October 31, 2008
 *	Date Modified :			
 *     
 *	Various functions that are to be performed on forms
 */	

 
var tempLength = 0;
/* auto tabbing for phone number in contact form */	
function autoTab(form, name, e, length, next)
{	
	var formName = form;
	var elementName = name;
	var inputLength = length;
	var event = e;
	var nextField = next;
	
	if (event == "down")
		tempLength = document.forms[formName].elements[elementName].value.length;
	else if (event == "up")
	{
		if (document.forms[formName].elements[elementName].value.length != tempLength)
		{	
			tempLength = document.forms[formName].elements[elementName].value.length;
			if (tempLength == inputLength)
				document.forms[formName].elements[nextField].focus();
		}
	}
}


/* 	
*	Function hides or displays phone number fields depending on which
*	radio button is selected.
*/
function displayPhoneNo()
{
	var radioName = document.getElementById("contactID").event;

	for (var i = 0; i < radioName.length; i++)
	{
		if(radioName[i].checked && radioName[i].value == "events_yes")
			document.getElementById("phoneNumber").style.display = "block";
		if(radioName[i].checked && radioName[i].value == "events_no")
			document.getElementById("phoneNumber").style.display = "none";
	}
}

//Clears out current form's contents
function clearForm(fid)
{
	var formID = fid;
	for (var i = 0; i < formID.elements.length; i++)
	{
		if (formID.elements[i].type == "text")
			formID.elements[i].value = "";
		if (formID.elements[i].type == "textarea")
			formID.elements[i].value = "";
		if (formID.elements[i].type == "radio" && formID.elements[i].value == "events_no")
			formID.elements[i].checked = true;
		displayPhoneNo();
		fillImageVerification(fid);
		formFocus(fid);
	}
}

// focus on the first field in the form
function formFocus(fid)
{
	var formID = fid;
	if (typeof(formID) != "undefined")
		formID.elements[0].focus();
}

// clears out the image verification field when selected
function clearImageVerification(fid)
{
	if (fid.elements['image_verification'].value == "Enter characters you see below") {
		fid.elements['image_verification'].value = "";
	}
}

// clears out the image verification field when selected
function fillImageVerification(fid)
{
	if (fid.elements['image_verification'].value == "")
		fid.elements['image_verification'].value = "Enter characters you see below";
}

// imposes a maxlength on textarea
function maxLength(obj, mLength)
{
	var charsRem = document.getElementById('charsRemaining');
	if (obj.value.length > mLength)
		obj.value = obj.value.substring(0, mLength);
	charsRem.innerHTML = "Maximum " + parseInt(mLength - obj.value.length) + " characters";
}

// displays help bubbles over "?" icons
function displayHelp(id)
{
	document.getElementById(id).style.display = "block";
}

// hides help bubbles over "?" icons
function hideHelp(id)
{
	document.getElementById(id).style.display = "none";
}
 
// clears out the image verification field when selected
function clearSearch(formName)
{
	if (formName.elements['searchInput'].value == "Search")
		formName.elements['searchInput'].value = "";
}

// clears out the image verification field when selected
function fillSearch(formName)
{
	if (formName.elements['searchInput'].value == "")
		formName.elements['searchInput'].value = "Search";
}