/*
*****************************************************************************************************************************
name:common.js

common javascript functions used across all pages
*****************************************************************************************************************************
*/
/*
==============================================================================
search functions
==============================================================================
*/
/* 
Globals
*/
var MAIN_SEARCH_FORM_TEXT_BOX='txtKeyword';
var SEARCH_RESULT_PAGE='SiteSearch.aspx?searchKeyword=';
var QPARM_SEARCH_TEXT='searchKeyword'
var SEARCH_RESULT_CMDBTN_1='cmdSearchsearchrichText';
var SEARCH_RESULT_CMDBTN_2='cmdSearchsearchnews';
var SEARCH_RESULT_CMDBTN_3='';
var SEARCH_RESULT_FORM='form1';
var SEARCH_RESULT_TEXT_ELEMENT='txtKeyword';
var SPLIT_CHAR_QPARM='&';
var SPLIT_CHAR_QVALUE='=';
var RESULT_NULL='null';
/*
functions
*/
/*
get query string parms
*/
function getParameter( parameterName ) {
  var queryString = window.location.search.substring(1).toLowerCase();
  var parameters = new Array();
  parameters = queryString.split(SPLIT_CHAR_QPARM);
  for(var i = 0; i < parameters.length; i++) {
    if (parameters[i].indexOf(parameterName.toLowerCase())>=0) {
      var parameterValue = new Array();
      parameterValue = parameters[i].split(SPLIT_CHAR_QVALUE);
      return parameterValue[1];
    }
  }
  return RESULT_NULL;
}
/*
execute main multi-search
*/
function executeSearch(){

var searchWord=document.getElementById(MAIN_SEARCH_FORM_TEXT_BOX).value;
var searchUrl=SEARCH_RESULT_PAGE + searchWord;

//var mywindow=window.open(searchUrl);
window.location=searchUrl;

return 1;
}
/*
submit normal search function - not multi search, used in conjunction with search portlet normal usage
*/
function setFlagAndSubmit(controlName){
	document.getElementById(controlName).value = 'true';
	document.getElementById('Form1').submit();
}
/*
multi search function - tailored to execute multiple search portlets at once on one page
*/
function setFlagAndSubmit2(){
	var search='';
	search=getParameter(QPARM_SEARCH_TEXT);
	populateHiddenSearchFields(search);
	document.getElementById(SEARCH_RESULT_CMDBTN_1).click();
	document.getElementById(SEARCH_RESULT_CMDBTN_2).click();
	//document.getElementById(SEARCH_RESULT_CMDBTN_3).click();
	
	document.getElementById(SEARCH_RESULT_FORM).submit();
}
/*
populate all hidden search text fields so multiple searches can pick up keywords to search with
*/
function populateHiddenSearchFields(keywordText)
{
	var cnt;
	var elementId = '';
	for (i=0; i < document.forms[0].elements.length; i++)
	{
		if (document.forms[0].elements[i].id.indexOf(SEARCH_RESULT_TEXT_ELEMENT)!=-1)
		{
			elementId = document.forms[0].elements[i].id;
			var hiddenKeyword=document.getElementById(elementId);
			if(hiddenKeyword!=null){
				hiddenKeyword.value=keywordText;
			}
		}
	}
}

/*
 get the constraints used for the search and repopulate the controls after a post back
*/
function setSearchConstraints()
{
	var check=document.getElementById('hdnConstraints');
	if(check!=null){

			// set all constraints and then set keyword
			
			// constraints
			var keys=document.getElementById('hdnConstraints').value;
			var values=document.getElementById('hdnValues').value;

			var elements=keys.split(',');
			var vals=values.split(',');
			var hasError='false';

			for(var i=0;i<elements.length;i++)
			{
	    			var ele=document.getElementById(elements[i]);
				if(ele!=null){
					if(vals[i]!=''){
						ele.value=vals[i];
					}
				}
				else{
					hasError='true';
			        	break;				
				}
			
			}
		
			// keyword
			var keywordTextId=document.getElementById('searchKeyWordId').value;
			var keywordText=document.getElementById(keywordTextId);
			if(keywordText!=null){
					var keywordData=document.getElementById('searchKeyword').value;
					keywordText.value=keywordData;
			}	
	}
}

/*
*****************************************************************************************************************************
name:common.js ---- end
*****************************************************************************************************************************
*/
