/*
*	File Name: validateAdvancedSearch.js
*	Methods:
*	--validateAdvancedSearch() - David Montgomery 04/09/08
*	--searchSubmit() David Montgomery 12/09/08
*   --searchWithinResults() David Montgomery 25/11/08
*/

/*
*
*	This method will check to ensure that only 1 search section
*   has been completed.  If no search criteria has been entered
*   then a suitable text key will be returned, likewise when more
*   than 1 search criteria has been entered.
*/
function validateAdvancedSearch()
{
	//get a handle on all the fields
	var allWords = document.getElementById("as_q");
	if (allWords == null)
	{
		allWords = document.getElementById("as_q2");
	}
	var exactPhrase = document.getElementById("as_epq");
	var oneOfMore0 = document.getElementById("as_oq0");
	var oneOfMore1 = document.getElementById("as_oq1");
	var oneOfMore2 = document.getElementById("as_oq2");
	//var noneOfThese = document.getElementById("as_eq");
	
	var numItemsWithText = 0;
	
	if(allWords.value != null && allWords.value != "")
	{
		numItemsWithText++;
	}

	if(exactPhrase.value != null && exactPhrase.value != "")
	{
		numItemsWithText++;
	}

	if(	   (oneOfMore0.value != null && oneOfMore0.value != "")
		|| (oneOfMore1.value != null && oneOfMore1.value != "")
		|| (oneOfMore2.value != null && oneOfMore2.value != ""))
	{
		numItemsWithText++;
	}
	
	//if(noneOfThese.value != null && noneOfThese.value != "")
	//{
	//	numItemsWithText++;
	//}

	if(numItemsWithText == 0)
	{
		return document.getElementById("msg_noSearchEntered").value;
	}

	if(numItemsWithText > 1)
	{
		return document.getElementById("msg_moreOneSearchEntered").value;
	}

}

/*
*
*	This method is called whenever the user submits an
*   advanced search.  A popup will be shown if there is
*   an error with the search criteria.
*/
function searchSubmit()
	{
		var errorKey = validateAdvancedSearch();
		if(errorKey != null)
		{
			openPopUp("Invalid search criteria", errorKey, "error");
			return false;
		}
		else
		{
			return true;
		}
		
	}
	
function searchWithinResults()
{
	var searchWithinInput = document.getElementById("searchWithin");
	var sourceValue = document.getElementById("as_q3").value;
	var searchWithinForm = document.getElementById("searchWithinForm");
	
	//if the no value has been specified in the source input
	//then display an error
	if(sourceValue == null || sourceValue == "")
	{
		var errorTitleText = document.getElementById("errorTitleText").value;
		var errorTitleDescription = document.getElementById("errorTitleDescription").value;
		openPopUp(errorTitleText, errorTitleDescription, "error");
	}
	else
	{
		searchWithinInput.value = sourceValue;
		searchWithinForm.submit();
	}
}
