function menuhover(id, text, state, rest) {
	var img = $(id);
	if (!img) {
		return;
	}
	if (!rest) {
		rest = '';
	}
	if (rest) {
		rest += '&';
	}
	var src = '/img/dyn/alrovat.php?' + rest + 't=' + text + '&enc=base64';
	if ( state ) {
		src += '&bg=1';
	} else {
		
	}
	img.src = src;
}

function show_subcat(baseid, obj) {
	hide_all(baseid);
	var s = $(baseid+'-subc-'+obj.value);
	if ( s !== null ) { 
		s.show();
		var e = $(baseid+'-elts-'+s.value);
		if ( e !== null ) {
			e.show();
		}
	}
	set_result(baseid, 0);
}

function show_elt(baseid, obj) {
	hide_all(baseid);
	obj.show();
	var e = $(baseid+'-elts-'+obj.value);
	if ( e !== null ) {
		e.show();
	}
	set_result(baseid, 0);
}

function hide_all(baseid) {
	var sels = $(baseid+'-main').getElementsByTagName('select');
	for (var i = 0; i < sels.length; ++i) {
		if ( sels[i].id == baseid+'-mainc' ) {
			continue;
		}
		if (sels[i].hide)
		{
			sels[i].hide();
		}
		else
		{
			sels[i].style.display='none';
		}
	}
}

function set_result(baseid, sel) {
	$(baseid+'-hidden').value = sel;
}

document.getEbyCN = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
};

function validate_field(f, ep) { // return the errormsg if invalid, else return false
	if ('byclass' in f && f.byclass) {
		var elts = document.getEbyCN(f.classname);
		if ('percent' in f && f.percent) {
			var total = 0;
			var has_numbers = false;
			for (var i = 0; i < elts.length; ++i) {
				var n = parseInt(elts[i].value, 10);
				if (isNaN(n)) {
					n = 0;
				} else {
					has_numbers = true;
				}
				total += n;
			}
			if (has_numbers && Math.abs(100-total) > f.tolerance) {
				return f.msg;
			}
		}
	} else if ( 'or' in f && f.or ) {
		var ok = false;
		for ( var i = 0; i < f.fields.length; ++i ) {
			if (_dgn(ep+'[0]['+('prefix' in f ? f.prefix : 'szervezetek_')+f.fields[i]+']')[0].value != ('val' in f ? f.val : '') ) {
				ok = true;
			}
		}
		if ( !ok ) {
			return f.msg;
		}
	} else if ( 'byid' in f ) {
		var thisfield = $(f.field);
		if ( !thisfield || thisfield.value == ('val' in f ? f.val : '') ) {
			return f.msg;
		}
	} else if ( _dgn(ep+'[0]['+('prefix' in f ? f.prefix : 'szervezetek_')+f.field+']')[0].value == ('val' in f ? f.val : '') ) {
		return f.msg;
	}
	return false;
}

function CheckForm ()
{
	var elemprefix = 'kisnonprofitszervuj';
	var to_check = [
	{ field: 'Nev', msg: 'Szervezet neve nincs kitöltve' },
	{ field: 'S_SzervUjJogforma', msg: 'Jogforma nincs kitöltve', prefix: '', val: 0 },
	{ field: 'S_SzervUjJogallas', msg: 'Közhaszúsági besorolás nincs kitöltve', prefix: '' },
	{ field: 'S_SzervUjMegye', msg: 'Megye nincs kitöltve', prefix: '', val: 0 },
	{ field: 'Telefon', msg: 'Telefon nincs kitöltve' },
	{ field: 'Email', msg: 'Email nincs kitöltve' },
	{ field: 'hierarchy3-sel-kisnonprofitszervujSKshBesEdit-hidden', msg: 'Adja meg a pontos KSH kategóriát a "Tevékenységi körök" mezőben', byid: true, val: 0 },
	{ field: 'S_SzervMukodesiHataskor', msg: 'Működési hatáskör nincs kitöltve', prefix: '' },
	{ field: 'Celkituzes', msg: 'Célkitűzés nincs kitöltve' },
	{ field: 'Szolgaltatas', msg: 'Tevékenység leírása nincs kitöltve' },
	{ field: 'Alakult', msg: 'Alakulás éve nincs kitöltve' },
	{ field: 'Adoszam', msg: 'Adószám nincs kitöltve' },
	{ field: 'Gyujte', msg: 'Adja meg, hogy szervezete gyűjt-e 1%-ot', val: 2 },
	{ field: 'BirosagiNyilvantartasiSzam', msg: 'Bírósági nyilvántartási szám nincs kitöltve' },
	{ field: 'VarOnkentest', msg: 'Adja meg, hogy szervezete vár-e önkénteseket', val: 2 },
	{ field: 'Kepviselo', msg: 'A szervezet hivatalos képviselőjének neve nincs kitöltve' },
	{ field: 'HozzajarulReklam', msg: 'Hozzájárulás reklámhoz nincs kitöltve', val: 2 },
	{ field: 'HozzajarulUzletszerzes', msg: 'Hozzájárulás egyéb célokra nincs kitöltve', val: 2 },
	{ field: 'HozzajarulMiniszterium', msg: 'Hozzájárulás minisztériumi célokra nincs kitöltve', val: 2 }
	]; // leave no trailing comma after last {} or ie dies.
	var messages = [];
	msg = 'Ön nem töltött ki minden szükséges mezőt. Kérjük, a csillaggal jelölt mezőket töltse ki!\n\n';
	for ( var i = 0; i < to_check.length; ++i ) {
		var reply = validate_field(to_check[i], elemprefix);
		if ( reply ) {
			messages.push(reply);
		}
	}
	if ( messages.length ) {
		msg += messages.join('\n\n');
		alert(msg);
		return false;
	}
}

function _dgn(n)
{
	return document.getElementsByName(n);
}

function resize_logo(mw,mh)
{
        var im = document.getElementById('header-logo').getElementsByTagName('img');
	if (!mw) var maxwidth = 169;
	else var maxwidth = mw;
	if (!mh) var maxheight = 200;
	else var maxheight = mh;

        for ( var i = 0; i < im.length; ++i )
	{
		if ( im[i].width > maxwidth || im[i].height > maxheight )
		{
			if ( im[i].width > im[i].height ) {
				//im[i].height *= 200 / im[i].height;
				im[i].width = maxwidth;
			} else {
				//im[i].width *= 200 / im[i].width;
				im[i].height = maxheight;
			}
		}
        }
}

function mark_db_share_orgs() {
	var rows = $$('.szervrow');
	var i,row,classes,foreign;
	var local_class = 'szerv_origin_'+knp_dbshare.current_knpid;
	for (i=0;i<rows.length;i++) {
		foreign = true;

		row = rows[i];

		classes = row.classNames().toArray();
		for (j=0;j<classes.length;j++) {
			if (classes[j]===local_class) {
				foreign = false;
				break;
			}
		}
		if (foreign) {
			$(row).addClassName('foreign_org');
			row.title = row.title.replace('nonprofit.hu/ ','nonprofit.hu ');
		} else {
			row.title = '';
		}
	}
}
