String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }

var g_ENABLE_PAGING = true;
var g_FORCE_RELOAD = true;
var g_MISSPELLER_ENABLED = true;  

var g_LOCK_SELECT = false;
var g_LAST_SEARCH = ""; 

var g_LIMITED_PAGE = new Array(); 
g_LIMITED_PAGE[1] = true; 
g_LIMITED_PAGE[2] = true; 
g_LIMITED_PAGE[3] = true; 
g_LIMITED_PAGE[4] = true; 
g_LIMITED_PAGE[5] = true; 
g_LIMITED_PAGE[6] = true; 
g_LIMITED_PAGE[7] = true; 

var g_GROUP_NAME = new Array(); 
g_GROUP_NAME[0] = "";
g_GROUP_NAME[1] = "wyniki dokładne";
g_GROUP_NAME[2] = "wyniki dokładne";
g_GROUP_NAME[3] = "wyniki po odmianie słów";
g_GROUP_NAME[4] = "wyniki dokładne, w szerszym kontekście";
g_GROUP_NAME[5] = "wyniki po odmianie słów, w szerszym kontekście";
g_GROUP_NAME[6] = "znaczenia podobnych słów";

var g_CURRENT_GROUP = -1;
var g_VISIBLE_ADV_FILTER = false; 

var g_RESULTS_SMALL_COUNT = 3;
var g_RESULTS_LARGE_COUNT = 5;
var g_CACHE_UPDATE_COUNT = 15;

var g_PHRASES_ENABLED = true; 
var g_MISSPELLER_ENABLED = true; 
var g_STEMMER_ENABLED = true; 
 
// var g_DEBUG_ON = false; 
var g_PROFILER_ON = false;
var g_DISPLAY_COUNT = false;
var g_DICTIONARIES = new Array();
var g_DISPLAY_NAMES = false;

function configureClient(_ci,  _dicts) { 
	try { 
		g_RESULTS_SMALL_COUNT = parseInt(_ci.pozycje_tlumaczenia_przed);
		g_RESULTS_LARGE_COUNT = parseInt(_ci.pozycje_tlumaczenia_rozwiniete);
		g_MISSPELLER_ENABLED = (parseInt(_ci.misspeller) == 0 ? false : true);
		g_STEMMER_ENABLED = (parseInt(_ci.stemmer) == 0 ? false : true);
		
	} catch (err) { 
		showDebug('Błąd konfiguracji strony !!!'); 
	}
	g_PHRASES_ENABLED = _ci.zaawansowane_teksty; 
	g_DICTIONARIES = _dicts;
	fillDictionaries();
}

function initialEval(_doit) { 
	if (_doit) { 
		g_FORCE_RELOAD = false; 
		gtcQueryFirst(1); 
		g_FORCE_RELOAD = true; 
	} 
}

function onKeyPressEval(e) { 
	var keynum;
	var keychar;
	var numcheck;

	if(window.event) // IE
	{
		keynum = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}
	if (keynum == 13) { 
		gtcQueryFirst(1); 
		return false;
	}
	return true;  
}


function clearTable(_table) { 
	for (i = _table.rows.length-1; i >= 0; i--)
		_table.deleteRow(i);
}; 

function insertLetter(_letter) { 
	$('search_word').value = $('search_word').value+_letter; 
	g_LOCK_SELECT = true;
	$('search_word').focus();
	g_LOCK_SELECT = false;
}

function changeLang(_val) { 
	_s_txt=$('search_word').value;
	
	new Ajax.Request('./act/change_settings.act.php?act=lang_ch&lang_idx='+_val, {
		method: 'get',
		parameters: {'act': 'lang_ch', 'lang_idx' : _val },
		onCreate: function() { 
			document.body.style.cursor = 'progress'; 
		}, 
		onException: function(p1, p2) {
			showErrorMessage('decodeerror');
		},
		onSuccess: function(transport) {
			document.body.style.cursor = 'default'; 
			if (transport.responseText.trim() == '') {
				alert('Brak odpowiedzi!'); 
			} else {
				var lng_data = transport.responseText.evalJSON(); 
				$('img_selected_language_src').src = './img_page/flaga_'+lng_data.pics.org+'.png'; 
				$('img_selected_language_dst').src = './img_page/flaga_'+lng_data.pics.dst+'.png';
				var tmphtm = ""; 
				for (i = 0; i<lng_data.letters.length; i++) {				
					tmphtm += "<div class='letter_div' onclick='insertLetter(\""+lng_data.letters[i].lsmall+"\")'>"+lng_data.letters[i].llarge+"</div>";  
				}
				$('search_letters_div').innerHTML = tmphtm; 
			}
		},
		onFailure: function() { 
 			document.body.style.cursor = 'default'; 
			showErrorMessage('decodeerror');
		} 	
	});	
} 

function ShowOrHide(div) {
	var d = $(div);
	if (document.getElementById(div).className.indexOf("hide") != -1) {
		Element.removeClassName( d, "hide" );
		Element.addClassName( d, "show" );
	} else {
		Element.removeClassName( d, "show" );
		Element.addClassName( d, "hide" );
	}
}

function Show(div) {
	var d = $(div);
	Element.removeClassName( d, "hide" );
	Element.addClassName( d, "show" );
}

function Hide(div) {
	var d = $(div);
	Element.removeClassName( d, "show" );
	Element.addClassName( d, "hide" );
}

function showErrorMessage(_code) { 
	Show('error_box_frame'); 
	Hide('subtitle_div');
	$('error_box_message').innerHTML = g_STRINGS[_code]; 
} 

function putQueryTxt(_txt) { 
	$('search_word').value = _txt; 
	gtcQueryFirst(1); 
} 

function findDict(_name) { 
	for (ji=0; ji<g_DICTIONARIES.length; ji++)
		if (g_DICTIONARIES[ji].kod == _name) 
			return g_DICTIONARIES[ji]; 
	return 0; 
}

function addDictInfo(_dn) { 
	var d = findDict(_dn);
	if (d == 0) {
		return '<span class="dict_info_span" title="'+d.nazwa+'">!BRAK!</span>'
//		return ""; 
	} 
	var rv = '<span class="dict_info_span" title="'+d.nazwa+'">'+d.symbol+'</span>'; 	
	return rv; 
} 
	
function hideAllGroups() { 
	for (i = 1; i < 8; i++)
		g_LIMITED_PAGE[i] = true; 
}

function showHideGroup(_gnr, _state) { 
	g_LIMITED_PAGE[_gnr] = _state;
	if (_state == false && g_CURRENT_GROUP != _gnr) {
		g_CURRENT_POS[_gnr] = 0; 
		g_CURRENT_GROUP = _gnr;
	} else { 
		showGroup(_gnr); 
	}	
} 

function showGroup(_gnr) { 
	var sgt = ""; 
	sgt += gtcDisplayPage(_gnr, -1, -1); 
	
	if (sgt.length > 2) { 
		$('result_tlm_'+_gnr).innerHTML = sgt; 
		Show('result_tlm_'+_gnr);
		return true; 
	} else { 
		$('result_tlm_'+_gnr).innerHTML = ""; 
		Hide('result_tlm_'+_gnr); 
		return false; 
	}
}

function highlightResult(_txt) { 
	_txt = _txt.replace(/\[b\]/gi, "<span class='key_word'>"); 
	_txt = _txt.replace(/\[\/b\]/gi, "</span>"); 
	return _txt;
} 


function decodeMisspelling(xmlRoot) { 
	if (!g_MISSPELLER_ENABLED)
		return;
	var xml = xmlRoot.getElementsByTagName("misspelling");
	if (!xml || !xml[0]) {
		Hide('did_you_mean_box_frame'); 
		return; 
	} 
	Show('did_you_mean_box_frame'); 
	Hide('subtitle_div');
	record = xml[0].getElementsByTagName("query");
	var tt = ""; 
	for (i = 0; i < record.length; i++) {
		tt += "<b><a href='#' onclick='putQueryTxt(\""+record[i].firstChild.data+"\")'>"+record[i].firstChild.data+"</a></b> "; 
	} 	
	$('did_you_mean_txt').innerHTML = tt; 	
}

function getSubTagValue(_root, _name) { 
	r = _root.getElementsByTagName(_name); 
	if (!r || !r[0])
		return ""; 
	return r[0].firstChild.data; 
}


function resetLastResult() { 
	g_CURRENT_GROUP = -1;
	for (i = 1; i < 7; i++) {
		g_LIMITED_PAGE[i] = true; 
	} 
}

function prepareDictList() { 
	var sl_cd = "";  
	for (i = 0; i < g_DICTIONARIES.length; i++) { 
		if (g_DICTIONARIES[i].active) { 
			sl_cd += g_DICTIONARIES[i].kod+':'; 
		}
	}
	
	return sl_cd; 
} 


function fillDictionaries() { 
} 

function updateCommercial() {
}

function addEngine(lang,ShowFinishText) {
	if ((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function")) {
		window.sidebar.addSearchEngine(
		"http://www.getionary.pl/plugins/getionary"+lang+".src",
		"http://www.getionary.pl/plugins/getionary"+lang+".png",
		"getionary"+lang,
		"General");
		alert(ShowFinishText);
	 }
}

function enablePaggingBtns() { 
	g_ENABLE_PAGING = true;
	for (i=0; i<7; i++) { 
		if ($('page_next_'+i))
			$('page_next_'+i).src = './img_page/next_small.gif';
		if ($('page_prev_'+i))
			$('page_prev_'+i).src = './img_page/prev_small.gif';
	}
}
