//
// Form Mandatory field checker - will highlight any "missing" fields 
// you will need to set the RequiredFields var to an array of fieldnames
// that are mandatory, e.g.
// 	RequiredFields = Array("FullName", "Email", "Telephone");
//
// OR you can set them in a hidden input in your form thus
//
// <input type="hidden" name="RequiredFields" value="FullName,Email,Telephone">
//
// and have corresponding elements with the name "lblFullName" , "lblEmail" etc.
// that you wish to be highlighted (usually the text next to the input) e.g.
//
// <tr><td id="lblFullName">Name</td><td><input type="text" name="FullName"></td></tr>
//
	// Enter name of mandatory fields
	var RequiredFields = null;


function formCheck(FormName)
{
	//alert( "formCheck" );
	//	return false;
	
	var hForm = document.forms[ FormName ];
	
	
	if( hForm == null )
		return true;
		
	if( RequiredFields == null )
	{
		if( hForm["RequiredFields"] != null )
		{
			RequiredFields = hForm["RequiredFields"].value.split(',');
		}
		else
		{
			return true;
		}
	}
		
	var alertMsg = "Please complete the following fields:\n";
	
	var l_Msg = alertMsg.length;
	
	var IsValid;
	var hLabel;
	
	var sTag;
	
	for (var i = 0; i < RequiredFields.length; i++)
	{
		var obj = hForm[RequiredFields[i]];
		if (obj)
		{
			IsValid = true;
			hLabel = null;
			
			if( document.getElementById )
				hLabel = document.getElementById( "lbl" + RequiredFields[i] );
				
			sTag = obj.nodeName;
			
			if( sTag == "INPUT" )
				sTag = obj.getAttribute( "type" );
				
			switch(sTag.toUpperCase())
			{
				case "SELECT":
					//alert( obj.selectedIndex + "\n" + obj.options[obj.selectedIndex].value + "\n" + obj.value );
					if (obj.selectedIndex == -1 || obj.value == "")
					{
						IsValid = false;
					}
					break;
			//	case "select-multiple":
			//		if (obj.selectedIndex == -1)
			//		{
			//			IsValid = false;
			//		}
			//		break;
				case "TEXT":
				case "TEXTAREA":
					if (obj.value == "" || obj.value == null)
					{
						IsValid = false;
					}
					break;
				default:
			}
			//if (obj.type == undefined)
			//{
			//	var blnchecked = false;
			//	for (var j = 0; j < obj.length; j++){
			//		if (obj[j].checked){
			//			blnchecked = true;
			//		}
			//	}
			//	if (!blnchecked){
			//		IsValid = false;
			//	}
			//}
			
			if( !IsValid )
			{
				alertMsg += " - " + RequiredFields[i] + "\n";
				if( hLabel  != null )
					hLabel.style.color = "red";
			}
			else
			{
				if( hLabel  != null )
					hLabel.style.color = "";
			}
		}
	}


	if (alertMsg.length == l_Msg)
	{
		return true;
	}
	else
	{
		if( document.getElementById )
		{	var hErrorLabel = document.getElementById( "lblError" )
			
			if( hErrorLabel != null )
			{
				hErrorLabel.innerHTML = "Please fill in the required fields.";
				hErrorLabel.style.color = "red";
			}
			else
			{
				alert(alertMsg);
			}
		}
		else
		{
			alert(alertMsg);
		}
			
		return false;
	}
}
