document.onkeypress=enterKeyPressed;
function enterKeyPressed(evt){
	  var evt = (evt) ? evt : event 
	  var charCode = (evt.which) ? evt.which : evt.keyCode 
	  if (charCode == 13) { 
		  if(document.getElementById('quickSearchForm') && !isEmptyKeyword(trimAll(document.getElementById('quickSearchForm').search_field.value)) && trimAll(document.getElementById('quickSearchForm').search_field.value) != document.getElementById('quickSearchForm').qsDefaultKeyword.value ){
			  validateExternalSearchForm('search_field','executeQuickSearch','quickSearchForm',document.getElementById('quickSearchForm').qsDefaultKeyword.value,document.getElementById('quickSearchForm').qsMissingKeywordMessage.value,document.getElementById('quickSearchForm').qsSingleCharacterMessage.value,document.getElementById('quickSearchForm').qsSpecialCharactersMessage.value);
		  }else if(document.getElementById('eventSearchForm') && !isEmptyKeyword(trimAll(document.getElementById('eventSearchForm').events_search_field.value)) && trimAll(document.getElementById('eventSearchForm').events_search_field.value) != document.getElementById('eventSearchForm').esDefaultKeyword.value ){
			  validateExternalSearchForm('events_search_field','executeEventSearch','eventSearchForm',document.getElementById('eventSearchForm').esDefaultKeyword.value,document.getElementById('eventSearchForm').esMissingKeywordMessage.value,document.getElementById('eventSearchForm').esSingleCharacterMessage.value,document.getElementById('eventSearchForm').esSpecialCharactersMessage.value);
		  }else if(document.getElementById('eventShowCasesSearchForm') && !isEmptyKeyword(trimAll(document.getElementById('eventShowCasesSearchForm').events_search_field2.value)) && trimAll(document.getElementById('eventShowCasesSearchForm').events_search_field2.value) != document.getElementById('eventShowCasesSearchForm').esDefaultKeyword.value ){
			  validateExternalSearchForm('events_search_field2','executeEventSearch','eventShowCasesSearchForm',document.getElementById('eventShowCasesSearchForm').esDefaultKeyword.value,document.getElementById('eventShowCasesSearchForm').esMissingKeywordMessage.value,document.getElementById('eventShowCasesSearchForm').esSingleCharacterMessage.value,document.getElementById('eventShowCasesSearchForm').esSpecialCharactersMessage.value);
		  }else if(document.getElementById('searchForm') ){
			  validateSearchForm(document.getElementById('searchForm').missingKeywordMessage.value,document.getElementById('searchForm').singleCharacterMessage.value,document.getElementById('searchForm').specialCharactersMessage.value);
		  }
		  return false;
	  } 
} 
function clearSpecificCustomerTypes()
{
	var elemCustomerTypes  = document.getElementsByName('customerTypes');
	for(var i = 0 ; i<elemCustomerTypes.length ; i++){
		if (elemCustomerTypes[i].value.indexOf("ALL")==-1){
			elemCustomerTypes[i].checked = false;
		}
	}
	
}
function clearAllCustomerTypesChoice()
{
	var elemCustomerTypes  = document.getElementsByName('customerTypes');
	for(var i = 0 ; i<elemCustomerTypes.length ; i++){
		if (elemCustomerTypes[i].value.indexOf("ALL")!=-1){
			elemCustomerTypes[i].checked = false;
		}
	}
	
}
function clearSpecificResultTypes()
{
	var elemResultTypes  = document.getElementsByName('resultTypes');
	for(var i = 0 ; i<elemResultTypes.length ; i++){
		if (elemResultTypes[i].value.indexOf("ALL")==-1){
			elemResultTypes[i].checked = false;
		}
	}
}
function clearAllResultTypesChoice()
{
	var elemResultTypes  = document.getElementsByName('resultTypes');
	for(var i = 0 ; i<elemResultTypes.length ; i++){
		if (elemResultTypes[i].value.indexOf("ALL")!=-1){
			elemResultTypes[i].checked = false;
		}
	}
}
function clearOtherSearchTextField(otherSearchText)
{
	if(document.getElementById(otherSearchText)){
		document.getElementById(otherSearchText).value = '';
	}
}
function doSearchPagination(keyword,customerTypes,resultTypes,pageNumber)
{
	if(document.getElementById('searchForm'))
	{
		document.getElementById('searchForm').pageNumber.value = pageNumber;
		updateSearchForm(keyword,customerTypes,resultTypes);
		document.getElementById('searchForm').executeGeneralSearch.value = "yes";
		document.getElementById('searchForm').submit();
	}
}
function updateSearchForm(keyword,customerTypes,resultTypes)
{
	if(document.getElementById('searchForm'))
	{
		document.getElementById('searchForm').search_field2.value = keyword;
		var elemCustomerTypes  = document.getElementsByName('customerTypes');
		if(customerTypes && customerTypes.length > 0){
			for(var i = 0 ; i<elemCustomerTypes.length ; i++){
				if (customerTypes.indexOf(elemCustomerTypes[i].value)!=-1){
					elemCustomerTypes[i].checked = true;
				}else{
					elemCustomerTypes[i].checked = false;
				}
			}
		}else{
			for(var i = 0 ; i<elemCustomerTypes.length ; i++){
				if (elemCustomerTypes[i].value.indexOf("ALL")!=-1){
					elemCustomerTypes[i].checked = true;
				}else{
					elemCustomerTypes[i].checked = false;
				}
			}
		}
		var elemResultTypes  = document.getElementsByName('resultTypes');
		if(resultTypes && resultTypes.length > 0){
			for(var i = 0 ; i<elemResultTypes.length ; i++){
				if (resultTypes.indexOf(elemResultTypes[i].value)!=-1){
					elemResultTypes[i].checked = true;
				}else{
					elemResultTypes[i].checked = false;
				}
			}
		}else{
			for(var i = 0 ; i<elemResultTypes.length ; i++){
				if (elemResultTypes[i].value.indexOf("ALL")!=-1){
					elemResultTypes[i].checked = true;
				}else{
					elemResultTypes[i].checked = false;
				}
			}
		}
	}
}
function validateSearchForm(missingKeywordMessage,singleCharacterMessage,specialCharactersMessage)
{
	var keyword = '';
	var keyword2 =  trimAll(document.getElementById('searchForm').search_field2.value);
	keyword = keyword2;
	var keyword3 = '';
	if(document.getElementById('searchForm').search_field3){
		keyword3 =  trimAll(document.getElementById('searchForm').search_field3.value);
		if(!isEmptyKeyword(keyword3)){
			keyword = keyword3;
		}
	}
	if(isEmptyKeyword(keyword2) && isEmptyKeyword(keyword3))
	{
		alert(missingKeywordMessage);
		 return false;
	}
	if(!isValidKeyword(keyword2,singleCharacterMessage,specialCharactersMessage) || !isValidKeyword(keyword3,singleCharacterMessage,specialCharactersMessage))
	{
		return false;
	}
	document.getElementById('searchForm').keyword.value = keyword;
	document.getElementById('searchForm').executeGeneralSearch.value = "yes";
	document.getElementById('searchForm').submit();
}
function validateExternalSearchForm(searchFieldName,searchFlag,searchForm,defaultKeyword,missingKeywordMessage,singleCharacterMessage,specialCharactersMessage)
{
	var keyword =  trimAll(document.getElementById(searchFieldName).value);
	if(isEmptyKeyword(keyword)  || keyword == defaultKeyword)
	{
		alert(missingKeywordMessage);
		 return false;
	}
	if(!isValidKeyword(keyword,singleCharacterMessage,specialCharactersMessage))
	{
		return false;
	}
	document.getElementById(searchForm).keyword.value = keyword;
	if(searchForm == 'eventShowCasesSearchForm'){
		document.getElementById(searchForm).executeEventSearch.value = "yes";
	}else{
		document.getElementById(searchFlag).value = "yes";
	}
	document.getElementById(searchForm).submit();
}
function trimAll(sString) 
{
	return leftTrim(rightTrim(sString));
}
function rightTrim(sString) 
{
    while (sString.substring(sString.length-1, sString.length) == ' ')
    {
        sString = sString.substring(0,sString.length-1);
    }
    return sString;
}  
function leftTrim(sString) 
{
    while (sString.substring(0,1) == ' ')
    {
        sString = sString.substring(1, sString.length);
    }
    return sString;
}
function isEmptyKeyword(keyword)
{
	if(trimAll(keyword) =='')
	{
		 return true;
	}
	return false;
}
function isValidKeyword(keyword,singleCharacterMessage,specialCharactersMessage)
{
	if(!isEmptyKeyword(keyword))
	{
		if(keyword.length == 1){
			alert(singleCharacterMessage);
			return false;
		}
		if(keyword.indexOf('*') > -1 || keyword.indexOf('?') > -1)
		{
			alert(specialCharactersMessage);
			return false;
		}
		var specialChars = new Array("^","'",'"',"\\","/","~","<",">","|","{","}","$","(",")","+","=",String.fromCharCode(174),String.fromCharCode(8482),String.fromCharCode(169));
	    for (var i = 0; i < specialChars.length; i++) 				
	    {					
		    if (keyword.indexOf(specialChars[i]) != -1) 					
		    {						
		    	alert(specialCharactersMessage);
		    	return false;
		    }
	    }
	}
	return true;
}
