function addFav()
	{
	if(document.all)
		{
		window.external.AddFavorite(location.href,document.title)
		}
		else
		{
		if(window.sidebar)
			{
			window.sidebar.addPanel(document.title,location.href,'');
			};
		};
	};

function disable_button(id)
	{
	document.getElementById(id).disabled = true;
	};

function increaseFontSize(classname, maxsize)
	{
	p = getElementsByClassName(document, 'div', classname);
	for(i=0;i<p.length;i++)
		{
		if(p[i].style.fontSize)
			{
			var s = parseInt(p[i].style.fontSize.replace("px",""));
			}
			else
			{
			var s = 12;
			};
		if(s!=maxsize)
			{
			s += 1;
			};
		p[i].style.fontSize = s+"px";
		};
	};
	
function decreaseFontSize(classname, minsize)
	{
	p = getElementsByClassName(document, 'div', classname);
	for(i=0;i<p.length;i++)
		{
		if(p[i].style.fontSize)
			{
			var s = parseInt(p[i].style.fontSize.replace("px",""));
			}
			else
			{
			var s = 12;
			};
		if(s!=minsize)
			{
			s -= 1;
			};
		p[i].style.fontSize = s+"px";
		};
	};

function unified()
	{
	var unifiedsize = 0;
	var divs = document.getElementsByTagName("div");
	var num = divs.length;
	for(var i = 0; i < divs.length; i++)
		{
		if(divs[i].className == 'formunified1')
			{
			if(unifiedsize < divs[i].offsetWidth)
				{
				unifiedsize = divs[i].offsetWidth;
				};
			};
		};
	for(var i = 0; i < divs.length; i++)
		{
		if(divs[i].className == 'formunified1')
			{
			divs[i].style.width = (unifiedsize + 'px');
			};
		};
	};

function elements_to_set(id)
	{
	identity = document.getElementById('elements_to_set_' + id);
	identity2 = document.getElementById('elements_to_set');
	if(identity.checked == true)
		{
		identity2.value = identity2.value + ';' + id + ';';
		}
		else
		{
		values = identity2.value.split(';' + id + ';');
		identity2.value = values[0] + values[1];
		};
	};

function shorten_url(url, id, id2)
	{
	if(url !== '')
		{
		var url2 = url.split("/");
		identity = document.getElementById(id);
		identity2 = document.getElementById(id2);
		if(url2[0] == 'http:')
			{
			identity2.value = url2[2];
			}
			else
			{
			identity2.value = url2[0];
			url = ('http://' + url);
			identity.value = url;
			};
		};
	};

function ajaxonline(serverData, serverStatus)
	{
	identity=document.getElementById('chat_online');
 	identity.innerHTML = '';
	identity.innerHTML = (identity.innerHTML + serverData);
	window.scrollTo(0,0);
	setTimeout("ajaxRequest(url_3, ajaxonline)", 3000);
	};

function ajaxcounter(serverData, serverStatus)
	{
	if(counter == 0)
		{
		counter = serverData;
		ajaxRequest(url_2+'?show=start', ajaxchat);
		};
	if(counter !== serverData)
		{
		difference = (serverData - counter);
		counter = serverData;
		ajaxRequest(url_2+'?show='+difference, ajaxchat);
		};
	setTimeout("ajaxRequest(url_1, ajaxcounter)", 1000);
	};

function ajaxchat(serverData, serverStatus)
	{
	identity=document.getElementById('chat_display');
	identity.innerHTML = (serverData + identity.innerHTML);
	};

function ajaximage(serverData, serverStatus)
	{
	identity=document.getElementById('imagebox');
 	identity.innerHTML = '';
	identity.innerHTML = (identity.innerHTML + serverData);
	};

function ajaxcalendar(serverData, serverStatus)
	{
	identity=document.getElementById('calendarbox');
 	identity.innerHTML = '';
	identity.innerHTML = (identity.innerHTML + serverData);
	};

function ajaxRequest(url, callback)
	{
	var AJAX = null;
	if (window.XMLHttpRequest)
		{
		AJAX=new XMLHttpRequest();
		}
	else
		{
		AJAX=new ActiveXObject("Microsoft.XMLHTTP");
		};
	if (AJAX==null)
		{
		alert("Your browser doesn't support AJAX.");
		return false
		};
	AJAX.onreadystatechange = function()
		{
		if (AJAX.readyState==4 || AJAX.readyState==200)
			{
			callback(AJAX.responseText, AJAX.status);
			};
		};
	//If ajax doesn't work, change POST to GET!
	AJAX.open("POST", url, true);
	AJAX.send(null);
	};

////////////////////////
// Általános funkciók //
////////////////////////

function tcms_seo_url(text, id)
	{
	text = text.toLowerCase();
	text = text.replace(/À/g, 'a');
	text = text.replace(/Á/g, 'a');
	text = text.replace(/Â/g, 'a');
	text = text.replace(/Ã/g, 'a');
	text = text.replace(/Ä/g, 'a');
	text = text.replace(/Å/g, 'a');
	text = text.replace(/Æ/g, 'a');
	text = text.replace(/Ç/g, 'c');
	text = text.replace(/È/g, 'e');
	text = text.replace(/É/g, 'e');
	text = text.replace(/Ê/g, 'e');
	text = text.replace(/Ë/g, 'e');
	text = text.replace(/Ì/g, 'i');
	text = text.replace(/Í/g, 'i');
	text = text.replace(/Î/g, 'i');
	text = text.replace(/Ï/g, 'i');
	text = text.replace(/Ð/g, 'd');
	text = text.replace(/Ñ/g, 'n');
	text = text.replace(/Ò/g, 'o');
	text = text.replace(/Ó/g, 'o');
	text = text.replace(/Ô/g, 'o');
	text = text.replace(/Õ/g, 'o');
	text = text.replace(/Ö/g, 'o');
	text = text.replace(/ /g, '-');
	text = text.replace(/Ø/g, '0');
	text = text.replace(/Ù/g, 'u');
	text = text.replace(/Ú/g, 'u');
	text = text.replace(/Û/g, 'u');
	text = text.replace(/Ü/g, 'u');
	text = text.replace(/Ý/g, 'y');
	text = text.replace(/Þ/g, 'p');
	text = text.replace(/ß/g, 'ss');
	text = text.replace(/à/g, 'a');
	text = text.replace(/á/g, 'a');
	text = text.replace(/â/g, 'a');
	text = text.replace(/ã/g, 'a');
	text = text.replace(/ä/g, 'a');
	text = text.replace(/å/g, 'a');
	text = text.replace(/æ/g, 'a');
	text = text.replace(/ç/g, 'c');
	text = text.replace(/è/g, 'e');
	text = text.replace(/é/g, 'e');
	text = text.replace(/ê/g, 'e');
	text = text.replace(/ë/g, 'e');
	text = text.replace(/ì/g, 'i');
	text = text.replace(/í/g, 'i');
	text = text.replace(/î/g, 'i');
	text = text.replace(/ï/g, 'i');
	text = text.replace(/ð/g, 'd');
	text = text.replace(/ñ/g, 'n');
	text = text.replace(/ò/g, 'o');
	text = text.replace(/ó/g, 'o');
	text = text.replace(/ô/g, 'o');
	text = text.replace(/õ/g, 'o');
	text = text.replace(/ö/g, 'o');
	text = text.replace(/÷/g, '');
	text = text.replace(/ø/g, '0');
	text = text.replace(/ù/g, 'u');
	text = text.replace(/ú/g, 'u');
	text = text.replace(/û/g, 'u');
	text = text.replace(/ü/g, 'u');
	text = text.replace(/ý/g, 'y');
	text = text.replace(/þ/g, 'p');
	text = text.replace(/ÿ/g, 'y');
	text = text.replace(/'/g, '');
	text = text.replace(/"/g, '');
	text = text.replace(/\+/g, '');
	text = text.replace(/!/g, '');
	text = text.replace(/%/g, '');
	text = text.replace(/\//g, '');
	text = text.replace(/=/g, '');
	text = text.replace(/\(/g, '');
	text = text.replace(/\)/g, '');
	text = text.replace(/\[/g, '');
	text = text.replace(/\]/g, '');
	text = text.replace(/\$/g, '');
	text = text.replace(/</g, '');
	text = text.replace(/>/g, '');
	text = text.replace(/#/g, '');
	text = text.replace(/&/g, '');
	text = text.replace(/@/g, '');
	text = text.replace(/{/g, '');
	text = text.replace(/}/g, '');
	text = text.replace(/,/g, '');
	text = text.replace(/\./g, '');
	text = text.replace(/;/g, '');
	/*text = text.replace(/-/g, '');*/
	text = text.replace(/\?/g, '');
	text = text.replace(/\*/g, '');
	text = text.replace(/\+/g, '');
	text = text.replace(/\\/g, '');
	text = text.replace(/\|/g, '');
	text = text.replace(/~/g, '');
	text = text.replace(/Ő/g, 'o');
	text = text.replace(/Ű/g, 'u');
	text = text.replace(/ő/g, 'o');
	text = text.replace(/ű/g, 'u');
	text = text.replace(/:/g, '');
	text = text.replace(/„/g, '');
	text = text.replace(/”/g, '');
	identity=document.getElementById(id);
	identity.value = text;
	};

function generate_users_password()
	{
	var text = prompt('password', "");
	if (text == ""){return;}
	hash = hex_md5(text);
	document.getElementById('text4').value = hash;
	};

function countdown(id, total)
	{
	identity=document.getElementById(id);
	var seconds = total%60;
	var minutes = (total-seconds)/60;

	if(minutes == 0 && seconds == 0)
		{
		}
		else
 		{
 		total--;
		setTimeout("countdown('" + id + "', '"+total+"')",1000);
		};
	if(seconds < 10)
		{
		seconds = '0' + seconds;
		};
	identity.innerHTML = minutes + ':' + seconds;
	};

function change_visibility(hidden, visible)
	{
	var divs = document.getElementsByTagName("div");
	var num = divs.length;
	for(var i = 0; i < divs.length; i++)
		{
		if(divs[i].className == visible)
			{
			divs[i].className = hidden;
			}
		else if(divs[i].className == hidden)
			{
			divs[i].className = visible;
			};
		};
	};

function change_class(id, newclass)
	{
	identity=document.getElementById(id);
	identity.className=newclass;
	};

function change_between_classes(id, classone, classtwo)
	{
	identity=document.getElementById(id);
	if(identity.className == classone)
		{
		identity.className = classtwo;
		}
	else if(identity.className == classtwo)
		{
		identity.className = classone;
		};
	};

function popupwindow(url, name, width, height, toolbar, location, directories, status, menubar, scrollbars, resizable)
	{	settings="toolbar="+toolbar+",location="+location+",directories="+directories+",status="+status+",menubar="+menubar+",scrollbars="+scrollbars+",resizable="+resizable+",width="+width+",height="+height;
	window.open(url,name,settings);
	};

function popupimage(image_file, subdirectory)
	{	settings="toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=250,height=250";
	window.open(subdirectory + '/scripts/image_popup.php?image_file='+image_file,Math.floor(Math.random()*9999),settings);
	};

function getElementsByClassName(Element, TagName, ClassName)
	{
	var arrElements = (TagName == "*" && Element.all)? Element.all : Element.getElementsByTagName(TagName);
	var arrReturnElements = new Array();
	ClassName = ClassName.replace(/-/g, "\-");
	var oRegExp = new RegExp("(^|\s)" + ClassName + "(\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++)
		{
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className))
			{
			arrReturnElements.push(oElement);
			};
		};
	return (arrReturnElements);
	};

function delete_cookie(cookie_name)
	{
	var cookie_date = new Date ( );  // current date & time
	cookie_date.setTime ( cookie_date.getTime() - 1 );
	document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
	};

function change_cookie_state(cookiename, stateone, statetwo)
	{
	cookievalue = readCookie(cookiename);
	if(cookievalue == null)
		{
		createCookie(cookiename, stateone);
		}
	else if(cookievalue == statetwo)
		{
		delete_cookie(cookiename);
		createCookie(cookiename, stateone);
		}
	else
		{
		delete_cookie(cookiename);
		createCookie(cookiename, statetwo);
		};
	};

function createCookie(name,value,days)
	{
	if (days)
		{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
		}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
	};

function close_topmultilines()
	{
	topmenu_multiline_open = getElementsByClassName(document, 'div', 'topmenu_multiline_open');
	for(var i=0; i<topmenu_multiline_open.length; i++)
		{
		delete_cookie(topmenu_multiline_open[i].id);
		createCookie(topmenu_multiline_open[i].id,'closed');
		topmenu_multiline_open[i].className = 'topmenu_multiline';
		};
	topmenumultiline = getElementsByClassName(document, 'div', 'topmenumultiline');
	for(var i=0; i<topmenumultiline.length; i++)
		{
		topmenumultiline[i].className = 'hidden';
		};
	topmenumultiline_div = getElementsByClassName(document, 'div', 'topmenumultilinediv');
	for(var i=0; i<topmenumultiline_div.length; i++)
		{
		topmenumultiline_div[i].className = 'hidden';
		};
	};

function change_class_topmultiline(id)
	{
	//inactivate active links
	actives = getElementsByClassName(document, 'div', 'topmenu_link_active');
	for(var i=0; i<actives.length; i++)
		{
		actives[i].className = 'topmenu_link';
		};
	//close others
	multilines = getElementsByClassName(document, 'div', 'topmenu_multiline_open');
	for(var i=0; i<multilines.length; i++)
		{
		delete_cookie(multilines[i].id);
		createCookie(multilines[i].id,'closed');
		multilines[i].className = 'topmenu_multiline';
		};
	//open this
	identity=document.getElementById('topmenu_multiline_' + id);
	createCookie(identity.id,'open');
	identity.className = 'topmenu_multiline_open';
	identity=document.getElementById('topmenumultilinediv_' + id);
	identity.className = 'topmenumultilinediv';
	};

function change_class_lefttoplink(parentid, id)
	{
	//Closes others//
	toplinks = getElementsByClassName(document, 'div', 'leftmenu_toplinksub');
	for(var i=0; i<toplinks.length; i++)
		{
		if(toplinks[i].id !== id)
			{
			delete_cookie(toplinks[i].id);
			createCookie(toplinks[i].id,'hidden');
			toplinks[i].className = 'hidden';
			};
		};
	/////////////////
	identity=document.getElementById(id);
	if(identity.className=='hidden')
		{
		identity.className='leftmenu_toplinksub';
		delete_cookie(identity.id);
		createCookie(identity.id,'shown');
		}
		else
		{
		identity.className='hidden';
		delete_cookie(identity.id);
		createCookie(identity.id,'hidden');
		};

	identity=document.getElementById(parentid);
	if(identity.className=='leftmenu_toplink')
		{
		//Closes others//
		toplinks = getElementsByClassName(document, 'div', 'leftmenu_toplink_open');
		for(var i=0; i<toplinks.length; i++)
			{
			if(toplinks[i].id !== id)
				{
				delete_cookie(toplinks[i].id);
				createCookie(toplinks[i].id,'closed');
				toplinks[i].className = 'leftmenu_toplink';
				};
			};
		identity.className='leftmenu_toplink_open';
		delete_cookie(identity.id);
		createCookie(identity.id,'open');
		}
		else
		{
		identity.className='leftmenu_toplink';
		delete_cookie(identity.id);
		createCookie(identity.id,'closed');
		};
	};

function rating_over(number, image)
	{
	for (var x = 1; x <= number; x++)
		{
		identity=document.getElementById('rating'+x);
		identity.src=image;
		};
	};

function rating_out(number, image)
	{
	for (var x = 1; x <= number; x++)
		{
		identity=document.getElementById('rating'+x);
		identity.src=image;
		};
	};

////////////
// Unused //
////////////

function readCookie(name)
	{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
		{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
	return null;
	};

function opacity(id, opacStart, opacEnd, millisec)
	{
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;
	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd)
		{
		for(i = opacStart; i >= opacEnd; i--)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
			};
		}
		else if(opacStart < opacEnd)
		{
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
			};
		};
	};

function changeOpac(opacity, id)
	{
	//change the opacity for different browsers
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
	};
