// Ne lehessen - ha egy mód van rá - back-elni...
if (!top.enableback) {
  window.history.forward();
}
var info_contents = new Object();

function focus_next_widget(widget_name) {
	var szerzkot_form = document.getElementById('szerzkot_form');
	for (var i = 0; i < szerzkot_form.elements.length; i++) {
		if (szerzkot_form.elements[i].name == widget_name) {
			for (var j = i + 1; j < szerzkot_form.elements.length; j++) {
				if (!szerzkot_form.elements[j].disabled && szerzkot_form.elements[j].type != 'hidden') {
					i = j;
					break;
				}
			}
//			alert('Fókuszálom: '+szerzkot_form.elements[i].name+' ('+szerzkot_form.elements[i]+')');
			szerzkot_form.elements[i].focus();
			break;
		}
	}
}

function szerzkot_submit(focus_widget) {
//	alert(focus_widget);
	var szerzkot_form = null;
	if (typeof(focus_widget) != 'undefined' && focus_widget != null)
	{
		szerzkot_form = focus_widget.form;
		if (typeof(szerzkot_form.focus_widget) != 'undefined' && szerzkot_form.focus_widget != null)
			szerzkot_form.focus_widget.value = focus_widget.name;
	}
	if (szerzkot_form == null) szerzkot_form = document.getElementById('szerzkot_form');
    if (szerzkot_form.action.indexOf('#') == -1) {
   	    szerzkot_form.action = szerzkot_form.action + '#ugorj_' + focus_widget.name;
    } else {
	    szerzkot_form.action = szerzkot_form.action.substring(0,szerzkot_form.action.indexOf('#')) + '#ugorj_' + focus_widget.name;
    }
    
	szerzkot_form.submit();
}

function szerzkot_goto(page,mode) {
	var szerzkot_form = document.getElementById('szerzkot_form');
	szerzkot_form.next_page.value = page;
	szerzkot_form.next_mode.value = mode;
	szerzkot_form.submit();
	return false;
}

function show_legend(legend) {
	text  = "<html><head><title>Fogalommagyarázat</title><link href='aegon.css' rel='stylesheet' type='text/css'></head><body><p class='szoveg'>";
	text += legend;
	text += "</p></body></html>";
	x = window.open("about:blank","fogalom","width=400,height=300");
	x.document.open();
	x.document.write(text);
	x.document.close();
	x.focus();
}

function disable_widgets(form, field_names, disable) {
	if (typeof(field_names) == 'string') field_names = new Array(field_names);
	for (var i = 0; i < field_names.length; i++) {
		var widget = form[field_names[i]];
		if (widget != null && typeof(widget) != 'undefined') {
			widget.disabled = disable;
			if (disable) widget.className='dijkalkulacio-input-' + widget.type;
		}
	}
}

function widget_focus(field_name, subfields, wrong, pos_img) {
	if (pos_img == null) pos_img = field_name;
	pozicionalas('infokep_'+pos_img, info_contents[field_name], null);

	if (!wrong) {
		var adat_mezok = new Array();
		if (subfields != null && subfields.length > 0) {
			for (var i = 0; i < subfields.length; i++) {
				var widget = document.getElementById(field_name + '_' + subfields[i]);
				if (widget != null) adat_mezok[adat_mezok.length] = widget;
			}
		} else {
			var widget = document.getElementById(field_name);
			if (widget != null) adat_mezok[0] = widget;
		}

		for (var i = 0; i < adat_mezok.length; i++) {
			adat_mezok[i].className='dijkalkulacio-input-' + adat_mezok[i].type;
		};
	}
}

function get_widget_value(widget) {
	if (typeof(widget) == undefined || widget == null) return '';
	var widget_type = widget.type;
	var value = '';

	if (typeof(widget_type) == 'undefined' && widget.length) {
		if (widget[0] != null && typeof(widget[0].type) != 'undefined') {
			return get_widget_value(widget[0]);
		} else {
			return '';
		}
	} else if (widget_type == 'select-one') {
		value = widget.options[widget.selectedIndex].value;
	} else if (widget_type == 'select-multi') {
		for (var j = 0; j < widget.options.length; j++) {
			if (widget.options[j].selected) {
				if (value != '') value += ',';
				value += widget.options[j].value;
			}
		}
	} else if (widget_type == 'checkbox') {
		if (widget.checked) value = widget.value;
	} else if (widget_type == 'radio') {
		for (var j = 0; j < widget.form.elements.length; j++) {
			var this_widget = widget.form.elements[j];
			if (this_widget.name == widget.name && this_widget.type == 'radio' && this_widget.checked) {
				if (value != '') value += ',';
				value += this_widget.value;
			}
		}
	} else {
		value = widget.value;
	}

	return value;
}

function set_widget_value(widget, value) {
	if (typeof(widget) == undefined || widget == null) return false;
	var widget_type = widget.type;
	var megvan = false;

	if (typeof(widget_type) == 'undefined' && widget.length) {
		for (var i = 0; i < widget.length; i++) {
			var ezaz = set_widget_value(widget[i], value);
			megvan = megvan || ezaz;
		}
	} else if (widget_type == 'select-one') {
		for (var i = 0; !megvan && i < widget.options.length; i++) {
			if (widget.options[i].value == value) {
				megvan = true;
				widget.selectedIndex = i;
			}
		}
	} else if (widget_type == 'select-multi') {
		for (var j = 0; j < widget.options.length; j++) {
			widget.options[j].selected = (widget.options[j].value == value);
			megvan = megvan || widget.options[j].selected;
		}
	} else if (widget_type == 'checkbox') {
		widget.checked = (value ? true : false);
		megvan = true;
	} else if (widget_type == 'radio') {
		for (var j = 0; j < widget.form.elements.length; j++) {
			var this_widget = widget.form.elements[j];
			if (this_widget.name == widget.name && this_widget.type == 'radio') {
				this_widget.checked = (this_widget.value == value);
				megvan = megvan || this_widget.checked;
			}
		}
	} else {
		widget.value = value;
		megvan = true;
	}

	return megvan;
}

function del_widget_value(widget) {
	if (typeof(widget) == undefined || widget == null) return;
	var widget_type = widget.type;

	if (typeof(widget_type) == 'undefined' && widget.length) {
		for (var i = 0; i < widget.length; i++) {
			del_widget_value(widget[i]);
		}
	} else if (widget_type == 'select-one') {
		widget.selectedIndex = null;
	} else if (widget_type == 'select-multi') {
		for (var j = 0; j < widget.options.length; j++) {
			widget.options[j].selected = false;
		}
	} else if (widget_type == 'checkbox') {
		widget.checked = false;
	} else if (widget_type == 'radio') {
		for (var j = 0; j < widget.form.elements.length; j++) {
			var this_widget = widget.form.elements[j];
			if (this_widget.name == widget.name) {
				if (this_widget.type == 'radio') this_widget.checked = false;
				else del_widget_value(this_widget);
			}
		}
	} else {
		widget.value = '';
	}
}

function widget_blur(field_name, subfields, wrong, mandatory, mind_kell) {
	hideDiv('info_layer');
	var widget = document.getElementById(field_name);

	if (!wrong && mandatory) {
		var adat_mezok = new Array();
		if (subfields != null && subfields.length > 0) {
			for (var i = 0; i < subfields.length; i++) {
				var this_widget = document.getElementById(field_name + '_' + subfields[i]);
				if (this_widget != null) adat_mezok[adat_mezok.length] = this_widget;
			}
		} else {
			if (widget != null) adat_mezok[0] = widget;
		}

		var rendben = false;
		if (mind_kell) {
			rendben = true;
			for (var i = 0; i < adat_mezok.length && rendben; i++) {
				var value = get_widget_value(adat_mezok[i]);
				rendben = (value != '' && value != '-');
			}
		} else {
			for (var i = 0; i < adat_mezok.length && !rendben; i++) {
				var value = get_widget_value(adat_mezok[i]);
				rendben = (value != '' && value != '-');
			}
		}

		if (!rendben) {
			for (var i = 0; i < adat_mezok.length; i++) {
				var widget = adat_mezok[i];
				var widget_type = widget.type;
				adat_mezok[i].className='dijkalkulacio-input-' + adat_mezok[i].type + ' error-input-' + adat_mezok[i].type;
			}
		}
	}

	// Firefox-on sokszor nem fut le az onchange text inputra, ha olyan értéket írsz be,
	// ami a history-jában már szerepelt.
	if (widget != null && widget.type == 'text' && widget.value != widget.defaultValue && typeof(widget.onchange) != 'undefined') {
//		alert('onchange: '+widget.onchange);
		widget.onchange(null);
	}
}

function text_onchange (widget) {
	// Firefox-on sokszor nem fut le az onchange text inputra, ha olyan értéket írsz be,
	// ami a history-jában már szerepelt.
	if (widget != null && widget.type == 'text' && widget.value != widget.defaultValue && typeof(widget.onchange) != 'undefined') {
//		alert('onchange: '+widget.onchange);
		widget.onchange(null);
	}
} 

/*
Floating Menu script-  Roy Whittle (http://www.javascript-fx.com/)
Script featured on/available at http://www.dynamicdrive.com/
This notice must stay intact for use
*/

//Enter "frombottom" or "fromtop"
var verticalpos = "fromtop";
var min_y_coord = 99;
var dist_from_top = 20;
var dist_from_left = 800;

function JSFX_FloatTopDiv()
{
	var startX = dist_from_left, startY = dist_from_top;
	if (startY < min_y_coord) startY = min_y_coord;
	var ns = (navigator.appName.indexOf("Netscape") != -1);
	var d = document;

	function ml(id)
	{
		var el = d.getElementById ?
			d.getElementById(id) :
			d.all ?
			d.all[id] :
			d.layers[id];

		if (d.layers) el.style = el;

		el.sP = function(x,y) {
			this.style.left = x;
			this.style.top  = y;
		};

		el.x = startX;
		if (verticalpos=="fromtop")
			el.y = startY;
		else {
			el.y = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
			el.y -= startY;
		}

		return el;
	}

	var ftlObj = ml("divStayTopLeft");

	window.stayTopLeft = function()
	{
		if (verticalpos == "fromtop") {
			var pY = ns ? pageYOffset : document.body.scrollTop;
			var targetY = pY + dist_from_top;
			if (targetY < min_y_coord) targetY = min_y_coord;
			ftlObj.y += (targetY - ftlObj.y)/8;
		} else {
			var pY = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
			ftlObj.y += (pY - startY - ftlObj.y)/8;
		}

		ftlObj.sP(ftlObj.x, ftlObj.y);
		// setTimeout("stayTopLeft()", 10);
	}

	setInterval("stayTopLeft()", 10);
	//	stayTopLeft();
}


// ha elertuk a maxlenghtet vagy a kifejezes teljesul akkor atugrunk a kovetkezo widgetre onkeyupra erdemes meghivni
function nextFocus(widget, expr) {
	if (widget.maxLength == widget.value.length || expr) {
		focus_next_widget(widget.name);
//		for (var i=0; widget.form.elements[i]!=widget; i++);
//		widget.form.elements[i+1].focus();
	}
}

// visszaadja a lenyomott billentyut, seged tablazat lentebb
function getKeyNum(e) {
  return window.event ? e.keyCode : e.which; // ie: keyCode, NFO: which
}


/*
Key Pressed  	Javascript Key Code
backspace 	8
tab 	9
enter 	13
shift 	16
ctrl 	17
alt 	18
pause/break 	19
caps lock 	20
escape 	27
space	32
page up 	33
page down 	34
end 	35
home 	36
left arrow 	37
up arrow 	38
right arrow 	39
down arrow 	40
insert 	45
delete 	46
0 	48
1 	49
2 	50
3 	51
4 	52
5 	53
6 	54
7 	55
8 	56
9 	57
a 	65
b 	66
c 	67
d 	68
e 	69
f 	70
g 	71
h 	72
i 	73
j 	74
k 	75
l 	76
m 	77
n 	78
o 	79
p 	80
q 	81
r 	82
s 	83
t 	84
u 	85
v 	86
w 	87
x 	88
y 	89
z 	90
left window key 	91
right window key 	92
select key 	93
numpad 0 	96
numpad 1 	97
numpad 2 	98
numpad 3 	99
numpad 4 	100
numpad 5 	101
numpad 6 	102
numpad 7 	103
numpad 8 	104
numpad 9 	105
multiply 	106
add 	107
subtract 	109
decimal point 	110
divide 	111
f1 	112
f2 	113
f3 	114
f4 	115
f5 	116
f6 	117
f7 	118
f8 	119
f9 	120
f10 	121
f11 	122
f12 	123
num lock 	144
scroll lock 	145
semi-colon 	186
equal sign 	187
comma 	188
dash 	189
period 	190
forward slash 	191
grave accent 	192
open bracket 	219
back slash 	220
close braket 	221
single quote 	222
*/

// true, ha a lenyomott billentyu szamjegy, vagy vezerlo, onkeydown-ra erdemes meghivni: onkeydown="return numeric(event)"
function numeric(e) {
   var k = getKeyNum(e);
   return k<=46 || (k>=48 && k<=57) || (k>=96 && k<=105);
//   return k==8 || k==46 || k==9 || k==16 || k==37 || k==39 || (k>=48 && k<=57) || (k>=96 && k<=105);
}
