function openw(targetwindow, url, width, height) {
	var args = "HEIGHT=" + height + ",WIDTH=" + width +
	           ",SCROLLBARS=YES,STATUS=YES,RESIZABLE=YES,LOCATION=NO,LEFT=" +
	           (window.screen.availWidth - width) / 2 +
	           ",TOP=" +
	           (window.screen.availHeight - height) / 2;
	var new_wind = window.open(url, targetwindow, args);
	new_wind.focus();
	return new_wind;
}
function ltrim(s) {
	if (!s) return '';
	var re = /^[\s\t ]*/g;
	return s.replace(re, '');
}
function rtrim(s) {
	if (!s) return '';
	var re = /[\s\t ]*$/g;
	return s.replace(re, '');
}
function trim(s) {
	return ltrim(rtrim(s));
}
function isEmailValid(s) {
	return (s.indexOf(".") > 2) && (s.indexOf("@") > 0);
}
function _redIt(s, s_) {
    if (!s_) return;
    s_.style.backgroundColor = "#FFAAAA";
    s_.focus();
}
function vEmail(dsp, __$) {
	var s = $(__$);
	s.value = trim(s.value);
	if (!isEmailValid(s.value)) {
		_redIt('Introduceti ' + dsp + '.', s);
		return false;
	}
	s.style.backgroundColor = "";
	return true;
}
function vStr(dsp, __$) {
    var s = $(__$);
	if (!s) return;
	s.value = trim(s.value);
	if (!s.value || (s.value.length < 1)) {
        _redIt('Introduceti ' + dsp, s);
		return false;
	}
	s.style.backgroundColor = "";
	return true;
}
function hsh(_$) {
	if ($(_$).style.display == 'none') Element.show($(_$));
	else Element.hide($(_$));
}
function ro_font_transform(_$) {
	if (!_$ || !$(_$)) return;
	var v = $(_$); v = v ? v.value : null;
    var rez = "";
	var html_tag_started = false;
	for (var i = 0; i < v.length; i++) {
		var i_ = v.charAt(i);
		html_tag_started = (i_ == '<') ? true : ((i_ == '>') ? false : html_tag_started);
		if (html_tag_started) {
			rez += i_;
			continue;
		}
		var r_ = ro_font_table[i_];
		rez = rez + ((r_)?r_:i_);
	}
	$(_$).value = rez;
}
var ro_charz_transf_table = [
		'\u0162','T','\u00ce','I','\u0102','A','\u015e','S',
		'\u00c2','A','\u015f','s','\u0163','t','\u0103','a',
		'\u00ee','i','\u00e2','a',
		'\u007d','T','\u007e','I','\u002b','A','\u007b','S',
		'\u007c','A','\u005b','s','\u005d','t','\u003d','a',
		'\u0060','i','\u005c','a',
		'\u00de','T','\u00ce','I','\u00c3','A','\u00aa','S',
		'\u00c2','A','\u00ba','s','\u00fe','t','\u00e3','a',
		'\u00ee','i','\u00e2','a'];
var ro_charz_transf = "";
var ro_charz_transf_hash = new Array();
for (var i_ = 0; i_ < ro_charz_transf_table.length; i_ = i_ + 2) {
	ro_charz_transf = ro_charz_transf + '' + ro_charz_transf_table[i_];
	ro_charz_transf_hash[ro_charz_transf_table[i_]] = ro_charz_transf_table[i_ + 1];
}
function ro_replacements(value) {
	if (!value) return "";
	var html_tag_started = false;
	rez = "";
	for (var i = 0; i < value.length; i++) {
		var src = value.charAt(i);
		html_tag_started = (src == '<') ? true : ((src == '>') ? false : html_tag_started);
		if (html_tag_started) {
			rez += src;
			continue;
		}
		var repl = ro_charz_transf_hash[src];
		rez += repl ? repl : src;
	}
	return rez;
}
function char_codes(sample) {
	var result = "";
	for (var i = 0; i < sample.length; i++) {
		result = result + sample.charAt(i) + " " + sample.charCodeAt(i).toString(16) + "\n";
	}
	return result;
}
