var glossary_fullpath = '';
var glossary_terms = new Object();

function glossaryShowTip(term) {
	glossaryUpdateTip( term );
	$('glossary_tip').style.display = 'block';
	$('glossary_tip').style.left = mouse.x + 10 + 'px';
	$('glossary_tip').style.top  = mouse.y + 10 + 'px';
}

function glossaryHideTip() {
    $('glossary_tip').innerHTML = '&nbsp;';
    $('glossary_tip').style.display = 'none';
}

function glossaryUpdateTip(term) {
    if (!glossary_terms[term]) {
		glossary_terms[term] = 'Loading...';
		glossaryLoadTerm(term);
    }
    $('glossary_tip').innerHTML = glossary_terms[term];
}

function glossaryLoadTerm(term) {
	if (glossary_fullpath == '') return false;
	
    JsHttpRequest.query(
        glossary_fullpath+'?action=ajaxGetTerm',
        
        { 'term': term },
    
        function(result, errors) {
            if (errors) {
                alert(errors);
                return;
            }

            //Вставляем результат
            if (result['term']) {
			    glossary_terms[term] = result['term'];
			    glossaryUpdateTip(term);
            }
        },
        
        true
    );
}

addEvent(
    window,
	'load',
	function() {
		var abbr_arr = document.getElementsByTagName( 'abbr' );
		for(var i = 0; i < abbr_arr.length; i++) {
			var term = abbr_arr[i].innerHTML.toString();
			addEvent(
			    abbr_arr[i],
				'mousemove',
				function() {
					glossaryShowTip(term);
				}
            );
			addEvent(abbr_arr[i], 'mouseout', glossaryHideTip);
		}
	}
);