
	/* ADDONS */

	(function(A){A.ui=A.ui||{};A.fn.tabs=function(){var C=typeof arguments[0]=="string"&&arguments[0];var B=C&&Array.prototype.slice.call(arguments,1)||arguments;return this.each(function(){if(C){var D=A.data(this,"ui-tabs");D[C].apply(D,B)}else{new A.ui.tabs(this,B[0]||{})}})};A.ui.tabs=function(D,C){var B=this;this.element=D;this.options=A.extend({selected:0,unselect:C.selected===null,event:"click",disabled:[],cookie:null,spinner:"Loading&#8230;",cache:false,idPrefix:"ui-tabs-",ajaxOptions:{},fx:null,tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>',panelTemplate:"<div></div>",navClass:"ui-tabs-nav",selectedClass:"ui-tabs-selected",unselectClass:"ui-tabs-unselect",disabledClass:"ui-tabs-disabled",panelClass:"ui-tabs-panel",hideClass:"ui-tabs-hide",loadingClass:"ui-tabs-loading"},C);this.options.event+=".ui-tabs";this.options.cookie=A.cookie&&A.cookie.constructor==Function&&this.options.cookie;A(D).bind("setData.ui-tabs",function(F,E,G){B.options[E]=G;this.tabify()}).bind("getData.ui-tabs",function(F,E){return B.options[E]});A.data(D,"ui-tabs",this);this.tabify(true)};A.extend(A.ui.tabs.prototype,{tabId:function(B){return B.title&&B.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+A.data(B)},ui:function(C,B){return{instance:this,options:this.options,tab:C,panel:B}},tabify:function(O){this.$lis=A("li:has(a[href])",this.element);this.$tabs=this.$lis.map(function(){return A("a",this)[0]});this.$panels=A([]);var P=this,E=this.options;this.$tabs.each(function(R,Q){if(Q.hash&&Q.hash.replace("#","")){P.$panels=P.$panels.add(Q.hash)}else{if(A(Q).attr("href")!="#"){A.data(Q,"href.ui-tabs",Q.href);A.data(Q,"load.ui-tabs",Q.href);var T=P.tabId(Q);Q.href="#"+T;var S=A("#"+T);if(!S.length){S=A(E.panelTemplate).attr("id",T).addClass(E.panelClass).insertAfter(P.$panels[R-1]||P.element);S.data("destroy.ui-tabs",true)}P.$panels=P.$panels.add(S)}else{E.disabled.push(R+1)}}});if(O){A(this.element).hasClass(E.navClass)||A(this.element).addClass(E.navClass);this.$panels.each(function(){var Q=A(this);Q.hasClass(E.panelClass)||Q.addClass(E.panelClass)});for(var I=0,L;L=E.disabled[I];I++){this.disable(L)}this.$tabs.each(function(T,Q){if(location.hash){if(Q.hash==location.hash){E.selected=T;if(A.browser.msie||A.browser.opera){var S=A(location.hash),U=S.attr("id");S.attr("id","");setTimeout(function(){S.attr("id",U)},500)}scrollTo(0,0);return false}}else{if(E.cookie){var R=parseInt(A.cookie("ui-tabs"+A.data(P.element)),10);if(R&&P.$tabs[R]){E.selected=R;return false}}else{if(P.$lis.eq(T).hasClass(E.selectedClass)){E.selected=T;return false}}}});var F=this.$lis.length;while(this.$lis.eq(E.selected).hasClass(E.disabledClass)&&F){E.selected=++E.selected<this.$lis.length?E.selected:0;F--}if(!F){E.unselect=true}this.$panels.addClass(E.hideClass);this.$lis.removeClass(E.selectedClass);if(!E.unselect){this.$panels.eq(E.selected).show().removeClass(E.hideClass);this.$lis.eq(E.selected).addClass(E.selectedClass)}var D=!E.unselect&&A.data(this.$tabs[E.selected],"load.ui-tabs");if(D){this.load(E.selected,D)}if(!(/^click/).test(E.event)){this.$tabs.bind("click",function(Q){Q.preventDefault()})}}var C,K,B={"min-width":0,duration:1},G="normal";if(E.fx&&E.fx.constructor==Array){C=E.fx[0]||B,K=E.fx[1]||B}else{C=K=E.fx||B}var J={display:"",overflow:"",height:""};if(!A.browser.msie){J.opacity=""}function N(R,Q,S){Q.animate(C,C.duration||G,function(){Q.addClass(E.hideClass).css(J);if(A.browser.msie&&C.opacity){Q[0].style.filter=""}if(S){M(R,S,Q)}})}function M(R,S,Q){if(K===B){S.css("display","block")}S.animate(K,K.duration||G,function(){S.removeClass(E.hideClass).css(J);if(A.browser.msie&&K.opacity){S[0].style.filter=""}A(P.element).triggerHandler("show.ui-tabs",[P.ui(R,S[0])])})}function H(R,T,Q,S){T.addClass(E.selectedClass).siblings().removeClass(E.selectedClass);N(R,Q,S)}this.$tabs.unbind(E.event).bind(E.event,function(){var T=A(this).parents("li:eq(0)"),Q=P.$panels.filter(":visible"),S=A(this.hash);if((T.hasClass(E.selectedClass)&&!E.unselect)||T.hasClass(E.disabledClass)||A(P.element).triggerHandler("select.ui-tabs",[P.ui(this,S[0])])===false){this.blur();return false}P.options.selected=P.$tabs.index(this);if(E.unselect){if(T.hasClass(E.selectedClass)){P.options.selected=null;T.removeClass(E.selectedClass);P.$panels.stop();N(this,Q);this.blur();return false}else{if(!Q.length){P.$panels.stop();var R=this;P.load(P.$tabs.index(this),function(){T.addClass(E.selectedClass).addClass(E.unselectClass);M(R,S)});this.blur();return false}}}if(E.cookie){A.cookie("ui-tabs"+A.data(P.element),P.options.selected,E.cookie)}P.$panels.stop();if(S.length){var R=this;P.load(P.$tabs.index(this),function(){H(R,T,Q,S)})}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(A.browser.msie){this.blur()}return false})},add:function(E,D,C){if(E&&D){C=C||this.$tabs.length;var G=this.options;var I=A(G.tabTemplate.replace(/#\{href\}/,E).replace(/#\{label\}/,D));I.data("destroy.ui-tabs",true);var H=E.indexOf("#")==0?E.replace("#",""):this.tabId(A("a:first-child",I)[0]);var F=A("#"+H);if(!F.length){F=A(G.panelTemplate).attr("id",H).addClass(G.panelClass).addClass(G.hideClass);F.data("destroy.ui-tabs",true)}if(C>=this.$lis.length){I.appendTo(this.element);F.appendTo(this.element.parentNode)}else{I.insertBefore(this.$lis[C]);F.insertBefore(this.$panels[C])}this.tabify();if(this.$tabs.length==1){I.addClass(G.selectedClass);F.removeClass(G.hideClass);var B=A.data(this.$tabs[0],"load.ui-tabs");if(B){this.load(C,B)}}A(this.element).triggerHandler("add.ui-tabs",[this.ui(this.$tabs[C],this.$panels[C])])}else{throw"jQuery UI Tabs: Not enough arguments to add tab."}},remove:function(B){if(B&&B.constructor==Number){var D=this.options,E=this.$lis.eq(B).remove(),C=this.$panels.eq(B).remove();if(E.hasClass(D.selectedClass)&&this.$tabs.length>1){this.click(B+(B<this.$tabs.length?1:-1))}this.tabify();A(this.element).triggerHandler("remove.ui-tabs",[this.ui(E.find("a")[0],C[0])])}},enable:function(C){var B=this,D=this.options,E=this.$lis.eq(C);E.removeClass(D.disabledClass);if(A.browser.safari){E.css("display","inline-block");setTimeout(function(){E.css("display","block")},0)}D.disabled=A.map(this.$lis.filter("."+D.disabledClass),function(G,F){return B.$lis.index(G)});A(this.element).triggerHandler("enable.ui-tabs",[this.ui(this.$tabs[C],this.$panels[C])])},disable:function(C){var B=this,D=this.options;this.$lis.eq(C).addClass(D.disabledClass);D.disabled=A.map(this.$lis.filter("."+D.disabledClass),function(F,E){return B.$lis.index(F)});A(this.element).triggerHandler("disable.ui-tabs",[this.ui(this.$tabs[C],this.$panels[C])])},select:function(B){if(typeof B=="string"){B=this.$tabs.index(this.$tabs.filter("[href$="+B+"]")[0])}this.$tabs.eq(B).trigger(this.options.event)},load:function(F,K){var L=this,C=this.options,D=this.$tabs.eq(F),J=D[0];var B=D.data("load.ui-tabs");if(!B){typeof K=="function"&&K();return }if(C.spinner){var G=A("span",J),I=G.html();G.html("<em>"+C.spinner+"</em>")}var H=function(){L.$tabs.filter("."+C.loadingClass).each(function(){A(this).removeClass(C.loadingClass);if(C.spinner){A("span",this).html(I)}});L.xhr=null};var E=A.extend({},C.ajaxOptions,{url:B,success:function(N,M){A(J.hash).html(N);H();typeof K=="function"&&K();if(C.cache){A.removeData(J,"load.ui-tabs")}A(L.element).triggerHandler("load.ui-tabs",[L.ui(L.$tabs[F],L.$panels[F])]);C.ajaxOptions.success&&C.ajaxOptions.success(N,M)}});if(this.xhr){this.xhr.abort();H()}D.addClass(C.loadingClass);setTimeout(function(){L.xhr=A.ajax(E)},0)},url:function(C,B){this.$tabs.eq(C).data("load.ui-tabs",B)},destroy:function(){var B=this.options;A(this.element).unbind(".ui-tabs").removeClass(B.navClass).removeData("ui-tabs");this.$tabs.each(function(){var C=A.data(this,"href.ui-tabs");if(C){this.href=C}A(this).unbind(".ui-tabs").removeData("href.ui-tabs").removeData("load.ui-tabs")});this.$lis.add(this.$panels).each(function(){if(A.data(this,"destroy.ui-tabs")){A(this).remove()}else{A(this).removeClass([B.selectedClass,B.unselectClass,B.disabledClass,B.panelClass,B.hideClass].join(" "))}})}})})(jQuery);
	
	(function($){$.modal=function(data,options){return $.modal.impl.init(data,options);};$.modal.close=function(){$.modal.impl.close(true);};$.fn.modal=function(options){return $.modal.impl.init(this,options);};$.modal.defaults={overlay:50,overlayId:'modalOverlay',overlayCss:{},containerId:'modalContainer',containerCss:{},close:true,closeTitle:'Close',closeClass:'modalClose',persist:false,onOpen:null,onShow:null,onClose:null};$.modal.impl={opts:null,dialog:{},init:function(data,options){if(this.dialog.data){return false;}this.opts=$.extend({},$.modal.defaults,options);if(typeof data=='object'){data=data instanceof jQuery?data:$(data);if(data.parent().parent().size()>0){this.dialog.parentNode=data.parent();if(!this.opts.persist){this.dialog.original=data.clone(true);}}}else if(typeof data=='string'||typeof data=='number'){data=$('<div>').html(data);}else{if(console){console.log('SimpleModal Error: Unsupported data type: '+typeof data);}return false;}this.dialog.data=data;data=null;this.create();this.open();if($.isFunction(this.opts.onShow)){this.opts.onShow.apply(this,[this.dialog]);}return this;},create:function(){this.dialog.overlay=$('<div>').attr('id',this.opts.overlayId).addClass('modalOverlay').css($.extend(this.opts.overlayCss,{opacity:this.opts.overlay/100,height:'100%',width:'100%',position:'fixed',left:0,top:0,zIndex:3000})).hide().appendTo('body');this.dialog.container=$('<div>').attr('id',this.opts.containerId).addClass('modalContainer').css($.extend(this.opts.containerCss,{position:'fixed',zIndex:3100})).append(this.opts.close?'<a class="modalCloseImg '+this.opts.closeClass+'" title="'+this.opts.closeTitle+'"></a>':'').hide().appendTo('body');if($.browser.msie&&($.browser.version<7)){this.fixIE();}this.dialog.container.append(this.dialog.data.hide());},bindEvents:function(){var modal=this;$('.'+this.opts.closeClass).click(function(e){e.preventDefault();modal.close();});},unbindEvents:function(){$('.'+this.opts.closeClass).unbind('click');},fixIE:function(){var wHeight=$(window).height()+'px';var wWidth=$(window).width()+'px';this.dialog.overlay.css({position:'absolute',height:wHeight,width:wWidth});this.dialog.container.css({position:'absolute'});this.dialog.iframe=$('<iframe src="javascript:false;">').css($.extend(this.opts.iframeCss,{opacity:0,position:'absolute',height:wHeight,width:wWidth,zIndex:1000,width:'100%',top:0,left:0})).hide().appendTo('body');},open:function(){if(this.dialog.iframe){this.dialog.iframe.show();}if($.isFunction(this.opts.onOpen)){this.opts.onOpen.apply(this,[this.dialog]);}else{this.dialog.overlay.show();this.dialog.container.show();this.dialog.data.show();}this.bindEvents();},close:function(external){if($.isFunction(this.opts.onClose)&&!external){this.opts.onClose.apply(this,[this.dialog]);}else{if(this.dialog.parentNode){if(this.opts.persist){this.dialog.data.hide().appendTo(this.dialog.parentNode);}else{this.dialog.data.remove();this.dialog.original.appendTo(this.dialog.parentNode);}}else{this.dialog.data.remove();}this.dialog.container.remove();this.dialog.overlay.remove();if(this.dialog.iframe){this.dialog.iframe.remove();}this.dialog={};}this.unbindEvents();}};})(jQuery);
	
	function sha1Hash(f){var K=[0x5a827999,0x6ed9eba1,0x8f1bbcdc,0xca62c1d6];f+=String.fromCharCode(0x80);var l=Math.ceil(f.length/4)+2;var N=Math.ceil(l/16);var M=new Array(N);for(var i=0;i<N;i++){M[i]=new Array(16);for(var j=0;j<16;j++){M[i][j]=(f.charCodeAt(i*64+j*4)<<24)|(f.charCodeAt(i*64+j*4+1)<<16)|(f.charCodeAt(i*64+j*4+2)<<8)|(f.charCodeAt(i*64+j*4+3))}}M[N-1][14]=((f.length-1)*8)/Math.pow(2,32);M[N-1][14]=Math.floor(M[N-1][14]);M[N-1][15]=((f.length-1)*8)&0xffffffff;var g=0x67452301;var h=0xefcdab89;var k=0x98badcfe;var m=0x10325476;var n=0xc3d2e1f0;var W=new Array(80);var a,b,c,d,e;for(var i=0;i<N;i++){for(var t=0;t<16;t++)W[t]=M[i][t];for(var t=16;t<80;t++)W[t]=sha1Rotate(W[t-3]^W[t-8]^W[t-14]^W[t-16],1);a=g;b=h;c=k;d=m;e=n;for(var t=0;t<80;t++){var s=Math.floor(t/20);var T=(sha1Rotate(a,5)+sha1MathF(s,b,c,d)+e+K[s]+W[t])&0xffffffff;e=d;d=c;c=sha1Rotate(b,30);b=a;a=T}g=(g+a)&0xffffffff;h=(h+b)&0xffffffff;k=(k+c)&0xffffffff;m=(m+d)&0xffffffff;n=(n+e)&0xffffffff}return g.toHexStr()+h.toHexStr()+k.toHexStr()+m.toHexStr()+n.toHexStr()}function sha1MathF(s,x,y,z){switch(s){case 0:return(x&y)^(~x&z);case 1:return x^y^z;case 2:return(x&y)^(x&z)^(y&z);case 3:return x^y^z}}function sha1Rotate(x,n){return(x<<n)|(x>>>(32-n))}Number.prototype.toHexStr=function(){var s="",v;for(var i=7;i>=0;i--){v=(this>>>(i*4))&0xf;s+=v.toString(16)}return s};
	
	/* MAIN */
	
	function popup(url,w,h,t,l,m) {
		var name = randomString(15);
		
		var newwindow = window.open(url,name,'height='+h+',width='+w+',resizable=yes,toolbar='+t+',location='+l+',menubar='+m+',scrollbars=yes');
		if (window.focus) newwindow.focus();
		
		return name;
	}
	
	function randomString(len) {
		var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
		var string_length = len;
		var randomstring = '';
		for (var i=0; i<string_length; i++) {
			var rnum = Math.floor(Math.random() * chars.length);
			randomstring += chars.substring(rnum,rnum+1);
		}
		return randomstring;
	}

	function RGBtoHex(R,G,B) {return toHex(R)+toHex(G)+toHex(B)}
	function toHex(N) {
		if (N==null) return "00";
		N=parseInt(N); if (N==0 || isNaN(N)) return "00";
		N=Math.max(0,N); N=Math.min(N,255); N=Math.round(N);
		return "0123456789ABCDEF".charAt((N-N%16)/16)
		+ "0123456789ABCDEF".charAt(N%16);
	}

	function ajaxfilemanager(field_name, url, type, win) {
		switch (type) {
			case "image":
				break;
			case "media":
				break;
			case "flash": 
				break;
			case "file":
				break;
			default:
				return false;
		}
		tinyMCE.activeEditor.windowManager.open({
			url: rootdir+"/resources/js/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php",
			width: 782,
			height: 440,
			inline : "yes",
			close_previous : "no"
		},{
			window : win,
			input : field_name
		});
		
		return false;
	}
	
	var ap_instances = new Array();
	
	function ap_stopAll(playerID) {
		for(var i = 0;i<ap_instances.length;i++) {
			try {
				if(ap_instances[i] != playerID) document.getElementById("audioplayer" + ap_instances[i].toString()).SetVariable("closePlayer", 1);
				else document.getElementById("audioplayer" + ap_instances[i].toString()).SetVariable("closePlayer", 0);
			} catch( errorObject ) {
				// stop any errors
			}
		}
	}
	
	function ap_registerPlayers() {
		var objectID;
		var objectTags = document.getElementsByTagName("object");
		for(var i=0;i<objectTags.length;i++) {
			objectID = objectTags[i].id;
			if(objectID.indexOf("audioplayer") == 0) {
				ap_instances[i] = objectID.substring(11, objectID.length);
			}
		}
	}
	
	var ap_clearID;
	

