/* checkGlobalReturn()
this function will be called on Form submit event, it will check that
1. all the required Fields are filled in
2. check for dataType=numeric fields
returns true/false as result
*/

function checkGlobalReturn()
{
	for(i=0;i<document.forms[0].length;i++)
	{
		validateComponent(document.forms[0].elements[i]);
	}
	for(i=0;i<document.forms[0].length;i++)
	{
		if(document.forms[0].elements[i].isValid!="undefined" && document.forms[0].elements[i].isValid==false)
		{
			if(document.forms[0].elements[i].parentContainer && document.all[document.forms[0].elements[i].parentContainer].style.visibility=="hidden")
			{
				//errorMsg+="--Error: "+document.all[document.forms[0].elements[i].parentContainer].style.visibility;
				//for future purpose
			}
			else
			{
				window.status="Could not submit because " + document.forms[0].elements[i].name + " is invalid/non-numeric.";
				document.forms[0].elements[i].focus();
				return false;
			}

		}
	}
	return true;
}


/* focusFunction()
if the fields are not filled in top to bottom approach,
then make the top fields in RED, starting from the current field, bottom-up approach
*/

function componentFocusFunction()
{
	maxItems=this.index;
	for(i=0;i<maxItems;i++)
	{
		validateComponent(document.forms[0].elements[i]);
	}
}

/* blurFunction()
check for the required Field and DataType=numeric for the CURRENT OBJECT
1. If field is required and value is empty, MAKE IT RED
2. If dataType should be numeric but inserted something else, MAKE IT RED
*/

function componentBlurFunction()
{
	currentObject=this;
	validateComponent(currentObject);
}
function validateComponent(whichObject)
{
	currentObject=whichObject;
	if( (currentObject.required=="yes" && currentObject.value=="" ) || (currentObject.dataType=="numeric" && isNaN(currentObject.value)==true))
	{
		window.status=currentObject.name+ " inValid. ";
		currentObject.style.backgroundColor="red";
		currentObject.isValid=false;
	}
	else
	{
		currentObject.style.backgroundColor="white";
		currentObject.isValid=true;
	}
}

function setValidateFunction()
{
	formLength=document.forms[0].length;
	for(i=0;i<formLength;i++)
	{
		if( document.forms[0].elements[i].required=="yes" || document.forms[0].elements[i].dataType=="numeric")
		{
			document.forms[0].elements[i].onfocus=componentFocusFunction;
			document.forms[0].elements[i].onblur= componentBlurFunction;
			document.forms[0].elements[i].index=i;
		}
	}
}


function disableMe(currentObject)
{
	event.srcElement.disabled=true;
}

