$estr = function() { return js.Boot.__string_rec(this,''); }
js = {}
js.Boot = function() { }
js.Boot.__name__ = ["js","Boot"];
js.Boot.__unhtml = function(s) {
	return s.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;");
}
js.Boot.__trace = function(v,i) {
	var msg = (i != null?i.fileName + ":" + i.lineNumber + ": ":"");
	msg += js.Boot.__unhtml(js.Boot.__string_rec(v,"")) + "<br/>";
	var d = document.getElementById("haxe:trace");
	if(d == null) alert("No haxe:trace element defined\n" + msg);
	else d.innerHTML += msg;
}
js.Boot.__clear_trace = function() {
	var d = document.getElementById("haxe:trace");
	if(d != null) d.innerHTML = "";
	else null;
}
js.Boot.__closure = function(o,f) {
	var m = o[f];
	if(m == null) return null;
	var f1 = function() {
		return m.apply(o,arguments);
	}
	f1.scope = o;
	f1.method = m;
	return f1;
}
js.Boot.__string_rec = function(o,s) {
	if(o == null) return "null";
	if(s.length >= 5) return "<...>";
	var t = typeof(o);
	if(t == "function" && (o.__name__ != null || o.__ename__ != null)) t = "object";
	switch(t) {
	case "object":{
		if(o instanceof Array) {
			if(o.__enum__ != null) {
				if(o.length == 2) return o[0];
				var str = o[0] + "(";
				s += "\t";
				{
					var _g1 = 2, _g = o.length;
					while(_g1 < _g) {
						var i = _g1++;
						if(i != 2) str += "," + js.Boot.__string_rec(o[i],s);
						else str += js.Boot.__string_rec(o[i],s);
					}
				}
				return str + ")";
			}
			var l = o.length;
			var i;
			var str = "[";
			s += "\t";
			{
				var _g = 0;
				while(_g < l) {
					var i1 = _g++;
					str += ((i1 > 0?",":"")) + js.Boot.__string_rec(o[i1],s);
				}
			}
			str += "]";
			return str;
		}
		var tostr;
		try {
			tostr = o.toString;
		}
		catch( $e0 ) {
			{
				var e = $e0;
				{
					return "???";
				}
			}
		}
		if(tostr != null && tostr != Object.toString) {
			var s2 = o.toString();
			if(s2 != "[object Object]") return s2;
		}
		var k = null;
		var str = "{\n";
		s += "\t";
		var hasp = (o.hasOwnProperty != null);
		for( var k in o ) { ;
		if(hasp && !o.hasOwnProperty(k)) continue;
		if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__") continue;
		if(str.length != 2) str += ", \n";
		str += s + k + " : " + js.Boot.__string_rec(o[k],s);
		}
		s = s.substring(1);
		str += "\n" + s + "}";
		return str;
	}break;
	case "function":{
		return "<function>";
	}break;
	case "string":{
		return o;
	}break;
	default:{
		return String(o);
	}break;
	}
}
js.Boot.__interfLoop = function(cc,cl) {
	if(cc == null) return false;
	if(cc == cl) return true;
	var intf = cc.__interfaces__;
	if(intf != null) {
		var _g1 = 0, _g = intf.length;
		while(_g1 < _g) {
			var i = _g1++;
			var i1 = intf[i];
			if(i1 == cl || js.Boot.__interfLoop(i1,cl)) return true;
		}
	}
	return js.Boot.__interfLoop(cc.__super__,cl);
}
js.Boot.__instanceof = function(o,cl) {
	try {
		if(o instanceof cl) {
			if(cl == Array) return (o.__enum__ == null);
			return true;
		}
		if(js.Boot.__interfLoop(o.__class__,cl)) return true;
	}
	catch( $e1 ) {
		{
			var e = $e1;
			{
				if(cl == null) return false;
			}
		}
	}
	switch(cl) {
	case Int:{
		return Math.ceil(o) === o && isFinite(o);
	}break;
	case Float:{
		return typeof(o) == "number";
	}break;
	case Bool:{
		return o === true || o === false;
	}break;
	case String:{
		return typeof(o) == "string";
	}break;
	case Dynamic:{
		return true;
	}break;
	default:{
		if(o == null) return false;
		return o.__enum__ == cl || (cl == Class && o.__name__ != null) || (cl == Enum && o.__ename__ != null);
	}break;
	}
}
js.Boot.__init = function() {
	js.Lib.isIE = (document.all != null && window.opera == null);
	js.Lib.isOpera = (window.opera != null);
	Array.prototype.copy = Array.prototype.slice;
	Array.prototype.insert = function(i,x) {
		this.splice(i,0,x);
	}
	Array.prototype.remove = function(obj) {
		var i = 0;
		var l = this.length;
		while(i < l) {
			if(this[i] == obj) {
				this.splice(i,1);
				return true;
			}
			i++;
		}
		return false;
	}
	Array.prototype.iterator = function() {
		return { cur : 0, arr : this, hasNext : function() {
			return this.cur < this.arr.length;
		}, next : function() {
			return this.arr[this.cur++];
		}}
	}
	var cca = String.prototype.charCodeAt;
	String.prototype.cca = cca;
	String.prototype.charCodeAt = function(i) {
		var x = cca.call(this,i);
		if(isNaN(x)) return null;
		return x;
	}
	var oldsub = String.prototype.substr;
	String.prototype.substr = function(pos,len) {
		if(pos != null && pos != 0 && len != null && len < 0) return "";
		if(len == null) len = this.length;
		if(pos < 0) {
			pos = this.length + pos;
			if(pos < 0) pos = 0;
		}
		else if(len < 0) {
			len = this.length + len - pos;
		}
		return oldsub.apply(this,[pos,len]);
	}
	$closure = js.Boot.__closure;
}
js.Boot.prototype.__class__ = js.Boot;
js.Lib = function() { }
js.Lib.__name__ = ["js","Lib"];
js.Lib.isIE = null;
js.Lib.isOpera = null;
js.Lib.alert = function(v) {
	alert(js.Boot.__string_rec(v,""));
}
js.Lib.eval = function(code) {
	return eval(code);
}
js.Lib.setErrorHandler = function(f) {
	js.Lib.onerror = f;
}
js.Lib.prototype.__class__ = js.Lib;
es = {}
es.js = {}
es.js.iface = {}
es.js.iface.TextSelection = function(doc) { if( doc === $_ ) return; {
	this.doc = doc;
}}
es.js.iface.TextSelection.__name__ = ["es","js","iface","TextSelection"];
es.js.iface.TextSelection.prototype.doc = null;
es.js.iface.TextSelection.prototype.get = function() {
	if(this.doc.selectionStart != null) return this.doc.value.substring(this.doc.selectionStart,this.doc.selectionEnd);
	var range = js.Lib.document.selection.createRange();
	if(range.parentElement() != this.doc) return "";
	return range.text;
}
es.js.iface.TextSelection.prototype.insert = function(left,text,right) {
	this.doc.focus();
	if(this.doc.selectionStart != null) {
		var top = this.doc.scrollTop;
		var start = this.doc.selectionStart;
		var end = this.doc.selectionEnd;
		this.doc.value = this.doc.value.substr(0,start) + left + text + right + this.doc.value.substr(end);
		this.doc.selectionStart = start + left.length;
		this.doc.selectionEnd = start + left.length + text.length;
		this.doc.scrollTop = top;
		return;
	}
	var range = js.Lib.document.selection.createRange();
	range.text = left + text + right;
	range.moveStart("character",-text.length - right.length);
	range.moveEnd("character",-right.length);
	range.select();
}
es.js.iface.TextSelection.prototype.__class__ = es.js.iface.TextSelection;
MainJS = function() { }
MainJS.__name__ = ["MainJS"];
MainJS.config = null;
MainJS.skin_main = null;
MainJS._DEBUG = null;
MainJS.main_panel = null;
MainJS.main = function() {
	es.js.ext.Ext.onReady(function() {
		MainJS.config = new es.js.Config();
		es.js.ext.Ext.delay(function() {
			MainJS.skin_main = js.Lib.window.q___skin__main;
			MainJS._DEBUG = js.Lib.window.q___debug___q;
			es.js.ext.Ext.el("div-body").innerHTML = es.js.ext.Ext.tpl(MainJS.skin_main,MainJS.config.d);
			es.js.ext.Ext.delay(function() {
				es.js.WaitCursor.create();
				if(MainJS._DEBUG) {
					es.js.ext.Ext.turnEl("haxe_trace_window",true);
				}
				var panel_conf = { frame : true, border : true, bodyBorder : true, width : MainJS.config.d.main_panel.width, renderTo : "main-cont", title : "<div id=\"main-panel-title\" align=left>...</div>", html : "<div id=\"main-panel\" align=left>Please wait...</div>"}
				MainJS.main_panel = new es.js.ext.Panel(panel_conf);
				es.js.IUser.init_user();
				haxe.Log.trace("System started from " + "" + MainJS.config.d.current_prog.title + "" + " (" + MainJS.config.d.current_prog.name + ")",{ fileName : "MainJS.hx", lineNumber : 47, className : "MainJS", methodName : "main"});
				if(MainJS._DEBUG) {
					haxe.Log.trace("_DEBUG = true",{ fileName : "MainJS.hx", lineNumber : 51, className : "MainJS", methodName : "main"});
				}
				es.js.Page.load(MainJS.config.d.def_prog.program,MainJS.config.d.def_prog.page,MainJS.config.d.def_prog.params);
			});
		});
	});
}
MainJS.onHistoryChange = function(token) {
	es.js.ext.Ext.alert(token);
}
MainJS.prototype.__class__ = MainJS;
haxe = {}
haxe.Log = function() { }
haxe.Log.__name__ = ["haxe","Log"];
haxe.Log.trace = function(v,infos) {
	js.Boot.__trace(v,infos);
}
haxe.Log.clear = function() {
	js.Boot.__clear_trace();
}
haxe.Log.prototype.__class__ = haxe.Log;
es.js.IUser = function() { }
es.js.IUser.__name__ = ["es","js","IUser"];
es.js.IUser.redirTo = function(t3) {
	es.js.ext.Ext.delay(function() {
		var use_dot_info = es.js.Config.get()._use_dot_info;
		var srvb = es.js.Config.get()._srvbase;
		if(use_dot_info) {
			if(t3 == "eu") t3 = "info";
			else if(t3 == "co.uk") t3 = "info?co.uk";
		}
		js.Lib.window.location.replace(srvb + t3);
	},300);
}
es.js.IUser.isEu = function(c) {
	{
		var _g1 = 0, _g = es.js.IUser.eu_countries.length;
		while(_g1 < _g) {
			var i = _g1++;
			if(es.js.IUser.eu_countries[i] == c) return true;
		}
	}
	return false;
}
es.js.IUser.redirIfRequired = function() {
	if(!es.js.IUser.area_redir) return;
	var pl = es.js.Config.get()._place;
	var co = es.js.IUser._uinfo.country;
	var is_eu = es.js.IUser.isEu(co);
	if(co == "United Kingdom" && pl != "uk") es.js.IUser.redirTo("co.uk");
	else if(is_eu && pl != "eu") es.js.IUser.redirTo("eu");
	else if(!is_eu && pl != "") es.js.IUser.redirTo("net");
}
es.js.IUser._uinfo = null;
es.js.IUser.init_user = function() {
	var sess = es.js.IUser.read();
	var hc_uinf = es.js.IUser.get_hardcoded_uinfo();
	if(sess.id != "" && hc_uinf != null && hc_uinf.id != "") {
		es.js.IUser._uinfo = hc_uinf;
	}
	es.js.IUser.topUserDraw();
}
es.js.IUser.apply = function(id,hash,info) {
	es.js.ext.Ext.sess_set(es.js.IUser.UID_NAME,id);
	es.js.ext.Ext.sess_set(es.js.IUser.UH_NAME,hash);
	es.js.IUser._uinfo = info;
}
es.js.IUser.read = function() {
	return { id : es.js.ext.Ext.sess_get(es.js.IUser.UID_NAME,""), hash : es.js.ext.Ext.sess_get(es.js.IUser.UH_NAME,""), info : es.js.IUser._uinfo}
}
es.js.IUser.sess_destroy = function() {
	es.js.ext.Ext.sess_set(es.js.IUser.UID_NAME,"");
	es.js.ext.Ext.sess_set(es.js.IUser.UH_NAME,"");
}
es.js.IUser.topUserDraw = function() {
	var sess = es.js.IUser.read();
	if(sess.id != "") {
		es.js.IUser.topUserDrawIn();
	}
	else {
		es.js.IUser.topUserDrawOut();
	}
}
es.js.IUser.get_hardcoded_uinfo = function() {
	var init_uinf;
	init_uinf = js.Lib.window.q__init_uinfo;
	if(init_uinf == null) init_uinf = false;
	return init_uinf;
}
es.js.IUser.topUserDrawIn = function() {
	var u = es.js.IUser.read();
	if(u.info == null) {
		es.js.ext.Ext.alert("Info for user <b>#" + u.id + "</b> is not found, logged out.<br>Please login again.","User error");
		es.js.IUser.apply("","",null);
		es.js.IUser.topUserDraw();
		return;
	}
	es.js.ext.Ext.turnEl("top-user-login-tbl",false);
	es.js.ext.Ext.el("top-user-lin-name").innerHTML = "<b>" + u.info.uname + "</b>";
	if(!es.js.IUser.drawn_in) {
		new es.js.ext.Button({ text : "<b>My Account</b>", renderTo : "top-user-settings", listeners : { click : function() {
			es.js.Page.load("user","account_win",{ },"-");
		}}});
		new es.js.ext.Button({ text : "<u>logout</u>", renderTo : "top-user-logout", listeners : { click : function() {
			es.js.IUser.apply("","",null);
			es.js.IUser.topUserDraw();
		}}});
		es.js.IUser.drawn_in = true;
	}
	es.js.ext.Ext.turnEl("top-user-loggedin-tbl",true);
}
es.js.IUser.topUserDrawOut = function() {
	es.js.ext.Ext.turnEl("top-user-loggedin-tbl",false);
	if(!es.js.IUser.drawn_out) {
		var conf = es.js.Config.get();
		if(conf.iuser.inLine) {
			var top_uname_in = new es.js.ext.form.TextField({ id : "top-user-name", renderTo : "top-user-name-in", width : 80});
			var top_pwd_in = new es.js.ext.form.TextField({ inputType : "password", id : "top-user-pwd", renderTo : "top-user-pwd-in", width : 70});
		}
		else {
			{
				var _g = 1;
				while(_g < 5) {
					var i = _g++;
					es.js.ext.Ext.turnEl("top-user-f" + i,false);
				}
			}
		}
		var top_login_btn = new es.js.ext.Button({ text : "login", renderTo : "top-user-login-bt", listeners : { click : function() {
			if(!conf.iuser.inLine) {
				es.js.Page.load("user","login_form",{ },"-");
				return;
			}
			es.js.IUser.login_butt_pressed(false);
		}}});
		var top_reg_btn = new es.js.ext.Button({ text : "<b>register</b>", renderTo : "top-user-reg-bt", listeners : { click : function() {
			es.js.Page.load("user","register",{ display : true},"-");
		}}});
		es.js.IUser.drawn_out = true;
	}
	es.js.ext.Ext.turnEl("top-user-login-tbl",true);
}
es.js.IUser.login_butt_pressed = function(from_win) {
	var inp = { login : es.js.ext.Ext.trim(es.js.ext.Ext.el((from_win?"login_f-u_or_email-tf":"top-user-name")).value), pwd : es.js.ext.Ext.trim(es.js.ext.Ext.el((from_win?"login_f-pwd-tf":"top-user-pwd")).value)}
	var ers = new Array();
	if(inp.login == "") ers.push("username/email");
	if(inp.pwd == "") ers.push("password");
	if(ers.length > 0) {
		es.js.ext.Ext.alert("You forgot to enter <b>" + ers.join("</b> and <b>") + "</b>.");
		return;
	}
	es.js.Page.load("user","login_do",{ ui : inp, win : from_win},"-");
}
es.js.IUser.login_req_win = null;
es.js.IUser.request_login_curr_act_title = null;
es.js.IUser.request_login_fn_on_succ = null;
es.js.IUser.request_login_fn_param = null;
es.js.IUser.is_logged_in = function() {
	return (es.js.IUser.read().info != null);
}
es.js.IUser.request_login = function(act_title,fn_on_succ,fn_param) {
	es.js.IUser.request_login_curr_act_title = act_title;
	es.js.IUser.request_login_fn_on_succ = fn_on_succ;
	es.js.IUser.request_login_fn_param = fn_param;
	if(!es.js.IUser.is_logged_in()) {
		var title = es.js.Config.get().title;
		es.js.IUser.login_req_win = es.js.ext.Ext.createWindow({ title : title, width : 450, height : 120, spanId : "rqlogin_f-cont", spanVisible : false});
		es.js.IUser.login_req_win.on("beforedestroy",function() {
			es.js.IUser.clear_req_login_vars();
		});
		es.js.ext.Ext.delay(function() {
			if(act_title == null) act_title = "perform this action";
			es.js.ext.Ext.elHTML_X("rqlogin_f-cont","<table" + "  cellpadding=16 cellspacing=16 width=100% border=0>" + "<tr><td colspan=2 align=center>To " + act_title + ", you need to login or register.</td></tr>" + "<tr>" + "<td align=center>  <<<Ext.Button { id:\"btrqlg\", text:\"" + "<b>Login</b>\", " + "onclick:\"es.js.IUser.request_act_login()\" } >>> </td>" + "<td align=center>  <<<Ext.Button { id:\"btrqrg\", text:\"<b>Register</b>\", " + "onclick:\"es.js.IUser.request_act_register()\" } >>> </td>" + "</tr>" + "" + "" + "" + "</table>",false,function() {
				null;
			});
			es.js.ext.Ext.delay(function() {
				es.js.ext.Ext.turnEl("rqlogin_f-cont",true);
			});
		});
		return false;
	}
	return true;
}
es.js.IUser.request_act_login = function() {
	es.js.Page.load("user","login_form",{ },"-");
}
es.js.IUser.request_act_register = function() {
	es.js.Page.load("user","register",{ display : true},"-");
}
es.js.IUser.displaySuccesAlert = function(user_lr) {
	var alert_str = "<b>" + es.js.IUser.read().info.uname + "</b> " + user_lr + " successfully.";
	if(es.js.IUser.request_login_curr_act_title != null) {
		alert_str += "<br>Now you can " + es.js.IUser.request_login_curr_act_title + ".";
	}
	if(es.js.IUser.login_req_win != null) {
		es.js.IUser.login_req_win.hide();
	}
	es.js.IUser.redirIfRequired();
	es.js.ext.Ext.alert(alert_str,null,function() {
		if(es.js.IUser.request_login_fn_on_succ != null) {
			es.js.IUser.request_login_fn_on_succ(es.js.IUser.request_login_fn_param);
		}
		if(es.js.IUser.login_req_win != null) {
			es.js.IUser.login_req_win.destroy();
			es.js.IUser.login_req_win = null;
		}
		es.js.IUser.clear_req_login_vars();
	});
}
es.js.IUser.clear_req_login_vars = function() {
	es.js.IUser.request_login_fn_on_succ = null;
	es.js.IUser.request_login_fn_param = null;
	es.js.IUser.request_login_curr_act_title = null;
	haxe.Log.trace("clear_req_login_vars() called",{ fileName : "IUser.hx", lineNumber : 262, className : "es.js.IUser", methodName : "clear_req_login_vars"});
}
es.js.IUser.prototype.__class__ = es.js.IUser;
Std = function() { }
Std.__name__ = ["Std"];
Std["is"] = function(v,t) {
	return js.Boot.__instanceof(v,t);
}
Std.string = function(s) {
	return js.Boot.__string_rec(s,"");
}
Std["int"] = function(x) {
	if(x < 0) return Math.ceil(x);
	return Math.floor(x);
}
Std.parseInt = function(x) {
	var v = parseInt(x);
	if(Math.isNaN(v)) return null;
	return v;
}
Std.parseFloat = function(x) {
	return parseFloat(x);
}
Std.random = function(x) {
	return Math.floor(Math.random() * x);
}
Std.prototype.__class__ = Std;
es.js.WaitCursor = function() { }
es.js.WaitCursor.__name__ = ["es","js","WaitCursor"];
es.js.WaitCursor.ws = null;
es.js.WaitCursor.v = null;
es.js.WaitCursor.disp = function(t) {
	es.js.WaitCursor.v = t;
	es.js.ext.Ext.turnEl("wait-cursor",t);
}
es.js.WaitCursor.create = function() {
	es.js.WaitCursor.disp(false);
	es.js.WaitCursor.ws = es.js.ext.Ext.el("wait-cursor").style;
	
			if(document.captureEvents)document.captureEvents(Event.MOUSEMOVE);
			document.onmousemove=es.js.WaitCursor.mv;
			
		;
}
es.js.WaitCursor.mv = function(e) {
	var x = 0, y = 0, ay = 0, cw = 0;
	
			var et=typeof(event)!="undefined";
			x=et?event.clientX:e.pageX;
			ay=y=(et?event.clientY:e.pageY);
			cw = Ext.getBody().getWidth();
			if(Ext.isIE){
				y += window.pageYOffset?window.pageYOffset:document.body.scrollTop;	
				cw -= 12;
			}				
		;
	cw -= 18;
	x += 10;
	if(x > cw) x = cw;
	es.js.WaitCursor.ws.left = x;
	y -= 5;
	if(y < 8) y = 8;
	es.js.WaitCursor.ws.top = y;
}
es.js.WaitCursor.prototype.__class__ = es.js.WaitCursor;
es.js.Config = function(p) { if( p === $_ ) return; {
	this.d = js.Lib.window.q___conf___q;
}}
es.js.Config.__name__ = ["es","js","Config"];
es.js.Config.get = function() {
	var dd;
	dd = js.Lib.window.q___conf___q;
	return dd;
}
es.js.Config.prototype.d = null;
es.js.Config.prototype.__class__ = es.js.Config;
es.js.Page = function() { }
es.js.Page.__name__ = ["es","js","Page"];
es.js.Page.aTo = function(id,tpl) {
	var r1 = es.js.ext.Ext.el(id);
	if(r1 == null) {
		es.js.ext.Ext.error("Unable to render to element with id \"" + id + "\"");
		return;
	}
	r1.innerHTML = tpl.content;
	r1 = es.js.ext.Ext.el(id + "-title");
	if(r1 != null) {
		r1.innerHTML = tpl.title;
	}
}
es.js.Page.load = function(prog,page,params,renderTo) {
	if(renderTo == null) renderTo = "main-panel";
	es.js.Page.s(prog,page,params,function(o) {
		var xtpl = es.js.ext.Ext.tpl(o._skin,o);
		if(xtpl.indexOf("</title>") != -1) {
			xtpl = xtpl.split("</title>");
			xtpl[0] = xtpl[0].split("<title>").join("");
			xtpl = { title : xtpl[0], content : xtpl[1]}
		}
		else {
			xtpl = { title : "", content : xtpl}
		}
		if(renderTo != "-") {
			es.js.Page.aTo(renderTo,xtpl);
		}
		var fparam = es.js.ext.Ext.o2s({ page : page, params : params, tpl : xtpl, o : o});
		var funa = es.js.ext.Ext.cap(prog) + ".pageLoadComplete";
		es.js.ext.Ext.eval("if(typeof(" + funa + ")!=\"undefined\"){" + funa + "(" + fparam + ");" + "}");
		var funa1 = es.js.ext.Ext.cap(prog) + ".LOADED_" + page;
		es.js.ext.Ext.eval("if(typeof(" + funa1 + ")!=\"undefined\"){" + funa1 + "(" + fparam + ");" + "}");
		es.js.WaitCursor.disp(false);
	},true);
}
es.js.Page.s = function(prog,page,params,fn,no_wait_off) {
	es.js.WaitCursor.disp(true);
	var progw = prog + "/" + page;
	var params_str = es.js.ext.Ext.o2s(params);
	var pp = params_str.split("{").join("").split("}").join("");
	var QTN = "ddWTTNICPWTT11435dd";
	pp = pp.split("\\\"").join(QTN).split("\"").join("").split(QTN).join("\"");
	pp = es.js.ext.Ext.escape(pp.split(",").join(QTN)).split(QTN).join("/");
	js.Lib.window.sTrack(progw + "/" + pp);
	var h = "index.php?a=a" + "&p=" + es.js.ext.Ext.escape(prog) + "&u=" + es.js.ext.Ext.escape(page);
	if(!es.js.Page.prog_codes[prog]) {
		h += "&prog_code=1";
	}
	else null;
	if(es.js.Page.prog_skins[progw]) {
		h += "&no_skin=1";
	}
	else null;
	var o = { url : h, params : { o : params_str}, success : function(a1) {
		var tx = a1.responseText;
		if(tx.indexOf("in") != -1 && tx.indexOf("<b>") != -1 && tx.indexOf("</b>") != -1 && tx.indexOf("<br />") != -1 && tx.indexOf(":") != -1 && (tx.indexOf("Notice") != -1 || tx.indexOf("error") != -1 || tx.indexOf("Warning") != -1)) {
			es.js.WaitCursor.disp(false);
			es.js.ext.Ext.error("<b style=\"color:#a00;\">Server script problems:</b><br><br>" + (tx) + "");
			return;
		}
		var obj = es.js.ext.Ext.s2o(tx);
		if(obj._trace.length) {
			{
				var _g1 = 0, _g = obj._trace.length;
				while(_g1 < _g) {
					var i = _g1++;
					haxe.Log.trace("::::::::PHP TRACE:::::::: " + obj._trace[i] + "  ::::::::",{ fileName : "Page.hx", lineNumber : 110, className : "es.js.Page", methodName : "s"});
				}
			}
		}
		obj._trace = null;
		if(obj._errors.length) {
			es.js.WaitCursor.disp(false);
			es.js.ext.Ext.error("<b style=\"color:#a00;\">SERVER ACTION:</b><br><br>" + obj._errors.join("<br>") + "");
			return;
		}
		obj._errors = null;
		if(!es.js.Page.prog_codes[prog]) {
			es.js.Page.prog_codes[prog] = obj._prog_code;
			es.js.ext.Ext.eval(es.js.Page.prog_codes[prog]);
		}
		else null;
		obj._prog_code = null;
		if(es.js.Page.prog_skins[progw]) {
			obj._skin = es.js.Page.prog_skins[progw];
		}
		else {
			es.js.Page.prog_skins[progw] = obj._skin;
		}
		es.js.ext.Ext.delay(function() {
			if(no_wait_off == null) es.js.WaitCursor.disp(false);
			fn(obj);
		},32);
	}, failure : function() {
		es.js.WaitCursor.disp(false);
		es.js.ext.Ext.error("Failed Ajax request");
	}}
	js.Lib.window.ext_ajax_req(o);
}
es.js.Page.decode = function(v) {
	var r = "";
	r = js.Lib.window.ext_json_decode(v);
	return r;
}
es.js.Page.prototype.__class__ = es.js.Page;
IntIter = function(min,max) { if( min === $_ ) return; {
	this.min = min;
	this.max = max;
}}
IntIter.__name__ = ["IntIter"];
IntIter.prototype.hasNext = function() {
	return this.min < this.max;
}
IntIter.prototype.max = null;
IntIter.prototype.min = null;
IntIter.prototype.next = function() {
	return this.min++;
}
IntIter.prototype.__class__ = IntIter;
es.js.iface.BBCode = function(p) { if( p === $_ ) return; {
	this.codeTo = ("<table cellspacing=0 style=\"border:1px solid #8c8;\">" + "<tr><td " + "style=\"padding:4px;border:0px;" + "background-color:#999;" + "color:#efe;" + "\" " + " align=right><b>$1</b></td></tr>" + "<tr><td " + "style=\"padding:8px;border:0px;" + "background-color:#efe;" + "\" " + " align=left><code " + "style=\"" + "font-size:12px;color:#333;font-weight:bold;" + "\">$2</code></td></tr>" + "</table>");
	this.regRs = [{ p : "([\\s]+)http:\\/\\/([^\\s]+)", o : "g", t : "$1<a target=_blank href=\"http://$2\">http://$2</a>"},{ p : "\\[url\\](.*?)\\[\\/url\\]", o : "g", t : "<a target=_blank href='$1'>$1</a>"},{ p : "\\[url\\=(.*?)\\](.*?)\\[\\/url\\]", o : "g", t : "<a target=_blank href='$1'>$2</a>"},{ p : "\\[code=(.*?)\\](.*?)\\[\\/code\\]", o : "g", t : this.codeTo},{ p : "\\[code\\](.*?)\\[\\/code\\]", o : "g", t : es.js.ext.Ext.mstr(this.codeTo,["$1","code","$2","$1"])},{ p : "\\[b\\](.*?)\\[\\/b\\]", o : "g", t : "<b>$1</b>"},{ p : "\\[i\\](.*?)\\[\\/i\\]", o : "g", t : "<i>$1</i>"},{ p : "\\[m\\](.*?)\\[\\/m\\]", o : "g", t : "<code>$1</code>"}];
}}
es.js.iface.BBCode.__name__ = ["es","js","iface","BBCode"];
es.js.iface.BBCode.prototype.codeTo = null;
es.js.iface.BBCode.prototype.regRs = null;
es.js.iface.BBCode.prototype.toHTML = function(code) {
	var a = code;
	a = a.split("\n").join(" <br>");
	{
		var _g = 0, _g1 = this.regRs;
		while(_g < _g1.length) {
			var t = _g1[_g];
			++_g;
			a = es.js.ext.Ext.regReplace(t.p,t.o,a,t.t);
		}
	}
	return a;
}
es.js.iface.BBCode.prototype.__class__ = es.js.iface.BBCode;
es.js.Json = function() { }
es.js.Json.__name__ = ["es","js","Json"];
es.js.Json.encode = function(v) {
	var r = "";
	r = js.Lib.window.ext_json_encode(v);
	return r;
}
es.js.Json.decode = function(v) {
	var r = "";
	r = js.Lib.window.ext_json_decode(v);
	return r;
}
es.js.Json.prototype.__class__ = es.js.Json;
es.js.ext = {}
es.js.ext.Ext = function() { }
es.js.ext.Ext.__name__ = ["es","js","ext","Ext"];
es.js.ext.Ext.onReady = function(fn) {
	js.Lib.window.Ext.onReady(fn);
}
es.js.ext.Ext.spot = function(el) {
	js.Lib.window.ext_spot(el);
}
es.js.ext.Ext.error = function(err) {
	var conf;
	conf = js.Lib.window.q___conf___q;
	var title = conf.title;
	es.js.ext.Ext.alert(err,"ERROR :: " + title);
}
es.js.ext.Ext.alert = function(msg,title,fn) {
	var conf;
	conf = js.Lib.window.q___conf___q;
	if(title == null) title = conf.title;
	var o = { title : title, msg : msg}
	o.buttons = js.Lib.window.Ext.Msg.OK;
	if(fn != null) o.fn = fn;
	js.Lib.window.Ext.Msg.show(o);
}
es.js.ext.Ext.confirm_ok = function(msg,title,fn) {
	es.js.ext.Ext.confirm(false,msg,title,fn);
}
es.js.ext.Ext.confirm_yn = function(msg,title,fn) {
	es.js.ext.Ext.confirm(false,msg,title,fn);
}
es.js.ext.Ext.confirm = function(yn,msg,title,fn) {
	var conf;
	conf = js.Lib.window.q___conf___q;
	if(title == null) title = conf.title;
	var o = { title : title, msg : msg}
	if(yn) {
		o.buttons = js.Lib.window.Ext.Msg.YESNO;
	}
	else {
		o.buttons = js.Lib.window.Ext.Msg.OKCANCEL;
	}
	if(fn != null) {
		o.fn = function(buttonId) {
			fn(buttonId == "ok" || buttonId == "yes");
		}
	}
	js.Lib.window.Ext.Msg.show(o);
}
es.js.ext.Ext.tip = function(to,htm) {
	new es.js.ext.ToolTip({ showDelay : 0, trackMouse : true, target : to, html : htm});
}
es.js.ext.Ext.href = function() {
	return js.Lib.window.location.href;
}
es.js.ext.Ext.is_email = function(s) {
	return ((s.indexOf("@") >= 1 && s.indexOf(".") >= 1)?true:false);
}
es.js.ext.Ext.delay = function(f,t) {
	if(t == null) t = 10;
	js.Lib.window.setTimeout(f,t);
}
es.js.ext.Ext.tpl = function(tpl,o) {
	var r = "";
	r = js.Lib.window.ext_xtemplate(tpl,o);
	return r;
}
es.js.ext.Ext.sess_set = function(name,val) {
	js.Lib.window.session_set(name,val);
}
es.js.ext.Ext.sess_get = function(name,def) {
	return js.Lib.window.session_get(name,def);
}
es.js.ext.Ext.getHtmlDocument = function() {
	return js.Lib.window.document;
}
es.js.ext.Ext.el = function(n) {
	return js.Lib.window.ext_elbyid(n);
}
es.js.ext.Ext.elHTML = function(n,v) {
	var tel = es.js.ext.Ext.el(n);
	if(tel == null) {
		return "ERROR:elHTML:el==undefined";
	}
	if(v == null) return es.js.ext.Ext.el(n).innerHTML;
	es.js.ext.Ext.el(n).innerHTML = v;
	return "";
}
es.js.ext.Ext.elHTML_R = function(n,f) {
	es.js.ext.Ext.el(n).innerHTML = f(es.js.ext.Ext.el(n).innerHTML);
}
es.js.ext.Ext.elHTML_X = function(n,v,esc,on_done_func) {
	var tel = es.js.ext.Ext.el(n);
	if(tel == null) {
		return "ERROR:elHTML_X:el==undefined";
	}
	var r = es.js.ext.Ext.parseExtInserts(v);
	es.js.ext.Ext.el(n).innerHTML = ((!esc)?r.t:es.js.ext.Ext.escapeHtml(r.t + "\n\n\n" + r.x.join("\n;;;\n")));
	es.js.ext.Ext.delay(function() {
		if(!esc) es.js.ext.Ext.eval(r.x.join("\n;;;\n"));
		if(on_done_func != null) {
			es.js.ext.Ext.delay(on_done_func);
		}
	});
	return "";
}
es.js.ext.Ext.parseExtInserts = function(str) {
	var tt = "";
	var xx = new Array();
	var zz = str.split("<<<");
	var ii;
	var qq;
	var nn;
	var ll;
	var qqst;
	{
		var _g1 = 0, _g = zz.length;
		while(_g1 < _g) {
			var i = _g1++;
			ii = zz[i].split(">>>");
			qq = ii[0].split("{");
			nn = qq.shift();
			qq = "{" + qq.join("{");
			if(qq != "{") {
				qq = es.js.ext.Ext.s2o(qq);
				if(qq.id == null) {
					if(qq.renderTo != null) qq.id = qq.renderTo;
					else qq.id = "pei-n-" + es.js.ext.Ext.PEI_n;
					es.js.ext.Ext.PEI_n++;
				}
				if(qq.renderTo == null) qq.renderTo = qq.id;
				if(!es.js.ext.Ext.PEI_jsinit) {
					es.js.ext.Ext.eval(" window[\"_js_arr__pei_\"]={}; ");
					es.js.ext.Ext.PEI_jsinit = true;
				}
				if(qq.onclick != null) {
					qq.listeners = { click : es.js.ext.Ext.func_begin + (qq.onclick) + "}"}
					qq.onclick = "";
				}
				qqst = js.Lib.window.ObjectToString(qq,true,$closure(es.js.ext.Ext,"_O2Sfuncopen"));
				xx.push(" _js_arr__pei_[" + es.js.ext.Ext.o2s(qq.id) + "] = new " + nn + "(" + qqst + ");");
				ii[0] = "<span id=\"" + qq.id + "\"></span>";
				zz[i] = ii.join("");
			}
		}
	}
	tt = zz.join(" ");
	return { t : tt, x : xx}
}
es.js.ext.Ext.get = function(eln) {
	return js.Lib.window.ext_el_get(eln);
}
es.js.ext.Ext.IE = function() {
	return js.Lib.window.ext_isIE();
}
es.js.ext.Ext._O2Sfuncopen = function(v) {
	return ((v.indexOf(es.js.ext.Ext.func_begin) == 1)?es.js.ext.Ext.s2o(v):v);
}
es.js.ext.Ext.turnEl = function(n,t) {
	js.Lib.window.ext_display_el(n,t);
}
es.js.ext.Ext.dvar = function(v,d) {
	return ((v != null)?v:((d != null?d:"")));
}
es.js.ext.Ext.eval = function(s) {
	js.Lib.eval(s);
}
es.js.ext.Ext.trim = function(r) {
	r = js.Lib.window.ext_trim(r);
	return r;
}
es.js.ext.Ext.o2s = function(o) {
	return es.js.Json.encode(o);
}
es.js.ext.Ext.s2o = function(o) {
	return es.js.Json.decode(o);
}
es.js.ext.Ext.cap = function(s) {
	return js.Lib.window.ext_str_cap(s);
}
es.js.ext.Ext.escape = function(s) {
	return r = js.Lib.window.escape(s);
}
es.js.ext.Ext.regReplace = function(ptn,opt,s,to) {
	return s.replace((new js.Lib.window.RegExp(ptn,opt)),to);
}
es.js.ext.Ext.escapeRe = function(s) {
	return r = js.Lib.window.Ext.escapeRe(s);
}
es.js.ext.Ext.JSsubstring = function(s,start,end) {
	return s.substr(start,end - start);
}
es.js.ext.Ext.escapeHtml = function(s) {
	return s.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;");
}
es.js.ext.Ext.htmlEscape = function(s) {
	return s.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;");
}
es.js.ext.Ext.htmlUnescape = function(s) {
	return s.split("&gt;").join(">").split("&lt;").join("<").split("&amp;").join("&");
}
es.js.ext.Ext.mstr = function(s,v) {
	var l = "";
	var b = false;
	{
		var _g = 0;
		while(_g < v.length) {
			var t = v[_g];
			++_g;
			if(b = !b) {
				l = t;
			}
			else {
				s = s.split(l).join(t);
			}
		}
	}
	return s;
}
es.js.ext.Ext.cut_str_screen = function(str,len) {
	var s = str.substr(0,len);
	var a = s.split(" ");
	a.pop();
	return a.join(" ") + "...";
}
es.js.ext.Ext._clear_renderTo = function(o) {
	if(o.renderTo) {
		es.js.ext.Ext.el(o.renderTo).innerHTML = "";
	}
}
es.js.ext.Ext.createWindow = function(o) {
	var spanstyle = (o.spanVisible?"":" style=\"display:none;\"");
	var r = new es.js.ext.Window({ modal : true, layout : "fit", title : o.title, resizable : o.resizable, closable : true, width : o.width, height : o.height, plain : true, items : [{ xtype : "panel", region : "center", border : false, bodyBorder : false, bodyStyle : es.js.ext.Ext.CSS_BGC_TRANS + "overflow: auto;", margins : "3 0 3 3", cmargins : "3 3 3 3", html : "<span id=\"" + o.spanId + "\" " + spanstyle + "></span>"}]});
	r.show();
	return r;
}
es.js.ext.Ext.prototype.__class__ = es.js.ext.Ext;
$Main = function() { }
$Main.__name__ = ["@Main"];
$Main.prototype.__class__ = $Main;
$_ = {}
js.Boot.__res = {}
js.Boot.__init();
{
	onerror = function(msg,url,line) {
		var f = js.Lib.onerror;
		if( f == null )
			return false;
		return f(msg,[url+":"+line]);
	}
}
{
	if(!es.js.ext)es.js.ext={};es.js.ext.TabPanel=Ext.TabPanel;;
}
{
	es.js.ext.Panel = Ext.Panel;;
}
{
	if(!es.js.ext.form)es.js.ext.form={};es.js.ext.form.HtmlEditor=Ext.form.HtmlEditor;;
}
{
	es.js.ext.Window = Ext.Window;;
}
{
	if(!es.js.ext)es.js.ext={};es.js.ext.ToolTip=Ext.ToolTip;;
}
{
	String.prototype.__class__ = String;
	String.__name__ = ["String"];
	Array.prototype.__class__ = Array;
	Array.__name__ = ["Array"];
	Int = { __name__ : ["Int"]}
	Dynamic = { __name__ : ["Dynamic"]}
	Float = Number;
	Float.__name__ = ["Float"];
	Bool = { __ename__ : ["Bool"]}
	Class = { __name__ : ["Class"]}
	Enum = { }
	Void = { __ename__ : ["Void"]}
}
{
	Math.NaN = Number["NaN"];
	Math.NEGATIVE_INFINITY = Number["NEGATIVE_INFINITY"];
	Math.POSITIVE_INFINITY = Number["POSITIVE_INFINITY"];
	Math.isFinite = function(i) {
		return isFinite(i);
	}
	Math.isNaN = function(i) {
		return isNaN(i);
	}
	Math.__name__ = ["Math"];
}
{
	if(!es.js.ext.form)es.js.ext.form={};es.js.ext.form.Checkbox=Ext.form.Checkbox;;
}
{
	es.js.ext.Button = Ext.Button;;
}
{
	if(!es.js.ext.form)es.js.ext.form={};es.js.ext.form.TextField=Ext.form.TextField;;
}
{
	if(!es.js.ext.form)es.js.ext.form={};es.js.ext.form.ComboBox=Ext.form.ComboBox;;
}
js.Lib.document = document;
js.Lib.window = window;
js.Lib.onerror = null;
es.js.IUser.countries = ["Andorra","United Arab Emirates","Afghanistan","Antigua And Barbuda","Anguilla","Albania","Armenia","Angola","Antarctica","Argentina","American Samoa","Austria","Australia","Aruba","Azerbaijan","Bosnia And Herzegovinia","Barbados","Bangladesh","Belgium","Burkina Faso","Bulgaria","Bahrain","Burundi","Benin","Bermuda","Brunei Darussalam","Bolivia","Brazil","Bahamas","Bhutan","Bouvet Island","Botswana","Belarus","Belize","Canada","Cocos (Keeling) Islands","Congo, DR Of The","Central African Republic","Congo","Switzerland","Cote D'ivoire","Cook Islands","Chile","Cameroon","China","Colombia","Costa Rica","Cuba","Cape Verde","Christmas Island","Cyprus","Czech Republic","Germany","Djibouti","Denmark","Dominica","Dominican Republic","Algeria","Ecuador","Estonia","Egypt","Western Sahara","Eritrea","Spain","Ethiopia","Finland","Fiji","Falkland Islands","Micronesia, FS Of","Faroe Islands","France","Gabon","United Kingdom","Grenada","Georgia","French Guiana","Ghana","Gibraltar","Greenland","Gambia","Guinea","Guadeloupe","Equatorial Guinea","Greece","South Georgia","Guatemala","Guam","Guinea-Bissau","Guyana","Hong Kong","Heard And Mcdonald Islands","Honduras","Croatia","Haiti","Hungary","Indonesia","Ireland","Israel","India","British Indian Ocean Territory","Iraq","Iran","Iceland","Italy","Jamaica","Jordan","Japan","Kenya","Kyrgyzstan","Cambodia","Kiribati","Comoros","Saint Kitts And Nevis","Korea, DPR Of","Korea, Republic Of","Kuwait","Cayman Islands","Kazakhstan","Laos","Lebanon","Saint Lucia","Liechtenstein","Sri Lanka","Liberia","Lesotho","Lithuania","Luxembourg","Latvia","Libyan Arab Jamahiriya","Morocco","Monaco","Moldova, Republic Of","Madagascar","Marshall Islands","Macedonia, FYR Of","Mali","Myanmar","Mongolia","Macau","Northern Mariana Islands","Martinique","Mauritania","Montserrat","Malta","Mauritius","Maldives","Malawi","Mexico","Malaysia","Mozambique","Namibia","New Caledonia","Niger","Norfolk Island","Nigeria","Nicaragua","Netherlands","Norway","Nepal","Nauru","Niue","New Zealand","Oman","Panama","Peru","French Polynesia","Papua New Guinea","Philippines","Pakistan","Poland","St. Pierre And Miquelon","Pitcairn","Puerto Rico","Portugal","Palau","Paraguay","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saudi Arabia","Solomon Islands","Seychelles","Sudan","Sweden","Singapore","St. Helena","Slovenia","Svalbard And Jan Mayen Islands","Slovakia","Sierra Leone","San Marino","Senegal","Somalia","Suriname","Sao Tome And Principe","El Salvador","Syrian Arab Republic","Swaziland","Turks And Caicos Islands","Chad","French Southern Territories","Togo","Thailand","Tajikistan","Tokelau","Turkmenistan","Tunisia","Tonga","East Timor","Turkey","Trinidad And Tobago","Tuvalu","Taiwan","Tanzania","Ukraine","Uganda","US Minor Outlying Islands","United States","Uruguay","Uzbekistan","Vatican City State","St Vincent And The Grenadines","Venezuela","Virgin Islands - British","Virgin Islands - U.S.","Viet Nam","Vanuatu","Wallis And Futuna Islands","Samoa","Yemen","Mayotte","Yugoslavia","South Africa","Zambia","Zimbabwe","Palestinian Territory, Occupied"];
es.js.IUser.eu_countries = ["Austria","Belgium","Bulgaria","Cyprus","Czech Republic","Denmark","Estonia","Finland","France","Germany","Greece","Hungary","Ireland","Italy","Latvia","Lithuania","Luxembourg","Malta","Netherlands","Poland","Portugal","Romania","Slovakia","Slovenia","Spain","Sweden","United Kingdom"];
es.js.IUser.area_redir = true;
es.js.IUser.UID_NAME = "UID";
es.js.IUser.UH_NAME = "UHASH";
es.js.IUser.drawn_in = false;
es.js.IUser.drawn_out = false;
es.js.Page.prog_codes = { }
es.js.Page.prog_skins = { }
es.js.iface.BBCode.z = new es.js.iface.BBCode();
es.js.ext.Ext.CSS_BGC_TRANS = "background-color:transparent;";
es.js.ext.Ext.CSS_BGC_W = "background-color:#fff;";
es.js.ext.Ext.PEI_n = 0;
es.js.ext.Ext.PEI_jsinit = false;
es.js.ext.Ext.func_begin = "function (  )   {";
$Main.init = MainJS.main();
