// Function that clears/resets control data. primarily used on search panels.
// defect 8777 -  added logic to bypass clearing of a control if an ExcludeFromClear 
//						attribute exists.

function ClearInput(panel) 
{
//stop;
	var aInputs = panel.getElementsByTagName("INPUT");

	for(var i = 0; i < aInputs.length; i++)
	{ 
	    //JIL 07/30/2007 - CO16328: This check was not allowing disable bound fields to be cleared in criteria panels
	    //when the clear button was pressed 
		//if (!aInputs[i].disabled)
		//{
			if (aInputs[i].type == 'text' )
			{
				excludedFromClear = ( aInputs[i].className.indexOf("excludeFromClear") != -1 );
				if ( excludedFromClear != true )
				{
					aInputs[i].value = '';
					if(aInputs[i].fireEvent)
					    aInputs[i].fireEvent("onchange");

					    
				}
			}
			else if (aInputs[i].type == 'checkbox')
			{
				excludedFromClear = ( aInputs[i].parentNode.className.indexOf("excludeFromClear") != -1 );
				if ( excludedFromClear != true )
				{
					aInputs[i].checked = false;
					if(aInputs[i].fireEvent)
					    aInputs[i].fireEvent("onchange");
				}
			}
				
			else if (aInputs[i].type == 'radio')
			{
				excludedFromClear = ( aInputs[i].parentNode.className.indexOf("excludeFromClear") != -1 );
				if ( excludedFromClear != true )
				{
					aInputs[i].checked = false;
					if(aInputs[i].fireEvent)
					    aInputs[i].fireEvent("onchange");
				}
			}
		//}
	}

	var aSelects = panel.getElementsByTagName("SELECT");

	for(var i = 0; i < aSelects.length; i++)
		if (!aSelects[i].disabled)
		{
			excludedFromClear = ( aSelects[i].className.indexOf("excludeFromClear") != -1 );
			if ( excludedFromClear != true )
			{
				aSelects[i].selectedIndex = 0;
				if(aSelects[i].fireEvent)
				    aSelects[i].fireEvent("onchange");
			}
		}

	var aTextAreas = panel.getElementsByTagName("TEXTAREA");

	for(var i = 0; i < aTextAreas.length; i++)
		if (!aTextAreas[i].disabled)
		{
			excludedFromClear = ( aTextAreas[i].className.indexOf("excludeFromClear") != -1 );
			if ( excludedFromClear != true )
			{
				aTextAreas[i].value = '';
				if(aTextAreas[i].fireEvent)
				    aTextAreas[i].fireEvent("onchange");
			}
		}
		//Disable Validators when clearing elements
		var Spans = panel.getElementsByTagName("SPAN");
		for(var i = 0; i < Spans.length; i++)
	{
	        var valClass = ( Spans[i].className.indexOf("iC_Validation") != -1 ); 
	        if(valClass == true)
	        {
	        Spans[i].style.display='none';
	        }
	}
	Page_IsValid=true;

}
