if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
	window.attachEvent("onload", alphaBackgrounds);
	window.attachEvent("onload", antiFlickeringOn);
	window.attachEvent("onunload", antiFlickeringOut);
}

// XMLHTTP IMPLEMENTATION ---------------------------------------------------------------------------------------------------
// used to find the Automation server name
function getDomDocumentPrefix() {
	if (getDomDocumentPrefix.prefix)
		return getDomDocumentPrefix.prefix;
	
	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
	var o;
	for (var i = 0; i < prefixes.length; i++) {
		try {
			// try to create the objects
	
			o = new ActiveXObject(prefixes[i] + ".DomDocument");
			return getDomDocumentPrefix.prefix = prefixes[i];
		}
		catch (ex) {};
	}
	
	throw new Error("Could not find an installed XML parser");
}

function getXmlHttpPrefix() {
	if (getXmlHttpPrefix.prefix)
		return getXmlHttpPrefix.prefix;
	
	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
	var o;
	for (var i = 0; i < prefixes.length; i++) {
		try {
			// try to create the objects
			o = new ActiveXObject(prefixes[i] + ".XmlHttp");
			return getXmlHttpPrefix.prefix = prefixes[i];
		}
		catch (ex) {};
	}
	
	throw new Error("Could not find an installed XML parser");
}

//////////////////////////
// Start the Real stuff //
//////////////////////////

// XmlHttp factory
function XmlHttp() {}

XmlHttp.create = function () {
	try {
		if (window.XMLHttpRequest) {
			var req = new XMLHttpRequest();
			
			// some versions of Moz do not support the readyState property
			// and the onreadystate event so we patch it!
			if (req.readyState == null) {
				req.readyState = 1;
				req.addEventListener("load", function () {
					req.readyState = 4;
					if (typeof req.onreadystatechange == "function")
						req.onreadystatechange();
				}, false);
			}
			
			return req;
		}
		if (window.ActiveXObject) {
			return new ActiveXObject(getXmlHttpPrefix() + ".XmlHttp");
		}
	}
	catch (ex) {}
	// fell through
	throw new Error("Your browser does not support XmlHttp objects");
};

// XmlDocument factory
function XmlDocument() {}

XmlDocument.create = function () {
	try {
		// DOM2
		if (document.implementation && document.implementation.createDocument) {
			var doc = document.implementation.createDocument("", "", null);
			
			// some versions of Moz do not support the readyState property
			// and the onreadystate event so we patch it!
			if (doc.readyState == null) {
				doc.readyState = 1;
				doc.addEventListener("load", function () {
					doc.readyState = 4;
					if (typeof doc.onreadystatechange == "function")
						doc.onreadystatechange();
				}, false);
			}
			return doc;
		}
		if (window.ActiveXObject)
			return new ActiveXObject(getDomDocumentPrefix() + ".DomDocument");
	}
	catch (ex) {}
	throw new Error("Your browser does not support XmlDocument objects");
};

// Create the loadXML method and xml getter for Mozilla
if (window.DOMParser && window.XMLSerializer && window.Node && Node.prototype && Node.prototype.__defineGetter__) {

	// XMLDocument did not extend the Document interface in some versions
	// of Mozilla. Extend both!
	XMLDocument.prototype.loadXML = Document.prototype.loadXML = function (s) {
		
		// parse the string to a new doc	
		var doc2 = (new DOMParser()).parseFromString(s, "text/xml");
		
		// remove all initial children
		while (this.hasChildNodes()) {
			this.removeChild(this.lastChild);
		}
			
		// insert and import nodes
		for (var i = 0; i < doc2.childNodes.length; i++) {
			this.appendChild(this.importNode(doc2.childNodes[i], true));
		}
	};
	
	
	//
	// xml getter
	//
	// This serializes the DOM tree to an XML String
	//
	// Usage: var sXml = oNode.xml
	//
	// XMLDocument did not extend the Document interface in some versions
	// of Mozilla. Extend both!
	XMLDocument.prototype.__defineGetter__("xml", function () {
		return (new XMLSerializer()).serializeToString(this);
	});
	Document.prototype.__defineGetter__("xml", function () {
		return (new XMLSerializer()).serializeToString(this);
	});
}

// ^^^^^ XMLHTTP IMPLEMENTATION ---------------------------------------------------------------------------------------------------

// XMLHTTP REQUEST MANAGEMENT -----------------------------------------------------------------------------------------------------

var requestPool = Array();

function isArray(obj) {
	if (obj.constructor.toString().indexOf("Array") == -1)
		return false;
	else
		return true;
}

/**/
function addRequest1(requestURL, callBack, postParams, callbackParams, name) {
	Aitia.Ajax.addRequest({
		requestURL: requestURL, 
		callBack: callBack, 
		postParams: postParams, 
		callbackParams:callbackParams, 
		name:name});
}
/**/

// xmlhttp kérést ad a sorba
// param: URL, ?a visszah?nd??ggv? neve, aminek egy argumentumja a visszat?si ??(string) legyen
function addRequest(requestURL, callBack, postParams, callbackParams, name) {

//debugWriteLn(requestURL+' '+callBack);
	if (!postParams) {
		postParams = Array();
	}
	if (!callbackParams) {
		callbackParams = Array();
	}
	if (name) {
		for (var i = 0; i < requestPool.length; i++) {
			if(requestPool[i][4] == name) {
				requestPool[i][4] = "webra_deactivated";
			}
		}
	}
	else {
		name = '';
	}
	requestPool.push(Array(requestURL, callBack, postParams, callbackParams, name));
	if (requestPool.length == 1) {
		processRequest();
	}
}

/**
 * Elmenti a legutóbb használt objetumok közé a megadott objektumot.
 * 
 * @author Kocsis Róbert
 * 
 * ChangeLog:
 * - 2007.09.10, Szabó Csaba
 * Ellenőrzi, hogy létezik e a callback függvény és csak akkor hívja meg.
 */
function processRequest() {
	var xmlHttp2 = XmlHttp.create();
	if (requestPool.length > 0 && requestPool[0][4] != "webra_deactivated") {
		if (!requestPool[0][0]) {
			requestPool.shift();
			processRequest();
			return;
		}
		xmlHttp2.open("POST", requestPool[0][0], true);
		xmlHttp2.onreadystatechange = function () {
			if (xmlHttp2.readyState == 4) {
				var request = requestPool[0];
				if (request[1] && request[1].length>0) {
					var callbackParams = request[3];
					
					//Ellenőrzi, hogy létezik e a callBack függvény
					var callbackExists = false;
					if (request[1] && request[1] != "" && request[4]!="webra_deactivated") {
						eval("callbackExists = (window." + request[1] + ");");
					}
					
					// Ha létezik a callback fv
					if (callbackExists && request[4]!="webra_deactivated") {
						var s = request[1] + "('" + escape(xmlHttp2.responseText) + "', callbackParams);";
						eval(s);
					}
				}
				
				loadingIndicator(0);
				xmlHttp2.abort();
				requestPool.shift();
				processRequest();
			}
		}
		var postData = '&webraRequestType=xmlhttp';
		for (var i = 0; i < requestPool[0][2].length; i++) {
			if (requestPool[0][2][i][0]) {
				postData += '&' + requestPool[0][2][i][0] + '=' + encodeURIComponent(requestPool[0][2][i][1]);
			}
		}
		var contentlength = postData.length - 1;
		if (contentlength < 0) {
			contentlength = 0;
		}
		postData = postData.replace(/^&/, '?&');
		_postData = postData
		xmlHttp2.setRequestHeader("Accept", "text/html");
		xmlHttp2.setRequestHeader("Accept-charset", "utf-8");
		xmlHttp2.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		xmlHttp2.setRequestHeader("Content-Length",contentlength);
		xmlHttp2.setRequestHeader("Content-Disposition","form-data; name=W3");
		xmlHttp2.setRequestHeader("Connection","close");
		//alert(requestPool[0][0] + " - " + postData + " - " + requestPool[0][1]);
		
		loadingIndicator(1);
		xmlHttp2.send(postData);
	}
	else if (requestPool.length > 0) {
		requestPool.shift();
		processRequest();
	}
} //processRequest


/**
 * Direkt xmlHttp kérés (a W3 kjút megkerülve)
 * 
 * @author Szabó Csaba
 * @date 2007.12.13
 */
function processXmlHttpRequest(requestUrl, callBack, postParams, callbackParams, async) {
	var xmlHttp2 = XmlHttp.create();
	xmlHttp2.open("POST", requestUrl, async == 1 ? true : false);
	
	xmlHttp2.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	xmlHttp2.setRequestHeader("Accept", "text/html");
	xmlHttp2.setRequestHeader("Accept-charset", "utf-8");
	
	if (async == 1) {
		xmlHttp2.onreadystatechange = function () {
			if (xmlHttp2.readyState == 4) {
				//Ellenőrzi, hogy létezik e a callBack függvény
				var callbackExists = false;
				if (callBack && callBack != "") {
					eval("callbackExists = (window." + callBack + ");");
				}

				// Ha létezik a callback fv
				if (callbackExists) {
					var s = request[1]+"('"+escape(xmlHttp2.responseText)+"', callbackParams);";
					eval(s);
				}
			}
			xmlHttp2.abort();
		}
	}
	
	var postData = '&webraRequestType=xmlhttp';
	for (var i = 0; i < postParams.length; i++) {
		if (postParams[i][0]) {
			postData += '&' + postParams[i][0] + '=' + encodeURIComponent(postParams[i][1]);
		}
	}
	xmlHttp2.send(postData);
	
	if (!async) {
		return xmlHttp2.responseText;
	}
} // end processXmlHttpRequest


// ^^^^^ XMLHTTP REQUEST MANAGEMENT -----------------------------------------------------------------------------------------------

var divTimer = null;
var divTimer2 = null;
var openDiv = '';
var openDiv2 = '';
var messageTimer = null;
var lastSearchString = '';
var searchTimer = null;

function showDiv(divId, subdiv) {
	if (subdiv == 1) {
		clearDivCloseTimer();
		if (document.getElementById(divId)) {
			hideDiv(openDiv2,1)
			document.getElementById(divId).style.display = 'block';
			openDiv2 = divId;
		}
	}
	else {
		clearDivCloseTimer();
		hideDiv(openDiv);
		if (document.getElementById(divId)) {
			document.getElementById(divId).style.display = 'block';
			openDiv = divId;
		}
	}
}

function hideDiv(divId,subdiv) {
	if (subdiv == 1) {
		if (document.getElementById(divId)) {
			document.getElementById(divId).style.display = 'none';
			openDiv2 = '';
		}
	}
	else {
		if (document.getElementById(divId)) {
			document.getElementById(divId).style.display = 'none';
			openDiv = '';
		}
	}
}

function setDivCloseTimer(divId,subdiv) {
	clearDivCloseTimer(subdiv);
	if (subdiv) {
		divTimer2 = setTimeout("hideDiv('" + divId + "')", 1000);
	}
	else {
		divTimer = setTimeout("hideDiv('" + divId + "')", 1000);
	}
}

function setDivCloseTimerLong(divId) {
	clearDivCloseTimer();
	divTimer = setTimeout("hideDiv('" + divId + "')", 3000);
}

function clearDivCloseTimer(subdiv) {
	if (subdiv == 1) {
		if (divTimer2) {
			clearTimeout(divTimer2);
		}
	}
	else {
		if (divTimer) {
			clearTimeout(divTimer);
		}
	}
}

// Elemelrejtő és láthatóvá tevő függvények --------------------------
// a fentiek globális változóit használják, de nincs subdiv, és display helyett visibility-vel manipulál
function showElement(divId) {
	clearHideElementTimer();
	hideElement(openDiv);
	if (document.getElementById(divId)) {
		document.getElementById(divId).style.visibility = 'visible';
		openDiv = divId;
	}
}

function hideElement(divId) {
	var collapse = 0;
	var argv = hideElement.arguments;
	if (argv) {
		var argc = argv.length;
		if (1 <= argc) {
			collapse = argv[1];
		}
	}
	
	if (document.getElementById(divId)) {
		if (collapse) {
			document.getElementById(divId).style.display = 'none';
		}
		document.getElementById(divId).style.visibility = 'hidden';
		openDiv = '';
	}
}

function hideElementTimer(divId) {
	var delay = 1000;
	var collapse = 0;
	var argv = hideElementTimer.arguments;
	if (argv) {
		var argc = argv.length;
		if (1 <= argc) {
			delay = argv[1];
		}

		var argc = argv.length;
		if (2 <= argc) {
			collapse = argv[2];
		}
	}

	divTimer = setTimeout("hideElement('" + divId + "', '" + collapse + "')", delay);
}

function clearMakeHiddenTimer() {
	if (divTimer) {
		clearTimeout(divTimer);
	}
}

// Elemelrejtő és láthatóvá tevő függvények vége ---------------------

function refreshMessages(answerXML) {
	var answer = unescape(answerXML);
	if (document.getElementById('messageBoxContainer')) {
		document.getElementById('messageBoxContainer').innerHTML = answer;
		evalJS(answer);
	}
	initMessageTimer();
}

function evalGlobal(str) {
	if ( window.execScript ) {
		window.execScript(str);
	}
	else {
		window.eval( str );
		//eval.call( window, str );
	}
}

function evalJS(responsetext, global, encode) {
	if (!global) {
		global = false;
	}
	if (!encode) {
		encode = false;
	}
	var evalJSresult = false;
	
	// tartalomban levő js scriptek kivágása
	// 0. lépés: mivel js-ben nincs 's' modifier (amitől a '.' illeszkedik a newline-ra), ezért a sortöréseket elimináljuk temporálisan
	//responsetext=responsetext.replace(/[\r\n]/gi,'WeBrAnEwLiNeToKeN');
	// 1. lépés: textarea-ban levő scriptek (pl cikk attribpanel szerkerszthető módban) /g nem volt jó (mert először a legnagyobb előfordulást cserélte) úgyhogy 5x cserélünk
	responsetext = responsetext.replace(/<textarea[^>]*>[\s\S]*?<\/textarea>/ig, '');
	// 3. lépés: sortörés vissza, hogy a js commentek ne öljék meg a kódokat
	//responsetext=responsetext.replace(/WeBrAnEwLiNeToKeN/g,'\n');

	//re = "/<script[^>]*>/i";
	//re = eval(re);
	var re = new RegExp("<script[^>]*>", "i")
	//rre = "/<.script>/i";
	//rre = eval(rre);
	var rre = new RegExp("<.script[^>]*>", "i")
	var a = responsetext.search(re);
	while (a > -1) {
		var b = responsetext.search(rre);
		var js = responsetext.substring(a, b + 9);
		var c = js.indexOf('>');
		js = js.substring(c + 1, js.length - 9);
		
		if (encode) {
			js = htmlSpecialCharsDecode(js);
		}
		
		if (global) {
			evalGlobal(js);
		}
		else {
			eval(js);
		}
		responsetext = responsetext.substring(0, a) + responsetext.substring(b + 9);
		a = responsetext.search(re);

		evalJSresult = true;
	}

	//ha futtatott JS-t, akkor true, egyébként false
	return evalJSresult;
}

function fastSearchManage() {
	if (window.event && window.event.keyCode == 13) {
		if (searchTimer) {
			clearTimeout(searchTimer);
			searchTimer = null;
		}
		sendSearchRequest();
	}
	else if (searchTimer == null) {
		searchTimer = setTimeout("fastSearchManageSend()", 2000);
	}
}

function fastSearchManageSend() {
	searchTimer = null;
	if (document.getElementById('searchtext') && document.getElementById('searchtext').value.length > 1 && lastSearchString != document.getElementById('searchtext').value) {
		lastSearchString = document.getElementById('searchtext').value;
		sendSearchRequest();
		fastSearchManage();
	}
}

function refreshSearchResult(answerXML) {
	var answer = unescape(answerXML);
	if (document.getElementById('searchresult')) {
		document.getElementById('searchresult').innerHTML = answer;
		//document.getElementById('searchresult').style.display='block';
		//document.getElementById('searchresult').style.left='-'+(document.getElementById('searchresult').clientWidth-3)+'px';
		alphaBackgrounds();
	}
}

function antiFlickeringOn() {
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var itsAllGood = (rslt != null && Number(rslt[1]) >= 4);
	
	if (navigator.appName == "Microsoft Internet Explorer" && itsAllGood) {
		//Csak akkor kell alkalmazni, ha IE4 vagy újabb
		try {
			document.execCommand('BackgroundImageCache', false, true);
		} catch(e) {}
	}
}

function antiFlickeringOut() {
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var itsAllGood = (rslt != null && Number(rslt[1]) >= 4);
	
	if (navigator.appName == "Microsoft Internet Explorer" && itsAllGood ) {
		//Csak akkor kell alkalmazni, ha IE4 vagy újabb
		try {
			document.execCommand('BackgroundImageCache', false, false);
		} catch(e) {}
	}
}

function alphaBackgrounds() {
	/*
	var ie5 = (navigator.userAgent.indexOf('MSIE 5') > 0) ? true : false;
	var ie6 = (navigator.userAgent.indexOf('MSIE 6') > 0) ? true : false;
	
	if ( ie5 || ie6 ) {
	*/
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
	
	if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && itsAllGood ) {
	//Csak akkor kell alkalmazni, ha IE5.5 vagy ujabb. Mozillán nem kell, mert alapbol tudja.

		var argv = alphaBackgrounds.arguments;
		if (argv) {
			var argc = argv.length;
			var elements = new Array('td', 'div');
	
			var root;
			if (1<=argc && argv[0].nodeName ) {
				root = argv[0];
			}
			else {
				root = document;
			}
			
			for (var x in elements) {
				var tdList = root.getElementsByTagName(elements[x]);
				//var regE = /\.png/i;
				var regE = /img\/shadow\/[^\"\']*\.png/i;
				for (var i = 0; i < tdList.length && i < 5000; i++) {
					var bg = tdList[i].currentStyle.backgroundImage;
					if (bg) {
						//if ( bg.indexOf('.png') != -1 ) {
						if (bg.search(regE) != -1) {
							var pngbg = bg.substring(5, bg.length - 2);
							//if (tdList[i].hasChildNodes() == false || (tdList[i].childNodes.length == 1 && tdList[i].firstChild.nodeType == 3)) {
							if (tdList[i].className.indexOf("shadow") != -1) {
								tdList[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+pngbg+"', sizingMethod='scale')";
								tdList[i].style.backgroundImage = "url('')";
							}
						}
					}
				}
			}
		}
	}
}

/**
 * Üzenet kezelés a komponensek közt
 */

//komponensek nyilvántartása
var webra_components = new Object();

function msg_addComponent(compName, callbackFunction, callbackParams) {
	if (compName) {
		webra_components[compName] = new Object();
		webra_components[compName]['compName'] = compName;
		webra_components[compName]['callbackFunction'] = callbackFunction;
		webra_components[compName]['callbackParams'] = callbackParams;
	}
}

function msg_removeComponent(compName) {
	webra_components[compName] = null;
}

function msg_send(msgSender, msgParams) {
	// a toolbart futtatjuk utoljára, ezért kétszer fut a ciklus
	for (i in webra_components) {
		if (webra_components[i]['callbackParams'] && (webra_components[i]['callbackFunction'] != 'msgCallback_toolbar')) {
			var c = "var r = " + webra_components[i]['callbackFunction'] + "(msgSender, msgParams, webra_components['" + i + "']['callbackParams']);";
			eval(c);
		}
	}
	for (i in webra_components) {
		if (webra_components[i]['callbackParams'] && (webra_components[i]['callbackFunction'] == 'msgCallback_toolbar')) {
			var c = "var r = " + webra_components[i]['callbackFunction'] + "(msgSender, msgParams, webra_components['" + i + "']['callbackParams']);";
			eval(c);
		}
	}
}

//-----toolbar komponent--------
function msgCallback_toolbar(msgSender, msgParams, callbackParams) {
	if (typeof msgSender == "object") {
		// ST-ben elem kijelölés esemény történt
		if (msgSender.type == "sorttable" && (msgSender.event=="selectItem" || msgSender.event=="loadEmptyTable")) {
			// Üzenet paraméterek
			var i = callbackParams.length;
			for (var j=0; j<msgParams.length; j++) {
				callbackParams[i+j] = msgParams[j];
			}
			
			//@todo: Ez a kódrész többes kijelölés esetén elküldi a toolbarnak az összes kijelölt elem adatait. Amíg ezt a szerver oldalon nem használjuk, addig felesleges, ezért kommenteztem.
			/*
			// Ha van több kijelölt elem, akkor összepakolva is át kell küldeni
			var postParams = Array();
			var stUniqueName = getParamValue(msgParams, "stParam_uniqueName");
			var stObject = SortableTable.ST_getSorttableByName(stUniqueName);
			if (stObject) {
				var selectedData = stObject.ST_getMultiSelectedData();
				if (selectedData && selectedData.length) {
					postParams = SortableTable._packMultiSelectedData(selectedData);
					postParams = setParamValue(postParams, "stParam_uniqueName", stUniqueName);
				}
			}

			// Ha van többes kijelölés, akkor azokat az adatokat is átküldjük
			var i = callbackParams.length;
			for (var j=0; j<postParams.length; j++) {
				callbackParams[i+j] = postParams[j];
			}
			*/

			// Elküldi a kérést a szervernek
			addRequest(webraMainURL, "toolbar_callback", callbackParams, callbackParams, "toolbar_reload");
		}
	}
}

function toolbar_callback(xmlHttpResponse, callbackParams) {
	response = unescape(xmlHttpResponse);

	if (document.getElementById("header_secondrow_left")) {
		document.getElementById("header_secondrow_left").innerHTML = response;
		evalJS(response);
	}
}
//-----------------------------------


/**
 * Admin, attribútumpanel visszahívó függvénye
 */
function msgCallback_attributePanel(msgSender, msgParams, callbackParams) {
	if (typeof msgSender == "object") {
		// ST elem kijelölés
		if (msgSender.type == "sorttable" && (msgSender.event=="selectItem" || msgSender.event=="loadEmptyTable")) {
			// Üzenet paraméterek
			var i = callbackParams.length;
			for (var j = 0; j < msgParams.length; j++) {
				callbackParams[i+j] = msgParams[j];
			}
			// Ha van több kijelölt elem, akkor összepakolva is át kell küldeni
			var postParams = Array();
			var stUniqueName = getParamValue(msgParams, "stParam_uniqueName");
			var stObject = SortableTable.ST_getSorttableByName(stUniqueName);
			if (stObject) {
				var selectedData = stObject.ST_getMultiSelectedData();
				if (selectedData && selectedData.length) {
					postParams = SortableTable._packMultiSelectedData(selectedData);
					postParams = setParamValue(postParams, "stParam_uniqueName", stUniqueName);
				}
			}
			// Ha van többes kijelölés, akkor azokat az adatokat is átküldjük
			var i = callbackParams.length;
			for (var j = 0; j < postParams.length; j++) {
				callbackParams[i + j] = postParams[j];
			}
			var run = true;
			//ellenőrizzük a profilt, hogy kell-e újratölteni a panelt
			if(typeof Aitia != "undefined" && typeof Aitia.User != "undefined") {
				if(0 == Aitia.User.getPanel('right')) {
					run = false;
				}
			}
			
			if(run) {
				// Elküldi a kérést a szervernek
				$$('#right_block form').each(function(f){
					f.getElements().each(function(s){
						s.disable();
					});
				});
				Aitia.Ajax.addRequest({
					requestURL:webraMainURL, 
					callBack:'attributePanel_callback', 
					postParams:callbackParams, 
					callbackParams:callbackParams,
					name: 'attributePanel_reload',
					cache:true
				});
			}
		}
	}
}

function attributePanel_callback(xmlHttpResponse, callbackParams) {
	response = unescape(xmlHttpResponse);
	if (document.getElementById("right_block")) {
		document.getElementById("right_block").innerHTML = response;
		
		// Kinyitja a jobb oldali panelt.
		// KR: ne nyissa ki a csak a helpet tartalmazó fület, elég nagy heggesztés...
		var openit = true;
		if (document.getElementById('helplinkid')) {
			openit = false;
		}
		if(openit) {
			toggle_w3('center_right');
		}
		
		//a méretet újra be kell állítani
		resize_middle_div_heights();
		evalJS(response);
		Aitia.User.loadPanelBoxes();
	}
}

function getParamValue(paramsArray, paramName) {
	var paramValue = null;
	
	if (typeof paramsArray == "array" || typeof paramsArray == "object") {
		for (var i = 0; i < paramsArray.length; i++) {
			if (paramsArray[i][0] == paramName) {
				paramValue = paramsArray[i][1];
			}
		}
	}
	return paramValue;
}

function setParamValue(paramsArray, paramName, paramValue) {
	if (typeof paramsArray == "array" || typeof paramsArray == "object") {
		var isSet = 0;
		for (var i = 0; i < paramsArray.length; i++) {
			if (paramsArray[i][0] == paramName) {
				paramsArray[i][1] = paramValue;
				isSet = 1;
				break;
			}
		}
		if (isSet != 1) {
			paramsArray[paramsArray.length] = Array(paramName, paramValue);
		}
	}
	else {
		paramsArray	= new Array(Array(paramName, paramValue));
	}

	return paramsArray;
}

function removeParamValue(paramsArray, paramName) {
	var paramIndex = -1;
	
	if (typeof paramsArray == "array" || typeof paramsArray == "object") {
		for (var i = 0; i < paramsArray.length; i++) {
			if (paramsArray[i][0] == paramName) {
				paramIndex = i;
			}
		}
	}

	if ( paramIndex==-1 ) {
		return paramsArray;
	} else {
		paramsArray.splice(paramIndex,1)
		return paramsArray;
	}
}

function addURLParam(url, param, value) {
	var newurl = "";

	url2 = new String(url);
	arr = url2.split("#");

	newurl = arr[0];

	if (arr[0].indexOf("?") != -1) {
		newurl += "&";
	}
	else {
		newurl += "?";
	}

	newurl += encodeURIComponent(param) + "=" + encodeURIComponent(value);

	if(arr[1]) {
		newurl += "#" + arr[1];
	}

	return newurl;
}



/*
function getElementsByClassName(cl, node) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = node.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
}
*/

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 {
		expires = "";
	}
	document.cookie = name + "=" + value + expires + "; path=/";
}

function checkLoginUser() {
	u = Aitia.Cookie.getCookie('lastuser');
	if(u && '' != u) {
		document.s.vch_login_username.value = u;
		document.s.vch_login_password.focus();
	}
}

function adminhelp_search(webraInstance, adminhelp_term) {
	
	if (document.getElementById('adminhelp_term').value && (document.getElementById('adminhelp_term').value) != '')	{
		addRequest(webraMainURL + "?webraInstance="+webraInstance, 'adminhelp_callback', Array(Array("adminhelp_term", document.getElementById('adminhelp_term').value)));
	}
	else if ((adminhelp_term != 0) && adminhelp_term)	{
		addRequest(webraMainURL + "?webraInstance="+webraInstance, 'adminhelp_callback', Array(Array("adminhelp_term", adminhelp_term)));
	}
	return false;
}

function adminhelp_search_details(webraInstance,article_id, article_title, adminhelp_term) {
		addRequest(webraMainURL + "?webraInstance=" + webraInstance, 'adminhelp_callback', Array(Array("i_object_id", article_id), Array("title", article_title), Array("adminhelp_term", adminhelp_term)));
		return false;
}

function adminhelp_callback(xmlHttpResponse) {		
	response = unescape(xmlHttpResponse);
	if (document.getElementById("adminhelp_container")) {
		document.getElementById("adminhelp_container").innerHTML = response;
		evalJS(response);
	}		
}

function tidyFileName(fileName) {
	fileName = fileName.substring(fileName.lastIndexOf('\\'));
	
	fileName = fileName.replace(/á/g, 'a');
	fileName = fileName.replace(/é/g, 'e');
	fileName = fileName.replace(/í/g, 'i');
	fileName = fileName.replace(/ó/g, 'o');
	fileName = fileName.replace(/ú/g, 'u');
	fileName = fileName.replace(/ü/g, 'u');
	fileName = fileName.replace(/ű/g, 'u');
	fileName = fileName.replace(/ö/g, 'o');
	fileName = fileName.replace(/ő/g, 'o');
	fileName = fileName.replace(/Á/g, 'A');
	fileName = fileName.replace(/É/g, 'E');
	fileName = fileName.replace(/Í/g, 'I');
	fileName = fileName.replace(/Ó/g, 'O');
	fileName = fileName.replace(/Ú/g, 'U');
	fileName = fileName.replace(/Ü/g, 'U');
	fileName = fileName.replace(/Ű/g, 'U');
	fileName = fileName.replace(/Ö/g, 'O');
	fileName = fileName.replace(/Ő/g, 'O');
	
	fileName = fileName.replace(/ /g,'_');
	
	fileName = fileName.replace(/[^0-9a-zA-Z_\-\.]/g,'');
	
	fileName = trim(fileName.substring(0, 250));
	
	return fileName;
}

function checkFileName(filename,targetControl,titleControl) {
	var newname = tidyFileName(filename);
	
	if (document.getElementById(targetControl)) {
		document.getElementById(targetControl).value = newname;
	}
	
	if (document.getElementById(titleControl) && document.getElementById(titleControl).value=='') {
		newname = newname.replace(/\.\w{1,6}$/gi,'');
		newname = newname.replace(/[\/\\]$/gi,'');
		
		document.getElementById(titleControl).value = newname;
		document.getElementById(titleControl).onblur();
	}
}

SmartUrl_ReplaceCharsFrom = new Array('á', 'é', 'í', 'ó', 'ö', 'ő', 'ú', 'ü', 'ű', 'Á', 'É', 'Í', 'Ó', 'Ö', 'Ő', 'Ú', 'Ü', 'Ű');

SmartUrl_ReplaceCharsTo = new Array('a', 'e', 'i', 'o', 'o', 'o', 'u', 'u', 'u', 'a', 'e', 'i', 'o', 'o', 'o', 'u', 'u', 'u');

SmartUrl_DeniedWords = new Array('a', 'az', 'es', 'vagy', 'meg', 'tajekoztato', 'kozlemeny', 'palyazati', 'felhivas', 'eredmeny');

SmartUrl_ReplaceUnicodeToEmptyFrom = new Array('%u2010', '%u2011', '%u2012', '%u2013', '%u2014', '%u2015', '%u2016', '%u2017', '%u2018', '%u2019', '%u201A', '%u201B', '%u201C', '%u201D', '%u201E', '%u201F', '%u2032', '%u2033', '%u2034', '%u2035', '%u2036', '%u2037', '%uFE50', '%uFE51', '%uFE59', '%uFE5A', '%uFE5B', '%uFE5C', '%uFE5D', '%uFE5E');

SmartUrl_ReplaceUnicodeToEmptyTo = new Array('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');

SmartUrl_ReplaceASCIIToASCIIFrom = new Array('%C0', '%C1', '%C2', '%C3', '%C4', '%C5', '%E0', '%E1', '%E2', '%E3', '%E4', '%E5', '%C7', '%E7', '%D0', '%F0', '%C8', '%C9', '%CA', '%CB', '%E8', '%E9', '%EA', '%EB', '%CC', '%CD', '%CE', '%CF', '%EC', '%ED', '%EE', '%EF', '%D1', '%F1', '%D2', '%D3', '%D4', '%D5', '%D6', '%D8', '%F2', '%F3', '%F4', '%F5', '%F6', '%F8', '%DF', '%D9', '%DA', '%DB', '%DC', '%F9', '%FA', '%FB', '%FC', '%DD', '%FD', '%FF', '%C6', '%E6');

SmartUrl_ReplaceASCIIToASCIITo = new Array('a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'c', 'd', 'd', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'n', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 's', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'y', 'y', 'y', 'ae', 'ae');

SmartUrl_ReplaceUnicodeToASCIIFrom = new Array('%u00C0', '%u00C1', '%u00C2', '%u00C3', '%u00C4', '%u00C5', '%u00E0', '%u00E1', '%u00E2', '%u00E3', '%u00E4', '%u00E5', '%u0100', '%u0101', '%u0102', '%u0103', '%u0104', '%u0105', '%u01CD', '%u01CE', '%u01DE', '%u01DF', '%u01E0', '%u01E1', '%u01FA', '%u01FB', '%u0200', '%u0201', '%u0202', '%u0203', '%u0226', '%u0227', '%u023A', '%u0250', '%u04D0', '%u04D1', '%u1D2C', '%u1D43', '%u1D44', '%u1D8F', '%u1E00', '%u1E01', '%u1E9A', '%u1EA0', '%u1EA1', '%u1EA2', '%u1EA3', '%u1EA4', '%u1EA5', '%u1EA6', '%u1EA7', '%u1EA8', '%u1EA9', '%u1EAA', '%u1EAB', '%u1EAC', '%u1EAD', '%u1EAE', '%u1EAF', '%u1EB0', '%u1EB1', '%u1EB2', '%u1EB3', '%u1EB4', '%u1EB5', '%u1EB6', '%u1EB7', '%u2090', '%u2C65', '%u0180', '%u0181', '%u0182', '%u0183', '%u0243', '%u0253', '%u0299', '%u16D2', '%u1D03', '%u1D2E', '%u1D2F', '%u1D47', '%u1D6C', '%u1D80', '%u1E02', '%u1E03', '%u1E04', '%u1E05', '%u1E06', '%u1E07', '%u00C7', '%u00E7', '%u0106', '%u0107', '%u0108', '%u0109', '%u010A', '%u010B', '%u010C', '%u010D', '%u0187', '%u0188', '%u023B', '%u023C', '%u0255', '%u0297', '%u1D9C', '%u1D9D', '%u1E08', '%u1E09', '%u212D', '%u2184', '%u00D0', '%u00F0', '%u010E', '%u010F', '%u0110', '%u0111', '%u0189', '%u018A', '%u018B', '%u018C', '%u01C5', '%u01F2', '%u0221', '%u0256', '%u0257', '%u1D05', '%u1D30', '%u1D48', '%u1D6D', '%u1D81', '%u1D91', '%u1E0A', '%u1E0B', '%u1E0C', '%u1E0D', '%u1E0E', '%u1E0F', '%u1E10', '%u1E11', '%u1E12', '%u1E13', '%u00C8', '%u00C9', '%u00CA', '%u00CB', '%u00E8', '%u00E9', '%u00EA', '%u00EB', '%u0112', '%u0113', '%u0114', '%u0115', '%u0116', '%u0117', '%u0118', '%u0119', '%u011A', '%u011B', '%u018E', '%u0190', '%u01DD', '%u0204', '%u0205', '%u0206', '%u0207', '%u0228', '%u0229', '%u0246', '%u0247', '%u0258', '%u025B', '%u025C', '%u025D', '%u025E', '%u029A', '%u1D07', '%u1D08', '%u1D31', '%u1D32', '%u1D49', '%u1D4B', '%u1D4C', '%u1D92', '%u1D93', '%u1D94', '%u1D9F', '%u1E14', '%u1E15', '%u1E16', '%u1E17', '%u1E18', '%u1E19', '%u1E1A', '%u1E1B', '%u1E1C', '%u1E1D', '%u1EB8', '%u1EB9', '%u1EBA', '%u1EBB', '%u1EBC', '%u1EBD', '%u1EBE', '%u1EBF', '%u1EC0', '%u1EC1', '%u1EC2', '%u1EC3', '%u1EC4', '%u1EC5', '%u1EC6', '%u1EC7', '%u2091', '%u0191', '%u0192', '%u1D6E', '%u1D82', '%u1DA0', '%u1E1E', '%u1E1F', '%u011C', '%u011D', '%u011E', '%u011F', '%u0120', '%u0121', '%u0122', '%u0123', '%u0193', '%u01E4', '%u01E5', '%u01E6', '%u01E7', '%u01F4', '%u01F5', '%u0260', '%u0261', '%u0262', '%u029B', '%u1D33', '%u1D4D', '%u1D77', '%u1D79', '%u1D83', '%u1DA2', '%u1E20', '%u1E21', '%u0124', '%u0125', '%u0126', '%u0127', '%u021E', '%u021F', '%u0265', '%u0266', '%u029C', '%u02AE', '%u02AF', '%u02B0', '%u02B1', '%u1D34', '%u1DA3', '%u1E22', '%u1E23', '%u1E24', '%u1E25', '%u1E26', '%u1E27', '%u1E28', '%u1E29', '%u1E2A', '%u1E2B', '%u1E96', '%u210C', '%u2C67', '%u2C68', '%u2C75', '%u2C76', '%u00CC', '%u00CD', '%u00CE', '%u00CF', '%u00EC', '%u00ED', '%u00EE', '%u00EF', '%u0128', '%u0129', '%u012A', '%u012B', '%u012C', '%u012D', '%u012E', '%u012F', '%u0130', '%u0131', '%u0197', '%u01CF', '%u01D0', '%u0208', '%u0209', '%u020A', '%u020B', '%u0268', '%u026A', '%u040D', '%u0418', '%u0419', '%u0438', '%u0439', '%u0456', '%u1D09', '%u1D35', '%u1D4E', '%u1D62', '%u1D7B', '%u1D96', '%u1DA4', '%u1DA6', '%u1DA7', '%u1E2C', '%u1E2D', '%u1E2E', '%u1E2F', '%u1EC8', '%u1EC9', '%u1ECA', '%u1ECB', '%u2071', '%u2111', '%u0134', '%u0135', '%u01C8', '%u01CB', '%u01F0', '%u0237', '%u0248', '%u0249', '%u025F', '%u0284', '%u029D', '%u02B2', '%u1D0A', '%u1D36', '%u1DA1', '%u1DA8', '%u0136', '%u0137', '%u0198', '%u0199', '%u01E8', '%u01E9', '%u029E', '%u1D0B', '%u1D37', '%u1D4F', '%u1D84', '%u1E30', '%u1E31', '%u1E32', '%u1E33', '%u1E34', '%u1E35', '%u2C69', '%u2C6A', '%u0139', '%u013A', '%u013B', '%u013C', '%u013D', '%u013E', '%u013F', '%u0140', '%u0141', '%u0142', '%u019A', '%u01C8', '%u0234', '%u023D', '%u026B', '%u026C', '%u026D', '%u029F', '%u02E1', '%u1D0C', '%u1D38', '%u1D85', '%u1DA9', '%u1DAA', '%u1DAB', '%u1E36', '%u1E37', '%u1E38', '%u1E39', '%u1E3A', '%u1E3B', '%u1E3C', '%u1E3D', '%u2C60', '%u2C61', '%u2C62', '%u019C', '%u026F', '%u0270', '%u0271', '%u1D0D', '%u1D1F', '%u1D39', '%u1D50', '%u1D5A', '%u1D6F', '%u1D86', '%u1DAC', '%u1DAD', '%u1E3E', '%u1E3F', '%u1E40', '%u1E41', '%u1E42', '%u1E43', '%u00D1', '%u00F1', '%u0143', '%u0144', '%u0145', '%u0146', '%u0147', '%u0148', '%u0149', '%u019D', '%u019E', '%u01CB', '%u01F8', '%u01F9', '%u0220', '%u0235', '%u0272', '%u0273', '%u0274', '%u1D0E', '%u1D3A', '%u1D3B', '%u1D70', '%u1D87', '%u1DAE', '%u1DAF', '%u1DB0', '%u1E44', '%u1E45', '%u1E46', '%u1E47', '%u1E48', '%u1E49', '%u1E4A', '%u1E4B', '%u207F', '%u00D2', '%u00D3', '%u00D4', '%u00D5', '%u00D6', '%u00D8', '%u00F2', '%u00F3', '%u00F4', '%u00F5', '%u00F6', '%u00F8', '%u014C', '%u014D', '%u014E', '%u014F', '%u0150', '%u0151', '%u0186', '%u019F', '%u01A0', '%u01A1', '%u01D1', '%u01D2', '%u01EA', '%u01EB', '%u01EC', '%u01ED', '%u01FE', '%u01FF', '%u020C', '%u020D', '%u020E', '%u020F', '%u022A', '%u022B', '%u022C', '%u022D', '%u022E', '%u022F', '%u0230', '%u0231', '%u0254', '%u0275', '%u043E', '%u04E6', '%u04E7', '%u04E8', '%u04E9', '%u04EA', '%u04EB', '%u1D0F', '%u1D10', '%u1D11', '%u1D12', '%u1D13', '%u1D16', '%u1D17', '%u1D3C', '%u1D52', '%u1D53', '%u1D54', '%u1D55', '%u1D97', '%u1DB1', '%u1E4C', '%u1E4D', '%u1E4E', '%u1E4F', '%u1E50', '%u1E51', '%u1E52', '%u1E53', '%u1ECC', '%u1ECD', '%u1ECE', '%u1ECF', '%u1ED0', '%u1ED1', '%u1ED2', '%u1ED3', '%u1ED4', '%u1ED5', '%u1ED6', '%u1ED7', '%u1ED8', '%u1ED9', '%u1EDA', '%u1EDB', '%u1EDC', '%u1EDD', '%u1EDE', '%u1EDF', '%u1EE0', '%u1EE1', '%u1EE2', '%u1EE3', '%u2092', '%u2C9E', '%u2C9F', '%u01A4', '%u01A5', '%u1D18', '%u1D3E', '%u1D56', '%u1D71', '%u1D7D', '%u1D88', '%u1E54', '%u1E55', '%u1E56', '%u1E57', '%u2C63', '%u024A', '%u024B', '%u02A0', '%u0154', '%u0155', '%u0156', '%u0157', '%u0158', '%u0159', '%u0210', '%u0211', '%u0212', '%u0213', '%u024C', '%u024D', '%u0279', '%u027A', '%u027B', '%u027C', '%u027D', '%u027E', '%u027F', '%u0280', '%u0281', '%u02B3', '%u02B4', '%u02B5', '%u02B6', '%u1D19', '%u1D1A', '%u1D3F', '%u1D63', '%u1D72', '%u1D73', '%u1D89', '%u1DCA', '%u1E58', '%u1E59', '%u1E5A', '%u1E5B', '%u1E5C', '%u1E5D', '%u1E5E', '%u1E5F', '%u211C', '%u2C64', '%u00DF', '%u015A', '%u015B', '%u015C', '%u015D', '%u015E', '%u015F', '%u0160', '%u0161', '%u017F', '%u0218', '%u0219', '%u023F', '%u0282', '%u02E2', '%u1D74', '%u1D8A', '%u1DB3', '%u1E60', '%u1E61', '%u1E62', '%u1E63', '%u1E64', '%u1E65', '%u1E66', '%u1E67', '%u1E68', '%u1E69', '%u1E9B', '%u0162', '%u0163', '%u0164', '%u0165', '%u0166', '%u0167', '%u01AB', '%u01AC', '%u01AD', '%u01AE', '%u021A', '%u021B', '%u0236', '%u023E', '%u0287', '%u0288', '%u1D1B', '%u1D40', '%u1D57', '%u1D75', '%u1DB5', '%u1E6A', '%u1E6B', '%u1E6C', '%u1E6D', '%u1E6E', '%u1E6F', '%u1E70', '%u1E71', '%u1E97', '%u2C66', '%u00D9', '%u00DA', '%u00DB', '%u00DC', '%u00F9', '%u00FA', '%u00FB', '%u00FC', '%u0168', '%u0169', '%u016A', '%u016B', '%u016C', '%u016D', '%u016E', '%u016F', '%u0170', '%u0171', '%u0172', '%u0173', '%u01AF', '%u01B0', '%u01D3', '%u01D4', '%u01D5', '%u01D6', '%u01D7', '%u01D8', '%u01D9', '%u01DA', '%u01DB', '%u01DC', '%u0214', '%u0215', '%u0216', '%u0217', '%u0244', '%u0289', '%u1D1C', '%u1D1D', '%u1D1E', '%u1D41', '%u1D58', '%u1D59', '%u1D64', '%u1D7E', '%u1D99', '%u1DB6', '%u1DB8', '%u1E72', '%u1E73', '%u1E74', '%u1E75', '%u1E76', '%u1E77', '%u1E78', '%u1E79', '%u1E7A', '%u1E7B', '%u1EE4', '%u1EE5', '%u1EE6', '%u1EE7', '%u1EE8', '%u1EE9', '%u1EEA', '%u1EEB', '%u1EEC', '%u1EED', '%u1EEE', '%u1EEF', '%u1EF0', '%u1EF1', '%u01B2', '%u0245', '%u028B', '%u028C', '%u1D20', '%u1D5B', '%u1D65', '%u1D8C', '%u1DB9', '%u1DBA', '%u1E7C', '%u1E7D', '%u1E7E', '%u1E7F', '%u2C74', '%u0174', '%u0175', '%u028D', '%u02B7', '%u1D21', '%u1D42', '%u1E80', '%u1E81', '%u1E82', '%u1E83', '%u1E84', '%u1E85', '%u1E86', '%u1E87', '%u1E88', '%u1E89', '%u1E98', '%u02E3', '%u1D8D', '%u1E8A', '%u1E8B', '%u1E8C', '%u1E8D', '%u2093', '%u00DD', '%u00FD', '%u00FF', '%u0176', '%u0177', '%u0178', '%u01B3', '%u01B4', '%u0232', '%u0233', '%u024E', '%u024F', '%u028E', '%u028F', '%u02B8', '%u1E8E', '%u1E8F', '%u1E99', '%u1EF2', '%u1EF3', '%u1EF4', '%u1EF5', '%u1EF6', '%u1EF7', '%u1EF8', '%u1EF9', '%u0179', '%u017A', '%u017B', '%u017C', '%u017D', '%u017E', '%u01B5', '%u01B6', '%u0224', '%u0225', '%u0240', '%u0290', '%u0291', '%u1D22', '%u1D76', '%u1D8E', '%u1DBB', '%u1DBC', '%u1DBD', '%u1E90', '%u1E91', '%u1E92', '%u1E93', '%u1E94', '%u1E95', '%u2128', '%u2C6B', '%u2C6C', '%u00C6', '%u00E6', '%u0132', '%u0133', '%u0152', '%u0153', '%u0276', '%u1E9E', '%u1D6B');

SmartUrl_ReplaceUnicodeToASCIITo = new Array('a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'd', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'f', 'f', 'f', 'f', 'f', 'f', 'f', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'h', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'i', 'j', 'j', 'j', 'j', 'j', 'j', 'j', 'j', 'j', 'j', 'j', 'j', 'j', 'j', 'j', 'j', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'k', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'l', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'm', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'q', 'q', 'q', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 'r', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 't', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'v', 'v', 'v', 'v', 'v', 'v', 'v', 'v', 'v', 'v', 'v', 'v', 'v', 'v', 'v', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'z', 'ae', 'ae', 'ij', 'ij', 'oe', 'oe', 'oe', 'ss', 'ue');

function SmartUrl_title_to_smarturl(str) {
	var i=0;

	str = str.replace(/&[^;\/];/gi, smarturl_space_char);
	str = escape(str);
	for (i = 0; i < SmartUrl_ReplaceUnicodeToEmptyFrom.length; i++) {
		re = new RegExp(SmartUrl_ReplaceUnicodeToEmptyFrom[i], 'gi');
		str = str.replace(re, SmartUrl_ReplaceUnicodeToEmptyTo[i]);
	}
	for (i = 0; i < SmartUrl_ReplaceASCIIToASCIIFrom.length; i++) {
		re = new RegExp(SmartUrl_ReplaceASCIIToASCIIFrom[i], 'gi');
		str = str.replace(re, SmartUrl_ReplaceASCIIToASCIITo[i]);
	}
	for (i = 0; i < SmartUrl_ReplaceUnicodeToASCIIFrom.length; i++) {
		re = new RegExp(SmartUrl_ReplaceUnicodeToASCIIFrom[i], 'gi');
		str = str.replace(re, SmartUrl_ReplaceUnicodeToASCIITo[i]);
	}
	str = unescape(str);
	for (i = 0; i < SmartUrl_ReplaceCharsFrom.length; i++) {
		re = new RegExp(SmartUrl_ReplaceCharsFrom[i], 'gi');
		str = str.replace(re, SmartUrl_ReplaceCharsTo[i]);
	}
	str = str.toLowerCase();
	str = str.replace(/[^a-z0-9]/gi, smarturl_space_char);
	for (i = 0; i < SmartUrl_DeniedWords.length; i++) {
		re = new RegExp('(^|' + preg_smarturl_space_char + ')' + SmartUrl_DeniedWords[i] + '(' + preg_smarturl_space_char + '|$)', 'gi');
		str = str.replace(re, '$1$2');
	}
	re = new RegExp(preg_smarturl_space_char, 'gi');
	str = str.replace(re, smarturl_space_char + smarturl_space_char);
	re = new RegExp('(^|' + preg_smarturl_space_char + ')[a-z](' + preg_smarturl_space_char + '|$)', 'gi');
	str = str.replace(re, '$1$2');
	re = new RegExp(preg_smarturl_space_char + '+', 'gi');
	str = str.replace(re, smarturl_space_char);
	var sstr = str + smarturl_space_char;
	var sindex = sstr.lastIndexOf(smarturl_space_char, 24);
	if (sindex < 5) {
		sindex = 10;
	}
	str = str.substr(0, sindex);
	re = new RegExp('^' + preg_smarturl_space_char + '+', 'gi');
	str = str.replace(re, '');
	re = new RegExp(preg_smarturl_space_char + '+$', 'gi');
	str = str.replace(re, '');

	return str;
}

function SmartUrl_filter_smarturl(html_object_id) {
	var i = 0;
	str = document.getElementById(html_object_id).value;

	str = str.replace(/&[^;\/];/gi, smarturl_space_char);
	str = escape(str);
	for (i=0; i<SmartUrl_ReplaceUnicodeToEmptyFrom.length; i++) {
		re = new RegExp(SmartUrl_ReplaceUnicodeToEmptyFrom[i], 'gi');
		str = str.replace(re, SmartUrl_ReplaceUnicodeToEmptyTo[i]);
	}
	for (i=0; i<SmartUrl_ReplaceASCIIToASCIIFrom.length; i++) {
		re = new RegExp(SmartUrl_ReplaceASCIIToASCIIFrom[i], 'gi');
		str = str.replace(re, SmartUrl_ReplaceASCIIToASCIITo[i]);
	}
	for (i=0; i<SmartUrl_ReplaceUnicodeToASCIIFrom.length; i++) {
		re = new RegExp(SmartUrl_ReplaceUnicodeToASCIIFrom[i], 'gi');
		str = str.replace(re, SmartUrl_ReplaceUnicodeToASCIITo[i]);
	}
	str = unescape(str);
	for (i=0; i<SmartUrl_ReplaceCharsFrom.length; i++) {
		re = new RegExp(SmartUrl_ReplaceCharsFrom[i], 'gi');
		str = str.replace(re, SmartUrl_ReplaceCharsTo[i]);
	}
	str = str.toLowerCase();
	str = str.replace(/[^a-z0-9\/]/gi, smarturl_space_char);
	if (document.getElementById(html_object_id).value != str) {
		document.getElementById(html_object_id).value = str;
	}
}

function generateSmartURL_base(sou_folderid_value, sou_objecttitle_value, dest_html_object_id) {
	if (document.getElementById('panel_smarturl_parentfolder_id')) {
		sou_folderid_value = document.getElementById('panel_smarturl_parentfolder_id').value;
	}
	if (document.getElementById(dest_html_object_id)) {
		addRequest(smarturlcallbackURL+'&xmleditor_action=getSmartURLfolderpath&nodoctype=1&parentid='+sou_folderid_value, 'getSmartURLfolderpath_base', '', Array(sou_objecttitle_value, dest_html_object_id, '##/##', '/'));
	}
}

function getSmartURLfolderpath_base(result, params) {
	if (result=='undefined') {
		result = '';
	}
	result=unescape(result);
	result=result.replace(/([^\s])\s*$/gi,'$1');

	var str = '';
	if (result.indexOf('##nochange##') == -1) {
		var str_array = new Array();
		str_array = result.split(params[2]);
		for (i = 0; i < str_array.length; i++) {
			str += SmartUrl_title_to_smarturl(str_array[i],'')+params[3];
		}
	}
	else {
		str += result.replace(/##nochange##$/gi, '')+params[3];
	}
	str += SmartUrl_title_to_smarturl(params[0],'');
	str = str.replace(/^\/+/gi, '');
	str = str.replace(/\/+$/gi, '');

	document.getElementById(params[1]).value = str;
}

function changeObjectPosition(metadataId, changeType, stUniqueName) {
	// A pozicionálást az ST objektum létrehozó modul fogja végezni. // st_adminPositionObjectBrowserST_maintable
	if (webra_sorttables && webra_sorttables['st_' + stUniqueName + '_maintable']) {
		stObject = webra_sorttables['st_' + stUniqueName + '_maintable'];
		// URL összeállítása
		var url = this.addURLParam(stObject.homeURL, "ctag", "reload");
		
		// + paraméterek a súlyozáshoz
		url = this.addURLParam(url, "metadataId", metadataId);
		url = this.addURLParam(url, "changeType", changeType);

		// Pozicionálás és ST újratöltés egyben
		stObject.ST_resubmit(url, "SortableTable.ST_callback_reload");
	}
} // end function changeObjectPosition

function changeHeadObjectPosition(headObjectID, changeType, sorttableName) {	
	// A pozicionálást az ST objektum létrehozó modul fogja végezni.
	if (webra_sorttables && webra_sorttables["st_"+sorttableName+"_maintable"]) {
		stObject = webra_sorttables["st_"+sorttableName+"_maintable"];

		// URL összeállítása
		var url = this.addURLParam(stObject.homeURL, "ctag", "reload");
		
		// + paraméterek a súlyozáshoz
		url = this.addURLParam(url, "headObjectID", headObjectID);
		url = this.addURLParam(url, "changeType", changeType);

		// Pozicionálás és ST újratöltés egyben
		stObject.ST_resubmit(url, "SortableTable.ST_callback_reload");
	}
} // end function changeHeadObjectPosition

/**
 * Foglaltság jelzés az adminon (vagy a cím hátterében, vagy a kis piros div-vel)
 *
 * @date 2007.08.29
 * @author Szabó Csaba
 *
 * @param boolean Kikapcsolás (0) vagy bekapcsolás (1)
 */
function loadingIndicator(status) {
	if ( document.body ) {
		var iObject = document.getElementById("header_firstrow_label");
		if (iObject) {
			if (status) {
				iObject.className = 'header_firstrow_label_busy';
			}
			else {
				iObject.className = '';
			}
		}
		else {
			var divVisibilityValue = "hidden";
			if (status) {
				divVisibilityValue = "visible";
			}
			
			var iObject = document.getElementById("w3LoadingDiv");
			if (!iObject) {
				var loadingDiv = document.createElement("div");
				loadingDiv.id = "w3LoadingDiv";
				loadingDiv.innerHTML = LANG['LOADING'];
				loadingDiv.className = "loading_div";
				loadingDiv.style.visibility = divVisibilityValue;
				document.body.appendChild(loadingDiv);
			}
			else {
				iObject.style.visibility = divVisibilityValue;
			}
		}
	}
}

/**
 * Elmenti a legutóbb használt objektumok közé a megadott objektumot.
 *
 * @author Szabó Csaba <csszabo@webra.hu>
 * @date 2007.09.10
 *
 * @param integer Az objektum azonosítója
 * @param integer Az objektum típus azonosítója
 *
 * @todo> Átgondolni: kliens oldalról nem kell módosítani, mert csak azok az objektumok kerülhetnek be, melyeket a DB-ben módosított.
 */
function profilePushMostRecentObject(metadataID, objectID, objectTypeID) {
	// Vagy metadata azonosító vagy objektum és objektumtípus azonosító szükséges
	if (parseInt(metadataID) > 0 || (parseInt(objectID) > 0 && parseInt(objectTypeID) > 0)) {
		addRequest(profileURL, "", Array(Array("webra_action", "profileSetMostRecentObject"), Array("objectID", objectID), Array("objectTypeID", objectTypeID)));
	}
}

/**
 * Beállítja az aktuálisan használt rovatot (linuxos hasonlattal élve pwd-t)
 * Ezt lehet használni új objektum létrehozáskor default rovatnak.
 *
 * @author Szabó Csaba <csszabo@webra.hu>
 * @date 2007.09.10
 *
 * @param integer Az objektum azonosítója
 * @param integer Az objektum típus azonosítója
 */
function profileSetActiveFolder(objectID) {
	// Rovat azonosító szükséges
	if (parseInt(objectID) > 0) {
		addRequest(profileURL, "", Array(Array("webra_action", "profileSetActiveFolder"), Array("objectID", objectID)));
	}
}

/**
 * Visszaad várost zip alapján.
 *
 * @author Kocsis Róbert <rkocsis@webra.hu>
 * @date 2007.11.08.
 *
 * @param integer zip
 * @param string célpont html control
 */
function getWebraCityByZip(zipcode,settlementControl) {
	if (zipcode.length == 4) {
		var params = setParamValue(params, "nodoctype", 1);
		params = setParamValue(params, "webra_action", 'getWebraCityByZip');
		params = setParamValue(params, "vch_zipcode", zipcode);
		params = setParamValue(params, "settlementControl", settlementControl);
		addRequest(profileURL, "getWebraCityByZip_callback", params);
	}
}

function getWebraCityByZip_callback(result, callbackParams) {
	var result=unescape(result);
	evalJS(result);
}

/**
 * Visszaad várost zip alapján.
 *
 * @author Kocsis Róbert <rkocsis@webra.hu>
 * @date 2007.11.08.
 *
 * @param integer zip
 * @param string célpont html control
 */
function getWebraCityByZip_public(zipcode,settlementControl) {
	if (zipcode.length == 4) {
		var params = setParamValue(params, "nodoctype", 1);
		params = setParamValue(params, "webra_action", 'getWebraCityByZip');
		params = setParamValue(params, "vch_zipcode", zipcode);
		params = setParamValue(params, "settlementControl", settlementControl);
		addRequest(profilePublicURL, "getWebraCityByZip_callback", params);
	}
}

function getWebraCityByZip_public_callback(result, callbackParams) {
	var result=unescape(result);
	evalJS(result);
}

/**
 * Általános ajax url check
 *
 * @author Kocsis Róbert <rkocsis@webra.hu>
 * @date 2007.11.26.
 *
 * @param string url
 */
function checkWebraURL(url) {
	if (url!='') {
		var params = setParamValue(params, "nodoctype", 1);
		params = setParamValue(params, "webra_action", 'checkURL');
		params = setParamValue(params, "url", url);
		addRequest(profileURL, "checkWebraURL_callback", params);
	}
}

function checkWebraURL_callback(result) {
	var result=unescape(result);
	if (result==1) {
		alert('Az URL létezik és elérhető.');
	} else {
		alert('Az URL nem létezik, vagy nem elérhető a szerverről.');
	}
}

var monthlengths = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
/* format: YYYY*MM*DD */
function checkDateSimple(dateobject) {
	if (dateobject.value.match(/^\d{4}[^0-9]\d{2}[^0-9]\d{2}$/)) {
		var thisyear = dateobject.value.substr(0,4);
		var thismonth = dateobject.value.substr(5,2);
		var thisday = dateobject.value.substr(8,2);
		if ((parseInt(thisyear) > 0) && (parseInt(thismonth) > 0) && (parseInt(thisday) > 0)) {
			monthlengths[1] = 28;
			if ((parseInt(thisyear/4) == (thisyear/4))) {
				monthlengths[1] = 29;
			}
			if ((parseInt(thismonth) <= 12) && (parseInt(thisday) <= monthlengths[parseInt(thismonth)-1])) {
				return true;
			}
		}
	}

	dateobject.focus();
	return false;
}

// --- Webra, Admin About Box ---
function webraAboutPopup(webraInstance) {
	newAdminPopup('admin_gui::webraAboutBoxPopup', Array(Array('webraInstance', webraInstance), Array('alma', 1)));
}

// --- begin - eventcalendar ---------------------------
function event_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 event_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 EventCalendarDay(i, type, node) {
	this.num = i;
	this.type = type;
	this.node = node;
}

function EventCalendar() {
	this.year = null;
	this.month = null;
	this.day = null;
	this.days = new Array();
	this.selectedDay = null;
	this.rootNode = null;
	this.yearSelect = null;
	this.monthSelect = null;
	this.timer = null;
	
	this.webraInstance = null;

	this.selectDay = function(d) {
		if (this.selectedDay != null) {
			this.days[this.selectedDay].node.className = this.days[this.selectedDay].node.className.replace('selectedDay', '');
		}
		this.selectedDay = d;
		if (this.selectedDay != null) {
			this.days[this.selectedDay].node.className = this.days[this.selectedDay].node.className+' selectedDay ';
		}
		var params=Array();
		setParamValue(params, 'webra_action', 'getDayInfo');
		setParamValue(params, 'nodoctype', '1');
		setParamValue(params, 'year', this.year);
		setParamValue(params, 'month', this.month);
		setParamValue(params, 'day', this.selectedDay);
		setParamValue(params, 'webraInstance', this.webraInstance);
		
		if (document.getElementById('naptar_kulso')) {
			this.setTimer(params);
		}
		else {
			addRequest(mainURL+'main.php', 'cal.selectDayResponse', params, params);
		}
	}

	this.selectDay_pointer = function(d) {
		if (this.selectedDay != null) {
			this.days[this.selectedDay].node.className = this.days[this.selectedDay].node.className.replace('selectedDay', '');
		}
		this.selectedDay = d;
		if (this.selectedDay != null) {
			this.days[this.selectedDay].node.className = this.days[this.selectedDay].node.className+' selectedDay ';
		}
	}

	this.setTimer = function(params) {
		this.clearTimer();
	
		var paramStr = "";
		if (typeof params == "array" || typeof params == "object") {
			for (var i=0; i<params.length; i++) {
				if (paramStr != "") paramStr += ", ";
				paramStr += "Array('"+params[i][0]+"', '"+params[i][1]+"')";
			}
		}
		paramStr = "Array("+paramStr+")";
	
		if (document.getElementById('naptar_kulso')) {
			if (document.getElementById('cal_day_'+getParamValue(params, 'day'))) {
				if (document.getElementById('ticket_calendar_today')) {
					document.getElementById('ticket_calendar_today').style.display = 'block';
					this.clearBlock();
					document.getElementById('ticket_calendar_today').className = 'ticket_calendar_today';
					document.getElementById('ticket_calendar_today').style.top = (event_findPosY(document.getElementById('cal_day_'+getParamValue(params, 'day'))) - event_findPosY(document.getElementById('naptar_kulso')) + document.getElementById('calendar_pointer').clientHeight + document.getElementById('cal_day_'+getParamValue(params, 'day')).clientHeight)+'px';
					if (document.getElementById('calendar_pointer')) {
						document.getElementById('calendar_pointer').style.left = (event_findPosX(document.getElementById('cal_day_'+getParamValue(params, 'day'))) - event_findPosX(document.getElementById('naptar_kulso')))+'px';
					}
				}
			}
		}
		var commandStr = "addRequest(mainURL+'main.php', 'cal.selectDayResponse', "+paramStr+", "+paramStr+");";
		this.timer = setTimeout(commandStr, 1000);
	}

	this.clearTimer = function() {
		if (this.timer) {
			clearTimeout(this.timer);
		}
	}

	this.clearBlock = function() {
		if (document.getElementById('ticket_calendar_today')) {
			document.getElementById('ticket_calendar_today').innerHTML = '<div id="calendar_pointer" class="calendar_pointer"></div><br></br>';
		}
	}

	this.clearselectedDay = function() {
		if (cal.selectedDay != null) {
			cal.days[cal.selectedDay].node.className = cal.days[cal.selectedDay].node.className.replace('selectedDay', '');
		}
	}

	this.hideBlock = function() {
		if (document.getElementById('ticket_calendar_today')) {
			document.getElementById('ticket_calendar_today').style.display = 'none';
		}
	}

	this.loadedBlock = function() {
		if (document.getElementById('ticket_calendar_today')) {
			document.getElementById('ticket_calendar_today').className = 'ticket_calendar_today_loaded';
		}
	}

	this.selectDayResponse = function(xmlHttpResponse, params) {
		response = unescape(xmlHttpResponse);
		evalJS(response);
		document.getElementById('ticket_calendar_today').innerHTML=response;
		if (document.getElementById('ticket_toright')) {
			document.getElementById('ticket_toright').innerHTML = document.getElementById('ticket_fromleft').innerHTML;
			document.getElementById('ticket_fromleft').innerHTML = '';
		}
		if (document.getElementById('ticket_time') && document.getElementById('ticket_time').innerHTML=='' && actualDate) {
			document.getElementById('ticket_time').innerHTML=actualDate.substring(8,10)+':'+actualDate.substring(10,12);
			if (document.getElementById('td'+actualDate.substring(8,10)+'_'+actualDate.substring(10,12))) {
				var td=document.getElementById('td'+actualDate.substring(8,10)+'_'+actualDate.substring(10,12));
				td.style.border='1px solid yellow';
				lastDailyTimeSelected=td;
			}
		}

		if (document.getElementById('naptar_kulso')) {
			if (document.getElementById('cal_day_'+getParamValue(params, 'day'))) {
				if (document.getElementById('ticket_calendar_today')) {
					document.getElementById('ticket_calendar_today').style.display = 'block';
					document.getElementById('ticket_calendar_today').className = 'ticket_calendar_today_loaded';
					document.getElementById('ticket_calendar_today').style.top = (event_findPosY(document.getElementById('cal_day_'+getParamValue(params, 'day'))) - event_findPosY(document.getElementById('naptar_kulso')) + document.getElementById('calendar_pointer').clientHeight + document.getElementById('cal_day_'+getParamValue(params, 'day')).clientHeight)+'px';
					if (document.getElementById('calendar_pointer')) {
						document.getElementById('calendar_pointer').style.left = (event_findPosX(document.getElementById('cal_day_'+getParamValue(params, 'day'))) - event_findPosX(document.getElementById('naptar_kulso')))+'px';
					}
				}
			}
			else {
				if (document.getElementById('ticket_calendar_today')) {
					document.getElementById('ticket_calendar_today').style.display = 'none';
				}
			}
		}
	}

	this.unselectDay = function() {
		if (document.getElementById('naptar_kulso')) {
			if (document.getElementById('ticket_calendar_today')) {
				this.clearTimer();
				this.timer = setTimeout("cal.hideBlock();cal.clearselectedDay();", 1000);
			}
		}
	}

	this.setDate = function(y, m, d) {
		if (y != null) this.year = parseInt(parseFloat(y)+0.1);
		if (m != null) this.month = parseInt(parseFloat(m)+0.1);
		if (d != null) this.day = parseInt(parseFloat(d)+0.1);
		this.setDayTypes();
	}

	this.setDate_pointer = function(y, m, d) {
		if (y != null) this.year = parseInt(parseFloat(y)+0.1);
		if (m != null) this.month = parseInt(parseFloat(m)+0.1);
		if (d != null) this.day = parseInt(parseFloat(d)+0.1);
		this.setDayTypes_pointer();
	}

	this.setDayType = function(d, type) {
		if (0<d && d<=31) {
			if (typeof(this.days[d]) == 'undefined') this.days[d] = new EventCalendarDay(d, type);
			if (type != null) this.days[d].type = type;
		}
	}

	this.setDayTypes = function() {
		var params=Array();
		setParamValue(params, 'webra_action', 'getMonthTypes');
		setParamValue(params, 'nodoctype', '1');
		setParamValue(params, 'year', this.year);
		setParamValue(params, 'month', this.month);
		setParamValue(params, 'webraInstance', this.webraInstance);
		addRequest(mainURL+'main.php', 'cal.setDayTypesResponse', params);
	}

	this.setDayTypes_pointer = function() {
		var params=Array();
		setParamValue(params, 'webra_action', 'getMonthTypes');
		setParamValue(params, 'nodoctype', '1');
		setParamValue(params, 'year', this.year);
		setParamValue(params, 'month', this.month);
		setParamValue(params, 'webraInstance', this.webraInstance);
		addRequest(mainURL+'main.php', 'cal.setDayTypesResponse_pointer', params);
	}

	this.setDayTypesResponse = function(xmlHttpResponse) {
		response = unescape(xmlHttpResponse);
		evalJS(response);
		for (var d=1; d<=31; d++) {
			try {
				this.setDayType(d, days[d-1]);
			} catch (e) {
				this.setDayType(d, '');
			}
		}
		this.displayCalendar();
		try {
			for (var i=0; i<this.yearSelect.options.length; i++) {
				if (this.yearSelect.options[i].value == this.year) {
					this.yearSelect.selectedIndex = i;
				}
			}
		}
		catch (e) {}
		try {
			for (var i=0; i<this.monthSelect.options.length; i++) {
				if (this.monthSelect.options[i].value == this.month) {
					this.monthSelect.selectedIndex = i;
				}
			}
		}
		catch (e) {}
		this.selectDay(parseInt(this.day));
	}

	this.setDayTypesResponse_pointer = function(xmlHttpResponse) {
		response = unescape(xmlHttpResponse);
		evalJS(response);
		for (var d=1; d<=31; d++) {
			try {
				this.setDayType(d, days[d-1]);
			} catch (e) {
				this.setDayType(d, '');
			}
		}
		this.displayCalendar();
		try {
			for (var i=0; i<this.yearSelect.options.length; i++) {
				if (this.yearSelect.options[i].value == this.year) {
					this.yearSelect.selectedIndex = i;
				}
			}
		}
		catch (e) {}
		try {
			for (var i=0; i<this.monthSelect.options.length; i++) {
				if (this.monthSelect.options[i].value == this.month) {
					this.monthSelect.selectedIndex = i;
				}
			}
		}
		catch (e) {}
		this.selectDay_pointer(parseInt(this.day));
	}

	this.displayCalendar = function() {
		year = this.year;
		month = this.month;
		day = this.day;

		if (month[0] == "0") month = month.substring(1);
		month = parseInt(month);
		month--;
		year = parseInt(year);
		var days = this.getDaysInMonth(month, year);
		if (days < this.day) {
			this.day = days;
			day = this.day;
		}
		var firstOfMonth = new Date(year, month, 1);
		var startingPos = firstOfMonth.getDay() - 1;
		if (startingPos == -1) startingPos = 6;
		var str = "";
		days += startingPos;
	
		// bevezeto ures mezok
		var st;
		var border;
		var calendar = document.getElementById("naptar0_napok");

		calendar.innerHTML = '';
		var calTable = document.createElement('table');
		calTable.cellSpacing = "1";
		calTable.className = "caltable_days";
		calendar.appendChild(calTable);

		var calTBody = document.createElement('tbody');
		calTable.appendChild(calTBody);
		
		var row;
		
		for (var i=0; i<7; i++) {
			if (i%7 == 0) {
				row = document.createElement('tr');
				calTBody.appendChild(row);
			}
			var cell = document.createElement('td');
			row.appendChild(cell);
			
			cell.className = 'nap_cim';
			switch (i) {
				case 0: cell.innerHTML = LANG['CALENDAR_DAY_1_SHORT']; break;
				case 1: cell.innerHTML = LANG['CALENDAR_DAY_2_SHORT']; break;
				case 2: cell.innerHTML = LANG['CALENDAR_DAY_3_SHORT']; break;
				case 3: cell.innerHTML = LANG['CALENDAR_DAY_4_SHORT']; break;
				case 4: cell.innerHTML = LANG['CALENDAR_DAY_5_SHORT']; break;
				case 5: cell.innerHTML = LANG['CALENDAR_DAY_6_SHORT']; break;
				case 6: cell.innerHTML = LANG['CALENDAR_DAY_7_SHORT']; break;
			}
		}
		
		var calTable = document.createElement('table');
		calTable.cellSpacing = "1";
		calTable.className = "caltable_cal";
		calendar.appendChild(calTable);
		
		var calTBody = document.createElement('tbody');
		calTable.appendChild(calTBody);
	
		var dayType = '';
		for (var i=0; i<startingPos; i++) {
			if (i%7 == 0) {
				row = document.createElement('tr');
				calTBody.appendChild(row);
			}
			var cell = document.createElement('td');
			row.appendChild(cell);
			
			cell.className = 'nap empty';
			cell.innerHTML = "<div>&nbsp;</div>";
		}

		for (; i < days; i++) {
			if (i%7 == 0) {
				row = document.createElement('tr');
				calTBody.appendChild(row);
			}
			var day = i - startingPos + 1;
	
			var cell = document.createElement('td');
			row.appendChild(cell);
			
			this.days[i+1-startingPos].node = cell;
			try {
				cell.className = 'nap '+this.days[i+1-startingPos].type;
			}
			catch (e) {
				cell.className = 'nap';
			}
			cell.innerHTML = "<div id='cal_day_"+(i+1-startingPos)+"' onclick='cal.selectDay("+(i+1-startingPos)+");' onmouseover='cal.selectDay("+(i+1-startingPos)+");' style=\"cursor: pointer;\">"+day+"</div>";
		}

		var rest = 6 - (days-1) % 7;
		for (var i=0; i<rest; i++) {
			var cell = document.createElement('td');
			row.appendChild(cell);
			
			cell.className = 'nap empty';
			cell.innerHTML = "<div>&nbsp;</div>";
		}
	}
	
	this.changeYear = function(year) {
		this.year = year;
		this.setDate(null, null, null);
	}
	
	this.changeMonth = function(month) {
		this.month = month;
		this.setDate(null, null, null);
	}
	
	this.setCurrentDate = function() {
		var now = new Date();
		this.setDate(now.getFullYear(), now.getMonth()+1, now.getDate());
	}
	
	this.getDaysInMonth = function(month, year) {
		var days;
		if (month==0 || month==2 || month==4 || month==6 || month==7 || month==9 || month==11) {
			days=31;
		} else if (month==3 || month==5 || month==8 || month==10) {
			days=30;
		} else if (month==1) {
			if (this.isLeapYear(year)) {
				days=29;
			} else {
				days=28;
			}
		}
		return days;
	}
	
	this.isLeapYear = function(Year) {
		if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
			return (true);
		} else {
			return (false);
		}
	}
}
// --- end - eventcalendar ---------------------------

function vote_stars(rate,inside) {
	for (i=1;6>i;i++) {
		if (inside==1) {
			if (i>rate) {
				document.getElementById('votestars'+i).src='/img/stars2.png';
			}
			else {
				document.getElementById('votestars'+i).src='/img/stars1.png';
			}					
		}
		else {
			if (i>document.getElementById('articlevotenr').value) {
				document.getElementById('votestars'+i).src='/img/stars2.png';
			}
			else {
				document.getElementById('votestars'+i).src='/img/stars1.png';
			}
		}
	}
}
