$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;
			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 && o.__enum__ == cl) return true;
			return false;
		}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++];
			}}
		}
		String.prototype.__class__ = String;
		String.__name__ = ["String"];
		Array.prototype.__class__ = Array;
		Array.__name__ = ["Array"];
		var cca = String.prototype.charCodeAt;
		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]);
		}
		Int = new Object();
		Dynamic = new Object();
		Float = Number;
		Bool = new Object();
		Bool["true"] = true;
		Bool["false"] = false;
		$closure = js.Boot.__closure;
	}
}
js.Boot.prototype.__class__ = js.Boot;
VideoFrame = function(element_id) { if( element_id === $_ ) return; {
	this.element_id = element_id;
	this.videos = new Array();
	this.element = js.Lib.document.getElementById(element_id);
}}
VideoFrame.__name__ = ["VideoFrame"];
VideoFrame.imageFolder = null;
VideoFrame.width = null;
VideoFrame.height = null;
VideoFrame.prototype.addTab = function(list,video,active) {
	var li = js.Lib.document.createElement("li");
	li.className = (active?"current_video_menu_item":"video_menu_item");
	list.appendChild(li);
	var a = js.Lib.document.createElement("a");
	li.appendChild(a);
	var img = js.Lib.document.createElement("img");
	var image_name = video.getTabImageName();
	var img_src = VideoFrame.imageFolder + "/" + image_name;
	img.setAttribute("src",img_src);
	a.appendChild(img);
	return a;
}
VideoFrame.prototype.addTabs = function(active) {
	var ul = js.Lib.document.createElement("ul");
	ul.className = "video_list";
	this.element.appendChild(ul);
	this.tab_links = new Array();
	var i = 0;
	{
		var _g = 0, _g1 = this.videos;
		while(_g < _g1.length) {
			var vid = _g1[_g];
			++_g;
			var aid = this.anchorId(i);
			var a = this.addTab(ul,vid,active == aid);
			a.id = aid;
			this.tab_links.push(a);
			a.onclick = $closure(this,"refreshByEvent");
			i++;
		}
	}
	return ul;
}
VideoFrame.prototype.addVideo = function(video) {
	if(VideoFrame.width != null) video.width = VideoFrame.width;
	if(VideoFrame.height != null) video.height = VideoFrame.height;
	this.videos.push(video);
	return this;
}
VideoFrame.prototype.anchorId = function(i) {
	return this.element_id + "_tab_" + Std.string(i);
}
VideoFrame.prototype.currentVideo = null;
VideoFrame.prototype.element = null;
VideoFrame.prototype.element_id = null;
VideoFrame.prototype.eventTarget = function(e) {
	var target;
	if(js.Lib.isIE) {
		var w = js.Lib.window;
		target = w.event.srcElement;
	}
	else {
		target = e.target;
	}
	return target;
}
VideoFrame.prototype.preventDefault = function(e) {
	if(js.Lib.isIE) {
		var w = js.Lib.window;
		w.event.returnValue = false;
	}
	else {
		var fe = e;
		fe.preventDefault();
	}
}
VideoFrame.prototype.refresh = function(active) {
	this.removeChildNodes(this.element);
	this.addTabs(active);
	var video = this.videos[this.resolveIndex(active)];
	var frame = js.Lib.document.createElement("div");
	frame.className = "video_frame";
	this.element.appendChild(frame);
	var container = js.Lib.document.createElement("div");
	container.className = "video_container";
	container.id = this.element_id + "_container";
	frame.appendChild(container);
	video.show(this.element_id + "_container");
}
VideoFrame.prototype.refreshByEvent = function(e) {
	var target = this.eventTarget(e);
	this.preventDefault(e);
	var id = this.resolveId(target);
	this.refresh(id);
}
VideoFrame.prototype.removeChildNodes = function(element) {
	element.innerHTML = "";
}
VideoFrame.prototype.resolveId = function(elem) {
	var id = elem.id;
	if(id == "") return this.resolveId(elem.parentNode);
	else return id;
}
VideoFrame.prototype.resolveIndex = function(id) {
	var items = id.split("_");
	return Std["int"](Std.parseFloat(items.pop()));
}
VideoFrame.prototype.show = function() {
	this.refresh(this.anchorId(0));
	return this;
}
VideoFrame.prototype.tab_links = null;
VideoFrame.prototype.videos = null;
VideoFrame.prototype.__class__ = VideoFrame;
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;
VideoContainer = function(url,id,width,height,flash_ver,color,fullscreen,quality,movie,scriptaccess) { if( url === $_ ) return; {
	this.url = url;
	this.width = width;
	this.height = height;
	this.flash_ver = flash_ver;
	this.color = color;
	this.fullscreen = fullscreen;
	this.quality = quality;
	this.movie = movie;
	this.id = id;
}}
VideoContainer.__name__ = ["VideoContainer"];
VideoContainer.prototype.color = null;
VideoContainer.prototype.flash_ver = null;
VideoContainer.prototype.fullscreen = null;
VideoContainer.prototype.getTabImageName = function() {
	return "";
}
VideoContainer.prototype.height = null;
VideoContainer.prototype.id = null;
VideoContainer.prototype.movie = null;
VideoContainer.prototype.quality = null;
VideoContainer.prototype.scriptaccess = null;
VideoContainer.prototype.show = function(element_id) {
	var _color;
	if(this.color == null) _color = "#000000";
	else _color = this.color;
	this.so = new js.SWFObject(this.url,this.id,this.width,this.height,this.flash_ver,_color);
	if(this.fullscreen != null) this.so.addParam("allowFullScreen",this.fullscreen);
	else this.so.addParam("allowFullScreen","true");
	if(this.quality != null) this.so.addParam("quality",this.quality);
	if(this.movie != null) this.so.addParam("movie",this.movie);
	else this.so.addParam("movie",this.url);
	if(this.scriptaccess != null) this.so.addParam("allowscriptaccess",this.scriptaccess);
	return this.so.write(element_id);
}
VideoContainer.prototype.so = null;
VideoContainer.prototype.url = null;
VideoContainer.prototype.width = null;
VideoContainer.prototype.__class__ = VideoContainer;
VimeoVideo = function(clip_id,color,fullscreen) { if( clip_id === $_ ) return; {
	this.clip_id = clip_id;
	var url = "http://www.vimeo.com/moogaloop.swf?clip_id=" + clip_id + "&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1";
	VideoContainer.apply(this,[url,clip_id,640,360,"8",color,fullscreen,"high",url,"always"]);
}}
VimeoVideo.__name__ = ["VimeoVideo"];
VimeoVideo.__super__ = VideoContainer;
for(var k in VideoContainer.prototype ) VimeoVideo.prototype[k] = VideoContainer.prototype[k];
VimeoVideo.prototype.clip_id = null;
VimeoVideo.prototype.getTabImageName = function() {
	return "Vimeo_menu.png";
}
VimeoVideo.prototype.__class__ = VimeoVideo;
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.bool = function(x) {
	return (x !== 0 && x != null && x !== false);
}
Std.parseInt = function(x) {
	{
		var v = parseInt(x);
		if(Math.isNaN(v)) return null;
		return v;
	}
}
Std.parseFloat = function(x) {
	return parseFloat(x);
}
Std.chr = function(x) {
	return String.fromCharCode(x);
}
Std.ord = function(x) {
	if(x == "") return null;
	else return x.charCodeAt(0);
}
Std.random = function(x) {
	return Math.floor(Math.random() * x);
}
Std.resource = function(name) {
	return js.Boot.__res[name];
}
Std.prototype.__class__ = Std;
YouTubeVideo = function(clip_id,color,fullscreen) { if( clip_id === $_ ) return; {
	this.clip_id = clip_id;
	var url = "http://www.youtube.com/v/" + clip_id + "&hl=en";
	VideoContainer.apply(this,[url,clip_id,640,360,"7",color,fullscreen,"high",url,"always"]);
}}
YouTubeVideo.__name__ = ["YouTubeVideo"];
YouTubeVideo.__super__ = VideoContainer;
for(var k in VideoContainer.prototype ) YouTubeVideo.prototype[k] = VideoContainer.prototype[k];
YouTubeVideo.prototype.clip_id = null;
YouTubeVideo.prototype.getTabImageName = function() {
	return "YouTube_menu.png";
}
YouTubeVideo.prototype.__class__ = YouTubeVideo;
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;
$_ = {}
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]);
			}
		;
}
{
	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);
	}
}
{
	
if(typeof deconcept=="undefined"){var deconcept=new Object();}
if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}
if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){if(!document.getElementById){return;}
this.DETECT_KEY=_b?_b:"detectflash";
this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);
this.params=new Object();
this.variables=new Object();
this.attributes=new Array();
if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();
if(c){this.addParam("bgcolor",c);}
var q=_8?_8:"high";
this.addParam("quality",q);
this.setAttribute("useExpressInstall",_7);
this.setAttribute("doExpressInstall",false);
var _d=(_9)?_9:window.location;
this.setAttribute("xiRedirectUrl",_d);
this.setAttribute("redirectUrl","");
if(_a){this.setAttribute("redirectUrl",_a);}};
deconcept.SWFObject.prototype={setAttribute:function(_e,_f){
this.attributes[_e]=_f;
},getAttribute:function(_10){
return this.attributes[_10];
},addParam:function(_11,_12){
this.params[_11]=_12;
},getParams:function(){
return this.params;
},addVariable:function(_13,_14){
this.variables[_13]=_14;
},getVariable:function(_15){
return this.variables[_15];
},getVariables:function(){
return this.variables;
},getVariablePairs:function(){
var _16=new Array();
var key;
var _18=this.getVariables();
for(key in _18){_16.push(key+"="+_18[key]);}
return _16;},getSWFHTML:function(){var _19="";
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){
this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
var _1a=this.getParams();
for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}
var _1c=this.getVariablePairs().join("&");
if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";
}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
var _1d=this.getParams();
for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var _1f=this.getVariablePairs().join("&");
if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}
return _19;
},write:function(_20){
if(this.getAttribute("useExpressInstall")){
var _21=new deconcept.PlayerVersion([6,0,65]);
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
document.title=document.title.slice(0,47)+" - Flash Player Installation";
this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){
var n=(typeof _20=="string")?document.getElementById(_20):_20;
n.innerHTML=this.getSWFHTML();return true;
}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}
return false;}};
deconcept.SWFObjectUtil.getPlayerVersion=function(){
var _23=new deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=navigator.plugins["Shockwave Flash"];
if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}
catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}
catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}
catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}
return _23;};
deconcept.PlayerVersion=function(_27){
this.major=_27[0]!=null?parseInt(_27[0]):0;
this.minor=_27[1]!=null?parseInt(_27[1]):0;
this.rev=_27[2]!=null?parseInt(_27[2]):0;
};
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){
return false;
}return true;};
deconcept.util={getRequestParameter:function(_29){
var q=document.location.search||document.location.hash;
if(q){var _2b=q.substring(1).split("&");
for(var i=0;i<_2b.length;i++){
if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){
return _2b[i].substring((_2b[i].indexOf("=")+1));}}}
return "";}};
deconcept.SWFObjectUtil.cleanupSWFs=function(){if(window.opera||!document.all){return;}
var _2d=document.getElementsByTagName("OBJECT");
for(var i=0;i<_2d.length;i++){_2d[i].style.display="none";for(var x in _2d[i]){
if(typeof _2d[i][x]=="function"){_2d[i][x]=function(){};}}}};
deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};
__flash_savedUnloadHandler=function(){};
if(typeof window.onunload=="function"){
var _30=window.onunload;
window.onunload=function(){
deconcept.SWFObjectUtil.cleanupSWFs();_30();};
}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}};
if(typeof window.onbeforeunload=="function"){
var oldBeforeUnload=window.onbeforeunload;
window.onbeforeunload=function(){
deconcept.SWFObjectUtil.prepUnload();
oldBeforeUnload();};
}else{window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;}
if(Array.prototype.push==null){
Array.prototype.push=function(_31){
this[this.length]=_31;
return this.length;};}
;
	js.SWFObject = deconcept.SWFObject;
}
js.Lib.document = document;
js.Lib.window = window;
js.Lib.onerror = null;
