function trimString(txt) 
{ 
    while (txt.substring(0,1) == ' ') 
        txt = txt.substring(1, txt.length);

    while (txt.substring(txt.length-1,txt.length) == ' ')
        txt = txt.substring(0, txt.length-1);

   return txt;
} 

function doAlert(tmpField, name)
{
	name = name == undefined ? tmpField.name : name; 
	alert("Please provide the required information:\n\t"+ name); 
	try{tmpField.focus();tmpField.select();} catch(e){try {fld.focus()} catch(e){}}
}

function Validate(frm)
{
	return validate(frm); 
}

function validate(frm)
{
	var reqFields = frm.REQUIRED.value.split(",");
	var reqFieldsLabels = frm.REQUIRED_FieldLabels ? frm.REQUIRED_FieldLabels.value.split(",") : []; 
	var tmpField; 
	for(var i=0;i<reqFields.length;i++)
		{	
			reqFields[i] = trimString(reqFields[i]); 
			tmpField = frm[reqFields[i]];
			if(tmpField)
			{
				switch (tmpField.type)
				{
					case "text" : 
					case "textarea" : 
					if(!tmpField.value)
						{
						doAlert(tmpField, reqFieldsLabels[i]); 
						return false; 
						}
					
					break; 
					
					case "select" : 
					case "select-one" :
					//case "select-multiple" : 
					var selval = tmpField.options[tmpField.selectedIndex].value;
					if(!selval || selval=="Select")
					{
						doAlert(tmpField, reqFieldsLabels[i]);
						return false; 
					}
					break;
					//check boxes or radio 
					case undefined: 
						if(tmpField.length)
						{
							var type = tmpField[0].type;
							if(type == "text")
							{
								if(checkTextBoxArray(tmpField) == false) 
								{
								doAlert(tmpField[0], reqFieldsLabels[i])
								return false;
								}
							}
							else
							{
								var bChecked = false; 
								for(var n=0;n<tmpField.length; n++)
								{
									bChecked = tmpField[n].checked;
									if(bChecked) n=tmpField.length;
								}
								if(!bChecked)
								{
									doAlert(tmpField[0], reqFieldsLabels[i]); 
									return false; 
								}
							}
						}
					break; 
				}
			}
		}
		return true; 
}

function checkTextBoxArray(tmpField)
{
	for (var n=0;n<tmpField.length;n++)
	{
		if(!tmpField[n].value) return false; 
	}
	return true; 
}

var strip = /[\(\)\.\-\ ]/g;