var is_opera = (navigator.userAgent.indexOf('Opera')!=-1);
var is_ie = (!is_opera && navigator.userAgent.indexOf('MSIE')!=-1);

var lang = 'hu';

cimke_kerem_varjon = 'Kérem várjon';
msg_req_field = '*Kérem töltse ki a kötelező mezőket!';
msg_valid_email = 'Kérem valós email címet adjon meg!';
cimke_bezar = 'Bezár';
cimke_terkep = 'Térkép';
cimke_fotogaleria = 'Fotó galléria';
cimke_vissza_az_urlaphoz = 'Vissza';

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 (var i=0; i<s.length; i++) {
		s[i].style.visibility = 'hidden';
	}
}

function visibleAllSelect() {
	var s = document.getElementsByTagName('select');
	for (var 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 (var 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');
	}
	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 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(var j in style) { info.innerHTML += j+': '+style[j]+'<br />'; }
	}
}
addEvent(window, 'load', getCSSproperty);

function popupLink() {
	var links = getElementsByClass("popup",null,"a");
	for (var i = 0; i < links.length; i++) {
		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 makeFlashUnique(obi) {
	var flash=document.getElementById(obi);
	var params=new Object;
	eval('params = {'+flash.title+'}');
	flash.title='';

	if (getFlashVersion()<params.version) {
		flash.innerHTML='<a href="http://macromedia.com/go/flashplayer" class="popup">K�rem, t�ltse le a leg�jabb flash lej�tsz�t!</a>';
		return false;
	};

	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';

	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>';
	flash.innerHTML = str;
}


function tabbed() {
	var multitab = getElementsByClass("multitab");
	if (multitab) {
		for(var i=0; i < multitab.length; i++) {
			var tabbed = getFirstElementByClass('tabbed',multitab[i]);
			if (!tabbed)return;
			var li = tabbed.getElementsByTagName('li');
			var a_ = getElementsByClass('tab',multitab[i])
			if ( li.length == a_.length ) {
				var a = tabbed.getElementsByTagName('a');
				for(j in a) { a[j].onclick = function() {this.blur();return false;} }
				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";
							} else {
								_li[i].className="active";
								if(_tab[i])_tab[i].style.display = "block";
							}
						}
					}
				}
			}
		}
	}
}
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 (var 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].className == 'ghost') {
				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) return;
	for(var i = 0; i < infoTable.length; i++) {
		var tr = infoTable[i].getElementsByTagName("tr");
		for (var 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 == 1) {
					window.location.href = this.getElementsByTagName("a")[0].href;
				}
			}
			*/
		}
	}
}
addEvent(window, 'load', datatable);

function expandable() {
	var expand = getElementsByClass("expandable",null,"div");
	if (!expand) return;
	for(var i = 0; i < expand.length; i++) {
		var dt = expand[i].getElementsByTagName("dt");
		for(var 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 (var 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('/', '');
			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 column1 = getFirstElementByClass("column1", null, "div");
	var dd = getElementsByClass("tooltip",column1,"dd");
	if (dd) {
		for (var 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(var 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(var j=0; j < a.length; j++) {
					a[j].style.display = 'none';
				}
			}
		}
	}
};
addEvent(window, 'load', tooltip);

function contactForm(node) {
	var links = getElementsByClass("contactform",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('/');
			AJAXrequest('/ajax/form?name='+a[a.length-1]+'&'+extraParam,popupLayer);
			return false;
		}
	}
}
addEvent(window, 'load', function() { contactForm(document) });



function popupLayerLink(node) {
	var links = getElementsByClass("popupLayerLink",node,"a");
	for(var i = 0; i < links.length; i++) {
		links[i].onclick = function() {
			AJAXrequest(this.href,popupLayer);
			return false;
		}
	}
}
addEvent(window, 'load', function() { popupLayerLink(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';
		popupgalleryDiv.id = '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 (var 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";
		div.id = "popupAlpha";
	} else {
		var img = popupgalleryDiv.getElementsByTagName('img');
		img = img[0];
	}
	img.src = file.replace('.jpg','_516x340.php');
}

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') );
	}
	if ( document.getElementById('popupGallery') ) {
		document.body.removeChild( document.getElementById('popupGallery') );
	}
}

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", cimke_bezar);
			closeLinkA.setAttribute("title", cimke_bezar);
			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");
				waiting.className = 'waiting';
				forms[i].insertBefore(waiting, forms[i].firstChild);
				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();
			}
		}
		var scripts = div.getElementsByTagName('script');
		for( i = 0; i < scripts.length; i++) {
			eval(scripts[i].innerHTML);
		}
	}
}

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 (var i in required) {
		if ((required[i].tagName == 'SELECT' && !required[i].selectedIndex) || ((required[i].tagName == 'INPUT' || required[i].tagName == 'TEXTAREA') && !required[i].value)) {
			errorMsg.innerHTML = msg_req_field ;
			errorMsg.style.display = 'block';
			required[i].focus();
			return;
		}
	}

	var email = getElementsByClass('validate-email',form,null);
	for (var i in email) {
		if (email[i].value && !emailCheck(email[i].value)) {
			errorMsg.innerHTML = msg_valid_email;
			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 (var 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+'='+inputs[j].options[inputs[j].selectedIndex].value+'&';
				} else {
					post += inputs[j].name+'='+inputs[j].options[inputs[j].selectedIndex].text+'&';
				}
			}
    	} else {
			for(var j in inputs) {
				// IE radio gombjai:
				// (idióta többször hívja meg)
				if (is_ie && inputs[j].length > 1) {
					for (var 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+'='+inputs[j].value+'&';
					}
				}
			}
		}
	}

	var func = function(req) {
		if (req.readyState == 4) {
			if (req.status == 200) {
				var serverMsg = req.responseText;
				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") {
						// Ha van a formnak neve,akkor az, ha nincs akkor az url alapján:
						if (typeof form.formName != "undefined" && form.formName.value) {
							var formName = form.formName.value;
						} else {
							var a = form.action.split('/');
							var formName = a[a.length-1];
						}
						_makeStat( {'action': formName+'_ok'} );
					}
					
					//---------------- pagetracker felulirasa --------------------
					var frmact = form.action;
					var ptrack = false;
					var domain = 'http://' + document.domain;
					if (frmact.substr(0, domain.length) == domain) {
						frmact = frmact.substr(domain.length);
						ptrack = true;
					}
					switch (frmact) {
						case '/forms/kapcsolat' 	: frmact = '/form/kapcsolat'; break;
					}
					if (ptrack) {
						pageTracker._trackPageview(frmact);
					}
					//------------------------------------------------------------

					toggleDisplay( getFirstElementByClass('waitinganim', form, 'div') )
					thanxMsg.style.display = 'block';
					var pattern = new RegExp("^<ok>reload\((.*)\)</ok>$");
					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;

						// Ha nem popupLayer-es formról van szó, akkor egy reload link:
						if ( !document.getElementById('popupLayer') ) {
							thanxMsg.innerHTML += '<br /><br />[ <a href="#" onclick="document.location.reload();return false;">'+cimke_vissza_az_urlaphoz+'</a> ]';
						}
					}
				}
			}
		}
	}
	// TODO: pontosítani! // alapból a pluszt space-nek veszi.
	post = post.split('+').join('%2B');
	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");
		waitingAnim.className = 'waitinganim';
		forms[i].insertBefore(waitingAnim, forms[i].firstChild)
		forms[i].appendChild( waitingAnim );
		waitingAnim.appendChild( document.createTextNode(cimke_kerem_varjon+"...") );
		var waiting = document.createElement("div");
		waiting.className = 'waiting';
		forms[i].insertBefore(waiting, forms[i].firstChild);
		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");
	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('column1',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 = 'column1';
			div.style.display = 'block';

			var flashVars = document.location.href.substring( document.location.href.substring(7).indexOf('/')+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(var 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(var 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']
	var nodes=node.getElementsByTagName('input')
  	for(var n in nodes) {
	  	var 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 popupFlashInit() {
	var links = getElementsByClass("popupFlash",null,"a");
	for(var i = 0; i < links.length; i++) {
		links[i].onclick = function() {
			if (is_ie) { hiddenAllSelect(); }
			var popupGalleryDiv = document.createElement("div");
			document.body.appendChild(popupGalleryDiv);
			popupGalleryDiv.className = "popupGallery";
			popupGalleryDiv.id = "popupGallery";

			if ( this.href.indexOf('?') != -1 ) {
				var src = this.href.substring( 0, this.href.indexOf('?') );
				var flashVars = this.href.substring( 1+this.href.indexOf('?') );
			} else {
				var src = this.href;
				var flashVars = '';
			}
			appendFlash(popupGalleryDiv, {'src':src,'wmode':'transparent','flashVars':flashVars});
			var div = document.createElement("div");
			document.body.appendChild(div);
			div.className = "popupAlpha";
			div.id = "popupAlpha";
			return false;
		}
	}
}

addEvent(window, 'load', popupFlashInit );

function keresoFieldRefresh() {
	var link = document.getElementById( 'lakopark' );
	if (!link) return;
	link.onchange = function() {
		var lakopark = document.getElementById( 'lakopark' );
		var szobamin = document.getElementById( 'szobamin' );
		var szobamax = document.getElementById( 'szobamax' );
		if ( lakopark.value == 'naturavillapark' ) {
			szobamin.disabled = true;
			szobamax.disabled = true;
			szobamax.className = 'disabled';
			szobamin.className = 'disabled';
		} else  {
			szobamin.disabled = false;
			szobamax.disabled = false;
			szobamax.className = '';
			szobamin.className = '';
		}
	}
	link.onchange();
}

addEvent( window, 'load', keresoFieldRefresh );

function erdeklodesFormProject( property ) {
		var honnan1 = document.getElementById('project');
		var honnan2 = document.getElementById('property');
		var honnan3 = document.getElementById('flat');
		var options = [null,
			[ 'Kérjük, válasszon', 'A épület', 'B épület', 'C épület', 'Mind' ],
			[ 'Kérjük, válasszon', 'B épület', 'C épület', 'Mind' ],
			[ 'Kérjük, válasszon', 'Ár szerint', 'm2 szerint' ],
		];
		var values = [ 'Kérjük, válasszon', 'ForestHill', 'Reviczky Liget', 'NATURA Villapark' ];
		honnan2.innerHTML = '';
		var selected = values.indexOf( honnan1.value );
		if (honnan1.value != 'Kérjük, válasszon') {
			honnan2.parentNode.style.display = 'block';
			for (var i = 0; i < options[ selected ].length; i++) {
				var option = document.createElement("option");
				option.setAttribute('value', options[ selected ][i] );
				option.appendChild( document.createTextNode( options[ selected ][i]) );
				honnan2.appendChild( option );
			}
			honnan3.parentNode.style.display = 'none';
		} else {
			honnan2.parentNode.style.display = 'none';
			honnan3.parentNode.style.display = 'none';
		}

		if ( property ) {
			if ( honnan1.value == 'ForestHill' ) {
				var flats = [ null, 'A', 'B', 'C' ];
			 	honnan2.selectedIndex = flats.indexOf( property[0] );
			 }
			if ( honnan1.value == 'Reviczky Liget' ) {
				var flats = [ null, 'B', 'C' ];
			 	honnan2.selectedIndex = flats.indexOf( property[0] );
			 }
			 if ( honnan1.value == 'NATURA Villapark' ) {
			 	honnan2.selectedIndex = 2;
			 }
			 erdeklodesFormProperty( property );
		}

}

function erdeklodesFormProperty( property ) {

		var honnan1 = document.getElementById('project');
		var honnan2 = document.getElementById('property');
		var honnan3 = document.getElementById('flat');

		if ( honnan1.value == 'ForestHill' ) {
			options = [ 'Kérjük, válasszon', 'földszint', '1 emelet', '2 emelet', 'Mind' ];
		}
		if ( honnan1.value == 'Reviczky Liget' ) {
			options = [ 'Kérjük, válasszon', 'földszint', '1 emelet', '2 emelet', 'Tetőtér', 'Mind' ];
		}
		if ( honnan1.value == 'NATURA Villapark' ) {
			if ( honnan2.value == 'm2 szerint' ) options = [ 'Kérjük, válasszon', '900 - 950 m2', '950 - 1000 m2', '1000 m2 felett', 'Mind' ];
			if ( honnan2.value == 'Ár szerint' ) options = [ 'Kérjük, válasszon', '30 - 35 Mft', '35 - 40 Mft', '40 Mft felett', 'Mind' ];
		}
		honnan3.innerHTML = '';
		if ( honnan2.value != 'Kérjük, válasszon' ) {
			honnan3.parentNode.style.display = 'block';
			for (var i = 0; i < options.length; i++) {
				var option = document.createElement("option");
				option.setAttribute('value', options[i] );
				option.appendChild( document.createTextNode( options[i]) );
				honnan3.appendChild( option );
			}
		} else {
			honnan3.parentNode.style.display = 'none';
		}

		if ( property ) {
			if ( honnan1.value == 'ForestHill' ) {
			 	if ( property[1] == 1 ) honnan3.selectedIndex = 1;
			 	if ( property[1] == 2 ) honnan3.selectedIndex = 2;
			 	if ( property[1] == 3 ) honnan3.selectedIndex = 3;
			 }
			if ( honnan1.value == 'Reviczky Liget' ) {
				if ( property.indexOf( 'T' ) > -1 ) honnan3.selectedIndex = 4;
			 }
			 if ( honnan1.value == 'NATURA Villapark' ) {
			 	var size = parseInt( property );
			 	if ( size >= 900 && size < 950 ) honnan3.selectedIndex = 1;
			 	if ( size >= 950 && size < 1000 ) honnan3.selectedIndex = 2;
			 	if ( size >= 1000 ) honnan3.selectedIndex = 3;
			 }
		}
}

function printLink() {
	var link = document.getElementById( 'printlink' );
	if (!link) return;
	link.onclick = function() {
		window.print();
	}
}

addEvent( window, 'load', printLink );

aktiv_link = null;
menu_linkek = null;
function menu_init() {
	var menu = getFirstElementByClass("menu",document.body,"div");
	if (!menu) return;

	var links = menu.getElementsByTagName("a");

	var ul = menu.getElementsByTagName("ul");
	menu_linkek = childNodesByTagName(ul[0], "LI");

	for(var i=0;i < menu_linkek.length; i++){
		if (menu_linkek[i].className == "active") aktiv_link = menu_linkek[i];
		menu_linkek[i].onmouseover = function(){
			for(var j=0;j < menu_linkek.length; j++) {
				menu_linkek[j].className = menu_linkek[j].parentNode.className.replace(/active/ig,'');
			}
			this.className = this.className+' active';
		}
		menu_linkek[i].onmouseout = function(){
			for(var j=0;j < menu_linkek.length; j++) {
				menu_linkek[j].className = menu_linkek[j].parentNode.className.replace(/active/ig,'');
			}
			this.className = this.parentNode.className.replace(/active/ig,'');
		}
	}
	menu.onmouseout = function(){
		if (aktiv_link) {
			aktiv_link.className = aktiv_link.className+' active';
		}
	}
	return true;
}
addEvent(window, 'load', menu_init);

function childNodesByTagName(node, tagName) {
	var ret = [];
	var _nodes = node.childNodes;
	for( var i = 0; i < _nodes.length; i++ ) {
		if (_nodes[i].tagName == tagName ) {
			ret.push( _nodes[i] );
		}
	}
	return ret;
}

function childNodesByClass(node, searchClass) {
	var ret = [];
	var _nodes = node.childNodes;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for( var i = 0; i < _nodes.length; i++ ) {
		if ( pattern.test(_nodes[i].className) ) {
			ret.push( _nodes[i] );
		}
	}
	return ret;
}
function button_hover(node) {
	var button = getElementsByClass("button",node,"a");
	for(var i=0; i < button.length; i++) {
		button[i].onmouseover = function() { this.parentNode.className = 'button_hover'; }
		button[i].onmouseout = function() { this.parentNode.className = 'button_normal'; }
	}
	var submit = getElementsByClass("button",node,"input");
	for(var i=0; i < submit.length; i++) {
		submit[i].onmouseover = function() { this.parentNode.className = 'button_hover'; }
		submit[i].onmouseout = function() { this.parentNode.className = 'button_normal'; }
	}
}
addEvent(window, 'load', function() {button_hover(document.body) });

var showAdmin = function() {
	var div = document.getElementById('adminthis');
	if(!div) return;
	if(div.className == 'hidden admindiv') div.className = 'admindiv';
	else div.className = 'hidden admindiv';
}