// Suggestions

var gotSuggestionData = false;
var suggestionActive = false;
var suggestionCurrent = 0;
var suggestionTotal = 0;
var suggestionOldInput = "";
var suggestionLink = "";
var suggestionData = new Array();
var suggestionsLocked = false;
var suggestionLinks = new Array();
var suggestionDiv = false;
var suggestionInput = "";

function initSuggestions(inputfield, div, link) {
	suggestionInput = inputfield;
	suggestionDiv = div;
	suggestionLink = link;
	
	if($(inputfield).value == 'Name, Firma etc.') $(suggestionInput).value = '';
	if(!gotSuggestionData) {
		gotSuggestionData = getBuddies();
	}
	suggestionActive = true;
}

function getBuddies() {
	new Ajax.Updater('mainSearchData', '/?module=users&submodule=Ajax&action=buddies&ajax=1', {method:"get", evalScripts:true});
return true;
}

function showSuggestions(input) {
	if(input == "") {
		hideSuggestions();
		return true;
	}
	var output = "";
	var data = suggestionData;
	var c = 0;
	if(suggestionOldInput != input) suggestionCurrent = 0;
	suggestionOldInput = input;
	suggestionLinks = new Array();
	for(var i=0;i<data.length;i++) {
		tmpid = data[i][0];
		tmpname = data[i][1].toLowerCase();
		tmpwishname = data[i][4];
		tmpinput  = input.toLowerCase();
		tmppos = tmpname.search(tmpinput);
		tmprep = data[i][1].substr(tmppos,tmpinput.length);
		
		
		if(tmppos == -1) continue;
		
		tmpreplace = '%s';
		tmplink = suggestionLink.replace(tmpreplace,tmpwishname);
		c++;
		suggestionLinks[c] = tmplink;
		name = data[i][1].replace(tmprep,'<span style="color:red">'+tmprep+'</span>');
		
		if(suggestionCurrent == c) output+= '<div id="suggestion_'+c+'" class="suggestionEntry" style="background-color:#d3d3d3;" onclick="'+tmplink+'">';
		else output+= '<div id="suggestion_'+c+'" class="suggestionEntry" onclick="'+tmplink+'" onmouseover="highlightSuggestion('+c+')">';
		output+= '	<div class="suggestionEntryImage" style="background-image:url('+data[i][3]+')"></div>';
		output+= '	<div class="suggestionEntryText">';
		output+= '		<div class="suggestionEntryName">'+name+'</div>';
		output+= '		<div class="suggestionEntryCompany">'+data[i][2]+'</div>';
		output+= '	</div>';
		output+= '	<div class="blind"></div>';
		output+= '</div>';
	}
	
	
	$(suggestionDiv).innerHTML = output;
	$(suggestionDiv).style.display = 'block';
	suggestionTotal = c;
}

function hideSuggestions() {
	//suggestionActive = false;
	
	suggestionCurrent = 0;
	suggestionTotal = 0;
	suggestionOldInput = "";
	$(suggestionDiv).style.display = 'none';
	
}

function scrollSuggestions(event) {
	if(!suggestionActive) return true;
	
	code = event.keyCode;
	switch(code) {
		case 13:
			eval(suggestionLinks[suggestionCurrent]);
			break;
		case 38:
			if(suggestionCurrent <= 1) return true;
			$('suggestion_'+suggestionCurrent).style.backgroundColor = 'transparent';
			suggestionCurrent--;
			$('suggestion_'+suggestionCurrent).style.backgroundColor = '#d3d3d3';
			break;
		case 40:
			if(suggestionCurrent >= suggestionTotal) return true;
			if(suggestionCurrent > 0) $('suggestion_'+suggestionCurrent).style.backgroundColor = 'transparent';
			suggestionCurrent++;
			$('suggestion_'+suggestionCurrent).style.backgroundColor = '#d3d3d3';
			break;
		default:
			break;
	}
}

function triggerSuggestions(event) {
	if(suggestionDiv && !suggestionsLocked) hideSuggestions();
}

function highlightSuggestion(id) {
	if(suggestionCurrent != 0) $('suggestion_'+suggestionCurrent).style.backgroundColor = 'transparent';
	suggestionCurrent = id;
	$('suggestion_'+suggestionCurrent).style.backgroundColor = '#d3d3d3';
}

function lockSuggestions() {
	suggestionsLocked = true;
}

function unlockSuggestions() {
	suggestionsLocked = false;
}

document.onkeydown = scrollSuggestions;
document.onclick = triggerSuggestions;

