//---------------------------------------------------------------------------------------------------------
//	DHTML JavaScript (ver 2.3)
//---------------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------------------------
//	Show/ Hide menus
//-------------------------------------------------------------------------------------------------------
function show(group,item,imgId,imgBase)
{
	if(document.getElementById)
	{
		menuCount	= eval("m_" + group);
		
		mainMenu	= document.getElementById("m" + group + "0");
		subMenu		= document.getElementById("m" + group + item);

		//	Does object exist?
		if( !subMenu )
		{
			//	No, don't process
			return false;
		}
		
		if( imgId != 'NULL' )
		{
			imgObj	= document.getElementById( imgId );
			imgObj.setAttribute( 'base', imgBase );
			imgObj.setAttribute( 'src', imgBase );
		}
		
		mainMenu.style.visibility	= "visible";
		
		if ((mainMenu != subMenu) && (item != 0))
		{
			subMenu.style.visibility	= "visible";
			for (i = 1; i <= menuCount; i++)
			{
				if (i != item)
				{
					document.getElementById("m" + group + i).style.visibility	= "hidden";
				}
			}
		}
	}
}

//-------------------------------------------------------------------------------------------------------
//	Hide menu
//-------------------------------------------------------------------------------------------------------
function hide(group,item,imgId,imgBase)
{
	if(document.getElementById)
	{
		menuCount	= eval("m_" + group);

		//	Does object exist?
		if( !document.getElementById( "m" + group + menuCount ))
		{
			//	No, don't process
			return false;
		}
		
		if( imgId != 'NULL' )
		{
			imgObj	= document.getElementById( imgId );
			imgObj.setAttribute( 'base', imgBase );
			imgObj.setAttribute( 'src', imgBase );
		}
		
		if (item == 0)
		{
			startFrom	= 0;
		}
		else
		{
			startFrom	= 1;
		}
		for (i = startFrom; i <= menuCount; i++)
		{
			document.getElementById("m" + group + i).style.visibility	= "hidden";
		}
	}
}

//-------------------------------------------------------------------------------------------------------
//	Image swap
//-------------------------------------------------------------------------------------------------------
function swapImg(id,img)
{
	if( document.getElementById)
	{
		obj	= document.getElementById(id);
		obj.setAttribute( 'src', img );
	}
}


//------------------------------------------------------------------------------------------------
// FORMS
//------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------
//	Show/hide state/province dropdowns based on country
//------------------------------------------------------------------------------------------------

function clearPulldown( id )
{
	obj = document.getElementById(id);
	
	if (obj.selectedIndex)
	{
		obj.selectedIndex = 0;
	}
}

function showstar( id )
{
	document.getElementById(id).style.display = 'inline';
}

function hidestar( id )
{
	document.getElementById(id).style.display = 'none';
}

//---------------------------------------------------------------------------------------------------------
//	Based upon user action, show a particular part of the form
//---------------------------------------------------------------------------------------------------------
function showDiv( id )
{
	document.getElementById(id).style.display = 'block';
}

//---------------------------------------------------------------------------------------------------------
//	Basud upon user action, hide a particular part of the form
//---------------------------------------------------------------------------------------------------------
function hideDiv( id )
{
	document.getElementById(id).style.display = 'none';
}

//------------------------------------------------------------------------------------------------
//	Field Entry Validation
//------------------------------------------------------------------------------------------------
  
// onKeyUp - allow entry of numeric number only in the field
function validateNumericOnly(field)
{
    var valid		= "0123456789";
    var errors		= false;
    var temp		= "";
	var newString	= "";

    for (var i=0; i<field.value.length; i++)
    {
		temp = "" + field.value.substring(i, i+1);
		
		if (valid.indexOf(temp) == "-1")
		{
			errors = true;
		}

		else
		{
			newString += temp;
		}
	}

	if (errors == true)
	{
		field.value = newString;
		return;
	}
}

// onKeyUp - allow entry of numeric number and dashes only in a field
//         - used for sponsored child number fields and phone number fields
function validateNumericDash(field)
{
    var valid		= "0123456789-";
    var errors		= false;
    var temp		= "";
	var newString	= "";

    for (var i=0; i<field.value.length; i++)
    {
		temp = "" + field.value.substring(i, i+1);
		
		if (valid.indexOf(temp) == "-1")
		{
			errors = true;
		}

		else
		{
			newString += temp;
		}
	}

	if (errors == true)
	{
		field.value = newString;
		return;
	}
}

// onKeyUp - allow entry of numeric number and slashes / only in a field - used for date fields
function validateNumericSlash(field)
{
    var valid		= "0123456789/";
    var errors		= false;
    var temp		= "";
	var newString	= "";

    for (var i=0; i<field.value.length; i++)
    {
		temp = "" + field.value.substring(i, i+1);
		
		if (valid.indexOf(temp) == "-1")
		{
			errors = true;
		}

		else
		{
			newString += temp;
		}
	}

	if (errors == true)
	{
		field.value = newString;
		return;
	}
}

//------------------------------------------------------------------------------------------------
//	If source is current sponsor then a sponsor number must be entered on form
//------------------------------------------------------------------------------------------------
function validateSrc(src,sponsor)
{
	if (src.value == "cs" && sponsor.value.length == 0)
	{
		alert("You seleted current donor/sponsor but did not enter your sponsor number.");
		sponsor.focus();
		sponsor.select();
	}  
}

//------------------------------------------------------------------------------------------------
//	validate the email address on take action enews signup.
//------------------------------------------------------------------------------------------------
function emailPreValidate()
{
	var msg = "";
	
	control = form["fields[Email]"];
	if ( !control.value )
	{
		msg = msg + "Email is required.\n";
		control.focus();
	}
	if ( (control.value) && !IsEmail( control.value ) )
	{
		msg = msg + "Email format is invalid.\n";
		control.focus();
	}
	if ( msg )
	{
		alert(msg);
		return false;
	}
	return true;
}
