var is_opera = (navigator.userAgent.indexOf('Opera')!=-1);
var is_ie = (!is_opera && navigator.userAgent.indexOf('MSIE')!=-1);

var lang = 'hu';
var cimke_kerem_varjon = 'Kérem várjon';
var msg_req_field = '*Kérem töltse ki a kötelező mezőket!';
var msg_valid_email = '*Kérem valós emailcímet adjon meg!';
var cimke_bezar = 'bezár';
var cimke_terkep = 'Térkép';
var cimke_fotogaleria = "Fotógaléria";
var cimke_vissza_az_urlaphoz = 'Vissza az oldalra';

function include() {
	var head = document.getElementsByTagName('head').item(0);
	var d = new Date();
	for(var i=0;i<arguments.length;i++) {
	    var js = document.createElement('script');
	    js.setAttribute('language', 'javascript');
	    js.setAttribute('type', 'text/javascript');
	    js.setAttribute('src', '/js/'+arguments[i]+"?"+parseInt(d.getTime()) );
	    head.appendChild(js);
	}
    return false;
}

function addEvent(obj, evType, fn, useCapture) {
	if (obj.addEventListener) {
		obj.addEventListener(evType,fn,useCapture);
		return true;
	} else if(obj.attachEvent){
		return obj.attachEvent("on"+evType,fn);
	} else {
		return false;
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if (node == null) node = document;
	if (tag == null) tag = '*';
	var elems = node.getElementsByTagName(tag);
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	var i = 0;
	for (var j = 0; j < elems.length; j++) {
		if ( pattern.test(elems[j].className) ) {
			classElements[i++] = elems[j];
		}
	}
	return classElements;
}

function getFirstElementByClass(searchClass,node,tag) {
	if (node == null) node = document;
	if (tag == null) tag = '*';
	var elems = getElementsByClass(searchClass,node,tag);
	if (elems.length > 0) return elems[0];
	return null;
}

function toggleDisplayById(id) {
	var obj = document.getElementById(id);
	if (!obj) return;
	toggleDisplay(obj);
}

function toggleDisplay(obj) {
	obj.style.display=(obj.offsetHeight)?"none":"block";
}

function hiddenAllSelect() {
	var s = document.getElementsByTagName('select');
	for (i=0; i<s.length; i++) {
		s[i].style.visibility = 'hidden';
	}
}

function visibleAllSelect() {
	var s = document.getElementsByTagName('select');
	for (i=0; i<s.length; i++) {
		s[i].style.visibility = 'visible';
	}
}

function createXMLHttpRequest() {
	var types = ['Microsoft.XMLHTTP','MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
	for (i in types) {
		try {
			return new ActiveXObject(types[i]);
		} catch(e) {}
	}
	try {
		return new XMLHttpRequest();
	} catch(e) { }
	return false; // XMLHttpRequest not supported
}

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}
function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function emailCheck(str){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	return filter.test(str);
}

function appendFlash(obj, params) {
	if (params.version == null) params.version = 0;
	if (params.width == null) params.width = '100%';
	if (params.height == null) params.height = '100%';
	if (params.flashVars == null) params.flashVars = '';
	if (params.wmode == null) params.wmode = 'transparent';
	if (params.scale == null) params.scale = 'scale';
	if (params.salign == null) params.salign = 'tl';
	if (params.name == null) params.salign = '';

	var d = new Date();
	params.src += (( params.src.indexOf('?') != -1 )?"&":"?")+parseInt(d.getTime());

	if (getFlashVersion() < parseInt(params.version) ) {
		if (getFlashVersion() >= 6 && params.flash6) {
			params.src = params.flash6;
		} else {
			obj.innerHTML = '<a href="http://macromedia.com/go/flashplayer" class="popup">Kérem töltse le a legújabb Flash lejátszót!</a>';
			return;
		}
	}

	if (is_ie) {
		var str = '';
		str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+params.width+'" height="'+params.height+'" id="'+params.name+'">';
		str+= '  <param name="movie" value="'+params.src+'" />';
		str+= '  <param name="scale" value="'+params.scale+'" />';
		str+= '  <param name="wmode" value="'+params.wmode+'" />';
		str+= '  <param name="salign" value="'+params.salign+'" />';
		str+= '  <param name="quality" value="high" />';
		str+= '  <param name="allowScriptAccess" value="sameDomain" />';
		str+= '  <param name="quality" value="high" />';
		str+= '  <param name="swliveconnect" value="true"/>';
		str+= '  <param name="FlashVars" value="'+params.flashVars+'" />';
		str+= '  <embed name="'+params.name+'" src="'+params.src+'" scale="'+params.scale+'" salign="'+params.salign+'" wmode="'+params.wmode+'" width="'+params.width+'" height="'+params.height+'" flashvars="'+params.flashVars+'" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" swLiveConnect="true" />';
		str+= '</object>';
		obj.innerHTML += str;
	} else {
		object = document.createElement("object");
		embed = document.createElement("embed");
		if (params.name) {
			object.setAttribute('id', params.name);
			embed.setAttribute('name',params.name);
		}
		embed.setAttribute('src',params.src);
		embed.setAttribute('scale',params.scale);
		embed.setAttribute('salign',params.salign);
		embed.setAttribute('wmode',params.wmode);
		embed.setAttribute('quality','high');
		embed.setAttribute('allowScriptAccess','sameDomain');

		embed.setAttribute('type','application/x-shockwave-flash');
		embed.setAttribute('pluginspage','http://www.macromedia.com/go/getflashplayer');
		embed.setAttribute('width',params.width);
		embed.setAttribute('height',params.height);
		embed.setAttribute('flashvars', params.flashVars);
		object.appendChild(embed);
		obj.appendChild(object);
	}
}

function AJAXrequest(url, myfunction, method, post) {

	var req = createXMLHttpRequest();
	
	if (method == null) method = 'post';
	if (post == null) post = '';
	url += (( url.indexOf('?') != -1 )?"&":"?")+('ajax=1');
	req.open(method, url, true);
	req.setRequestHeader('Ajax', 'true');
	if (method == 'post') {
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=iso-8859-2');
	}else 
		req.setRequestHeader('Content-Type', 'text/html;charset=UTF-8');


	req.onreadystatechange = function() {
		myfunction(req);
	}
	req.send(post);
}

function getFlashVersion() {
	var v = 0;
	if ( navigator.plugins && navigator.mimeTypes.length ) {
		var x = navigator.plugins["Shockwave Flash"];
		if( x && x.description ) {
			var y = x.description;
			v = y.charAt( y.indexOf( '.' ) - 1 );
		}
	} else {
		result = false;
		for( var i = 15; ( ( i >= 3 ) && ( result != true ) ); i-- ) {
			execScript('on error resume next: result = IsObject( CreateObject( "ShockwaveFlash.ShockwaveFlash.' + i + '" ) )', 'VBScript' );
			v = i;
		}
		if( v == 15) return 0;
	}
	return v;
}

/*********** innen már nem a default... ******************/

function tokmindegy() {
	var link = document.getElementById("tokmindegy");
	if (!link) return;
	link.onclick();
}


function getCSSproperty() {
	var elems = getElementsByClass('getCssProperty');
	if (!elems.length) return;
	var info = document.createElement('div');
	info.className = 'cssdebug';
	document.body.appendChild(info);
	for( var i = 0; i < elems.length; i++ ) {
		var style = (is_ie)?elems[i].currentStyle:document.defaultView.getComputedStyle(elems[i], '');
		info.innerHTML += '<b>'+(i+1)+':</b><br />tagName: '+elems[i].tagName+'<br />';
		info.innerHTML += 'className: '+elems[i].className+'<br />';
		for(j in style) { info.innerHTML += j+': '+style[j]+'<br />'; }
	}
}
addEvent(window, 'load', getCSSproperty);

function popupLink() {
	var links = getElementsByClass("popup",null,"a");
	for(i in links) {
		links[i].setAttribute('target','_blank');
	}
}
addEvent(window, 'load', popupLink);


function makeFlash() {
	var flashs = getElementsByClass('makeflash',null,"div");
	for (var i = 0; i < flashs.length; i++) {
		var params = new Object;
		eval('params = {'+flashs[i].title+'}');
		flashs[i].title = '';
		appendFlash(flashs[i], params);
	}
}
addEvent(window, 'load', makeFlash);

function tabbed() {
	var multitab = getElementsByClass("multitab");
	if (multitab) {
		for(i in multitab) {
			var tabbed = getFirstElementByClass('tabbed',multitab[i]);
			var a = tabbed.getElementsByTagName('a');
			for(j in a) {
				a[j].onclick = function() {this.blur();return false;}
			}
			var li = tabbed.getElementsByTagName('li');
			for(j in li) {
				li[j].onclick = function() {
					var _li = this.parentNode.getElementsByTagName('li');
					var _tab = getElementsByClass('tab',this.parentNode.parentNode.parentNode);

					for(var i=0; i <_li.length; i++) {
						if( _li[i] != this) {
							_li[i].className="";
							if(_tab[i])_tab[i].style.display = "none";
							//if(_tab[i])_tab[i].className = "tab";
						} else {
							_li[i].className="active";
							if(_tab[i])_tab[i].style.display = "block";
							//if(_tab[i])_tab[i].className = "tab visible";
						}
					}
				}
			}
		}
	}
}
addEvent(window, 'load', tabbed);

// csak az első vált:
function tabbedSwitch( i ) {
	var multitab = getFirstElementByClass("multitab");
	var li = multitab.getElementsByTagName('li');
	if (li.length < i) return false;
	li[i-1].onclick();
}

function navigbuttom() {
	var navig = getElementsByClass("navig",null,"div");
	if (!navig) return;
	for(var i = 0; i < navig.length; i++) {
		var li = navig[i].getElementsByTagName('li');
		for (var j = 0; j < li.length; j++) {
			// <span class="active"><span></span></span><span class="normal"><span></span></span>

			var classNames = ['active', 'normal'];
			if( li[j].getElementsByTagName('span').length == 2) {
				var classNames = ['active'];
			} else if( li[j].getElementsByTagName('span').length == 4) {
				var classNames = [];
			}
			for (k in classNames) {
				var span = document.createElement('span');
				span.className = classNames[k];
				span.appendChild( document.createElement('span') );
				li[j].appendChild(span);
			}

			if (!li[j].className) {
				li[j].onmouseover = function() {
					getFirstElementByClass('active',this,'span').style.visibility = 'visible';
				}
				li[j].onmouseout = function() {
					getFirstElementByClass('active',this,'span').style.visibility = 'hidden';
				}
			}
		}
	}
}
addEvent(window, 'load', navigbuttom);

function datatable() {
	var infoTable = getElementsByClass("datatable",null,"table");
	if (infoTable) {
		for(i in infoTable) {
			var tr = infoTable[i].getElementsByTagName("tr");
			for (j=1; j < tr.length; j++) { // nulladikat nem!
				tr[j].onmouseover = function() {
					this.className += ' active';
					if (this.getElementsByTagName("a").length) {
						window.status = this.getElementsByTagName("a")[0].href;
					}
				}
				tr[j].onmouseout = function() {
					window.status = '';
					this.className = this.className.replace(/active/ig,'');
				}
				tr[j].onclick = function() {
					if (this.getElementsByTagName("a").length) {
						window.location.href = this.getElementsByTagName("a")[0].href;
					}
				}
			}
		}
	}
}
//addEvent(window, 'load', datatable);

function expandable() {
	var expand = getElementsByClass("expandable",null,"div");
	if (expand) {
		for(i in expand) {
			var dt = expand[i].getElementsByTagName("dt");
			for(j in dt) {
				dt[j].onclick = function() {
					this.parentNode.className = this.parentNode.className?'':'active';
					return false;
				}
			}
		}
	}
}
//addEvent(window, 'load', expandable);


function antiSpam() {
	var emails = getElementsByClass('antispam',null,'a');
	if (emails) {
		for (i=0; i < emails.length; i++) {
			emails[i].href = emails[i].href.replace('http://', 'mailto:');
			emails[i].href = emails[i].href.replace('.anti.spam.', String.fromCharCode(64));
			emails[i].href = emails[i].href.replace('index.html', '');
			emails[i].innerHTML = emails[i].innerHTML.replace('.anti.spam.', String.fromCharCode(64));
			emails[i].innerHTML = emails[i].innerHTML.replace('http://', '');
			emails[i].innerHTML = emails[i].innerHTML.replace('mailto:', '');
		}
	}
};
addEvent(window, 'load', antiSpam);

function tooltip() {
	var leftcol = getFirstElementByClass("leftcol", null, "div");
	var dd = getElementsByClass("tooltip",leftcol,"dd");
	if (dd) {
		for (i=0; i < dd.length; i++) {
			if (is_ie) {
				var iframe = document.createElement("iframe");
				dd[i].appendChild(iframe);
			}
			dd[i].parentNode.getElementsByTagName('dt').item(0).onmouseover = function() {
				this.parentNode.style.zIndex = 100000;
				this.parentNode.style.position = 'relative';
				var a = getElementsByClass("tooltip",this.parentNode,"dd");
				for(j=0; j < a.length; j++) {
					a[j].style.display = 'block';
					var iframe = this.parentNode.getElementsByTagName('iframe');
					if (iframe[0]) iframe[0].style.height = a[j].offsetHeight;
				}
			}
			dd[i].parentNode.getElementsByTagName('dt').item(0).onmouseout = function() {
				this.parentNode.style.zIndex = 10;
				var a = getElementsByClass("tooltip",this.parentNode,"dd");
				for(j=0; j < a.length; j++) {
					a[j].style.display = 'none';
				}
			}
		}
	}
};
addEvent(window, 'load', tooltip);

function contactForm(node) {
	var links = getElementsByClass("rightmenu",node,"a");
	for(var i = 0; i < links.length; i++) {
		links[i].onclick = function() {
			var href = this.href;
			var extraParam = '';
			if( href.indexOf('?') != -1) {
				extraParam = href.substring( 1+href.indexOf('?') );
				href = href.substring( 0, href.indexOf('?') );
			}
			var a = href.split('index.html');
			AJAXrequest('/ajax/form?name='+a[a.length-1]+'&'+extraParam,popupLayer);
			return false;
		}
	}
}
addEvent(window, 'load', function() { contactForm(document) });

function popupGallery(file) {
	var popupgalleryDiv = getFirstElementByClass('popupgallery',null,'div');
	if(!popupgalleryDiv) {
		if (is_ie) { hiddenAllSelect(); }
		var popupgalleryDiv = document.createElement('div');
		document.body.appendChild(popupgalleryDiv);
		popupgalleryDiv.className = 'popupgallery';

		var galleryDiv = document.createElement("div");
		popupgalleryDiv.appendChild(galleryDiv);
		galleryDiv.className = "gallery";

		var h1 = document.createElement("h1");
		h1.appendChild( document.createTextNode(cimke_fotogaleria) )
		galleryDiv.appendChild( h1 );

		var imageDiv = document.createElement("div");
		galleryDiv.appendChild(imageDiv);
		imageDiv.className = "image";

		var containerDiv = document.createElement("div");
		imageDiv.appendChild(containerDiv);
		containerDiv.className = "container";

		var img = document.createElement("img");
		containerDiv.appendChild(img);

		var listDiv = document.createElement("div");
		galleryDiv.appendChild(listDiv);
		listDiv.className = "list";

		var links = getElementsByClass("popup_gallery",null,"a");
		for (i in links) {
			if (links[i].href.indexOf(file) != -1) {
				var flashVars = links[i].href.substr(links[i].href.indexOf('itemlist='));
			}
		}

		var flashParam = {'src':'/flash/projector.swf', 'height':'110','flashVars':flashVars};
		appendFlash(listDiv, flashParam);

		var closelinkDiv = document.createElement("div");
		galleryDiv.appendChild(closelinkDiv);
		closelinkDiv.className = "closelink";

		var closelink = document.createElement("a");
		closelinkDiv.appendChild(closelink);
		closelink.href = '#';
		closelink.innerHTML = 'x';
		closelink.onclick = function() {
			if(is_ie){visibleAllSelect();}
			document.body.removeChild( getFirstElementByClass('popupgallery',null,'div') );
			return false;
		}

		var div = document.createElement("div");
		popupgalleryDiv.appendChild(div);
		div.className = "popupAlpha";
	} else {
		var img = popupgalleryDiv.getElementsByTagName('img');
		img = img[0];
	}
	img.src = file.replace('.jpg','index.html');
}

function popupGalleryInit(node) {
	var links = getElementsByClass("popup_gallery",node,"a");
	for(var i = 0; i < links.length; i++) {
		links[i].onclick = function() {
			var firstImg = this.href;
			if ( this.href.indexOf('::') != -1 ) {
				firstImg = this.href.substr( 0, this.href.indexOf('::') );
			}
			firstImg = firstImg.substr( firstImg.indexOf('itemlist=')+9 );
			popupGallery(firstImg);
			return false;
		}
	}
}
addEvent(window, 'load', function() { popupGalleryInit(document) });

function popupMapInit() {
	var links = getElementsByClass("popupMap",null,"a");
	for(var i = 0; i < links.length; i++) {
		links[i].onclick = function() {
			if (is_ie) { hiddenAllSelect(); }
			var div = document.createElement("div");
			document.body.appendChild(div);
			div.className = "popupLayer popup_Map";
			div.setAttribute("id", "popupLayer");

			var h1 = document.createElement("h1");
			h1.appendChild( document.createTextNode(cimke_terkep) )
			div.appendChild( h1 );

			var closeLink = document.createElement("div");
			div.insertBefore(closeLink, div.firstChild);
			closeLink.className = 'closelink';
			var closeLinkA = document.createElement("a");
			closeLink.appendChild(closeLinkA);
			closeLinkA.setAttribute("alt", "bezár");
			closeLinkA.setAttribute("title", "bezár");
			closeLinkA.href = "javascript:popupClose();";
			if (!is_ie) closeLinkA.href = "#";
			closeLinkA.appendChild( document.createTextNode("x") )
			closeLinkA.onclick = function() {popupClose(); return false;};

			var popupAlphaDiv = document.createElement("div");
			document.body.appendChild(popupAlphaDiv);
			popupAlphaDiv.className = "popupAlpha";
			popupAlphaDiv.setAttribute("id", "popupAlpha");

			appendFlash(div, {'src':this.href,'height':'400','wmode':'opaque'});
			return false;
		}
	}
}
addEvent(window, 'load', popupMapInit );

function popupClose() {
	if(is_ie){visibleAllSelect();}
	if ( document.getElementById('popupLayer') ) {
		document.body.removeChild( document.getElementById('popupLayer') );
	}
	if ( document.getElementById('popupAlpha') ) {
		document.body.removeChild( document.getElementById('popupAlpha') );
	}
	//return false;
}

function popupLayer(req) {
	if (req.readyState == 4) {
		if (req.status == 200) {
if (is_ie) { hiddenAllSelect(); }
			var div = document.createElement("div");
			document.body.appendChild(div);
			div.className = "popupLayer";
			div.setAttribute("id", "popupLayer");

			div.innerHTML = req.responseText;
			explanatoryValue(div);
			validateNumber(div);

			div.className += ' '+div.firstChild.className;

			var closeLink = document.createElement("div");
			div.insertBefore(closeLink, div.firstChild);
			closeLink.className = 'closelink';
			var closeLinkA = document.createElement("a");
			closeLink.appendChild(closeLinkA);
			closeLinkA.setAttribute("alt", 'bezár');
			closeLinkA.setAttribute("title", 'bezár');
			closeLinkA.href = "#";
			closeLinkA.appendChild( document.createTextNode("x") )

			var popupAlphaDiv = document.createElement("div");
			document.body.appendChild(popupAlphaDiv);
			popupAlphaDiv.className = "popupAlpha";
			popupAlphaDiv.setAttribute("id", "popupAlpha");
			closeLinkA.onclick = popupClose;
			var forms = div.getElementsByTagName('form');
			for( i = 0; i < forms.length; i++) {
				formExtras(forms[i]);
				var waitingAnim = document.createElement("div");
				forms[i].insertBefore(waitingAnim, forms[i].firstChild)
				forms[i].appendChild( waitingAnim );
				waitingAnim.className = 'waitinganim';
				waitingAnim.appendChild( document.createTextNode(cimke_kerem_varjon+"...") );
				var waiting = document.createElement("div");
				forms[i].insertBefore(waiting, forms[i].firstChild);
				waiting.className = 'waiting';
				forms[i].onsubmit = function() {formValidator(this); return false;}
			}

			// az első elemre a fókusz:
			var inputs = div.getElementsByTagName('input');
			if (inputs.length > 1) {
				inputs[0].focus();
			}
		}
	}
}

// TODO: pontosítani! // alapból a pluszt space-nek veszi.
function myEscape(str) {
	str = str.split('+').join('%2B');
	str = str.split('&').join( escape('&') );
	return str;
}

function formValidator(form) {
	var errorMsg = getFirstElementByClass('errorMsg',form,'div');
	if (!errorMsg) {
		var errorMsg = document.createElement("div");
		form.appendChild( errorMsg );
		errorMsg.className = 'errorMsg';
		errorMsg.style.display = 'none';
	}
	errorMsg.style.display = 'none';

	var thanxMsg = getFirstElementByClass('thanxMsg',form,'div');
	if (!thanxMsg) {
		var thanxMsg = document.createElement("div");
		form.appendChild( thanxMsg );
		thanxMsg.className = 'thanxMsg';
		thanxMsg.style.display = 'none';
	}
	thanxMsg.style.display = 'none';
	
	var required = getElementsByClass('required',form,null);
	for (i in required) {
		if ((required[i].tagName == 'SELECT' && !required[i].selectedIndex) || (required[i].tagName == 'INPUT' && !required[i].value)) {
			errorMsg.innerHTML = '*Kérem töltse ki a kötelező mezőket!';
			errorMsg.style.display = 'block';
			required[i].focus();
			return;
		}
	}

	var email = getElementsByClass('validate-email',form,null);
	for (i in email) {
		if (email[i].value && !emailCheck(email[i].value)) {
			errorMsg.innerHTML = '*Kérem valós emailcímet adjon meg!';
			errorMsg.style.display = 'block';
			email[i].focus();
			return;
		}
	}

	if (is_ie) {hiddenAllSelect();}
	toggleDisplay( getFirstElementByClass('waiting', form, 'div') )
	toggleDisplay( getFirstElementByClass('waitinganim', form, 'div') )

    var post = '';
    var inputTypes = ['input', 'select', 'textarea'];
    for (i in inputTypes) {
	    var inputs = form.getElementsByTagName(inputTypes[i]);
    	if (is_ie && inputTypes[i] == 'select') {
			for(var j = 0; j < inputs.length; j++) {
				var option = inputs[j].getElementsByTagName('option');
				if (inputs[j].options[inputs[j].selectedIndex].value) {
					post += inputs[j].name+'='+myEscape(inputs[j].options[inputs[j].selectedIndex].value)+'&';
				} else {
					post += inputs[j].name+'='+myEscape(inputs[j].options[inputs[j].selectedIndex].text)+'&';
				}
			}
    	} else { 
			for(j in inputs) {
				// IE radio gombjai:
				// (idióta többször hívja meg)
				if (is_ie && inputs[j].length > 1) {
					for (jj = 0; jj < inputs[j].length; jj++) {
						if (inputs[j][jj].checked) {
							post += inputs[j][jj].name+'='+inputs[j][jj].value+'&';
						}
					}
				// egyéb input mezők:
				} else if (inputs[j].value != undefined && inputs[j].name) {					
					if (inputs[j].type != 'radio' && inputs[j].type != 'checkbox' || (inputs[j].type == 'radio' && inputs[j].checked) || (inputs[j].type == 'checkbox' && inputs[j].checked)) {
						post += inputs[j].name+'='+myEscape(inputs[j].value)+'&';
					}
				}
			}
		}
	}

	var func = function(req) {
		if (req.readyState == 4) {
			if (req.status == 200) {
				var serverMsg = req.responseText;
				//alert( serverMsg );
				if (serverMsg.substring(0,8) == '<errors>') {
					toggleDisplay( getFirstElementByClass('waiting', form, 'div') )
					toggleDisplay( getFirstElementByClass('waitinganim', form, 'div') )
					errorMsg.style.display = 'block';
					errorMsg.innerHTML = serverMsg;
				} else {
					// statisztika, ha van:
					if ( typeof _makeStat != "undefined") {
						var a = form.action.split('index.html');
						_makeStat( {'action': a[a.length-1]+'_ok'} );
					}
					
					toggleDisplay( getFirstElementByClass('waitinganim', form, 'div') )
					thanxMsg.style.display = 'block';
					var pattern = new RegExp("^<ok>reload\((.*)\)</ok>$");
					var patternthx = new RegExp("<a")
					if (serverMsg == '<ok>reload</ok>') {
						document.location.reload();
					} else if (pattern.test(serverMsg)) {
						href = serverMsg.substring(12);
						href = href.substring(0, href.length-7);
						document.location.href = href;
					} else {
						thanxMsg.innerHTML = serverMsg;
						var linkadva = false;
						if(!patternthx.test(serverMsg)){
								
								thanxMsg.innerHTML += '<br />[ <a href="#" onclick="document.location.reload();return false;">'+cimke_vissza_az_urlaphoz+'</a> ]';
								linkadva = true;
						}
						// Ha nem popupLayer-es formról van szó, akkor egy reload link:
						if ( !document.getElementById('popupLayer') ) {
							
							if(!patternthx.test(serverMsg) && !linkadva){
								
								thanxMsg.innerHTML += '<br />[ <a href="#" onclick="document.location.reload();return false;">'+cimke_vissza_az_urlaphoz+'</a> ]';
							}
						}
					}
				}
			}
		}
	}
	AJAXrequest(form.action, func, 'post', post);
};

function formvalidatorForms() {
	var forms = getElementsByClass('formvalidator',null,'form');
	for( i = 0; i < forms.length; i++) {
		formExtras(forms[i]);
		var waitingAnim = document.createElement("div");
		forms[i].insertBefore(waitingAnim, forms[i].firstChild)
		forms[i].appendChild( waitingAnim );
		waitingAnim.className = 'waitinganim';
		waitingAnim.appendChild( document.createTextNode(cimke_kerem_varjon+"...") );
		var waiting = document.createElement("div");
		forms[i].insertBefore(waiting, forms[i].firstChild);
		waiting.className = 'waiting';
		forms[i].onsubmit = function() {formValidator(this); return false;}
	}
}
addEvent(window, 'load', formvalidatorForms);

// TODO: ez nem itt, így lesz majd.... :)
function createSuggest() {
	suggestDiv = document.createElement('div');
	document.body.appendChild(suggestDiv);
	suggestDiv.setAttribute('id', 'suggest');
	if (is_ie) {
		suggestIframe = document.createElement('iframe');
		suggestIframe.src = "about:blank";
		document.body.appendChild(suggestIframe);
		suggestIframe.setAttribute('id', 'suggestIframe');
	}
	return suggestDiv;
}

function capsLock(node) {
	var input = node.getElementsByTagName("input");
	for(var i = 0; i < input.length; i++) {
		if (input[i].getAttribute('type') == 'password') {
			addEvent(input[i], 'keypress', function(e) {
				var _this = (e.srcElement)?e.srcElement:this;
				var _event = (window.event)?event:e;
				var shift = _event.shiftKey || ( _event.modifiers && ( _event.modifiers & 4 ) );
				var key = _event.which ? _event.which : ( _event.keyCode ? _event.keyCode : ( _event.charCode ? _event.charCode : 0 ) );
				var a = "a".charCodeAt();
				var z = "z".charCodeAt();
				var A = "A".charCodeAt();
				var Z = "Z".charCodeAt();
				if ( ( key >= A && key <= Z && !shift ) || ( key >= a && key <= z && shift )) {
					var suggestDiv = document.getElementById('suggest');
					if (!suggestDiv) createSuggest();
					suggestDiv.style.top = (findPosY(_this)+_this.offsetHeight) +'px';
					suggestDiv.style.left = findPosX(_this) +'px';
					suggestDiv.innerHTML = '<ul><li>Be van nyomva a Caps Lock!</li></ul>';
					suggestDiv.style.display = 'block';
					setTimeout(function() {suggestDiv.style.display = 'none';} ,3000);
				}
			});
		}
	}
}
function explanatoryValue(node) {
	var explanatoryInput = getElementsByClass("explanatory",node,"input").concat(getElementsByClass("explanatory",node,"textarea"));
	for(var i = 0; i < explanatoryInput.length; i++) {
		explanatoryInput[i].setAttribute('explanatory', explanatoryInput[i].value);
		addEvent(explanatoryInput[i], 'focus', function(e) {
			var _this = (e.srcElement)?e.srcElement:this;
			if (_this.value == _this.getAttribute('explanatory')) {
				_this.value = '';
			}
		});
		addEvent(explanatoryInput[i], 'blur', function(e) {
			var _this = (e.srcElement)?e.srcElement:this;
			if (_this.value == '') {
				_this.value = _this.getAttribute('explanatory');
			}
		});
	}
}

function validateNumber(node) {
	var input = getElementsByClass("validate-number",node,"input");
	for(var i = 0; i < input.length; i++) {
		addEvent(input[i], 'keyup', function(e) {
			var _this = (e.srcElement)?e.srcElement:this;
			_this.value = _this.value.replace(/[^0-9.,]/ig,'');
		});
	}
	var input = getElementsByClass("validate-number-spaces",node,"input");
	for(var i = 0; i < input.length; i++) {
		addEvent(input[i], 'keyup', function(e) {
			var _this = (e.srcElement)?e.srcElement:this;
			_this.value = _this.value.replace(/[^0-9.,]/ig,'');
			var t=_this.value;
			var t2='';
			while(t.length>3) {
				t2=' '+t.substring(t.length-3)+t2;
				t=t.substring(0,t.length-3);
			}
			t2=t+t2;
			_this.value=t2
		});
	}
}

function getChecked(node) {
	var retVal = new Array();
	var input = node.getElementsByTagName("input");
	var j = 0;
	for(var i = 0; i < input.length; i++) {
		if (input[i].type == "checkbox" && input[i].checked) {
			retVal[j++] = input[i];
		}
	}
	return retVal;
}

function minOneCheck(node) {
	// TODO: this.parentNode.parentNode nem szép :)
	//       input[j].onclick = input[j].onchange = ... sem. :)
	var block = getElementsByClass("minOneCheck",node);
	for(var i = 0; i < block.length; i++) {
		var checkBoxs = new Array();
		var input = block[i].getElementsByTagName("input");
		for(var j = 0; j < input.length; j++) {
			if (input[j].type == "checkbox") {
				checkBoxs[checkBoxs.length-1] = input[j];
				input[j].onclick = function() {
					var a = getChecked(this.parentNode.parentNode);
					if (a.length == 1) {
						a[0].disabled = true;
					} else {
						for(var k = 0; k < a.length; k++) {
							a[k].disabled = false;
						}
					}
					this.blur();
				}
			}
		}
	}
}

function noEnter(form) {
	var input = form.getElementsByTagName("input");
	for(var i = 0; i < input.length; i++) {
		if (input[i].type != "submit") {
			addEvent(input[i], 'keydown', function(e) {
				var _event = (window.event)?event:e;
				var key = _event.which ? _event.which : ( _event.keyCode ? _event.keyCode : ( _event.charCode ? _event.charCode : 0 ) );
				if (key == 13) return false;
			});
		}
	}
}









function gotoSelect() {
	var select = getElementsByClass('goto',null,'select');
	for(var i = 0; i < select.length; i++) {
		select[i].onchange = function() {
			document.location.href = this.options[this.selectedIndex].value;
		}
	}
}
addEvent(window, 'load', gotoSelect);

function landingFlash() {
	var body = getElementsByClass('landingpage',document,'body');
	if( body.length ) {
		var column1 = getElementsByClass('leftcol',document,'div');
		if (column1.length) {
			if (getFlashVersion() < 6) {
				column1[0].style.display = 'block';
				return;
			}

			var div = document.createElement('div');
			column1[0].parentNode.insertBefore(div, column1[0]);

			div.className = 'leftcol';
			div.style.display = 'block';

			var flashVars = document.location.href.substring( document.location.href.substring(7).indexOf('index.html')+7 );

			var params = {src:'/flash/slidr.swf'+'?val_xmlSource=/xml/column1'+flashVars, width:'200', height:'100%',
				flashVars: '', 
				wmode: 'transparent', scale: 'scale', salign: 'tl' }

			// TODO: appendFlash

			if(is_ie || is_opera || true) {
				var str = '';
				str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+params.width+'" height="'+params.height+'">';
				str+= '  <param name="movie" value="'+params.src+'" />';
				str+= '  <param name="scale" value="'+params.scale+'" />';
				str+= '  <param name="wmode" value="'+params.wmode+'" />';
				str+= '  <param name="salign" value="'+params.salign+'" />';
				str+= '  <param name="quality" value="high" />';
				str+= '  <param name="allowScriptAccess" value="sameDomain" />';
				str+= '  <param name="quality" value="high" />';
				str+= '  <param name="FlashVars" value="'+params.flashVars+'" />'; 
				str+= '  <embed src="'+params.src+'" scale="'+params.scale+'" salign="'+params.salign+'" wmode="'+params.wmode+'" width="'+params.width+'" height="'+params.height+'" flashvars="'+params.flashVars+'" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
				str+= '</object>';
				div.innerHTML = str;
			} /* else {
				 obj = document.createElement("object");
				 embed = document.createElement("embed");
				 embed.setAttribute('src',params.src);
				 embed.setAttribute('scale',params.scale);
				 embed.setAttribute('salign',params.salign);
				 embed.setAttribute('wmode',params.wmode);
				 embed.setAttribute('quality','high');
				 embed.setAttribute('allowScriptAccess','sameDomain');
				 embed.setAttribute('type','application/x-shockwave-flash');
				 embed.setAttribute('pluginspage','http://www.macromedia.com/go/getflashplayer');
				 embed.setAttribute('width',params.width);
				 embed.setAttribute('height',params.height);
				 embed.setAttribute('flashvars', params.flashVars);
				 obj.appendChild(embed);
				 div.appendChild(obj);
			} */
		};
	}
}
//addEvent(window, 'load', landingFlash);

function getCookie(name) {
  var dc=document.cookie;
  var prefix=name+"=";
  var begin=dc.indexOf("; "+prefix);
  if (begin==-1) {
    begin=dc.indexOf(prefix);
    if(begin!=0)return null;
  } else
    begin+=2;
  var end=document.cookie.indexOf(";",begin);
  if (end==-1)
    end=dc.length;
  return unescape(dc.substring(begin+prefix.length,end));
}

function setCookie(name, value, expires, path, domain, secure) {
  document.cookie=name+"="+escape(value)+
    ((expires)?"; expires="+expires.toGMTString():"")+
    ((path)?"; path="+path:"")+
    ((domain)?"; domain="+domain:"")+
    ((secure)?"; secure":"");
}

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie=name+"="+ 
    ((path)?"; path="+path:"")+
    ((domain)?"; domain="+domain:"")+
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function validatorFormInit() {
	var forms = getElementsByClass('validator',null,'form');
	for(i=0; i< forms.length; i++) {
		form = forms[i];
		var waitingAnim = document.createElement("div");
		form.insertBefore(waitingAnim, form.firstChild)
		form.appendChild( waitingAnim );
		waitingAnim.setAttribute("id", "waitinganim");
		waitingAnim.className = 'waitinganim';
		waitingAnim.appendChild( document.createTextNode(cimke_kerem_varjon+"...") )
	
		var waiting = document.createElement("div");
		form.insertBefore(waiting, form.firstChild)
		waiting.setAttribute("id", "waiting");
		waiting.className = 'waiting';
	
		form.onsubmit = function() {
			formValidator(form);
			return false;
		}
	}
	var forms = getElementsByClass('validator_nosend',null,'form');
	for(i=0; i< forms.length; i++) {
		form = forms[i];
		var waitingAnim = document.createElement("div");
		form.insertBefore(waitingAnim, form.firstChild)
		form.appendChild( waitingAnim );
		waitingAnim.setAttribute("id", "waitinganim");
		waitingAnim.className = 'waitinganim';
		waitingAnim.appendChild( document.createTextNode(cimke_kerem_varjon+"...") )
	
		var waiting = document.createElement("div");
		form.insertBefore(waiting, form.firstChild)
		waiting.setAttribute("id", "waiting");
		waiting.className = 'waiting';
	
		form.onsubmit = function() {
			return formValidator_nosend(form);
		}
	}
}
addEvent(window, 'load', validatorFormInit);

/********************************************/

function fejlesztok_rendel_init() {
	var form=document.getElementById('fejlesztok_rendel')
	if(!form) return
	var waitingAnim = document.createElement("div");
	form.insertBefore(waitingAnim, form.firstChild)
	form.appendChild( waitingAnim );
	waitingAnim.setAttribute("id", "waitinganim");
	waitingAnim.className = 'waitinganim';
	waitingAnim.appendChild( document.createTextNode(cimke_kerem_varjon+"...") )

	var waiting = document.createElement("div");
	form.insertBefore(waiting, form.firstChild)
	waiting.setAttribute("id", "waiting");
	waiting.className = 'waiting';

	form.onsubmit = function() {
		formValidator(form);
		return false;
	}
	if(form.fr_varos) form.fr_varos.onkeypress = function(e) {
		var keyID = (window.event) ? event.keyCode : e.keyCode;
		if (keyID == 13) return false;
	}
}

function quicksearchInit(node) {
	var quicksearch = getElementsByClass("quicksearch",node);
	for(var i = 0; i < quicksearch.length; i++) {
		if(quicksearch[i].county && quicksearch[i].disc) {
			quicksearch[i].county.onchange=function() {
				this.form.disc.style.display=(this.value=='Bp')?'block':'none';
			}
		}
	}	
}

/********************************************/


main=false;

lib_loaded=[]
function load_lib(libname) {
	if(!lib_loaded[libname]) {
		libname=libname.toString();
		//include(libname.substring(2).replace(/_/,'/')+'.js')
		include(libname.substring(6)+'.js');
		lib_loaded[libname]=true;
	}
}

function dyn_lib_load(node) {
	var attrs=['name','type','id','value','className']
	nodes=node.getElementsByTagName('input')
  	for(n in nodes) {
	  	str=''
	    for(attr in attrs) str+=' '+(nodes[n][attrs[attr]]?nodes[n][attrs[attr]]:'')
		while(libname=str.match("jslib_[A-Z|a-z][_|A-Z|a-z|0-9]*"))
		{
			load_lib(libname)
	       	str=str.substring(str.search(str.match("jslib_[a-z|0-9]*")))
			if(str.match(' ')) str=str.substring(str.search(' ')); else str=''
		}
	}
}

function submit_onchange(node){
	var stuff = getElementsByClass("submit_onchange",node);
	for(var i=0;i<stuff.length;i++) {
		addEvent(
			stuff[i],'change',
			function(e){
				var _this = (e.srcElement)?e.srcElement:this;
				if(_this.form) _this.form.submit()
			}
		)
	}
}

function formExtras(node) {
	explanatoryValue(node);
	validateNumber(node);
	capsLock(node);
	minOneCheck(node);
	quicksearchInit(node);
	submit_onchange(node);
}

addEvent(window, 'load', function() {dyn_lib_load(document)});
addEvent(window, 'load', function() {formExtras(document)});

function roundedDiv() {
   var divs = getElementsByClass("rounded",null,"div");
   var corners = ["corner_tl", "corner_tr", "corner_bl", "corner_br"];
   for(i in divs) {
       for(j in corners) {
         var corner = document.createElement("div");
         corner.className = corners[j];
         divs[i].appendChild(corner);
      }
   }
}

//addEvent(window, 'load', roundedDiv);

String.prototype.substr_count = function(str) {
	return this.split(str).length-1;
};

function shadowedDiv() {
	var divs = getElementsByClass("shadowed",null,"div");
	var corners = ["shd top", "shd bottom", "shd left", "shd right",
	               "shd ctl", "shd ctr", "shd cbl", "shd cbr"];
	for(i in divs) {
		var layer = divs[i].className.substr_count("shadowed");
		for(j = 0; j < layer; j++) {
			for(k in corners) {
				var corner = document.createElement("div");
				corner.className = corners[k];
				divs[i].appendChild(corner);
			}
		}
	}
}

//addEvent(window, 'load', shadowedDiv);

function galleryOpen(cur,list,title) {
	if (is_ie) { hiddenAllSelect(); }
	var popupGalleryDiv = document.createElement('div');
	document.body.appendChild(popupGalleryDiv);
	popupGalleryDiv.className = 'popupGallery';
	var popupAlphaDiv = document.createElement('div');
	document.body.appendChild(popupAlphaDiv);
	popupAlphaDiv.className = 'popupAlpha';
	var flashVars = 'val_curImage='+cur+'&val_imageList='+list+'&val_galleryTitle='+title;
	var flashParam = {'src':'/flash/gallery.swf', 'flashVars':flashVars};
	appendFlash(popupGalleryDiv, flashParam);
}

function galleryClose() {
	if(is_ie){ visibleAllSelect(); }
	document.body.removeChild( getFirstElementByClass('popupGallery',null,'div') );
	document.body.removeChild( getFirstElementByClass('popupAlpha',null,'div') );
	//return false;
}

function galleryInit() {
	var galleryDivs = getElementsByClass('gallery', null, 'div');
	for( var i = 0; i < galleryDivs.length; i++ ) {
		var links = galleryDivs[i].getElementsByTagName('a');
		for( var j = 0; j < links.length; j++ ) {
			links[j].onclick = function() {
				var div = this.parentNode.parentNode.parentNode;
				var list = div.getElementsByTagName('a');
				var val_galleryTitle = div.getElementsByTagName('h2')[0].innerHTML;
				var val_curImage = 0;
				var val_imageList = '';
				for( var ii = 0; ii < list.length; ii++ ) {
					val_imageList += (val_imageList)?' '+list[ii].href:list[ii].href;
					if (list[ii] == this) {
						val_curImage = ii;
					}
				}
				galleryOpen( val_curImage, val_imageList, val_galleryTitle );
				return false;
			}
		}
	}
}
addEvent(window, 'load', galleryInit);

function flatCall( id ) {
	document.location = '/adatlap?id='+id;
}

function h1modif (str) {
	var h1 = document.getElementById('h1');
	h1.innerHTML = str;
}
function toInt(n) {
	n = n.toString();
	return n.replace(/[^0-9.,]/ig,'') * 1;
}


/**********************************************************/

/*** SPEC expandable ***/

var expTimer = null;
var expandable = null;
var expandable_DL = null;
function expandableInit() {
	expandable = getFirstElementByClass('expandable');
	if (!expandable) return;
	expandable_DL = expandable.getElementsByTagName("dl");
	if (!expandable_DL) return;
	// active beállítás a # alapján
	var loc = document.location+"";
	var id = loc.substring(loc.lastIndexOf('#')+1);
	if (loc.lastIndexOf('#') == -1) { id = 0; }
	var dl_active = getElementsByClass('active',expandable, 'dl');
	// ha nincs active:
	if (!dl_active.length) {
		var dl = expandable.getElementsByTagName('dl');
		if(dl[id]) {
			dl[id].className = "active "+dl[id].className;
		}
	}
	var dt = expandable.getElementsByTagName("dt");
	for(var j = 0; j < dt.length; j++) {
		actuationAttributeInit( dt[j].parentNode );
		dt[j].onclick = function() {
			var pDL = parentDL(this.parentNode.parentNode.parentNode);
			if (this.parentNode.getAttribute('aim') > 0) {
				this.parentNode.setAttribute('aim', 0);
				this.parentNode.className = this.parentNode.className.replace(/active/ig,'');
				if (pDL) {
					pDL.setAttribute('max', parseInt(pDL.getAttribute('aim'))-parseInt(this.parentNode.getAttribute('max')))
					pDL.setAttribute('aim', pDL.getAttribute('max'));
				} else {
					// a max érték kapja meg az eredeti értéket:
					this.parentNode.setAttribute('max', this.parentNode.className.substring(this.parentNode.className.indexOf('height')+6));
				
				}
			} else {
				this.parentNode.className += ' active';
				this.parentNode.setAttribute('aim', this.parentNode.getAttribute('max'));
				// a szülő növelése:
				if (pDL) {
					// ha több van a pDL-ben, akkor az eredeti értéket kell kapnia a max-nak (ha egy van, akkor egy felesleges utasítás csupán)
					pDL.setAttribute('aim', pDL.className.substring(pDL.className.indexOf('height')+6));
					pDL.setAttribute('max', parseInt(pDL.getAttribute('aim'))+parseInt(this.parentNode.getAttribute('max')));
					pDL.setAttribute('aim', pDL.getAttribute('max'));
				}
			}
			// a többi becsukása:
			for(var k = 0; k < expandable_DL.length; k++) {
				if(expandable_DL[k] != this.parentNode && expandable_DL[k] != pDL) {
					expandable_DL[k].setAttribute('aim', 0);
					expandable_DL[k].className = expandable_DL[k].className.replace(/active/ig,'');
					expandable_DL[k].setAttribute('max', expandable_DL[k].className.substring(expandable_DL[k].className.indexOf('height')+6));
				}
			}
			if (!expTimer) expTimer  = setInterval("expandableTimer()", 5);
			return false;
		}
	}
	expTimer  = setInterval("expandableTimer()", 5);
}
addEvent(window, 'load', expandableInit);

function expandableTimer() {
	var l = false;
	for(var j = 0; j < expandable_DL.length; j++) {
		if( actuation(expandable_DL[j], expandable_DL[j].getElementsByTagName("dd").item(0)) ) {
			l = true;
		}
	}
	if (!l) {clearInterval(expTimer); expTimer = null; }
}

/** Aloldal: menü */

var menuTimer = null;
var menuItem = null;
/*----------------------------------------------------------------------------------------
------------------ HELYSZIN MENU  --------------------------------------------------------
------------------------------------------------------------------------------------------*/
function helyszinmenu() {
	var column1 = getFirstElementByClass("leftcol",null,"div");
	if (!column1) return;
	menuItem = getElementsByClass("expandMenuItem", column1);
	for(var i = 0; i < menuItem.length; i++) {
			var a = menuItem[i].getElementsByTagName("a");
			for( var j = 0; j < a.length; j++) {
				a[j].onclick = function() {
					var dt = expandable.getElementsByTagName("dt");
					var index = this.href.substring(this.href.indexOf("#")+1);
					if(dt[index]) {
						dt[index].onclick();
					}
				}
			}
	}
}
addEvent(window, 'load', helyszinmenu);
/*----------------------------------------------------------------------------------------
------------------ popup MENU  --------------------------------------------------------
------------------------------------------------------------------------------------------*/
function popupmenu() {
	var menu = getFirstElementByClass("rightmenu",null,"div");
	if (!menu) return;
	menuItem = getElementsByClass("s1x", menu);
	menuItem[0].onclick = function() {
		AJAXrequest('./include/ajanlo.html',popupLayer);
		return false;
	}
}
//addEvent(window, 'load', popupmenu);

// mozgatás(mozgató elem, mozgatott elem)
// visszatérés: volt-e mozgás
function actuation(_parent, _target) {
	// az a magasság, ameddig maximálisan nőhet:
	var max = _parent.getAttribute('max');
	// az a magasság, ami a cél: (0 vagy max)
	var aim = _parent.getAttribute('aim');
	// ha a cél megegyik az aktuális magassággal, akkor kilépünk:
	if (aim == _target.offsetHeight) return false;
	// sebesség
	var s = Math.round(Math.abs(_target.offsetHeight-aim)/5)+1;
	// magasság:
	var h = _target.offsetHeight+ ((_target.offsetHeight > aim)?-s:s);
	h = Math.min(max, Math.max(0,h));
	_target.style.height = h+'px';
	
	// átlátszóság:
	if(is_ie) {
		_target.style.filter = 'alpha(opacity='+(h/max)*100+')';
	} else {
		_target.style.opacity = (h/max);
	}
	// ellenőrzés:
	//_target.innerHTML = 'max: '+max+', aim: '+aim+', height: '+_target.offsetHeight;
	return true;
}

// A max és aim attributumok beállítása a height és a active osztály segítségével:
function actuationAttributeInit(item) {
	if (item.className.indexOf('height') != -1) {
		item.setAttribute('max', item.className.substring(item.className.indexOf('height')+6));
	} else {
		item.setAttribute('max', 100);
	}
	if (item.className.indexOf('active') != -1) {
		item.setAttribute('aim', item.getAttribute('max') );
	} else {
		item.setAttribute('aim', 0);
	}
}

// visszaadja, az őt tartalmazó expandable node-t.
function parentDL(item) {
	if (item == document.body) return null;
	if (item.tagName == "DL") return item;
	return parentDL(item.parentNode);
}



