function $(){
	var x=arguments,i,e,a=[];
	for(i=0;i<x.length;++i){
		e=x[i];
		if(typeof e=='string')e=document.getElementById(e);
		if(x.length==1)return e;
		a.push(e);
	}
	return a;
}
function addClass(o,c){
	setClass(o,getClassName(o)+' '+c);
}
function addEvent(o,t,f) {
	o.addEventListener(t,f,false);
}
function addEls(e,a){
	if(!isArray(a))a=[a];
	for(var i in a)if(a[i])$(e).appendChild(a[i].toString()===a[i]||parseInt(a[i])===a[i]?newText(a[i]):a[i]);
}
function addCell(a,b,c,d,e){
	var f=a.insertCell(b);
	f.colSpan=c;
	f.appendChild(d);
	setClass(f,e);
	return f;
}
function addCells(r,c,a){
	var i;
	for(i in a)addCell(r,c+parseInt(i),1,a[i][0],a[i].length>1?a[i][1]:0);
}
function addRow(t,p,c){
	var o=t.insertRow(p);
	setClass(o,c);
	return o;
}
function appendChildren(e,a){
	var i;
	for(i in a)e.appendChild(a[i]);
}
function boxdropTracer(f,t){
	var ef=$(f),et=$(t);
	if(!ef||!et)return;
	var wf=ef.offsetWidth,hf=ef.offsetHeight,wt=et.offsetWidth,ht=et.offsetHeight;
	var xf=getPageOffset(ef,'Left')+(wf/2),yf=ef.offsetTop+(hf/2),xt=getPageOffset(et,'Left')+(wt/2),yt=et.offsetTop+(ht/2);
	var d=Math.sqrt((xf-xt)*(xf-xt)+(yf-yt)*(yf-yt));
	if(d<5)return;
	var i=boxdropTracers.length;
	boxdropTracers[i]={
		x:xf,y:yf,width:wf,height:hf,opacity:.8,xSpeed:(xt-xf)/d,
		ySpeed:(yt-yf)/d,widthReductionSpeed:wf/d,heightReductionSpeed:hf/d,opacityReductionSpeed:.5/d
	}
	setTimeout('boxdropTracerStep('+i+')',40);
}
function boxdropTracerStep(id){
	var el=$('boxdropTracer'+id);
	if(!el){
		el=newEl('div','boxdropTracer'+id,'boxdroptracer');
		setStyles(el,'border:1px solid red;background:#ff0;height:0;width:0;position:absolute;left:0;top:0');
		document.body.appendChild(el);
	}
	boxdropTracers[id].x+=boxdropTracers[id].xSpeed*boxdropSpeed;
	boxdropTracers[id].y+=boxdropTracers[id].ySpeed*boxdropSpeed;
	boxdropTracers[id].width-=boxdropTracers[id].widthReductionSpeed*boxdropSpeed;
	boxdropTracers[id].height-=boxdropTracers[id].heightReductionSpeed*boxdropSpeed;
	boxdropTracers[id].opacity-=boxdropTracers[id].opacityReductionSpeed*boxdropSpeed;
	if(boxdropTracers[id].width<1 && boxdropTracers[id].height<1){
		delEl(el);
		boxdropTracers[id]=null;
		return;
	}
	setStyles(el,'opacity:'+boxdropTracers[id].opacity+';width:'+boxdropTracers[id].width+'px;height:'+boxdropTracers[id].height+'px;left:'+parseInt(boxdropTracers[id].x-boxdropTracers[id].width/2)+'px;top:'+parseInt(boxdropTracers[id].y-boxdropTracers[id].height/2)+'px');
	setTimeout("boxdropTracerStep("+id+")",25);
}
function Browser(){
	var ua=navigator.userAgent;
	this.isFirefox=ua.indexOf('Firefox')>=0;
	this.isOpera=ua.indexOf('Opera')>=0;
	this.isIE=ua.indexOf('MSIE')>=0&&!this.isOpera;
	this.isSafari=ua.indexOf('Safari')>=0;
	this.isKonqueror=ua.indexOf('KHTML')>=0&&!this.isSafari;
	this.versionMinor=parseFloat(navigator.appVersion);
	if(this.isIE)this.versionMinor=parseFloat(ua.substring(ua.indexOf('MSIE')+5));
	this.versionMajor=parseInt(this.versionMinor);
}
function date_m2h(d,type){
	if(d=='' || d=='0000-00-00')return '-';
	if(!type)type='date';
	date=d.replace(/([0-9]+)-([0-9]+)-([0-9]+).*/,'$3-$2-$1',d).replace(/-0/g,'-');
	var m=months[date.replace(/.*-([0-9]+)-.*/,'$1')];
	date=date.replace(/-[0-9]+-/,'-'+m+'-');
	if(type=='date')return date;
	var time=d.replace(/.* /,'');
	if(type=='time')return time;
	return time+', '+date;
}
function delEl(o){
	var i;
	if(isArray(o))for(i in o)delEl(o[i]);
	else{
		o=$(o);
		if(o&&o.parentNode)o.parentNode.removeChild(o);
	}
}
function fixSelects(v){
}
function fixed(v,f){
	v=parseFloat(v);
	var l=Math.floor(f),a=v,c='',r=0;
	v=v.toFixed?v.toFixed((f-l)*10):v;
	while(a>=1){
		++r;
		a/=10;
	}
	for(;l>r;++r)c+='0';
	return c+v;
}
function formHide(msg){
	delEl(['shader','formWrapper']);
	if(msg)alert(msg);
}
function formShow(containedForm,title,actions){
	var form=newEl('div');
	form.appendChild(containedForm);
	var body=document.body,shader=newEl('div','shader'),scrollAt=browser.isIE?getWindowScrollAt():{x:0,y:0},a=getWindowSize(),wx=0,wy=0,pos=browser.isIE?'absolute':'fixed',i;
	fixSelects('hidden');
	if(browser.isIE)setStyles(body,'overflow:hidden');
	{ // shader
		setStyles(shader,'background:#fff;opacity:.5;position:'+pos+';top:'+scrollAt.y+'px;left:'+scrollAt.x+'px;zIndex:2;width:'+a.x+'px;height:'+a.y+'px');
		addEls(body,shader);
	}
	{ // wrapper
		var wrapper=newEl('div','formWrapper');
		var h2=newEl('h2',0,0,title);
		setStyles(h2,'float:left');
		setStyles(form,'position:relative;margin:0;textAlign:left;padding:0;clear:left');
		addEls(wrapper,[h2,form]);
		{ // link row
			var row=newEl('div'),buttonStyle='float:right;border:1px solid;borderColor:#ccc #666 #666 #ccc;display:block;background:#ddd;color:#000;textDecoration:none;margin:2px;padding:0';
			var link=newLink('javascript:formHide()','Close',0,'button');
			setStyles(link,buttonStyle);
			addEls(row,link);
			if(actions&&actions.length)for(i in actions){
				var v=actions[i];
				if(v[1].toString()===v[1])link=newLink('javascript:'+v[1]+'()',v[0],0,'button');
				else{
					link=newLink('#',v[0],0,'button');
					link.onclick=function(){
						v[1][0][v[1][1]]();
						return false;
					}
				}
				setStyles(link,buttonStyle);
				addEls(row,link);
			}
			addEls(wrapper,row);
		}
		setStyles(row,'background:#eee;borderTop:1px solid #ddd;textAlign:right;padding:2px;zIndex:3');
		addEls(body,wrapper);
		setStyles(wrapper,'width:'+(form.offsetWidth+10)+'px');
		var w=wrapper.offsetWidth;
		if(w<200||w>a.x*.9){
			w=w<200?200:parseInt(a.x*.9);
			setStyles(wrapper,'width:'+w+'px');
		}
		var h=browser.isIE?wrapper.offsetHeight:h2.offsetHeight+form.offsetHeight+row.offsetHeight,q=browser.isIE?1:0,r=browser.isIE?0:4;
		if(parseFloat(h)>parseFloat(a.y*.9)){
			h=parseInt(a.y*.8);
			var h3=h-row.offsetHeight-h2.offsetHeight-q;
			setStyles(form,'margin:0 auto;overflow:auto;height:'+h3+'px;maxHeight:'+h3+'px');
		}else{
			var h3=h-row.offsetHeight-h2.offsetHeight-q;
			setStyles(form,'overflow:auto;width:100%;maxHeight:'+h3+'px');
		}
		setStyles(wrapper,'position:'+pos+';left:'+(scrollAt.x+a.x/2-w/2)+'px;top:'+(scrollAt.y+a.y/2-h/2)+'px;background:#fff;zIndex:3;border:1px solid #000');
	}
}
function getMouseAt(e){
	e=getEvent(e);
	var m=getWindowScrollAt();
	m.x+=e.clientX;
	m.y+=e.clientY;
	return m;
}
function getParentWithClass(e,t,c) {
	while(e!=null){
		if(t!=null&&e.tagName==t&&hasClass(e,c))return e;
		e=e.parentNode;
	}
	return 0;
}
function getWindowScrollAt(){
	return {x:window.pageXOffset,y:window.pageYOffset};
}
function getWindowSize(){
	return {x:window.innerWidth,y:window.innerHeight};
}
function getClassName(el){
	return el&&el.className?el.className:'';
}
function getEls(i,p){
	return p?p.getElementsByTagName(i):document.getElementsByTagName(i);
}
function getElsWithClass(c,t,p){
	var r=[],els=getEls(t,p),i;
	for(i in els)if(hasClass(els[i],c))r.push(els[i]);
	return r;
}
function getEvent(e){
	return e?e:(window.event?window.event:"");
}
function getEventTarget(e){
	return getEvent(e).currentTarget;
}
function getPageOffset(el,s) {
	var n=parseInt(el['offset'+s]),p=el.offsetParent;
	if(p)n+=getPageOffset(p,s);
	return n;
}
function getVal(id,def){
	var el=$(id);
	return el?(el.type=='checkbox'?el.checked:el.value):(def?def:'');
}
function hasClass(el,cn){
	return eval('/(^| )'+cn+'( |$)/').test(getClassName($(el)));
}
function initialise(){
	if(getEls('select').length)loadExternalScript('/j/multiselect.js');
	var a=[],b=getEls('*'),c,f={showhide:'initShowHide()',ajaxmenu:'/ajax/menu.php',ajaxtable:'/ajax/table.php',
		shoppingcart:'/ajax/shoppingcart.body.php',shoppingcartBasket:'/ajax/shoppingcart.basket.php',
		shoppingcart_itemselecter:'/ajax/shoppingcart.itemselecter.php',magicmenuleft:'/j/magicmenu.js',
		magicmenutop:'/j/magicmenu.js',tabPage:'/j/tabs.js',eventsAdmin:'/admin/ajax/events.admin.php',
		newsAdmin:'/admin/ajax/news.admin.php',events:'/ajax/events.php',
		scrollingEvents:'/j/scrollingEvents.js',scrollingNews:'/j/scroller.js',sc_search:'/ajax/sc_search.php'},g,j;
	for(var i=0;i<b.length;++i){
		c=getClassName(b[i]);
		if(c!=null&&c!=''){
			c=c.split(' ');
			for(j in c)a[c[j]]=1;
		}
	}
	for(g in f)if(a[g]){
		if(/\./.test(f[g]))loadExternalScript(f[g]);
		else eval(f[g]);
	}
}
function initShowHide(vis,objName){
	if(!objName)objName='';
	var els=getElsWithClass('showhide','div'),i;
	for(i in els){
		var link=newLink('javascript:showhide('+(++showhideNum)+');',vis?'[hide'+objName+']':'[show'+objName+']','showhideLink'+showhideNum);
		els[i].parentNode.insertBefore(link,els[i]);
		els[i].id='showhideDiv'+showhideNum;
		els[i].style.display=vis?'block':'none';
		removeClassName(els[i],'showhide');
	}
	return els.length-1;
}
function isArray(o){
	return o instanceof Array||typeof o=='array';
}
function isLoaded(url){
	var is=0,i;
	for(i in loadedScripts)if(loadedScripts[i]==url)is=1;
	return is;
}
function loadArray(k,v){
	var a=[],i;
	for(i in k)a[k[i]]=v[i];
	return a;
}
function loadExternalScript(url){
	var i;
	for(i in loadedScripts)if(loadedScripts[i]==url)return 0;
	loadedScripts.push(url);
	var el=newEl('script');
	el.type="text/javascript";
	if(sajax_is_loaded&&/\.php/.test(url))url+=(/\?/.test(url)?'&':'?')+'sajax_is_loaded';
	el.src=url;
	getEls('head')[0].appendChild(el);
	return 1;
}
function loadUrl(url){
	document.location=url;
}
function newEl(t,id,cn,txt){
	var el=document.createElement(t);
	if(t=='iframe')el.src='/i/blank.gif';
	if(id){
		el.id=id;
		el.name=id;
	}
	setClass(el,cn);
	if(txt)el.appendChild(txt.toString()===txt?newText(txt):txt);
	return el;
}
function newForm(action,method,enctype,target){
	var el=newEl('form');
	el.action=action;
	el.method=method;
	el.enctype=enctype;
	el.target=target;
	return el;
}
function newImg(a){
	var b=newEl('img');
	b.src=a;
	return b;
}
function newInput(n,t,v,cl){
	var b;
	if(!t)t='text';
	switch(t){
		case 'checkbox':{
			b=newEl('input',n);
			b.type='checkbox';
			b.style.width='auto';
			break;
		}
		case 'date':
		case 'datetime':{
			var b=newEl('table'),row;
			{ // break the value into components
				if(v){
					var p=v.split(/[- :]/);
					var year=p[0],month=p[1],day=p[2],hour=p[3],minute=p[4];
				}else{
					var today=new Date();
					var year=today.getFullYear(),month=today.getMonth()+1,day=today.getDate(),hour=today.getHours(),minute=today.getMinutes();
					v=year+'-'+fixed(month,2)+'-'+fixed(day,2)+' '+hour+':'+minute;
				}
			}
			/* draw the table */ {
				b.style.width='auto';
				b.className='borderedTable';
				row=addRow(b,0);
				var y=newNumberRange(2000,2030);
				y.unshift('----');
				var d=newNumberRange(1,31,2);
				d.unshift('--');
				appendChildren(row.insertCell(0),[newSelectbox(n+'_month',newNumberRange(0,12,2),months,month,updateInputVal),newInput(n,'hidden',v)]);
				addCells(row,1,[[newSelectbox(n+'_day',d,0,day,updateInputVal)],[newSelectbox(n+'_year',y,0,year,updateInputVal)]]);
				if(t=='datetime'){ // time
					addCells(row,3,[[newText('-')],[newSelectbox(n+'_hour',newNumberRange(0,23,2),0,hour,updateInputVal)],[newSelectbox(n+'_minute',newNumberRange(0,59,2),0,minute,updateInputVal)]]);
				}
			}
			break;
		}
		case 'textarea':{
			b=newEl('textarea',n);
			break;
		}
		default:{
			b=newEl('input',n);
			b.type=t;
		}
	}
	if(v){
		if(t=='checkbox'){
			b.checked='checked';
			b.defaultChecked='checked';
		}
		else if(t!='datetime')b.value=v;
	}
	setClass(b,cl);
	return b;
}
function newLink(h,t,id,c){
	var a=newEl('a',id,c,t);
	a.href=h;
	return a;
}
function newNumberRange(from,to,padding){
	var arr=[],i=0,n=to-from+1;
	for(;i<n;++i){
		arr[i]=''+(from+i);
		while(arr[i].length<padding)arr[i]='0'+arr[i];
	}
	return arr;
}
function newSelectbox(name,keys,vals,s,f){
	var el2=newEl('select',name),el3,s2=0,i;
	if(!s)s=0;
	if(!vals)vals=keys;
	for(i in vals){
		var v1=vals[i].toString();
		var v2=v1.length>30?v1.substr(0,27)+'...':v1;
		el3=newEl('option',0,0,v2);
		if(v1!=v2)el3.title=v1;
		el3.value=keys[i];
		if(keys[i]==s)s2=i;
		el2.appendChild(el3);
	}
	el2.selectedIndex=s2;
	if(f)el2.onchange=f;
	return el2;
}
function newText(a){
	return document.createTextNode(a);
}
function removeChildren(a){
	a=$(a);
	while(a&&a.childNodes&&a.childNodes.length)delEl(a.childNodes[0]);
	return a;
}
function removeClassName(el,name){
	var i;
	if(isArray(name)){
		for(i in name)removeClassName(el,name[i]);
		return;
	}
	var d=[],c=getClassName(el).split(" ");
	for(i in c)if(c[i]!=name)d.push(c[i]);
	setClass(el,d.join(" "));
}
function removeEvent(o,t,f){
	if(!o)return;
	if(o.removeEventListener)o.removeEventListener(t,f,false);
}
function replaceEl(f,t){
	if(f)f.parentNode.replaceChild(t,f);
}
function sajax_do_call(func_name,args){
	var i,x,n,uri=function_urls[func_name],post_data="rs="+escape(func_name)+"&rsrnd="+new Date().getTime();
	for(i=0;i<args.length-1;i++){ 
		if(isArray(args[i]))args[i]='ArRaYsTaRt'+args[i].join('ArRaYD')+'ArRaYeNd';
		post_data+="&rsargs[]="+escape(args[i]);
	}
	x=new XMLHttpRequest();
	x.open('POST',uri,true);
	x.setRequestHeader("Method","POST "+uri+" HTTP/1.1");
	x.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	x.onreadystatechange=function(){
		if(x.readyState!=4)return;
//		try{
//			alert("Assigning parameters to callback:\n"+args[args.length-1].name+"("+x.responseText.substring(2)+")");
			args[args.length-1](eval(x.responseText.substring(2)));
//		}
//		catch(e){
//			alert("Error assigning parameters to callback:\n"+args[args.length-1].name+"("+x.responseText.substring(2)+")");
//		}
		if(!(--active_sajax_requests))window.status='';
	}
	window.status='Retrieving data from server : '+(++active_sajax_requests);
	x.send(post_data);
	delete x;
	return true;
}
function setClass(o,c){
	if(o)o.className=c?c:'';
}
function setFloat(e,f){
	e.style.cssFloat=f;
}
function setOpacity(el,op){
	if(browser.isOpera&&op==.5)el.style.background='url("/i/opacity.5.png")';
	else el.style.opacity=op;
}
function setPos(a,b,c){
	setStyles(a,'left:'+b+'px;top:'+c+'px');
}
function setStyles(o,s){
	if(!o||!o.style)return;
	var i;
	s=s.split(';');
	for(i in s){
		var p=s[i].split(':');
		var r=p[0],v=p[1];
		if(r=='opacity')setOpacity(o,v);
		else if(r=='float')setFloat(o,v);
		else o.style[r]=v;
	}
}
function showElapsedTime(){
	if(!debug)return;
	var presenttime=new Date();
	document.title=presenttime.getTime()-starttime.getTime();
}
function showhide(id){
	var el=$('showhideDiv'+id),link=$('showhideLink'+id);
	var objName=link.innerHTML.replace(/^\[(show|hide)(.*)\]/,'$2');
	if(el.style.display=='block'){
		el.style.display='none';
		link.replaceChild(document.createTextNode('[show'+objName+']'),link.childNodes[0]);
	}else{
		el.style.display='block';
		link.replaceChild(document.createTextNode('[hide'+objName+']'),link.childNodes[0]);
	}
}
function toFixed(a,b){
	a=parseFloat(a);
	return a.toFixed?a.toFixed(b):a;
}
function updateInputVal(e){
	var id=getEventTarget(e).id.replace(/_[^_]*$/,'');
	var y=getVal(id+'_year'),m=getVal(id+'_month'),d=getVal(id+'_day');
	if(y=='----')y='0000';
	if(d=='--')d='00';
	$(id).value=y+'-'+m+'-'+d+' '+getVal(id+'_hour','00')+':'+getVal(id+'_minute','00')+':00';
}
/* variables */ {
	var browser=new Browser(),loadedScripts=[],supportsDom=(getEls('*').length)?1:0,sajax_is_loaded=0;
	var shoppingcarts=[],catid=0,shoppingcartTotal=0,starttime=new Date(),debug=/debug/.test(top.location.search);
	var showhideDivs=[],showhideNum=0,months=['--','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
	var currency='€',boxdropTracers=[],boxdropSpeed=10;
	var sajax_request_type="POST",function_urls=[],kXHR_instances=0,kXHR_objs=[],active_sajax_requests=0;
	addEvent.guid=1;
}
try{
	addEvent(window,'load',initialise);
}
catch(e){
}
if(browser.isIE)document.write('<script src="/j/js-ie.js"></script>');
if(browser.isKonqueror)document.write('<script src="/j/js-konqueror.js"></script>');
if(browser.isSafari)document.write('<script src="/j/js-safari.js"></script>');
