/**
 * Tipy ke slovům
 */
var displayed_context_result_box = null;
var displayed_context_result_tips = 0;
var displayed_context_result_tips_timeout = new Array();

function checkContextSearchResultTipExists() {
	
}

function createContextSearchResultTip(id,el,main_word,assoc_words,description) {
	
	var search_main_word = main_word.replace(/\s+/g,'AND');
	
	try {
		description = description.trim();
	} catch(e) { }
	
	if(description == '') description = '<em>není uveden žádný popis</em>';
	
	var html = '';
	html = '<span onmouseover="clearTimeoutForContextSearchResult('+id+');" onmousemove="clearTimeoutForContextSearchResult('+id+');" onclick="hideContextSearchResultTimeout('+id+');">';
	html += ' <table border="0" cellpadding="0" cellspacing="0">';
	html += '  <tr>';
	html += '   <td>';
	html += '    <span class="top">"<a href="'+root_url+'vyhledavani/?q='+search_main_word+'" target="_blank" title="Vyhledat výraz \''+main_word+'\'?">'+main_word+'</a>"</span>';
	html += '   </td>';
	html += '  </tr>';
	html += '  <tr>';
	html += '   <td>';
	html += '    <span class="content"><span>'+description+'</span></span>';
	html += '   </td>';
	html += '  </tr>';
	html += '  <tr>';
	html += '   <td>';
	/*html += '<span class="content">podobná slova: <span>'+assoc_words.join(', ')+'</span></span>';*/
	html += '    <span class="bottom">&nbsp;</span>';
	html += '   </td>';
	html += '  </tr>';
	html += ' </table>';
	html += '</span>';
	
	// nastavíme odsazeí zleva podle šířky elementu
	var width = el.offsetWidth + 0;
	// nastavíme odsazeí odshora podle výšky elementu
	var height = el.offsetHeight - 1;
	
	var displayed_context_result_box = document.createElement('span');
	displayed_context_result_box.id = id;
	displayed_context_result_box.style.title = main_word;
	displayed_context_result_box.className = 'context_search_tip';
	displayed_context_result_box.style.margin = height+'px 0 0 -'+width+'px';
	displayed_context_result_box.innerHTML = html;
	/*
	displayed_context_result_box.onmousemove = function(e) { clearTimeoutForContextSearchResult(this.id); };
	displayed_context_result_box.onmouseover = function(e) { clearTimeoutForContextSearchResult(this.id); };
	displayed_context_result_box.onmouseout = function(e) { hideContextSearchResult(this.id); };
	*/
	el.appendChild(displayed_context_result_box);
}

function showContextSearchResult(el,main_word) {
	//alert(el.innerHTML);
	var res = el.id.match(/([0-9]+)/);
	var id = res[1];
	for(var i in displayed_context_result_tips_timeout) {
		if(i == id) {
			if(displayed_context_result_tips_timeout[i]) return;
		}
	}
	var uls = document.getElementsByTagName('ul');
	var ps = document.getElementsByTagName('p');
	
	var assoc_words = new Array();
	var description = '';
	
	for(var i in uls) {
		if(uls[i].title == main_word) {
			for(var c in uls[i].childNodes) {
				if(uls[i].childNodes[c].tagName == "LI") {
					assoc_words.push(uls[i].childNodes[c].innerHTML);
				}
			}
		}
	}
	
	for(var i in ps) {
		if(ps[i].title == main_word) {
			description = ps[i].innerHTML; 
		}
	}
	
	
	
	if(assoc_words.length > 0) {
		var box_exists = document.getElementById(id);
		if(box_exists) {
			box_exists.style.display = 'inline';
			clearTimeoutForContextSearchResult(id);
		}
		else {
			createContextSearchResultTip(id,el,main_word,assoc_words,description);
		}
	}
}

function clearTimeoutForContextSearchResult(id) {
	var timer = displayed_context_result_tips_timeout[id];
	if(timer) {
		clearTimeout(timer);
	}
}

function hideContextSearchResultTimeout(id) {
	try {
		var el = document.getElementById(id);
		el.style.display = 'none';
		displayed_context_result_tips_timeout[id] = null;
	}
	catch(e) {  }
}

function hideContextSearchResult(id) {
	displayed_context_result_tips_timeout[id] = setTimeout('hideContextSearchResultTimeout('+id+')',300);
}

