// SimpleSearch.js
//   uses ValidateDate.js

function ValidateFields()
{	
    var errorMessageCntrl = document.getElementById("ErrorMessage");
    var ErrorCntrlFormat;

    //alert(ValidateFields.caller);
    
	for(var i=0; i< UDITypes.length; i++)
	{  
	    error = false;
		var criterionCntrl = document.getElementById("Repeater1__ctl"+i+"_txbCriterion");
		ErrorCntrlFormat = "Repeater1__ctl"+i+"_txbCriterion";		

		// If it is null, then we might be using 2.0, so try it will the other possible name.
		if( criterionCntrl == null)
		{
			if(i < 10)
			{
				criterionCntrl = document.getElementById("Repeater1$ctl0"+i+"$txbCriterion");
				ErrorCntrlFormat = "Repeater1$ctl0"+i+"$txbCriterion";
			}
			else
			{
			criterionCntrl = document.getElementById("Repeater1$ctl"+i+"$txbCriterion");
				ErrorCntrlFormat = "Repeater1$ctl"+i+"$txbCriterion";
			}
		}

		if( criterionCntrl == null)
		{
			break;
		}
		else
		{
			var value = criterionCntrl.value;
			switch(UDITypes[i])
			{
				case 2: // Date
					trim(value);
				    if(value.length != 0) 
				    {   				        
				        var value2 = FormatAsDate(value);				        
				        if(value2 != null)
				        {
							if(!isDate(value2))
							{
							  OnError(criterionCntrl,1,ErrorCntrlFormat);
							  return false;
							}												
							criterionCntrl.value = value2;							
						}
						else
						{
							OnError(criterionCntrl,2,ErrorCntrlFormat);
							return false;
						}						
					}
					break;
				default:
				{
					break;
				}
			}
		}		
	}	
	errorMessageCntrl.style.display="none";	
	return true;
}


function ClearUDI()
{
    var errorMessageCntrl = document.getElementById("ErrorMessage");	
    if(errorMessageCntrl != null)
    {
		errorMessageCntrl.style.display="none";	
	}

    for(var i = 0; i < document.forms[0].elements.length; i++)
    {
		var criterionCntrl = document.forms[0].elements[i];

		switch(criterionCntrl.type)
		{
		  case "text":
		    criterionCntrl.value = "";
		    break; 
		  case "select-one":
		    if(criterionCntrl.name.search("ddlCriterion") >= 0)
		    {
	 			criterionCntrl.value = "";
			}
		    break;
		  case "checkbox":
		    criterionCntrl.checked = false;
		    break; 
		}
	}
}

function OnHelp()
{
	RH_ShowHelp(0, "Help/scerisweb.htm", HH_HELP_CONTEXT, 5);
}

function CanSubmit(simpleSearchForm, dateUdiNames)
{
	// require at least one search value
	var bHasValues = false;
	for (var i=0; i < simpleSearchForm.elements.length; i++)
	{ 
		if (simpleSearchForm.elements[i].name.slice(0,1) == "v")
		{
			if (simpleSearchForm.elements[i].type == "text")
			{
				if (simpleSearchForm.elements[i].value) 
				{
					bHasValues = true;
					break;
				} 
			}
			else if (simpleSearchForm.elements[i].type == "select-one")
			{
				if (simpleSearchForm.elements[i].selectedIndex > 0)
				{
					bHasValues = true;
					break;
				}
			}
		}

	} 
	if (!bHasValues)
	{
		alert("You must enter at least one value.");
		return false;
	}
	// validate dates
	for (var i=0; i < simpleSearchForm.elements.length; i++)
	{ 
		if (simpleSearchForm.elements[i].type == "text")
		{
			var udiValue = simpleSearchForm.elements[i].value;
			if (udiValue) 
			{
				var udiName = simpleSearchForm.elements[i-2].value;
				var bIsDateUdi = false;
				for (var k=0; k < dateUdiNames.length; ++k)
				{
					if (dateUdiNames[k] == udiName)
					{
						bIsDateUdi = true;
						break;
					}
				}
				if (bIsDateUdi)
				{
					if (!isDate(udiValue))
					{
						alert("\"" + udiValue + "\" is not a valid date. Please enter a date in MM/DD/YYYY format.");
						simpleSearchForm.elements[i].focus();
						return false;
					}
				}
			} 
		}

	} 
	// ensure that at least one display box checked
	var bHasDisplay = false;
	for (var i=0; i < simpleSearchForm.elements.length; i++)
	{
		if (simpleSearchForm.elements[i].type == "checkbox")
		{
			if (simpleSearchForm.elements[i].checked)
			{
				bHasDisplay = true;
				break;
			}
		}
	}
	// if we have search values but nothing to display, 
	// check the boxes to display what is being searched on
	if (!bHasDisplay)
	{
		var bHasValue = false;
		for (var i=0; i < simpleSearchForm.elements.length; i++)
		{
			if (simpleSearchForm.elements[i].type == "text")
			{
				if (simpleSearchForm.elements[i].value) bHasValue = true;
				else bHasValue = false;
			}
			else if (simpleSearchForm.elements[i].type == "select-one")
			{
				if (simpleSearchForm.elements[i].selectedIndex > 0) bHasValue = true;
				else bHasValue = false;
			}
			else if (simpleSearchForm.elements[i].type == "checkbox")
			{
				if (bHasValue)
				{
					simpleSearchForm.elements[i].checked = true;
				}
			}
		}
	}
	return true;	
}
