var searchUrl		= '/ajax/modules/profile/search/'
var myTimeOut		= null;
var searchPars	= null;
var browseFolderId;

// ids and names
var _maxResults			= 'profile_search_maxResults';
var _searchResults		= 'searchResults';
var _searchBoxInput		= 'searchBoxInput';
var _searchBox			= 'searchBox';
var _browseBox			= 'browseBox';
var _browseInputs		= 'bInputs';

//document.onkeypress = stopRKey; 

function stopRKey(evt) {
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if ((evt.keyCode == 13) && (node.type=="text"))  {findUsers(); return false;}
} 

function init()
{
	$(_searchBoxInput).onkeyup = onType;

	if($F(_searchBoxInput) != '' && $F(_searchBoxInput) != 'undefined')
	{
		findUsers();
		showSearch();
	}
	else if(false) //browseFolderId && browseFolderId != 'undefined')
	{
		//showBrowse();
		$('searchBox').style.display = 'none';
		$('browseBox').style.display = 'none';
	}
	else
	{
		showSearch();
		showRecent();
	}	
}







//onType function, if key is pressed in the searchbox, set a timeout so we can
//give the user more time to type next key. If user has stopped typing the searchURL is called
function onType(e)
{	
	if (window.event)
	{
		e = window.event;
	}
		
	var KeyID = (window.event) ? event.keyCode : e.keyCode;
	
	if(((KeyID >= 46 && KeyID <= 90) || KeyID == 8 ) && (e.ctrlKey != 1) && (e.metaKey != 1) )
	{
		var par = window.parent.document;
		var searchResultsHolder = par.getElementById(_searchResults);
			
		searchResultsHolder.innerHTML = '';
			
		var new_img = par.createElement('img');
		new_img.src = '/images/indicator.gif';
		searchResultsHolder.appendChild(new_img);
			
		var query = $F(_searchBoxInput);

		searchPars = 'q='+query;
		
		//clear the previeus timeout	
		clearTimeout(myTimeOut);
		//set a new timeout so we can see if a user is still typing
		myTimeOut = window.setTimeout('trySearch()', 500);
	}

}


function trySearch()
{
	clearFolders($(_browseInputs));
	var myAjax = new Ajax.Updater(_searchResults, searchUrl, {method: 'get', parameters: searchPars});
}



function findUsers(maxBox)
{
	// look for an maxResults box
	if(maxBox)
	{
		var maxResults = '&maxResults='+escape($F(_maxResults));
	}
	else
	{
		var maxResults = '';	
	}
		
	var par = window.parent.document;
	var searchResultsHolder = par.getElementById(_searchResults);
		
	searchResultsHolder.innerHTML = '';
		
	var query = $F(_searchBoxInput);
		
	searchPars = 'q='+query+maxResults;
	    
	var myAjax = new Ajax.Updater(_searchResults, searchUrl, {method: 'get', parameters: searchPars});
}





function showBrowse()
{
	sb = document.getElementById(_searchBox);
	bb = document.getElementById(_browseBox);
	sb.style.display = 'none';
	bb.style.display = 'inline';
}

function showSearch()
{
	sb = document.getElementById(_searchBox);
	bb = document.getElementById(_browseBox);
	sb.style.display = 'inline';
	bb.style.display = 'none';
}

function browse(folder, maxBox)
{
	// look for an maxResults box
	if(maxBox)
	{
		var maxResults = '&maxResults='+escape($F(_maxResults));
	}
	else
	{
		var maxResults = '';
	}

	var url			= '/ajax/modules/profile/browse/';
	var pars		= 'folder_id='+folder+maxResults;

	var myAjax = new Ajax.Updater(_searchResults, url, {method: 'get', parameters: pars});
}

function showRecent()
{
	var url			= '/ajax/modules/profile/recent/';
  	var myAjax		= new Ajax.Updater(_searchResults, url);
}
