$estr = function() { return js.Boot.__string_rec(this,''); }
if(typeof haxe=='undefined') haxe = {}
haxe.StackItem = { __ename__ : ["haxe","StackItem"], __constructs__ : ["CFunction","Module","FilePos","Method","Lambda"] }
haxe.StackItem.CFunction = ["CFunction",0];
haxe.StackItem.CFunction.toString = $estr;
haxe.StackItem.CFunction.__enum__ = haxe.StackItem;
haxe.StackItem.FilePos = function(s,file,line) { var $x = ["FilePos",2,s,file,line]; $x.__enum__ = haxe.StackItem; $x.toString = $estr; return $x; }
haxe.StackItem.Lambda = function(v) { var $x = ["Lambda",4,v]; $x.__enum__ = haxe.StackItem; $x.toString = $estr; return $x; }
haxe.StackItem.Method = function(classname,method) { var $x = ["Method",3,classname,method]; $x.__enum__ = haxe.StackItem; $x.toString = $estr; return $x; }
haxe.StackItem.Module = function(m) { var $x = ["Module",1,m]; $x.__enum__ = haxe.StackItem; $x.toString = $estr; return $x; }
haxe.Stack = function() { }
haxe.Stack.__name__ = ["haxe","Stack"];
haxe.Stack.callStack = function() {
	return haxe.Stack.makeStack("$s");
}
haxe.Stack.exceptionStack = function() {
	return haxe.Stack.makeStack("$e");
}
haxe.Stack.toString = function(stack) {
	var b = new StringBuf();
	{
		var _g = 0;
		while(_g < stack.length) {
			var s = stack[_g];
			++_g;
			b.b[b.b.length] = "\nCalled from ";
			haxe.Stack.itemToString(b,s);
		}
	}
	return b.b.join("");
}
haxe.Stack.itemToString = function(b,s) {
	var $e = (s);
	switch( $e[1] ) {
	case 0:
	{
		b.b[b.b.length] = "a C function";
	}break;
	case 1:
	var m = $e[2];
	{
		b.b[b.b.length] = "module ";
		b.b[b.b.length] = m;
	}break;
	case 2:
	var line = $e[4], file = $e[3], s1 = $e[2];
	{
		if(s1 != null) {
			haxe.Stack.itemToString(b,s1);
			b.b[b.b.length] = " (";
		}
		b.b[b.b.length] = file;
		b.b[b.b.length] = " line ";
		b.b[b.b.length] = line;
		if(s1 != null) b.b[b.b.length] = ")";
	}break;
	case 3:
	var meth = $e[3], cname = $e[2];
	{
		b.b[b.b.length] = cname;
		b.b[b.b.length] = ".";
		b.b[b.b.length] = meth;
	}break;
	case 4:
	var n = $e[2];
	{
		b.b[b.b.length] = "local function #";
		b.b[b.b.length] = n;
	}break;
	}
}
haxe.Stack.makeStack = function(s) {
	var a = (function($this) {
		var $r;
		try {
			$r = eval(s);
		}
		catch( $e0 ) {
			{
				var e = $e0;
				$r = [];
			}
		}
		return $r;
	}(this));
	var m = new Array();
	{
		var _g1 = 0, _g = a.length - (s == "$s"?2:0);
		while(_g1 < _g) {
			var i = _g1++;
			var d = a[i].split("::");
			m.unshift(haxe.StackItem.Method(d[0],d[1]));
		}
	}
	return m;
}
haxe.Stack.prototype.__class__ = haxe.Stack;
StringTools = function() { }
StringTools.__name__ = ["StringTools"];
StringTools.urlEncode = function(s) {
	return encodeURIComponent(s);
}
StringTools.urlDecode = function(s) {
	return decodeURIComponent(s.split("+").join(" "));
}
StringTools.htmlEscape = function(s) {
	return s.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;");
}
StringTools.htmlUnescape = function(s) {
	return s.split("&gt;").join(">").split("&lt;").join("<").split("&amp;").join("&");
}
StringTools.startsWith = function(s,start) {
	return (s.length >= start.length && s.substr(0,start.length) == start);
}
StringTools.endsWith = function(s,end) {
	var elen = end.length;
	var slen = s.length;
	return (slen >= elen && s.substr(slen - elen,elen) == end);
}
StringTools.isSpace = function(s,pos) {
	var c = s.charCodeAt(pos);
	return (c >= 9 && c <= 13) || c == 32;
}
StringTools.ltrim = function(s) {
	var l = s.length;
	var r = 0;
	while(r < l && StringTools.isSpace(s,r)) {
		r++;
	}
	if(r > 0) return s.substr(r,l - r);
	else return s;
}
StringTools.rtrim = function(s) {
	var l = s.length;
	var r = 0;
	while(r < l && StringTools.isSpace(s,(l - r) - 1)) {
		r++;
	}
	if(r > 0) {
		return s.substr(0,l - r);
	}
	else {
		return s;
	}
}
StringTools.trim = function(s) {
	return StringTools.ltrim(StringTools.rtrim(s));
}
StringTools.rpad = function(s,c,l) {
	var sl = s.length;
	var cl = c.length;
	while(sl < l) {
		if(l - sl < cl) {
			s += c.substr(0,l - sl);
			sl = l;
		}
		else {
			s += c;
			sl += cl;
		}
	}
	return s;
}
StringTools.lpad = function(s,c,l) {
	var ns = "";
	var sl = s.length;
	if(sl >= l) return s;
	var cl = c.length;
	while(sl < l) {
		if(l - sl < cl) {
			ns += c.substr(0,l - sl);
			sl = l;
		}
		else {
			ns += c;
			sl += cl;
		}
	}
	return ns + s;
}
StringTools.replace = function(s,sub,by) {
	return s.split(sub).join(by);
}
StringTools.hex = function(n,digits) {
	var neg = false;
	if(n < 0) {
		neg = true;
		n = -n;
	}
	var s = n.toString(16);
	s = s.toUpperCase();
	if(digits != null) while(s.length < digits) s = "0" + s;
	if(neg) s = "-" + s;
	return s;
}
StringTools.prototype.__class__ = StringTools;
if(typeof sitehttp=='undefined') sitehttp = {}
sitehttp.FightType = { __ename__ : ["sitehttp","FightType"], __constructs__ : ["NORMAL","TRAINING","BOSS","PURERANKING"] }
sitehttp.FightType.BOSS = ["BOSS",2];
sitehttp.FightType.BOSS.toString = $estr;
sitehttp.FightType.BOSS.__enum__ = sitehttp.FightType;
sitehttp.FightType.NORMAL = ["NORMAL",0];
sitehttp.FightType.NORMAL.toString = $estr;
sitehttp.FightType.NORMAL.__enum__ = sitehttp.FightType;
sitehttp.FightType.PURERANKING = ["PURERANKING",3];
sitehttp.FightType.PURERANKING.toString = $estr;
sitehttp.FightType.PURERANKING.__enum__ = sitehttp.FightType;
sitehttp.FightType.TRAINING = ["TRAINING",1];
sitehttp.FightType.TRAINING.toString = $estr;
sitehttp.FightType.TRAINING.__enum__ = sitehttp.FightType;
EReg = function(r,opt) { if( r === $_ ) return; {
	opt = opt.split("u").join("");
	this.r = new RegExp(r,opt);
}}
EReg.__name__ = ["EReg"];
EReg.prototype.customReplace = function(s,f) {
	var buf = new StringBuf();
	while(true) {
		if(!this.match(s)) break;
		buf.b[buf.b.length] = this.matchedLeft();
		buf.b[buf.b.length] = f(this);
		s = this.matchedRight();
	}
	buf.b[buf.b.length] = s;
	return buf.b.join("");
}
EReg.prototype.match = function(s) {
	this.r.m = this.r.exec(s);
	this.r.s = s;
	this.r.l = RegExp.leftContext;
	this.r.r = RegExp.rightContext;
	return (this.r.m != null);
}
EReg.prototype.matched = function(n) {
	return (this.r.m != null && n >= 0 && n < this.r.m.length?this.r.m[n]:(function($this) {
		var $r;
		throw "EReg::matched";
		return $r;
	}(this)));
}
EReg.prototype.matchedLeft = function() {
	if(this.r.m == null) throw "No string matched";
	if(this.r.l == null) return this.r.s.substr(0,this.r.m.index);
	return this.r.l;
}
EReg.prototype.matchedPos = function() {
	if(this.r.m == null) throw "No string matched";
	return { pos : this.r.m.index, len : this.r.m[0].length}
}
EReg.prototype.matchedRight = function() {
	if(this.r.m == null) throw "No string matched";
	if(this.r.r == null) {
		var sz = this.r.m.index + this.r.m[0].length;
		return this.r.s.substr(sz,this.r.s.length - sz);
	}
	return this.r.r;
}
EReg.prototype.r = null;
EReg.prototype.replace = function(s,by) {
	return s.replace(this.r,by);
}
EReg.prototype.split = function(s) {
	var d = "#__delim__#";
	return s.replace(this.r,d).split(d);
}
EReg.prototype.__class__ = EReg;
if(typeof js=='undefined') js = {}
js.JsXml__ = function(p) { if( p === $_ ) return; {
	null;
}}
js.JsXml__.__name__ = ["js","JsXml__"];
js.JsXml__.parse = function(str) {
	var rules = [js.JsXml__.enode,js.JsXml__.epcdata,js.JsXml__.eend,js.JsXml__.ecdata,js.JsXml__.edoctype,js.JsXml__.ecomment,js.JsXml__.eprolog];
	var nrules = rules.length;
	var current = Xml.createDocument();
	var stack = new List();
	while(str.length > 0) {
		var i = 0;
		try {
			while(i < nrules) {
				var r = rules[i];
				if(r.match(str)) {
					switch(i) {
					case 0:{
						var x = Xml.createElement(r.matched(1));
						current.addChild(x);
						str = r.matchedRight();
						while(js.JsXml__.eattribute.match(str)) {
							x.set(js.JsXml__.eattribute.matched(1),js.JsXml__.eattribute.matched(3));
							str = js.JsXml__.eattribute.matchedRight();
						}
						if(!js.JsXml__.eclose.match(str)) {
							i = nrules;
							throw "__break__";
						}
						if(js.JsXml__.eclose.matched(1) == ">") {
							stack.push(current);
							current = x;
						}
						str = js.JsXml__.eclose.matchedRight();
					}break;
					case 1:{
						var x = Xml.createPCData(r.matched(0));
						current.addChild(x);
						str = r.matchedRight();
					}break;
					case 2:{
						if(current._children != null && current._children.length == 0) {
							var e = Xml.createPCData("");
							current.addChild(e);
						}
						else null;
						if(r.matched(1) != current._nodeName || stack.isEmpty()) {
							i = nrules;
							throw "__break__";
						}
						else null;
						current = stack.pop();
						str = r.matchedRight();
					}break;
					case 3:{
						str = r.matchedRight();
						if(!js.JsXml__.ecdata_end.match(str)) throw "End of CDATA section not found";
						var x = Xml.createCData(js.JsXml__.ecdata_end.matchedLeft());
						current.addChild(x);
						str = js.JsXml__.ecdata_end.matchedRight();
					}break;
					case 4:{
						var pos = 0;
						var count = 0;
						var old = str;
						try {
							while(true) {
								if(!js.JsXml__.edoctype_elt.match(str)) throw "End of DOCTYPE section not found";
								var p = js.JsXml__.edoctype_elt.matchedPos();
								pos += p.pos + p.len;
								str = js.JsXml__.edoctype_elt.matchedRight();
								switch(js.JsXml__.edoctype_elt.matched(0)) {
								case "[":{
									count++;
								}break;
								case "]":{
									count--;
									if(count < 0) throw "Invalid ] found in DOCTYPE declaration";
								}break;
								default:{
									if(count == 0) throw "__break__";
								}break;
								}
							}
						} catch( e ) { if( e != "__break__" ) throw e; }
						var x = Xml.createDocType(old.substr(0,pos));
						current.addChild(x);
					}break;
					case 5:{
						if(!js.JsXml__.ecomment_end.match(str)) throw "Unclosed Comment";
						var p = js.JsXml__.ecomment_end.matchedPos();
						var x = Xml.createComment(str.substr(0,p.pos + p.len));
						current.addChild(x);
						str = js.JsXml__.ecomment_end.matchedRight();
					}break;
					case 6:{
						var x = Xml.createProlog(r.matched(0));
						current.addChild(x);
						str = r.matchedRight();
					}break;
					}
					throw "__break__";
				}
				i += 1;
			}
		} catch( e ) { if( e != "__break__" ) throw e; }
		if(i == nrules) {
			if(str.length > 10) throw (("Xml parse error : Unexpected " + str.substr(0,10)) + "...");
			else throw ("Xml parse error : Unexpected " + str);
		}
	}
	if(!stack.isEmpty()) throw "Xml parse error : Unclosed " + stack.last().getNodeName();
	return current;
}
js.JsXml__.createElement = function(name) {
	var r = new js.JsXml__();
	r.nodeType = Xml.Element;
	r._children = new Array();
	r._attributes = new Hash();
	r.setNodeName(name);
	return r;
}
js.JsXml__.createPCData = function(data) {
	var r = new js.JsXml__();
	r.nodeType = Xml.PCData;
	r.setNodeValue(data);
	return r;
}
js.JsXml__.createCData = function(data) {
	var r = new js.JsXml__();
	r.nodeType = Xml.CData;
	r.setNodeValue(data);
	return r;
}
js.JsXml__.createComment = function(data) {
	var r = new js.JsXml__();
	r.nodeType = Xml.Comment;
	r.setNodeValue(data);
	return r;
}
js.JsXml__.createDocType = function(data) {
	var r = new js.JsXml__();
	r.nodeType = Xml.DocType;
	r.setNodeValue(data);
	return r;
}
js.JsXml__.createProlog = function(data) {
	var r = new js.JsXml__();
	r.nodeType = Xml.Prolog;
	r.setNodeValue(data);
	return r;
}
js.JsXml__.createDocument = function() {
	var r = new js.JsXml__();
	r.nodeType = Xml.Document;
	r._children = new Array();
	return r;
}
js.JsXml__.prototype._attributes = null;
js.JsXml__.prototype._children = null;
js.JsXml__.prototype._nodeName = null;
js.JsXml__.prototype._nodeValue = null;
js.JsXml__.prototype._parent = null;
js.JsXml__.prototype.addChild = function(x) {
	if(this._children == null) throw "bad nodetype";
	if(x._parent != null) x._parent._children.remove(x);
	x._parent = this;
	this._children.push(x);
}
js.JsXml__.prototype.attributes = function() {
	if(this.nodeType != Xml.Element) throw "bad nodeType";
	return this._attributes.keys();
}
js.JsXml__.prototype.elements = function() {
	if(this._children == null) throw "bad nodetype";
	return { cur : 0, x : this._children, hasNext : function() {
		var k = this.cur;
		var l = this.x.length;
		while(k < l) {
			if(this.x[k].nodeType == Xml.Element) break;
			k += 1;
		}
		this.cur = k;
		return k < l;
	}, next : function() {
		var k = this.cur;
		var l = this.x.length;
		while(k < l) {
			var n = this.x[k];
			k += 1;
			if(n.nodeType == Xml.Element) {
				this.cur = k;
				return n;
			}
		}
		return null;
	}}
}
js.JsXml__.prototype.elementsNamed = function(name) {
	if(this._children == null) throw "bad nodetype";
	return { cur : 0, x : this._children, hasNext : function() {
		var k = this.cur;
		var l = this.x.length;
		while(k < l) {
			var n = this.x[k];
			if(n.nodeType == Xml.Element && n._nodeName == name) break;
			k++;
		}
		this.cur = k;
		return k < l;
	}, next : function() {
		var k = this.cur;
		var l = this.x.length;
		while(k < l) {
			var n = this.x[k];
			k++;
			if(n.nodeType == Xml.Element && n._nodeName == name) {
				this.cur = k;
				return n;
			}
		}
		return null;
	}}
}
js.JsXml__.prototype.exists = function(att) {
	if(this.nodeType != Xml.Element) throw "bad nodeType";
	return this._attributes.exists(att);
}
js.JsXml__.prototype.firstChild = function() {
	if(this._children == null) throw "bad nodetype";
	return this._children[0];
}
js.JsXml__.prototype.firstElement = function() {
	if(this._children == null) throw "bad nodetype";
	var cur = 0;
	var l = this._children.length;
	while(cur < l) {
		var n = this._children[cur];
		if(n.nodeType == Xml.Element) return n;
		cur++;
	}
	return null;
}
js.JsXml__.prototype.get = function(att) {
	if(this.nodeType != Xml.Element) throw "bad nodeType";
	return this._attributes.get(att);
}
js.JsXml__.prototype.getNodeName = function() {
	if(this.nodeType != Xml.Element) throw "bad nodeType";
	return this._nodeName;
}
js.JsXml__.prototype.getNodeValue = function() {
	if(this.nodeType == Xml.Element || this.nodeType == Xml.Document) throw "bad nodeType";
	return this._nodeValue;
}
js.JsXml__.prototype.getParent = function() {
	return this._parent;
}
js.JsXml__.prototype.insertChild = function(x,pos) {
	if(this._children == null) throw "bad nodetype";
	if(x._parent != null) x._parent._children.remove(x);
	x._parent = this;
	this._children.insert(pos,x);
}
js.JsXml__.prototype.iterator = function() {
	if(this._children == null) throw "bad nodetype";
	return { cur : 0, x : this._children, hasNext : function() {
		return this.cur < this.x.length;
	}, next : function() {
		return this.x[this.cur++];
	}}
}
js.JsXml__.prototype.nodeName = null;
js.JsXml__.prototype.nodeType = null;
js.JsXml__.prototype.nodeValue = null;
js.JsXml__.prototype.parent = null;
js.JsXml__.prototype.remove = function(att) {
	if(this.nodeType != Xml.Element) throw "bad nodeType";
	this._attributes.remove(att);
}
js.JsXml__.prototype.removeChild = function(x) {
	if(this._children == null) throw "bad nodetype";
	var b = this._children.remove(x);
	if(b) x._parent = null;
	return b;
}
js.JsXml__.prototype.set = function(att,value) {
	if(this.nodeType != Xml.Element) throw "bad nodeType";
	this._attributes.set(att,value);
}
js.JsXml__.prototype.setNodeName = function(n) {
	if(this.nodeType != Xml.Element) throw "bad nodeType";
	return this._nodeName = n;
}
js.JsXml__.prototype.setNodeValue = function(v) {
	if(this.nodeType == Xml.Element || this.nodeType == Xml.Document) throw "bad nodeType";
	return this._nodeValue = v;
}
js.JsXml__.prototype.toString = function() {
	if(this.nodeType == Xml.PCData) return this._nodeValue;
	if(this.nodeType == Xml.CData) return ("<![CDATA[" + this._nodeValue) + "]]>";
	if(this.nodeType == Xml.Comment || this.nodeType == Xml.DocType || this.nodeType == Xml.Prolog) return this._nodeValue;
	var s = new StringBuf();
	if(this.nodeType == Xml.Element) {
		s.b[s.b.length] = "<";
		s.b[s.b.length] = this._nodeName;
		{ var $it1 = this._attributes.keys();
		while( $it1.hasNext() ) { var k = $it1.next();
		{
			s.b[s.b.length] = " ";
			s.b[s.b.length] = k;
			s.b[s.b.length] = "=\"";
			s.b[s.b.length] = this._attributes.get(k);
			s.b[s.b.length] = "\"";
		}
		}}
		if(this._children.length == 0) {
			s.b[s.b.length] = "/>";
			return s.b.join("");
		}
		s.b[s.b.length] = ">";
	}
	{ var $it2 = this.iterator();
	while( $it2.hasNext() ) { var x = $it2.next();
	s.b[s.b.length] = x.toString();
	}}
	if(this.nodeType == Xml.Element) {
		s.b[s.b.length] = "</";
		s.b[s.b.length] = this._nodeName;
		s.b[s.b.length] = ">";
	}
	return s.b.join("");
}
js.JsXml__.prototype.__class__ = js.JsXml__;
StringBuf = function(p) { if( p === $_ ) return; {
	this.b = new Array();
}}
StringBuf.__name__ = ["StringBuf"];
StringBuf.prototype.add = function(x) {
	this.b[this.b.length] = x;
}
StringBuf.prototype.addChar = function(c) {
	this.b[this.b.length] = String.fromCharCode(c);
}
StringBuf.prototype.addSub = function(s,pos,len) {
	this.b[this.b.length] = s.substr(pos,len);
}
StringBuf.prototype.b = null;
StringBuf.prototype.toString = function() {
	return this.b.join("");
}
StringBuf.prototype.__class__ = StringBuf;
Consts = function() { }
Consts.__name__ = ["Consts"];
Consts.GetSiteBase = function() {
	return SiteUrl.SITE_BASE;
}
Consts.prototype.__class__ = Consts;
sitehttp.ExecuteKombat = function() { }
sitehttp.ExecuteKombat.__name__ = ["sitehttp","ExecuteKombat"];
sitehttp.ExecuteKombat.prototype.__class__ = sitehttp.ExecuteKombat;
if(typeof utils=='undefined') utils = {}
utils.Assert = function() { }
utils.Assert.__name__ = ["utils","Assert"];
utils.Assert.AssertC = function(_Eval,_C) {
	if(!_Eval) {
		var l_Message = "Assert !! : " + _C;
		var l_Str = haxe.Stack.toString(haxe.Stack.callStack());
		throw "Assert !! : " + _C;
		throw "";
	}
}
utils.Assert.OnData = function(_Data) {
	null;
}
utils.Assert.OnError = function(_Error) {
	null;
}
utils.Assert.OnStatus = function(_Status) {
	null;
}
utils.Assert.AssertMinMaxC = function(_Value,_Min,_Max,_C) {
	utils.Assert.AssertC(_Value >= _Min && _Value < _Max,((((((_C + " ( Value : ") + _Value) + " min ") + _Min) + " MAX ") + _Max) + ")");
}
utils.Assert.Halt = function(_C) {
	utils.Assert.AssertC(false,_C);
}
utils.Assert.prototype.__class__ = utils.Assert;
Hash = function(p) { if( p === $_ ) return; {
	this.h = {}
	if(this.h.__proto__ != null) {
		this.h.__proto__ = null;
		delete(this.h.__proto__);
	}
	else null;
}}
Hash.__name__ = ["Hash"];
Hash.prototype.exists = function(key) {
	try {
		key = "$" + key;
		return this.hasOwnProperty.call(this.h,key);
	}
	catch( $e3 ) {
		{
			var e = $e3;
			{
				
				for(var i in this.h)
					if( i == key ) return true;
			;
				return false;
			}
		}
	}
}
Hash.prototype.get = function(key) {
	return this.h["$" + key];
}
Hash.prototype.h = null;
Hash.prototype.iterator = function() {
	return { ref : this.h, it : this.keys(), hasNext : function() {
		return this.it.hasNext();
	}, next : function() {
		var i = this.it.next();
		return this.ref["$" + i];
	}}
}
Hash.prototype.keys = function() {
	var a = new Array();
	
			for(var i in this.h)
				a.push(i.substr(1));
		;
	return a.iterator();
}
Hash.prototype.remove = function(key) {
	if(!this.exists(key)) return false;
	delete(this.h["$" + key]);
	return true;
}
Hash.prototype.set = function(key,value) {
	this.h["$" + key] = value;
}
Hash.prototype.toString = function() {
	var s = new StringBuf();
	s.b[s.b.length] = "{";
	var it = this.keys();
	{ var $it4 = it;
	while( $it4.hasNext() ) { var i = $it4.next();
	{
		s.b[s.b.length] = i;
		s.b[s.b.length] = " => ";
		s.b[s.b.length] = Std.string(this.get(i));
		if(it.hasNext()) s.b[s.b.length] = ", ";
	}
	}}
	s.b[s.b.length] = "}";
	return s.b.join("");
}
Hash.prototype.__class__ = Hash;
GnobotJavaScript = function() { }
GnobotJavaScript.__name__ = ["GnobotJavaScript"];
GnobotJavaScript.main = function() {
	GnobotJavaScript.s_CheckNameResponse = null;
	GnobotJavaScript.s_CheckNameChange = false;
	GnobotJavaScript.s_StartTimer = Date.now();
	GnobotJavaScript.StartTimer();
	GnobotJavaScript.s_Req = new js.XMLHttpRequest();
	{
		var _g1 = 0, _g = js.Lib.document.images.length;
		while(_g1 < _g) {
			var i = _g1++;
			var l_Parent = js.Lib.document.images[i].parentNode;
			if(l_Parent.nodeName == "A") {
				var l_Source = js.Lib.document.images[i].src;
				var l_End = l_Source.lastIndexOf("_");
				var l_Point = l_Source.lastIndexOf(".");
				var l_Src = (l_Source.substr(0,l_End + 1) + "Over") + l_Source.substr(l_Point);
				var l_Ret = haxe.Http.requestUrl(l_Src);
			}
		}
	}
	GnobotJavaScript.StopTimer("RollOver Init");
	GnobotJavaScript.s_HTimer = new haxe.Timer(1000);
	GnobotJavaScript.s_HTimer.run = $closure(GnobotJavaScript,"CheckFlashCapable");
}
GnobotJavaScript.RollOver = function(_Obj) {
	var l_Source = _Obj.firstChild.src;
	if(l_Source != null) {
		var l_End = l_Source.lastIndexOf("_");
		var l_Point = l_Source.lastIndexOf(".");
		_Obj.firstChild.src = (l_Source.substr(0,l_End + 1) + "Over") + l_Source.substr(l_Point);
	}
}
GnobotJavaScript.RollOut = function(_Obj) {
	var l_Source = _Obj.firstChild.src;
	if(l_Source != null) {
		var l_End = l_Source.lastIndexOf("_");
		var l_Point = l_Source.lastIndexOf(".");
		_Obj.firstChild.src = (l_Source.substr(0,l_End + 1) + "Up") + l_Source.substr(l_Point);
	}
}
GnobotJavaScript.CheckNameFalse = function(_Name,_UserId,_Obj,_Async) {
	if(_Async == null) _Async = true;
	var l_Now = Date.now().getTime();
	if(GnobotJavaScript.s_CheckNameTime + 1000 < l_Now) {
		GnobotJavaScript.s_CheckNameResponse = null;
		GnobotJavaScript.s_CheckNameObj = _Obj;
		GnobotJavaScript.s_Req.abort();
		GnobotJavaScript.s_Req = new js.XMLHttpRequest();
		GnobotJavaScript.s_Req.onreadystatechange = $closure(GnobotJavaScript,"CheckNameFalseReturn");
		GnobotJavaScript.s_Req.open("GET",(((((Consts.GetSiteBase() + "index.php?page=") + sitehttp.ExistsName.URL_NAME) + "&name=") + StringTools.urlEncode(_Name)) + "&userid=") + _UserId,_Async);
		GnobotJavaScript.s_Req.send("");
		GnobotJavaScript.s_CheckNameObj.src = "Witch_Fire.gif";
		GnobotJavaScript.s_CheckNameTime = l_Now;
	}
}
GnobotJavaScript.CheckNameFalseReturn = function() {
	if(GnobotJavaScript.s_Req.status == 200) {
		var l_Xml = Xml.parse(GnobotJavaScript.s_Req.responseText);
		if(l_Xml != null) {
			if(l_Xml.firstChild() != null) {
				if(l_Xml.firstChild().firstChild() != null) {
					if(l_Xml.firstChild().firstChild().getNodeValue() == "false") {
						GnobotJavaScript.s_CheckNameResponse = true;
						if(GnobotJavaScript.s_CheckNameObj != null) {
							GnobotJavaScript.s_CheckNameObj.src = "Red_Fire.gif";
						}
						return;
					}
					if(l_Xml.firstChild().firstChild().getNodeValue() == "true") {
						GnobotJavaScript.s_CheckNameResponse = false;
						if(GnobotJavaScript.s_CheckNameObj != null) {
							GnobotJavaScript.s_CheckNameObj.src = "Green_Fire.gif";
						}
						return;
					}
				}
			}
		}
	}
	if(GnobotJavaScript.s_CheckNameObj != null) {
		GnobotJavaScript.s_CheckNameObj.src = "No_Fire.gif";
	}
}
GnobotJavaScript.CheckName = function(_Name,_Obj,_Async,_Function) {
	if(_Async == null) _Async = true;
	GnobotJavaScript.s_CheckNameCallBack = _Function;
	GnobotJavaScript.s_CheckNameResponse = null;
	GnobotJavaScript.s_CheckNameObj = _Obj;
	GnobotJavaScript.s_Req.abort();
	GnobotJavaScript.s_Req = new js.XMLHttpRequest();
	GnobotJavaScript.s_Req.onreadystatechange = $closure(GnobotJavaScript,"CheckNameReturn");
	GnobotJavaScript.s_Req.open("GET",((Consts.GetSiteBase() + "index.php?page=") + "exists&name=") + StringTools.urlEncode(_Name),_Async);
	GnobotJavaScript.s_Req.send("");
	GnobotJavaScript.s_CheckNameObj.src = "Witch_Fire.gif";
}
GnobotJavaScript.CheckNameReturn = function() {
	try {
		if(GnobotJavaScript.s_Req.status == 200) {
			var l_Xml = Xml.parse(GnobotJavaScript.s_Req.responseText);
			var l_Response = sitehttp.ExistsName.ResponseFromXml(GnobotJavaScript.s_Req.responseText);
			if(l_Response == true) {
				GnobotJavaScript.s_CheckNameResponse = true;
				GnobotJavaScript.s_CheckNameObj.src = "Red_Fire.gif";
				if(GnobotJavaScript.s_CheckNameCallBack != null) {
					GnobotJavaScript.s_CheckNameCallBack();
				}
				return;
			}
			GnobotJavaScript.s_CheckNameResponse = false;
			GnobotJavaScript.s_CheckNameObj.src = "Green_Fire.gif";
			if(GnobotJavaScript.s_CheckNameCallBack != null) {
				GnobotJavaScript.s_CheckNameCallBack();
			}
			return;
		}
		GnobotJavaScript.s_CheckNameObj.src = "No_Fire.gif";
	}
	catch( $e5 ) {
		{
			var e = $e5;
			null;
		}
	}
}
GnobotJavaScript.SetBotNameName = function(_BotId,_BotName,_TitleName,_UserName,_HighLight) {
	GnobotJavaScript.s_BotNames.set(_BotId,_BotName);
	GnobotJavaScript.s_BotTitles.set(_BotId,_TitleName);
	GnobotJavaScript.s_BotUsersNames.set(_BotId,_UserName);
	GnobotJavaScript.s_BotHighLights.set(_BotId,_HighLight);
}
GnobotJavaScript.UpdateBotNames = function() {
	var l_Zero = "0".charCodeAt(0);
	var l_Nine = "9".charCodeAt(0);
	var l_List = js.Lib.document.getElementsByTagName("div");
	{
		var _g1 = 0, _g = l_List.length;
		while(_g1 < _g) {
			var i = _g1++;
			var l_Element = l_List[i];
			if(l_Element.className == "tournamentbox") {
				var l_Txt = StringTools.trim(l_Element.innerHTML);
				if(GnobotJavaScript.s_BotNames.exists(l_Txt)) {
					var l_KombatString = l_Element.id;
					var l_KombatTab = l_KombatString.split("/");
					var l_KombatId = l_KombatTab[1];
					var l_ShortName = StringTools.replace(GnobotJavaScript.s_BotNames.get(l_Txt),"\"","\\\"");
					var l_FullName = StringTools.replace(GnobotJavaScript.s_BotTitles.get(l_Txt),"\"","\\\"");
					var l_UserName = StringTools.replace(GnobotJavaScript.s_BotUsersNames.get(l_Txt),"\"","\\\"");
					if(GnobotJavaScript.s_BotHighLights.get(l_Txt) == 1) {
						l_Element.innerHTML = ((((((((((("<table cellpadding=\"0\" cellspacing=\"0\" class=\"tournamentownboxsunday\" width=\"100%\"><tr><td valign=\"middle\"><a href=\"" + "index.php?page=") + "kombat&kombat=") + l_KombatId) + "\"><img src=\"Bt_TournamentFight_Up.png\" border=\"0\"></a></td><td><a href=\"") + "index.php?page=") + "gnobot&id=") + l_Txt) + "\" title=\"") + l_FullName) + "\"><img src=\"GnoCache/") + l_Txt) + "_340.png\" height=\"55\" width=\"55\" border=\"0\"></a></td></tr></table>";
					}
					else l_Element.innerHTML = ((((((((((("<table cellpadding=\"0\" cellspacing=\"0\"><tr><td valign=\"middle\"><a href=\"" + "index.php?page=") + "kombat&kombat=") + l_KombatId) + "\"><img src=\"Bt_TournamentFight_Up.png\" border=\"0\"></a></td><td><a href=\"") + "index.php?page=") + "gnobot&id=") + l_Txt) + "\" title=\"") + l_FullName) + "\"><img src=\"GnoCache/") + l_Txt) + "_340.png\" height=\"55\" width=\"55\" border=\"0\"></a></td></tr></table>";
				}
			}
			else if(l_Element.className == "tournamentboxsunday" || l_Element.className == "tournamentownboxsunday") {
				var l_Txt = StringTools.trim(l_Element.innerHTML);
				if(GnobotJavaScript.s_BotNames.exists(l_Txt)) {
					var l_ShortName = StringTools.replace(GnobotJavaScript.s_BotNames.get(l_Txt),"\"","\\\"");
					var l_FullName = StringTools.replace(GnobotJavaScript.s_BotTitles.get(l_Txt),"\"","\\\"");
					var l_UserName = StringTools.replace(GnobotJavaScript.s_BotUsersNames.get(l_Txt),"\"","\\\"");
					if(GnobotJavaScript.s_BotHighLights.get(l_Txt) == 1) {
						l_Element.innerHTML = ((((((((((("<table cellpadding=\"0\" cellspacing=\"0\" class=\"tournamentownboxsunday\" width=\"100%\"><tr><td rowspan=\"2\"><img src=\"GnoCache/" + l_Txt) + "_340.png\" height=\"40\" width=\"40\" border=\"0\"></td><a href=\"") + "index.php?page=") + "gnobot&id=") + l_Txt) + "\" title=\"") + l_FullName) + "\">") + l_ShortName) + "</a></td></tr><tr><td>(") + l_UserName) + ")</td></tr>";
					}
					else l_Element.innerHTML = ((((((((((("<table cellpadding=\"0\" cellspacing=\"0\"><tr><td rowspan=\"2\"><img src=\"GnoCache/" + l_Txt) + "_340.png\" height=\"40\" width=\"40\" border=\"0\"></td><a href=\"") + "index.php?page=") + "gnobot&id=") + l_Txt) + "\" title=\"") + l_FullName) + "\">") + l_ShortName) + "</a></td></tr><tr><td>(") + l_UserName) + ")</td></tr>";
				}
			}
		}
	}
}
GnobotJavaScript.CheckTournement = function() {
	var l_Found = false;
	{
		var _g = 1;
		while(_g < 6) {
			var j = _g++;
			do {
				var l_List = js.Lib.document.getElementsByTagName("td");
				l_Found = false;
				{
					var _g2 = 0, _g1 = l_List.length;
					while(_g2 < _g1) {
						var i = _g2++;
						var l_Element = l_List[i];
						if(l_Element.className == "tournamentlines" + j) {
							var l_ScrollHeight = l_Element.scrollHeight;
							var l_Height = l_Element.clientHeight;
							if(js.Lib.isIE && l_Height == 0) {
								l_Element.innerHTML = "<table><tr><td style=\"height:30px;\"></td></tr></table>";
								l_Height = l_Element.clientHeight;
								l_Element.innerHTML = "";
							}
							if(l_Element.innerHTML.length == 1) {
								var l_Victory = l_Element.innerHTML;
								l_Found = true;
								var l_StartHeight = l_Height;
								l_Height = Math.round((l_Height - 90) / 4);
								if(l_Height < 0) {
									l_Height = 0;
								}
								if(js.Lib.isIE) {
									var l_Content = "";
									l_Content += "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">";
									l_Content += "<tr>";
									l_Content += ("<td class=\"tournamentext\" style=\"height:" + l_Height) + "px;\">";
									l_Content += "</td>";
									l_Content += "</tr>";
									l_Content += "<tr>";
									l_Content += ("<td class=\"tournamenttop" + l_Victory) + "\">";
									l_Content += "</td>";
									l_Content += "</tr>";
									l_Content += "<tr>";
									l_Content += ((("<td class=\"tournamenttopmiddle" + l_Victory) + "\" style=\"height:") + l_Height) + "px;\">";
									l_Content += "</td>";
									l_Content += "</tr>";
									l_Content += "<tr>";
									l_Content += ("<td class=\"tournamentmiddle" + l_Victory) + "\">";
									l_Content += "</td>";
									l_Content += "</tr>";
									l_Content += "<tr>";
									l_Content += ((("<td class=\"tournamentbottommiddle" + l_Victory) + "\" style=\"height:") + l_Height) + "px;\">";
									l_Content += "</td>";
									l_Content += "</tr>";
									l_Content += "<tr>";
									l_Content += ("<td class=\"tournamentbottom" + l_Victory) + "\">";
									l_Content += "</td>";
									l_Content += "</tr>";
									l_Content += "<tr>";
									l_Content += ("<td class=\"tournamentext\" style=\"height:" + l_Height) + "px;\">";
									l_Content += "</td>";
									l_Content += "</tr>";
									l_Content += "</table>";
									l_Element.innerHTML = l_Content;
								}
								else {
									l_Element.removeChild(l_Element.firstChild);
									var l_Table = js.Lib.document.createElement("table");
									l_Table.setAttribute("cellpadding","0");
									l_Table.setAttribute("cellspacing","0");
									l_Table.setAttribute("border","0");
									var l_Tr1 = js.Lib.document.createElement("tr");
									var l_Td1 = js.Lib.document.createElement("td");
									l_Td1.setAttribute("class","tournamentext");
									l_Td1.setAttribute("style",("height:" + l_Height) + "px;");
									l_Tr1.appendChild(l_Td1);
									var l_Tr2 = js.Lib.document.createElement("tr");
									var l_Td2 = js.Lib.document.createElement("td");
									l_Td2.setAttribute("class","tournamenttop" + l_Victory);
									l_Tr2.appendChild(l_Td2);
									var l_Tr3 = js.Lib.document.createElement("tr");
									var l_Td3 = js.Lib.document.createElement("td");
									l_Td3.setAttribute("class","tournamenttopmiddle" + l_Victory);
									l_Td3.setAttribute("style",("height:" + l_Height) + "px;");
									l_Tr3.appendChild(l_Td3);
									var l_Tr4 = js.Lib.document.createElement("tr");
									var l_Td4 = js.Lib.document.createElement("td");
									l_Td4.setAttribute("class","tournamentmiddle" + l_Victory);
									l_Tr4.appendChild(l_Td4);
									var l_Tr5 = js.Lib.document.createElement("tr");
									var l_Td5 = js.Lib.document.createElement("td");
									l_Td5.setAttribute("class","tournamentbottommiddle" + l_Victory);
									l_Td5.setAttribute("style",("height:" + l_Height) + "px;");
									l_Tr5.appendChild(l_Td5);
									var l_Tr6 = js.Lib.document.createElement("tr");
									var l_Td6 = js.Lib.document.createElement("td");
									l_Td6.setAttribute("class","tournamentbottom" + l_Victory);
									l_Tr6.appendChild(l_Td6);
									var l_Tr7 = js.Lib.document.createElement("tr");
									var l_Td7 = js.Lib.document.createElement("td");
									l_Td7.setAttribute("class","tournamentext");
									l_Td7.setAttribute("style",("height:" + l_Height) + "px;");
									l_Tr7.appendChild(l_Td7);
									l_Table.appendChild(l_Tr1);
									l_Table.appendChild(l_Tr2);
									l_Table.appendChild(l_Tr3);
									l_Table.appendChild(l_Tr4);
									l_Table.appendChild(l_Tr5);
									l_Table.appendChild(l_Tr6);
									l_Table.appendChild(l_Tr7);
									l_Element.appendChild(l_Table);
								}
								var l_Childs = l_Element.childNodes;
							}
						}
					}
				}
			} while(l_Found == true);
		}
	}
}
GnobotJavaScript.ConfirmSave = function(_Txt) {
	return _Txt;
}
GnobotJavaScript.s_Timer = null;
GnobotJavaScript.s_StartTimer = null;
GnobotJavaScript.StartTimer = function() {
	GnobotJavaScript.s_Timer = Date.now();
}
GnobotJavaScript.StopTimer = function(_Txt) {
	var l_LastTimer = Date.fromTime(GnobotJavaScript.s_Timer.getTime());
	GnobotJavaScript.StartTimer();
	var l_TimeDiff = (GnobotJavaScript.s_Timer.getTime() - l_LastTimer.getTime());
	var l_Time = DateTools.parse(l_TimeDiff);
	var l_TimeDiff2 = (GnobotJavaScript.s_Timer.getTime() - GnobotJavaScript.s_StartTimer.getTime());
	var l_Time2 = DateTools.parse(l_TimeDiff2);
	var l_Element = js.Lib.document.getElementById("gjs");
	if(l_Element != null) {
		GnobotJavaScript.s_TimerTxt += ((((((((((((((("<tr><td>" + _Txt) + "</td><td>") + l_Time.minutes) + ":") + l_Time.seconds) + ",") + l_Time.ms) + "</td><td>") + l_Time2.hours) + ":") + l_Time2.minutes) + ":") + l_Time2.seconds) + ",") + l_Time2.ms) + "</td></tr>";
		l_Element.innerHTML = ("<table border=1>" + GnobotJavaScript.s_TimerTxt) + "</table>";
	}
}
GnobotJavaScript.IsFlashCapable = function() {
	return GnobotJavaScript.s_FlashCapable;
}
GnobotJavaScript.AddDynContent = function(_Index,_DefaultContent,_ChangeContent,_Url,_TargetDiv) {
	var l_Content = _DefaultContent;
	if(_ChangeContent != null) {
		l_Content = (((("<a href=\"javascript:GnobotJavaScript.ChangeDynContent(" + _Index) + (((_TargetDiv != null)?(", '" + _TargetDiv) + "'":""))) + ")\">") + l_Content) + "</a>";
	}
	GnobotJavaScript.s_DefaultDynContent[_Index] = l_Content;
	GnobotJavaScript.s_ChangeDynContent[_Index] = _ChangeContent;
	var l_Element = js.Lib.document.getElementById(("dyn_div" + "_") + _Index);
	if(l_Element != null) {
		l_Element.innerHTML = GnobotJavaScript.s_DefaultDynContent[_Index];
	}
	GnobotJavaScript.s_DistantDynUrl[_Index] = _Url;
}
GnobotJavaScript.ChangeDynContent = function(_Index,_TargetDiv) {
	var i = GnobotJavaScript.s_CurrentDynContent;
	if(i != -1) {
		if(i != _Index) {
			var l_Element = js.Lib.document.getElementById(("dyn_div" + "_") + i);
			if(l_Element != null) {
				l_Element.innerHTML = GnobotJavaScript.s_DefaultDynContent[i];
			}
		}
	}
	var l_Element = js.Lib.document.getElementById(("dyn_div" + "_") + _Index);
	if(l_Element != null && GnobotJavaScript.s_ChangeDynContent[_Index] != null) {
		l_Element.innerHTML = GnobotJavaScript.s_ChangeDynContent[_Index];
	}
	GnobotJavaScript.s_LocalTargetDiv = "dyn_distant_div";
	if(_TargetDiv != null) {
		GnobotJavaScript.s_LocalTargetDiv = _TargetDiv;
	}
	if(l_Element == null && GnobotJavaScript.s_ChangeDynContent[_Index] != null) {
		var l_Element1 = js.Lib.document.getElementById(GnobotJavaScript.s_LocalTargetDiv);
		if(l_Element1 != null) {
			l_Element1.innerHTML = GnobotJavaScript.s_ChangeDynContent[_Index];
		}
	}
	if(GnobotJavaScript.s_DistantDynUrl[_Index] != null) {
		try {
			GnobotJavaScript.s_Req.abort();
			GnobotJavaScript.s_Req = new js.XMLHttpRequest();
			GnobotJavaScript.s_Req.onreadystatechange = $closure(GnobotJavaScript,"DistantDynOnData");
			GnobotJavaScript.s_Req.open("GET",(Consts.GetSiteBase() + "index.php?page=") + GnobotJavaScript.s_DistantDynUrl[_Index],true);
			GnobotJavaScript.s_Req.send("");
		}
		catch( $e6 ) {
			{
				var _E = $e6;
				null;
			}
		}
	}
	GnobotJavaScript.s_CurrentDynContent = _Index;
}
GnobotJavaScript.DistantDynOnData = function() {
	try {
		if(GnobotJavaScript.s_Req.status == 200) {
			var l_Element = js.Lib.document.getElementById(GnobotJavaScript.s_LocalTargetDiv);
			if(l_Element != null) {
				l_Element.innerHTML = GnobotJavaScript.s_Req.responseText;
			}
		}
	}
	catch( $e7 ) {
		{
			var _E = $e7;
			null;
		}
	}
}
GnobotJavaScript.ValidFlashCapacity = function() {
	GnobotJavaScript.s_FlashCapable = true;
}
GnobotJavaScript.CheckFlashCapable = function() {
	if(GnobotJavaScript.IsFlashCapable()) {
		var l_Output = "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width=\"994\" height=\"181\" id=\"haxePath\">" + "\n";
		l_Output += (((("<param name=\"movie\" value=\"" + GnobotJavaScript.s_ToBasePath) + "Banner") + GnobotJavaScript.s_SwfVersion) + ".swf\"/>") + "\n";
		l_Output += "<param name=\"bgcolor\" value=\"200d04\"/>" + "\n";
		l_Output += "<param name=\"scale\" value=\"showall\"/>" + "\n";
		l_Output += "<param name=\"salign\" value=\"lt\"/>" + "\n";
		l_Output += "<param name=\"wmode\" value=\"transparent\"/>" + "\n";
		l_Output += "<param name=\"menu\" value=\"true\"/>" + "\n";
		l_Output += "<param name=\"quality\" value=\"high\"/>" + "\n";
		l_Output += (((((((((("<param name=\"flashvars\" value=\"userid=" + GnobotJavaScript.s_UserId) + "&robotid=") + GnobotJavaScript.s_RobotId) + "&imgid=") + GnobotJavaScript.s_ImgId) + "&inmails=") + GnobotJavaScript.s_InMails) + "&lg=") + GnobotJavaScript.s_Lg) + "\"/>") + "\n";
		l_Output += "<param name=\"allowScriptAccess\" value=\"always\"/>" + "\n";
		l_Output += (((("<embed src=\"" + GnobotJavaScript.s_ToBasePath) + "Banner") + GnobotJavaScript.s_SwfVersion) + ".swf\"") + "\n";
		l_Output += "\t\twidth=\"994\"" + "\n";
		l_Output += "\t\theight=\"181\"" + "\n";
		l_Output += "\t\tbgcolor=\"200d04\"" + "\n";
		l_Output += "\t\tname=\"haxePath\"" + "\n";
		l_Output += "\t\tscale=\"noscale\"" + "\n";
		l_Output += "\t\tsalign=\"lt\"" + "\n";
		l_Output += "\t\twmode=\"transparent\"" + "\n";
		l_Output += "\t\tmenu=\"true\"" + "\n";
		l_Output += "\t\tquality=\"high\"" + "\n";
		l_Output += "\t\tswLiveConnect=\"true\"" + "\n";
		l_Output += "\t\tallowScriptAccess=\"always\"" + "\n";
		l_Output += "\t\ttype=\"application/x-shockwave-flash\"" + "\n";
		l_Output += (((((((((("\t\tflashvars=\"userid=" + GnobotJavaScript.s_UserId) + "&robotid=") + GnobotJavaScript.s_RobotId) + "&imgid=") + GnobotJavaScript.s_ImgId) + "&inmails=") + GnobotJavaScript.s_InMails) + "&lg=") + GnobotJavaScript.s_Lg) + "\"") + "\n";
		l_Output += "\t\tpluginspage=\"http://www.macromedia.com/go/getflashplayer\"></embed></object>" + "\n";
		if(GnobotJavaScript.s_ShowBanner) {
			var l_Element = js.Lib.document.getElementById("gnobannerdiv");
			if(l_Element != null) {
				l_Element.innerHTML = l_Output;
			}
		}
		GnobotJavaScript.s_HTimer.stop();
	}
}
GnobotJavaScript.EditHasSave = function() {
	GnobotJavaScript.s_CanQuit = true;
}
GnobotJavaScript.EditHasChange = function() {
	GnobotJavaScript.s_CanQuit = false;
}
GnobotJavaScript.s_Req = null;
GnobotJavaScript.s_CheckNameResponse = null;
GnobotJavaScript.s_CheckNameChange = null;
GnobotJavaScript.s_CheckNameCallBack = null;
GnobotJavaScript.s_KombatId = null;
GnobotJavaScript.s_HTimer = null;
GnobotJavaScript.prototype.__class__ = GnobotJavaScript;
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;
haxe.Timer = function(time_ms) { if( time_ms === $_ ) return; {
	this.id = haxe.Timer.arr.length;
	haxe.Timer.arr[this.id] = this;
	this.timerId = window.setInterval(("haxe.Timer.arr[" + this.id) + "].run();",time_ms);
}}
haxe.Timer.__name__ = ["haxe","Timer"];
haxe.Timer.delay = function(f,time_ms) {
	var t = new haxe.Timer(time_ms);
	t.run = function() {
		t.stop();
		f();
	}
	return t;
}
haxe.Timer.stamp = function() {
	return Date.now().getTime() / 1000;
}
haxe.Timer.prototype.id = null;
haxe.Timer.prototype.run = function() {
	null;
}
haxe.Timer.prototype.stop = function() {
	if(this.id == null) return;
	window.clearInterval(this.timerId);
	haxe.Timer.arr[this.id] = null;
	if(this.id > 100 && this.id == haxe.Timer.arr.length - 1) {
		var p = this.id - 1;
		while(p >= 0 && haxe.Timer.arr[p] == null) p--;
		haxe.Timer.arr = haxe.Timer.arr.slice(0,p + 1);
	}
	this.id = null;
}
haxe.Timer.prototype.timerId = null;
haxe.Timer.prototype.__class__ = haxe.Timer;
sitehttp.ExistsName = function() { }
sitehttp.ExistsName.__name__ = ["sitehttp","ExistsName"];
sitehttp.ExistsName.ResponseFromXml = function(_XmlStr) {
	var l_Xml = Xml.parse(_XmlStr);
	if(l_Xml != null) {
		if(l_Xml.firstChild() != null) {
			if(l_Xml.firstChild().firstChild() != null) {
				if(l_Xml.firstChild().firstChild().getNodeValue() == "true") {
					return true;
				}
				if(l_Xml.firstChild().firstChild().getNodeValue() == "false") {
					return false;
				}
			}
		}
	}
	return true;
}
sitehttp.ExistsName.prototype.__class__ = sitehttp.ExistsName;
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;
List = function(p) { if( p === $_ ) return; {
	this.length = 0;
}}
List.__name__ = ["List"];
List.prototype.add = function(item) {
	var x = [item];
	if(this.h == null) this.h = x;
	else this.q[1] = x;
	this.q = x;
	this.length++;
}
List.prototype.clear = function() {
	this.h = null;
	this.q = null;
	this.length = 0;
}
List.prototype.filter = function(f) {
	var l2 = new List();
	var l = this.h;
	while(l != null) {
		var v = l[0];
		l = l[1];
		if(f(v)) l2.add(v);
	}
	return l2;
}
List.prototype.first = function() {
	return (this.h == null?null:this.h[0]);
}
List.prototype.h = null;
List.prototype.isEmpty = function() {
	return (this.h == null);
}
List.prototype.iterator = function() {
	return { h : this.h, hasNext : function() {
		return (this.h != null);
	}, next : function() {
		if(this.h == null) return null;
		var x = this.h[0];
		this.h = this.h[1];
		return x;
	}}
}
List.prototype.join = function(sep) {
	var s = new StringBuf();
	var first = true;
	var l = this.h;
	while(l != null) {
		if(first) first = false;
		else s.b[s.b.length] = sep;
		s.b[s.b.length] = l[0];
		l = l[1];
	}
	return s.b.join("");
}
List.prototype.last = function() {
	return (this.q == null?null:this.q[0]);
}
List.prototype.length = null;
List.prototype.map = function(f) {
	var b = new List();
	var l = this.h;
	while(l != null) {
		var v = l[0];
		l = l[1];
		b.add(f(v));
	}
	return b;
}
List.prototype.pop = function() {
	if(this.h == null) return null;
	var x = this.h[0];
	this.h = this.h[1];
	if(this.h == null) this.q = null;
	this.length--;
	return x;
}
List.prototype.push = function(item) {
	var x = [item,this.h];
	this.h = x;
	if(this.q == null) this.q = x;
	this.length++;
}
List.prototype.q = null;
List.prototype.remove = function(v) {
	var prev = null;
	var l = this.h;
	while(l != null) {
		if(l[0] == v) {
			if(prev == null) this.h = l[1];
			else prev[1] = l[1];
			if(this.q == l) this.q = prev;
			this.length--;
			return true;
		}
		prev = l;
		l = l[1];
	}
	return false;
}
List.prototype.toString = function() {
	var s = new StringBuf();
	var first = true;
	var l = this.h;
	s.b[s.b.length] = "{";
	while(l != null) {
		if(first) first = false;
		else s.b[s.b.length] = ", ";
		s.b[s.b.length] = Std.string(l[0]);
		l = l[1];
	}
	s.b[s.b.length] = "}";
	return s.b.join("");
}
List.prototype.__class__ = List;
haxe.Http = function(url) { if( url === $_ ) return; {
	this.url = url;
	this.headers = new Hash();
	this.params = new Hash();
	this.async = true;
}}
haxe.Http.__name__ = ["haxe","Http"];
haxe.Http.requestUrl = function(url) {
	var h = new haxe.Http(url);
	h.async = false;
	var r = null;
	h.onData = function(d) {
		r = d;
	}
	h.onError = function(e) {
		throw e;
	}
	h.request(false);
	return r;
}
haxe.Http.prototype.async = null;
haxe.Http.prototype.headers = null;
haxe.Http.prototype.onData = function(data) {
	null;
}
haxe.Http.prototype.onError = function(msg) {
	null;
}
haxe.Http.prototype.onStatus = function(status) {
	null;
}
haxe.Http.prototype.params = null;
haxe.Http.prototype.postData = null;
haxe.Http.prototype.request = function(post) {
	var me = this;
	var r = new js.XMLHttpRequest();
	var onreadystatechange = function() {
		if(r.readyState != 4) return;
		var s = (function($this) {
			var $r;
			try {
				$r = r.status;
			}
			catch( $e8 ) {
				{
					var e = $e8;
					$r = null;
				}
			}
			return $r;
		}(this));
		if(s == undefined) s = null;
		if(s != null) me.onStatus(s);
		if(s != null && s >= 200 && s < 400) me.onData(r.responseText);
		else switch(s) {
		case null:{
			me.onError("Failed to connect or resolve host");
		}break;
		case 12029:{
			me.onError("Failed to connect to host");
		}break;
		case 12007:{
			me.onError("Unknown host");
		}break;
		default:{
			me.onError("Http Error #" + r.status);
		}break;
		}
	}
	if(this.async) r.onreadystatechange = onreadystatechange;
	var uri = this.postData;
	if(uri != null) post = true;
	else { var $it9 = this.params.keys();
	while( $it9.hasNext() ) { var p = $it9.next();
	{
		if(uri == null) uri = "";
		else uri += "&";
		uri += (StringTools.urlDecode(p) + "=") + StringTools.urlEncode(this.params.get(p));
	}
	}}
	try {
		if(post) r.open("POST",this.url,this.async);
		else if(uri != null) {
			var question = this.url.split("?").length <= 1;
			r.open("GET",(this.url + ((question?"?":"&"))) + uri,this.async);
			uri = null;
		}
		else r.open("GET",this.url,this.async);
	}
	catch( $e10 ) {
		{
			var e = $e10;
			{
				this.onError(e.toString());
				return;
			}
		}
	}
	if(this.headers.get("Content-Type") == null && post && this.postData == null) r.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	{ var $it11 = this.headers.keys();
	while( $it11.hasNext() ) { var h = $it11.next();
	r.setRequestHeader(h,this.headers.get(h));
	}}
	r.send(uri);
	if(!this.async) onreadystatechange();
}
haxe.Http.prototype.setHeader = function(header,value) {
	this.headers.set(header,value);
}
haxe.Http.prototype.setParameter = function(param,value) {
	this.params.set(param,value);
}
haxe.Http.prototype.setPostData = function(data) {
	this.postData = data;
}
haxe.Http.prototype.url = null;
haxe.Http.prototype.__class__ = haxe.Http;
js.Lib = function() { }
js.Lib.__name__ = ["js","Lib"];
js.Lib.isIE = null;
js.Lib.isOpera = null;
js.Lib.document = null;
js.Lib.window = 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;
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( $e12 ) {
			{
				var e = $e12;
				{
					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( $e13 ) {
		{
			var e = $e13;
			{
				if(cl == null) return false;
			}
		}
	}
	switch(cl) {
	case Int:{
		return Math.ceil(o%2147483648.0) === 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 = (typeof document!='undefined' && document.all != null && typeof window!='undefined' && window.opera == null);
	js.Lib.isOpera = (typeof window!='undefined' && window.opera != null);
	Array.prototype.copy = Array.prototype.slice;
	Array.prototype.insert = function(i,x) {
		this.splice(i,0,x);
	}
	Array.prototype.remove = (Array.prototype.indexOf?function(obj) {
		var idx = this.indexOf(obj);
		if(idx == -1) return false;
		this.splice(idx,1);
		return true;
	}: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;
TextUtils = function() { }
TextUtils.__name__ = ["TextUtils"];
TextUtils.ToTxtCR = function(_Html) {
	return StringTools.replace(_Html,"<br />\n","\n");
}
TextUtils.ToHtmlCR = function(_Txt) {
	return StringTools.replace(_Txt,"\n","<br />\n");
}
TextUtils.Sep = function() {
	return "\n---------------------------------------\n";
}
TextUtils.GetNextSeparator = function(_Str,_Pos) {
	if(_Pos == null) _Pos = 0;
	var l_Next = _Str.length;
	var l_Separtors = [" ","\t","\n","\r",",",")","-",";"];
	var l_Pos = 0;
	{
		var _g = 0;
		while(_g < l_Separtors.length) {
			var l_Sep = l_Separtors[_g];
			++_g;
			l_Pos = _Str.indexOf(l_Sep,_Pos);
			if(l_Pos != -1) {
				if(l_Pos < l_Next) {
					l_Next = l_Pos;
				}
			}
		}
	}
	return l_Next;
}
TextUtils.GetNextVoyelle = function(_Str,_Pos) {
	if(_Pos == null) _Pos = 0;
	var l_Next = _Str.length;
	var l_Separtors = ["a","e","i","o","u","y"];
	var l_Pos = 0;
	{
		var _g = 0;
		while(_g < l_Separtors.length) {
			var l_Sep = l_Separtors[_g];
			++_g;
			l_Pos = _Str.indexOf(l_Sep,_Pos);
			if(l_Pos != -1) {
				if(l_Pos < l_Next) {
					l_Next = l_Pos;
				}
			}
		}
	}
	return l_Next;
}
TextUtils.Escape = function(_String) {
	var l_Ret = _String;
	l_Ret = StringTools.replace(l_Ret,"\\","\\\\");
	l_Ret = StringTools.replace(l_Ret,"'","\\'");
	l_Ret = StringTools.replace(l_Ret,"\"","\\\"");
	l_Ret = StringTools.replace(l_Ret,"\r","\\r");
	l_Ret = StringTools.replace(l_Ret,"\n","\\n");
	l_Ret = StringTools.replace(l_Ret,null,"\\NULL");
	l_Ret = StringTools.replace(l_Ret,"","\\x1a");
	return l_Ret;
}
TextUtils.UnEscape = function(_String) {
	var l_Ret = _String;
	l_Ret = StringTools.replace(l_Ret,"\\x1a","");
	l_Ret = StringTools.replace(l_Ret,"\\n","\n");
	l_Ret = StringTools.replace(l_Ret,"\\r","\r");
	l_Ret = StringTools.replace(l_Ret,"\\\"","\"");
	l_Ret = StringTools.replace(l_Ret,"\\'","'");
	l_Ret = StringTools.replace(l_Ret,"\\\\","\\");
	return l_Ret;
}
TextUtils.CodeToHtml = function(_Code) {
	return StringTools.replace(StringTools.replace(StringTools.htmlEscape(_Code),"\n","<br />\n"),"\t","&nbsp;&nbsp;&nbsp;&nbsp;");
}
TextUtils.CountOfCharInString = function(_Chr,_Str) {
	var l_Count = 0;
	var l_Pos = -1;
	do {
		if(l_Pos + 1 > _Str.length) {
			l_Pos = -1;
		}
		else {
			l_Pos = _Str.indexOf(_Chr,l_Pos + 1);
			if(l_Pos != -1) {
				l_Count++;
			}
		}
	} while(l_Pos != -1);
	return l_Count;
}
TextUtils.ExtractTag = function(_Value,_First,_End) {
	var l_indexStart = _Value.indexOf(_First);
	var l_indexEnd = _Value.indexOf(_End);
	var l_Tag = "";
	if(l_indexStart != -1 && l_indexEnd != -1) {
		if(l_indexStart < l_indexEnd) {
			{
				var _g1 = l_indexStart, _g = (l_indexEnd + 1);
				while(_g1 < _g) {
					var i = _g1++;
					l_Tag += _Value.charAt(i);
				}
			}
		}
	}
	return l_Tag;
}
TextUtils.Trunck = function(_ToCut,_Size) {
	var l_Cuted = _ToCut;
	var l_Short = l_Cuted.substr(0,_Size);
	var l_Length = l_Cuted.length;
	if(l_Length > _Size + 1) {
		l_Cuted = l_Short;
		l_Cuted += "…";
	}
	return l_Cuted;
}
TextUtils.Bool2String = function(_Bool) {
	return ((_Bool)?"true":"false");
}
TextUtils.BuildHtmlSimpleTable = function(_Values) {
	var l_Output = "";
	l_Output += "<table border=\"1\">";
	{ var $it14 = _Values.keys();
	while( $it14.hasNext() ) { var l_Key = $it14.next();
	{
		l_Output += ((("<tr><td>" + l_Key) + "</td><td>") + _Values.get(l_Key)) + "</td></tr>";
	}
	}}
	l_Output += "</table>";
	return l_Output;
}
TextUtils.MakeImg = function(_Url,_Title) {
	return (((("<img src=\"" + _Url) + "\"") + (((_Title != null)?(" title=\"" + _Title) + "\"":""))) + (((_Title != null)?(" alt=\"" + _Title) + "\"":""))) + "/>";
}
TextUtils.MakeLink = function(_Url,_Text,_Title,_Blank) {
	if(_Blank == null) _Blank = false;
	return (((((("<a href=\"" + _Url) + "\"") + (((_Title != null)?(" title=\"" + _Title) + "\"":""))) + ((_Blank?"target=\"_blank\"":""))) + ">") + (((_Text != null)?_Text:_Url))) + "</a>";
}
TextUtils.MakeInput = function(_Content) {
	return ("<input value=\"" + StringTools.htmlEscape(_Content)) + "\"/>";
}
TextUtils.MakeTextArea = function(_Content,_Cols,_Rows,_ReadOnly) {
	if(_ReadOnly == null) _ReadOnly = false;
	return ((((("<textarea" + (((_ReadOnly)?" readonly=\"readonly\"":""))) + (((_Cols != null)?(" cols=\"" + _Cols) + "\"":""))) + (((_Rows != null)?(" rows=\"" + _Rows) + "\"":""))) + ">") + _Content) + "</textarea>";
}
TextUtils.SepCount = function(_String,_Sep) {
	var l_Ret = 0;
	{
		var _g1 = 0, _g = _String.length;
		while(_g1 < _g) {
			var i = _g1++;
			if(_String.charAt(i) == _Sep) {
				l_Ret++;
			}
		}
	}
	return l_Ret;
}
TextUtils.prototype.__class__ = TextUtils;
DateTools = function() { }
DateTools.__name__ = ["DateTools"];
DateTools.__format_get = function(d,e) {
	return (function($this) {
		var $r;
		switch(e) {
		case "%":{
			$r = "%";
		}break;
		case "C":{
			$r = StringTools.lpad(Std.string(Std["int"](d.getFullYear() / 100)),"0",2);
		}break;
		case "d":{
			$r = StringTools.lpad(Std.string(d.getDate()),"0",2);
		}break;
		case "D":{
			$r = DateTools.__format(d,"%m/%d/%y");
		}break;
		case "e":{
			$r = Std.string(d.getDate());
		}break;
		case "H":case "k":{
			$r = StringTools.lpad(Std.string(d.getHours()),(e == "H"?"0":" "),2);
		}break;
		case "I":case "l":{
			$r = (function($this) {
				var $r;
				var hour = d.getHours() % 12;
				$r = StringTools.lpad(Std.string((hour == 0?12:hour)),(e == "I"?"0":" "),2);
				return $r;
			}($this));
		}break;
		case "m":{
			$r = StringTools.lpad(Std.string(d.getMonth() + 1),"0",2);
		}break;
		case "M":{
			$r = StringTools.lpad(Std.string(d.getMinutes()),"0",2);
		}break;
		case "n":{
			$r = "\n";
		}break;
		case "p":{
			$r = (d.getHours() > 11?"PM":"AM");
		}break;
		case "r":{
			$r = DateTools.__format(d,"%I:%M:%S %p");
		}break;
		case "R":{
			$r = DateTools.__format(d,"%H:%M");
		}break;
		case "s":{
			$r = Std.string(Std["int"](d.getTime() / 1000));
		}break;
		case "S":{
			$r = StringTools.lpad(Std.string(d.getSeconds()),"0",2);
		}break;
		case "t":{
			$r = "\t";
		}break;
		case "T":{
			$r = DateTools.__format(d,"%H:%M:%S");
		}break;
		case "u":{
			$r = (function($this) {
				var $r;
				var t = d.getDay();
				$r = (t == 0?"7":Std.string(t));
				return $r;
			}($this));
		}break;
		case "w":{
			$r = Std.string(d.getDay());
		}break;
		case "y":{
			$r = StringTools.lpad(Std.string(d.getFullYear() % 100),"0",2);
		}break;
		case "Y":{
			$r = Std.string(d.getFullYear());
		}break;
		default:{
			$r = (function($this) {
				var $r;
				throw ("Date.format %" + e) + "- not implemented yet.";
				return $r;
			}($this));
		}break;
		}
		return $r;
	}(this));
}
DateTools.__format = function(d,f) {
	var r = new StringBuf();
	var p = 0;
	while(true) {
		var np = f.indexOf("%",p);
		if(np < 0) break;
		r.b[r.b.length] = f.substr(p,np - p);
		r.b[r.b.length] = DateTools.__format_get(d,f.substr(np + 1,1));
		p = np + 2;
	}
	r.b[r.b.length] = f.substr(p,f.length - p);
	return r.b.join("");
}
DateTools.format = function(d,f) {
	return DateTools.__format(d,f);
}
DateTools.delta = function(d,t) {
	return Date.fromTime(d.getTime() + t);
}
DateTools.getMonthDays = function(d) {
	var month = d.getMonth();
	var year = d.getFullYear();
	if(month != 1) return DateTools.DAYS_OF_MONTH[month];
	var isB = ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
	return (isB?29:28);
}
DateTools.seconds = function(n) {
	return n * 1000.0;
}
DateTools.minutes = function(n) {
	return (n * 60.0) * 1000.0;
}
DateTools.hours = function(n) {
	return ((n * 60.0) * 60.0) * 1000.0;
}
DateTools.days = function(n) {
	return (((n * 24.0) * 60.0) * 60.0) * 1000.0;
}
DateTools.parse = function(t) {
	var s = t / 1000;
	var m = s / 60;
	var h = m / 60;
	return { ms : t % 1000, seconds : Std["int"](s % 60), minutes : Std["int"](m % 60), hours : Std["int"](h % 24), days : Std["int"](h / 24)}
}
DateTools.make = function(o) {
	return o.ms + 1000.0 * (o.seconds + 60.0 * (o.minutes + 60.0 * (o.hours + 24.0 * o.days)));
}
DateTools.prototype.__class__ = DateTools;
SiteUrl = function() { }
SiteUrl.__name__ = ["SiteUrl"];
SiteUrl.prototype.__class__ = SiteUrl;
$Main = function() { }
$Main.__name__ = ["@Main"];
$Main.prototype.__class__ = $Main;
$_ = {}
js.Boot.__res = {}
js.Boot.__init();
{
	Xml = js.JsXml__;
	Xml.__name__ = ["Xml"];
	Xml.Element = "element";
	Xml.PCData = "pcdata";
	Xml.CData = "cdata";
	Xml.Comment = "comment";
	Xml.DocType = "doctype";
	Xml.Prolog = "prolog";
	Xml.Document = "document";
}
{
	Date.now = function() {
		return new Date();
	}
	Date.fromTime = function(t) {
		var d = new Date();
		d["setTime"](t);
		return d;
	}
	Date.fromString = function(s) {
		switch(s.length) {
		case 8:{
			var k = s.split(":");
			var d = new Date();
			d["setTime"](0);
			d["setUTCHours"](k[0]);
			d["setUTCMinutes"](k[1]);
			d["setUTCSeconds"](k[2]);
			return d;
		}break;
		case 10:{
			var k = s.split("-");
			return new Date(k[0],k[1] - 1,k[2],0,0,0);
		}break;
		case 19:{
			var k = s.split(" ");
			var y = k[0].split("-");
			var t = k[1].split(":");
			return new Date(y[0],y[1] - 1,y[2],t[0],t[1],t[2]);
		}break;
		default:{
			throw "Invalid date format : " + s;
		}break;
		}
	}
	Date.prototype["toString"] = function() {
		var date = this;
		var m = date.getMonth() + 1;
		var d = date.getDate();
		var h = date.getHours();
		var mi = date.getMinutes();
		var s = date.getSeconds();
		return (((((((((date.getFullYear() + "-") + ((m < 10?"0" + m:"" + m))) + "-") + ((d < 10?"0" + d:"" + d))) + " ") + ((h < 10?"0" + h:"" + h))) + ":") + ((mi < 10?"0" + mi:"" + mi))) + ":") + ((s < 10?"0" + s:"" + s));
	}
	Date.prototype.__class__ = Date;
	Date.__name__ = ["Date"];
}
{
	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"];
}
{
	js.Lib.document = document;
	js.Lib.window = window;
	onerror = function(msg,url,line) {
		var f = js.Lib.onerror;
		if( f == null )
			return false;
		return f(msg,[url+":"+line]);
	}
}
{
	js["XMLHttpRequest"] = (window.XMLHttpRequest?XMLHttpRequest:(window.ActiveXObject?function() {
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch( $e15 ) {
			{
				var e = $e15;
				{
					try {
						return new ActiveXObject("Microsoft.XMLHTTP");
					}
					catch( $e16 ) {
						{
							var e1 = $e16;
							{
								throw "Unable to create XMLHttpRequest object.";
							}
						}
					}
				}
			}
		}
	}:(function($this) {
		var $r;
		throw "Unable to create XMLHttpRequest object.";
		return $r;
	}(this))));
}
js.JsXml__.enode = new EReg("^<([a-zA-Z0-9:_-]+)","");
js.JsXml__.ecdata = new EReg("^<!\\[CDATA\\[","i");
js.JsXml__.edoctype = new EReg("^<!DOCTYPE","i");
js.JsXml__.eend = new EReg("^</([a-zA-Z0-9:_-]+)>","");
js.JsXml__.epcdata = new EReg("^[^<]+","");
js.JsXml__.ecomment = new EReg("^<!--","");
js.JsXml__.eprolog = new EReg("^<\\?[^\\?]+\\?>","");
js.JsXml__.eattribute = new EReg("^\\s*([a-zA-Z0-9:_-]+)\\s*=\\s*([\"'])([^\\2]*?)\\2","");
js.JsXml__.eclose = new EReg("^[ \\r\\n\\t]*(>|(/>))","");
js.JsXml__.ecdata_end = new EReg("\\]\\]>","");
js.JsXml__.edoctype_elt = new EReg("[\\[|\\]>]","");
js.JsXml__.ecomment_end = new EReg("-->","");
Consts.SITE_PAGE = "index.php?page=";
Consts.INVALID_ID = -1;
sitehttp.ExecuteKombat.URL_NAME = "executekombat";
GnobotJavaScript.s_TimerTxt = "";
GnobotJavaScript.s_LocalTargetDiv = null;
GnobotJavaScript.s_CurrentDynContent = -1;
GnobotJavaScript.s_DefaultDynContent = new Array();
GnobotJavaScript.s_ChangeDynContent = new Array();
GnobotJavaScript.s_DistantDynUrl = new Array();
GnobotJavaScript.s_FlashCapable = false;
GnobotJavaScript.s_CheckNameTime = Date.now().getTime();
GnobotJavaScript.s_CheckNameObj = null;
GnobotJavaScript.s_Day = 1;
GnobotJavaScript.s_MaxDay = 6;
GnobotJavaScript.s_BotNames = new Hash();
GnobotJavaScript.s_BotTitles = new Hash();
GnobotJavaScript.s_BotUsersNames = new Hash();
GnobotJavaScript.s_BotHighLights = new Hash();
GnobotJavaScript.s_NextTournaments = "";
GnobotJavaScript.s_RobotId = -1;
GnobotJavaScript.s_ImgId = -1;
GnobotJavaScript.s_UserId = -1;
GnobotJavaScript.s_InMails = -1;
GnobotJavaScript.s_Lg = -1;
GnobotJavaScript.s_SwfVersion = "";
GnobotJavaScript.s_ToBasePath = "";
GnobotJavaScript.s_ShowBanner = true;
GnobotJavaScript.s_CanQuit = false;
GnobotJavaScript.DYN_DIV = "dyn_div";
GnobotJavaScript.DYN_DISTANT_DIV = "dyn_distant_div";
GnobotJavaScript.GNOBOT_JS_OUT = "gjs";
haxe.Timer.arr = new Array();
sitehttp.ExistsName.URL_NAME = "exists";
js.Lib.onerror = null;
TextUtils.CR = "\n";
TextUtils.CR_HTML = "<br />\n";
TextUtils.CR_TXT = "\n";
TextUtils.LT = "&lt;";
TextUtils.GT = "&gt;";
TextUtils.TAB = "\t";
TextUtils.IF_WORD = "If";
TextUtils.THEN_WORD = "Then";
TextUtils.CodeEOL = ";";
DateTools.DAYS_OF_MONTH = [31,28,31,30,31,30,31,31,30,31,30,31];
SiteUrl.SITE_DOMAIN = ".gnobot.org";
SiteUrl.SITE_URI = "/";
SiteUrl.SITE_BASE = ("http://www" + SiteUrl.SITE_DOMAIN) + SiteUrl.SITE_URI;
SiteUrl.SITE_FOLDER = "www";
$Main.init = GnobotJavaScript.main();

