	var TYPE = "e";
	var MODE = "rw";
	var TARGET = "NULL";
	var PRELOAD = "NULL";
	
	function urlToTr(str){
		str=str.replace(/%E7/g,"?");
		str=str.replace(/%C7/g,"?");
		str=str.replace(/%F0/g,"?");
		str=str.replace(/%D0/g,"?");
		str=str.replace(/%FD/g,"?");
		str=str.replace(/%DD/g,"?");
		str=str.replace(/%F6/g,"?");
		str=str.replace(/%D6/g,"?");
		str=str.replace(/%FE/g,"?");
		str=str.replace(/%DE/g,"?");
		str=str.replace(/%FC/g,"?");
		str=str.replace(/%DC/g,"?");
		return unescape(str);
	}

	function trToUrl(str){
		str=str.replace(/?/g,escape("?"));
		str=str.replace(/?/g,escape("?"));
		str=str.replace(/?/g,escape("?"));
		str=str.replace(/?/g,escape("?"));
		str=str.replace(/?/g,escape("?"));
		str=str.replace(/?/g,escape("?"));
		str=str.replace(/?/g,escape("?"));
		str=str.replace(/?/g,escape("?"));
		str=str.replace(/?/g,escape("?"));
		str=str.replace(/?/g,escape("?"));
		str=str.replace(/?/g,escape("?"));
		str=str.replace(/?/g,escape("?"));
		return str;
	}
	
	function PLX_ShowError(err){
		if(err != ""){
			alert(err);
			return false;
		}else{
			return true;
		}
	}
	
	function PLX_GetXmlHttp(){
		objXmlHttp = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            objXmlHttp = new XMLHttpRequest();
            if (objXmlHttp.overrideMimeType) {
                objXmlHttp.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                objXmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!objXmlHttp) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }

		return objXmlHttp;
	}
	
	function PLX_CreatePreloading(preLoad){
		document.getElementById(preLoad).style.visibility = 'visible';
	}
	
	var preId = 0;
	
	function PLX_CreateOutput(funcName, funcArgs){
		var post_data = "funcName=" + escape(funcName);
		var args = new Array();
		if(funcArgs != ""){
			if(funcArgs.indexOf(",") != -1){
				args = funcArgs.split(",");
				for (i=0;i<args.length;i++) post_data += "&funcArgs[]=" + escape(args[i]);
			}else{
				post_data += "&funcArgs[]=" + escape(funcArgs);
			}
		}
		var XmlHttp = PLX_GetXmlHttp();
		var ajaxType = false;
		if(TYPE != "r") ajaxType = true;
		XmlHttp.open("POST", "/v2/index.php?", ajaxType);
		XmlHttp.setRequestHeader("Method", "POST " + "/v2/index.php?" + " HTTP/1.1");
		XmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-9");
		XmlHttp.setRequestHeader("Pragma", "no-cache");
		XmlHttp.setRequestHeader("Cache-Control", "no-cache, must revalidate");
		XmlHttp.send(trToUrl(post_data));
		
		if(TYPE != "r"){
			var preLoad = "NULL";
			if(preId != 0){
				PLX_CreatePreloading(preId);
				preLoad = preId;
				preId = 0;
			}
		
			XmlHttp.onreadystatechange = function(){
				if (XmlHttp.readyState == 4){
					output = urlToTr(XmlHttp.responseText);
					var outparts = output.split("<phplivex>");
					output = outparts[outparts.length-1].replace("/</phplivex>/", "");

					if(preLoad != "NULL"){
						document.getElementById(preLoad).style.visibility = 'hidden';
						
					}
					
					if(TYPE == "e") document.body.innerHTML += "";
					else if(MODE == "aw") document.getElementById(TARGET).innerHTML += output;
					else if(MODE == "rw") document.getElementById(TARGET).innerHTML = output;
					
					TYPE = "e";
					MODE = "rw";
				}
		
			}
		}else{
			output = urlToTr(XmlHttp.responseText);
			var outparts = output.split("<phplivex>");
			output = outparts[outparts.length-1].replace("/</phplivex>/", "");
			return output;
		}
	}
	
		
	function liveFieldCheck() {
		
		var args = new Array(); var plx_args = new Array();
		for(i=0;i<liveFieldCheck.arguments.length;i++) args[i] = liveFieldCheck.arguments[i];
		if(args[args.length-1].indexOf(",") != -1) plx_args = args[args.length-1].split(",");
		else plx_args[0] = args[args.length-1];
		
		for(i=0;i<plx_args.length;i++){
			if(plx_args[i].indexOf("type=") != -1){
				TYPE = plx_args[i].substr(5);
			}else if(plx_args[i].indexOf("target=") != -1){
				TARGET = plx_args[i].substr(7);
				TYPE = "print";
			}else if(plx_args[i].indexOf("mode=") != -1){
				MODE = plx_args[i].substr(5);
			}else if(plx_args[i].indexOf("preload=") != -1){
				PRELOAD = plx_args[i].substr(8);
			}
		}
		
		args.splice(args.length-1, 1);
		var FuncArgs = args.join();
		
		if(PRELOAD != "NULL") preId = PRELOAD;
		PRELOAD = "NULL";
				try{
			if(TYPE == "r" || TYPE == "e"){ 
				return PLX_CreateOutput("liveFieldCheck", FuncArgs);
			}else{
				PLX_CreateOutput("liveFieldCheck", FuncArgs);
			}
		}catch(ex){
			PLX_ShowError(ex);
		}
		
			
	}
