var jceUtils={
	config:{
		legacyPopup:1,
		boxConvert:0,
		boxOverlayOpacity:0.8,
		boxOverlayColor:'#000000',
		boxResize:1,
		boxIcons:1,
		boxFadeSpeed:200,
		boxScaleSpeed:200,
		toLightBox:0,
		tipClass:'tooltip',
		tipOpacity:1,
		tipFxspeed:150,
		tipPosition:'tr',
		tipOffsets:{'x':16,'y':16},
		pngFix:0,
		imagePath:'/bilder/layer/'
	},
	
	setConfig:function(options){
		for(var n in options){
			this.config[n]=options[n]
		}
		if(this.config.boxConvert>0){
			preInit()
		}
	},
	
	init:function(){
		if(this.config.boxConvert>0){
			
			var links=document.getElementsByTagName("A");
			
			for(var i=0;i<links.length;i++){
				this.convertType(links[i])
			}
		}
		else{
			new jceToolTips({
				className:this.config.tipClass,
				fxSpeed:this.config.tipFxspeed,
				maxOpacity:this.config.tipOpacity,
				tipPosition:this.config.tipPosition,
				offsets:this.config.tipOffsets
			});
			new jceLightBox({
				overlayOpacity:this.config.boxOverlayOpacity,
				overlayColor:this.config.boxOverlayColor,
				resize:this.config.boxResize,
				fadeSpeed:this.config.boxFadeSpeed,
				scaleSpeed:this.config.boxScaleSpeed
			});
			if(this.config.pngFix==1&&this.ie6()){
				fixPng()
			}
		}
	},
	
	cleanupEventStr:function(s){
		s=""+s;s=s.replace('function anonymous()\n{\n','');
		s=s.replace('\n}','');
		s=s.replace(/^return true;/gi,'');
		return s
	},
	
	parseQuery:function(query){
		var params={};
		var kv,k,v;
		if(!query){return params}
		
		var pairs=query.split(/[;&]/);
		
		for(var i=0;i<pairs.length;i++){
			kv=pairs[i].split('=');
			if(!kv||kv.length!=2){continue}
			k=unescape(kv[0]);
			v=unescape(kv[1]);
			v=v.replace(/\+/g,' ');
			params[k]=v
		}
		return params
	},
	
	convertType:function(link){
		
		if(this.config.legacyPopup==1){
			
			var matched=false;
			var temp='index2.php?option=com_jce&task=popup';
			
			if(link.href.indexOf(temp)!=-1||jceUtils.cleanupEventStr(link.getAttribute('onclick')).indexOf(temp)!=-1){
				var src=jceUtils.cleanupEventStr(link.getAttribute('onclick')).replace(/&amp;/g,'&').replace(/&#39;/g,"'");
				matched=true
			}
			
			if(link.href.indexOf('/popupImage.php')!=-1){
				var src=link.href.replace(/&amp;/g,'&').replace(/&#39;/g,"'").replace(/&quot;/g,'"').replace(/[\(\'\)\;]/g,'').replace(/\?/g,'&');
				matched=true
			}
			
			if(matched){
				var p=jceUtils.parseQuery(src);
				link.setAttribute('href',p.img);
				link.setAttribute('title',p.title.replace(/_/g,' '));
				link.className='jcebox';
				link.removeAttribute('target');
				link.setAttribute('onclick','');
				link.removeAttribute('onclick')
			}
		}
		if(this.config.boxConvert>0){
			
			if(link.href.toLowerCase().match(/\.jpg|\.jpeg|\.png|\.gif|\.bmp/g)){
				var linkclass='';
				var rel=link.rel;
				
				switch(this.config.boxConvert){
					
					case 1:	if(!rel){
								rel='lightbox'
							}
							else{
								rel='lightbox['+rel+']'
							}
							break;
							
					case 2:	linkclass='thickbox';
							if(!rel){
								rel=''
							}
							break;
					
					case 3:	if(!rel){
								rel='rokzoom'
							}
							else{
								rel='rokzoom['+rel+']'
							}
							link.setAttribute('rel',rel);
							break
					}
					
					link.setAttribute('rel',rel);
					link.className=link.className.replace(/jcebox/gi,linkclass);
					
					if(link.className=='')
						link.removeAttribute('class');
						
					if(link.rel=='')
						link.removeAttribute('rel')
				}
			}
			return link
		},
		test:function(re,str){
			return new RegExp(re).test(str)
		},
		
		ie6:function(){
			var b=navigator.userAgent.toLowerCase();
			return this.test('msie 6',b)
		}
	};
	
	var _jceutils_timer;
	
	function initInit(){
		if(arguments.callee.done)
			return;
		arguments.callee.done=true;
		if(_jceutils_timer)
			clearInterval(_jceutils_timer);
		jceUtils.init()
	};
	
	function preInit(){
		if(document.addEventListener){
			document.addEventListener("DOMContentLoaded",initInit,false)
		}
		else if(navigator.appName=="Microsoft Internet Explorer"){
			document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
			var script=document.getElementById("__ie_onload");
			script.onreadystatechange=function(){
				if(this.readyState=="complete"){
					initInit();
				}
			}
		}else if(/WebKit/i.test(navigator.userAgent)){
			_jceutils_timer=setInterval(function(){
				if(/loaded|complete/.test(document.readyState)){
					initInit();
				}
			},
			10)
		}
		else{
			window.onload=initInit()
		}
	};