//létrehiz egy lebegő box-ot, olyan id-vel, amit paraméterben megadunk.
function showbox(id, w, h)
{
	if(document.getElementById(id) != null)
	{
		hidebox(id);
	}
	
	var element = '<div id="'+id+'" style="position:absolute;';

	if(w != null && h != null){
		element += 'width:'+w+'px;height:'+h+'px;top:50%;left:50%;margin-top:-'+Math.round(h/2)+'px;margin-left: -'+Math.round(w/2)+'px;">';
	}else if ( w != null && h == null){
		element += 'width:'+w+'px;top:50%;left:50%;margin-top:-150px;margin-left: -'+Math.round(w/2)+'px;">';
	}else{
		element += 'width:500px;top:50%;left:50%;margin-top:-150px;margin-left: -250px;">';
	}

	//here can to add something into the element innerHTML
	//element += 'HELLO WORLD';
	
	element += '</div>';
	
	document.body.innerHTML = document.body.innerHTML + element;
}

function showbox_onclick_close(id, w, h)
{
	if(document.getElementById(id) != null)
	{
		hidebox(id);
	}
	
	var element = '<div id="'+id+'" onmouseup="showbox(\''+id+'\');" style="position:absolute;';
	
	if(w != null && h != null){
		element += 'width:'+w+'px;height:'+h+'px;top:50%;left:50%;margin-top:-'+Math.round(h/2)+'px;margin-left: -'+Math.round(w/2)+'px;">';
	}else if ( w != null && h == null){
		element += 'width:'+w+'px;top:50%;left:50%;margin-top:-150px;margin-left: -'+Math.round(w/2)+'px;">';
	}else{
		element += 'width:500px;top:50%;left:50%;margin-top:-150px;margin-left: -250px;">';
	}
	
	//here can to add something into the element innerHTML
	//element += 'HELLO WORLD';

	element += '</div></div>';

	document.body.innerHTML = document.body.innerHTML + element;
}

//showbox párja, csak ez eltünteti a megadott id-jű box-oot. Vigyázat, bármilyen id-jű elemet eltávolít. Figyelemsen használni!
function hidebox(id)
{
	var div = document.getElementById(id);
	document.body.removeChild(div);
}

// tabulátorok használatához segít az elemek osztályát változatni.
// A number.edik elemet aktívvá teszi a box gyerekei között.
// (a számolás az active_class és az inactive_class osztályok figyelembe vételével.
// Tehát csak ezekez számolja, az összes többi element lényegtelen.)
// használata: boxObject.change(szülő_element, i.elem, 'aktív_osztály', 'inaktív_osztály');
var boxObject={

	change:function(box,number, active_class , inactive_class)
	{
		//mindent inactive-re állítunk
		for(var i=0; i < box.childNodes.length; i++)
		{
			if(box.childNodes[i].className == active_class || box.childNodes[i].className == inactive_class)
			{
				box.childNodes[i].className = inactive_class;
			}
		}
		
		for(var i=0; i < box.childNodes.length; i++)
		{
			//a number.ediket átállítjuk active-ra (nem az i.-et!!)
			if(box.childNodes[i].className == inactive_class)
			{
				if(number == 1)
				{
					box.childNodes[i].className = active_class;
					break;
				}
				number--;
			}
		}
	}
}

// fejlesztés alatt üzenet kiírása
function underconstruction(date)
{
	//alert('fejlesztés alatt. Várhatóan elkészül: '+date);
	alert('Fejlesztés alatt...');
}

function ablak(page,w,h)
{
    OpenWin = this.open(page, "CtrlWindow", "width="+w+",height="+h+",toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no");
}

function ablak_scroll(page,w,h)
{
    OpenWin = this.open(page, "CtrlWindow", "width="+w+",height="+h+",toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes");
}

function openWindow(page, width, height)
{
	var openWin = window.open(page, 'CtrlWindow', 'location=0,resizable=0,status=0,titlebar=0,toolbar=0,directories=0,menubar=0,scrollbars=0,width='+width+',height='+height);
	openWin.focus();
}

//settinghez
var settingsObject = {
	change_bg:function (bg_id, element)
	{
		//ahol "text is_current" a class név, ott visszaállítjuk "texth"-re
		var elements = P_getElementsByClass('texth is_current');
		
		//ha valamilyen oknál fogva nem találtuk meg a jelenlegi háttérképet (kitörölt kép okozhat ilyen hibát)
		if(elements.length != 0){
			elements[0].className="texth";
		}
	
		element.className = 'texth is_current';	//bejelöljük a kiválasztott képet
		document.getElementById(bg_id).checked = 'true'; //input -> checked
	},

	/*a beállítások menüben az almenük kijelölését végző script*/
	change_menu:function (actual_menu)
	{
		var buttons = P_getElementsByClass('a_button', document.getElementById('button_container'));
		for(var i=0; i< buttons.length; i++)
		{
			if(buttons[i].getAttribute("id") == actual_menu){
				buttons[i].setAttribute('class', 'a_button current');
			}else{
				buttons[i].setAttribute('class', 'a_button');
			}
		}		
	},
	
	/* képernyő felbontáshoz */
	change_resolution:function (resolution_id, element)
	{
		//ahol "text is_current" a class név, ott visszaállítjuk "texth"-re
		var elements = P_getElementsByClass('texth is_current');
		
		//ha valamilyen oknál fogva nem találtuk meg a jelenlegi háttérképet (kitörölt kép okozhat ilyen hibát)
		if(elements.length != 0){
			elements[0].className="texth";
		}
	
		element.className = 'texth is_current';	//bejelöljük a kiválasztott képet
		document.getElementById(resolution_id).checked = 'true'; //input -> checked
	},
	
	/* profilhoz */
	change_password:function()
	{
		var change_password_link = document.getElementById('change_password_link');
		var hidden_element = document.getElementById('change_password');
		
		if(	hidden_element.style.display == 'block'){
			hidden_element.style.display = 'none';
			change_password_link.style.display = 'block';
		}else{
			change_password_link.style.display = 'none';
			hidden_element.style.display = 'block';
		}
	}
}
/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
	
	Parameters
	
	className
		One or several class names, separated by space. Multiple class names demands that each match have all of the classes specified. Mandatory.
	tag
		Specifies the tag name of the elements to match. Optional.
	elm
		Reference to a DOM element to look amongst its children for matches. Recommended for better performance in larger documents. Optional.
	
	Call examples
	
	To get all elements in the document with a â€œinfo-linksâ€ class.
		getElementsByClassName("info-links");
	To get all div elements within the element named â€œcontainerâ€, with a â€œcolâ€ class.
		getElementsByClassName("col", "div", document.getElementById("container")); 
	To get all elements within in the document with a â€œclick-meâ€ and a “sure-thang” class.
		getElementsByClassName("click-me sure-thang"); 
*/
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};
