// JavaScript Document
var header={'Content-type': 'application/x-www-form-urlencoded; charset=utf-8'};
var ag;
var myAG;
var now;
var info;
var special;
var student;
var dom;
var ini=false;

SWFAddress.addEventListener(SWFAddressEvent.CHANGE, locChange);

var a_ini=new Request({		   
    url: path+"/lib/php/json.php",
    onSuccess: function(rs){
	  rs=JSON.decode(rs);
	  switch(this.typ){
		case 'ini':
		    ag=rs.ag;
		  now=rs.limit.now;
		  info=rs.info;
		  special=rs.special;
		  student=rs.student;
		  if(dom)ag_ini();
		break;
		case 'sp_pg':
		    mkSpecialPg(rs,this.move);
		break;    
	  }
    },
    headers:header
});
a_ini.typ='ini';
a_ini.send('cmd=ini&theme='+_theme);

window.addEvent('domready',function(){
	fixPng();								
    dom=true;
    if(ag)ag_ini();
    mths_ini();
    mnu_ini();
    $('wrap').n=1;
    $('wrap').obs=$('wrap').getElements('.ob');
    $('wrap').fx=new Fx.Tween($('wrap'),{
	  'onComplete':function(ob){
		if(ob.obs){
		    if(ob.obs.length>(ob.n+1)){
			  for(var i=ob.n+1; i<ob.obs.length; i++){
				ob.obs[i].dispose();
			  }
			   ob.obs=ob.getElements('.ob');
		    }
		}
		if(ob.n>1){
		    for(var i=0; i<ob.n; i++){
			  var o;
			  switch(i){
				case 0:
				    o=$('ag').getElement('.wrap');
				    o._url='agenda';
				break;
				case 1:
				    o=ob.obs[i].getElement('.sheet');
				    o._url=o.data.dat.split(' ')[0].split('-').join('/')+'/'+o.data.url;
				break;
				case 2:
				    o=ob.obs[i].getElement('div');
				    o._url=ob.obs[i].url;
				break;
				case 3:
				    o=ob.obs[i].getElement('.pg');
				    o._url='specials/'+special.url+'/'+ob.obs[i]._url;
				break;
			  }
			  o.addEvent('mouseover',function(){
				this.setStyle('border','#0f0 1px dashed');
			  });
			  o.addEvent('mouseout',function(){
				this.setStyle('border','#fff 1px dashed');
			  })
			  o.addEvent('click',function(){
				SWFAddress.setValue(this._url);
			  })
		    }
		}else{
		    var o;
		    for(var i=0; i<2; i++){
			  if(i){
				o=$('ag').getElement('.wrap');
			  }else{
				o=ob.obs[i].getElement('.sheet');
			  }
		    }
		    o.setStyle('border','#fff 1px dashed');
		    o.removeEvents();
		}
	  }	
    });
    $('wrap').fx.set('margin-left','-470px');
    $('wrap')._update=function(div,w,n){
	   if(n==(this.obs.length)){
		this.setStyles({'width':w+'px'});
		this.grab(div);
	   }else{
		div.replaces(this.obs[(n)]);
	   }
	   this.move(n);
    }
    $('wrap').move=function(n){
	  this.obs=this.getElements('.ob');
	  var mrg=0;
	  for(var i=1; i< (n+1); i++){
		mrg+=this.obs[i].getSize().x;
	  }
	  $('wrap').fx.start('margin-left',-(mrg)+'px');
	  this.n=n;
    }
    
    $$('.cl_tmp').each(function(a){
	a.addEvent('click',function(e){
	    if(e) new Event(e).stop();
	    $('tmp').setStyle('display','none');
	})
    })
});

//window.addEvent('load',fixPng);

function locChange(e){
    if(ini){
	  parseLoc(String(e.path).split('/'));
    }else{
	  ini=String(e.path).split('/');
    }
}

function ld1st(){
    if(ini.length)ini=ini.filter(function(item){if(item && item !='')return item;});
   if(ini.length){
    if(ini[0].toLowerCase()=='specials' && ini[1]){
	  iniSpecials(ini);
    }else{
	  parseLoc(ini);
    }
   }
}

function parseLoc(urls){
    var tit='Studium Generale Kabk';
    urls=urls.filter(function(item){if(item && item !='')return item;});
    if(urls.length){
	  if($type(parseInt(urls[0]))=='number'){//Agenda
		tit+=" / Agenda";
		var dat=[urls[0],urls[1],urls[2]].join('-');
		var url=((urls.length>3)? urls[3].toLowerCase() : '');
		tit+=myAG.sh_sheet(dat,url);
		/*urls[1]=String(parseInt(urls[1]));
		urls[2]=String(parseInt(urls[2]));
		if(ag[urls[0]][urls[1]][urls[2]]){
		    ag[urls[0]][urls[1]][urls[2]].each(function(a){
			  if(String(a.url).toLowerCase()==urls[3]){
				 mnu_reset('agenda');
				ag_mkSheet(a,true);
				tit+=" - "+a.tit;
			  }
		    })
		}*/
	  }else {
		 switch(urls[0].toLowerCase()){
		    case 'agenda':
			  mnu_reset('agenda');
			  $('wrap').move(1);
		    break;	  
		    case 'info':
			  mkInfo();
		    break;
		    case 'specials':
			  if(urls[3]){
				mkSpecialImg(urls[3]);
			  }else if(urls[1]){
				a_ini.typ='sp_pg';
				a_ini.move=true;
				a_ini.send('cmd=sp_pg&theme='+urls[1]+'&special='+[urls[2]]);
			  }else{
				mkSpecials(true);
			  }
		    break;
		    case 'studenten':
			  mkStudents();
		    break;	  
		}
	  }
    }
    //alert(parseInt($('fix').getStyle('width')));
    /*if(a_ini.typ=='sp_pg' && parseInt($('fix').getStyle('width'))<600){
	  a_ini.typ='';
	  shSpecial(false);
    }*/
    SWFAddress.setTitle(tit);
}
function ag_ini(){
		myAG=new sAG(ag,$('ag'),now);
}
function __ag_ini(){
    now.act='';
    var year=parseInt(now.year);
    var month=parseInt(now.month);
    for(var y=year; y<year+25; y++){
	  if(now.act.month)break;
	  if(ag[String(y)]){
		for(var m=((y==year)? parseInt(now.month) : 1); m<13; m++){
		     if(now.act.day)break;
		    if(ag[String(y)][String(m)]){
			  for(var d=((y==year && m==month)? parseInt(now.day) : 1); d<32; d++){
				if(ag[String(y)][String(m)][String(d)]){
				    now.act={'year':String(y),'month':String(m),'day':String(d)};
				    break;
				}
			  }	 
		    }
		}
	  }
    }
    months=['january','february','march','april','may','june','july','august','september','october','november','december'];
    var n=0;
    var H=0;
    var lim;
    var wrap=$('ag').getElement('.wrap');
    for(var y=parseInt(now.year)-1; y<parseInt(now.year)+2; y++){
	  if(ag[y]){
		for(var m=1; m<13; m++){
		    if(ag[String(y)][String(m)]){ 
			  for(var d=1; d<32; d++){
				if(ag[String(y)][String(m)][String(d)]){
				    ag[String(y)][String(m)][String(d)].each(function(a){
					  var div=new Element('div',{'class':'it l'});
					  if(a.url){
						div.url=a.dat.split(' ')[0].split('-').join('/')+'/'+a.url;
					  }
					  var htm='<div class="hd l"><div class="ico">';
					  htm+='<img class="pngFix" src="ico/ico.png"/></div><div class="r"><img class="l pngFix" src="gfx/nrs/'+d+'.png"/>';//<h1 class="l">((d<10)? '0':'')+d+'</h1>
					  htm+='<br style="clear:both" /><img class="l pngFix" src="gfx/mnths/'+m+'.png"/>';//<h4 class="l">'+months[m-1]+'</h4>
					  htm+='</div></div>';
					  htm+='<div class="bd l"><h3 class="l">'+a.tit+'123456</h3>';
					  if(a.stit)htm+='<br style="clear:both;"/><em class="l">'+a.stit+'</em>';
					  if(a.dat || a.loc){
						htm+='<br style="clear:both;"/><p class="l"><b>&mdash;</b><br style="clear:both;"/>';
					  if(a.dat)htm+=a.dat.split(' ')[1].substr(0,5);
					  if(a.loc)htm+='<br />'+a.loc;
					  htm+='</p>';
					  }
					  div.set('html',htm+'</div>');
					  wrap.grab(div);
					  if(!a.dat ||String(a.dat).split(' ')[0].split('-').join('') < String(now.year+((now.month<10)? '0' : '')+now.month+((now.day<10)? '0' : '')+now.day)){
						lim=div;
						var h=div.getSize().y;
						H=(((n%2) && h>H )? h : h);
						//ifY+=H;
					  }
					  
					  if(n%2){
						var br=new Element('br',{'styles':{'clear':'both'}});
					     wrap.grab(br);
					  }
					  n++;
				    });
				   
				}
			  }
		    }
		}
	  }
    }
    $('ag').getElements('.it').each(function(a){
	  if(a.url){
		a.addEvent('click',function(){
		    SWFAddress.setValue(this.url);
		 })
	  }
	  a.addEvent('mouseover',function(){
		    this.setStyles({'text-decoration':'underline'});
	  })
	   a.addEvent('mouseout',function(){
		    this.setStyles({'text-decoration':'none'});
	  })
    });
    ag_mkSheet(ag[now.act.year][now.act.month][now.act.day][0],false);
    wrap.fx=new Fx.Tween(wrap);
    wrap.removeClass('ini');
    //wrap.fx.set('top',-wrap.getSize().y+'px');
   // wrap.fx.start('top',-Math.floor(lim.getPosition(wrap).y+(H*0.15)));
	fixPng();
    ld1st();
}

function ag_mkSheet(ob,move){
    var div=new Element('div',{'class':'sheet l'});
    var htm='';
    htm+='<div class="ico_xl"><img class="pngFix" src="ico/ico_xl.png" /></div>';
    htm+='<div class="days l"><img class="pngFix" src="gfx/days/'+ob.myDate.split(' ').join('_')+'.png" title="'+ob.myDate+'"/></div>';
    htm+='<div class="bd l"><h1 class="l">'+ob.tit+'</h1><br/>';
    if(ob.stit)htm+='<em class="l">'+ob.stit+'</em><br />'
    htm+='<p class="l">'+ob.txt+'</p></div>';//<div class="bg"></div>
    div.set('html',htm);
    div.replaces($('wrap').getElement('.sheet'));
	fixPng();
	if(move)$('wrap').move(1);
	div.data=ob;
}

function mkInfo(){
    var div=new Element('div',{'class':'ob l'});
    var htm='<div class="info l">'+info;
    div.set('html',htm+'</div>');
    div.url='info';
     $('wrap')._update(div,470*3,2,true);
}

function iniSpecials(){
	  mkSpecials(false);
		//mkSpecialImg(urls[3]);
	  if(ini[1] && ini[2]){
		//$('wrap').n=((ini[3])? 4 : 3);
		a_ini.typ='sp_pg';
		a_ini.move=((ini[3])? false: true);
		a_ini.send('cmd=sp_pg&theme='+ini[1]+'&special='+ini[2]);
	  }
}

function mkSpecials(move){
    var div=new Element('div',{'class':'ob l'});
    var htm='<div class="special l">';
    special.prog.each(function(p, n){
		htm+='<div class="rw'+((n)? '' : ' first')+' l">';
		
		htm+='<span class="dat l">'+p.dat+'</span>';
		htm+='<span class="tit l">'+((p.url)? '<a href="/specials/'+special.url+'/'+p.url+'">'+p.tit+'</a> <img src="gfx/pg.gif" />': p.tit)+'</span>';
		if(p.stit)htm+='<span class="stit l">'+p.stit+'</span>';
		htm+='<span class="hr l">* * * * *  * * * * * * * * * * * * * * * * * * *  * *  </span>';
		htm+='</div>';
    });
    htm +='<h3>'+special.tit+'</h3>';
    htm+='<p>'+special.txt+'</p>';
    div.set('html',htm+'</div>');
    div.getElements('a').each(function(a){
	  if(String(a).indexOf('/specials/')>-1){
		a.addEvent('click',function(e){
		    new Event(e).stop();
		    SWFAddress.setValue(String(this).split(root)[1]);
		});
	  };
    });
    div.url='specials';
    if(move){
     $('wrap')._update(div,470*3,2);//setStyles({'width':(470*3)+'px'});
    }else{
	  $('wrap').setStyles({'width':(470*3)+'px'});
	  $('wrap').grab(div);
	  $('wrap').obs=$('wrap').getElements('.ob');
    }
   // $('wrap').grab(div);
}

function mkSpecialPg(pg,move){
    var div=new Element('div', {'class':'ob l','styles':{'width':'560px'}});
    var htm='<div class="pg"><div class="handle l"><h3>'+pg.tit+'</h3></div>';
    htm+='<div class="p l"><p>'+pg.txt+'</p></div></div><br style="clear:both"/>';
    div.set('html',htm);
    div.getElements('.zoom').each(function(z){
	  var src=z.src.split('/');
	  src=src[src.length-1];
	  z.loc="/specials/"+special.url+"/"+pg.url+"/"+src;
	  z.addEvent('click',function(){
		SWFAddress.setValue(this.loc);
	  });
    });
    div._url=pg.url;
    if(move){
	  $('wrap')._update(div,(470*3)+560,3,move);
    }else{
	   $('wrap').setStyles({'width':((470*3)+560)+'px'});
	   $('wrap').grab(div);
	   $('wrap').obs=$('wrap').getElements('.ob');
	   mkSpecialImg(ini[3])
    }
    //div.getElement('.handle').drag=new Drag( div.getElement('.handle'));
    
}

function mkSpecialImg(src){
    var w=parseInt($(path+'/media/imgs/'+src).value);
    var div=new Element('div', {'class':'ob r','styles':{'width': w+'px'}});
    var htm='<img src="'+root+path+'/media/imgs/'+src+'" class="l" />';
    div.set('html',htm);
    //div.getElement('.handle').drag=new Drag( div.getElement('.handle'));
    $('wrap')._update(div,(470*3)+560+w+30,4);
    mnu_reset();
}

function mkStudents(){
    var div=new Element('div',{'class':'ob l'});
    var htm='<div class="student l"><h3>'+student.info.tit+'</h3>';
    htm+='<p>'+student.info.txt+'</p>';
   if(student.students && student.students.length){
	  htm+='<span class="hr l">* * * * *  * * * * * * * * * * * * * * * * * * *  ';
	  htm+='* *  </span>';
	  htm+='<h3>Ingeschreven Studenten</h3><br/>';
	  student.students.each(function(stu){
		htm+=((stu.blog)? '<h4><a href="http://'+stu.blog+'" target="_blank">'+stu.tit+' <img src="gfx/blog.gif" /></a></h4>' :'<h4>'+stu.tit+'</h4>');
	  });
	  
    }
    
//    htm+='<span class="hr l">* * * * *  * * * * * * * * * * * * * * * * * * *  ';
//		htm+='* *  </span>';
//    htm+='<h3>Aanmelden</h3>';
//    htm+='<form action="" class="l" target="_blank"><div class="rw l"><label class="l">naam</label><input class="req" id="naam" name="naam" type="text" value=""/></div>';
//    htm+='<div class="rw l"><label class="l">email</label><input class="req" id="email" name="email" type="text" value=""/></div>';
//    htm+='<div class="rw l"><label class="l">blogspot</label><input  id="blog" name="blog" type="text" value=""/></div>';
//    htm+='<div class="rw l"><label class="l">&nbsp;</label><input class="but"  id="submit" name="submit" type="submit" value="aanmelden"/></div>';
//    htm+='<div class="rw l"><input id="pid" name="pid" type="hidden" value="'+_theme+'"/><span class="msg"></span></div></form>';
    
    div.set('html',htm+'</div>');
    
//    var form=div.getElement('form');
//    form.fields=form.getElements('.req');
//    form.msg=form.getElement('.msg');
//    form.ajax=new Request({
//	 'url': "aanmelden.php"
//	 ,'headers':header,
//	 'onComplete':function(rs){
//	    this.msg.set('text',rs);
//	 }.bind(form)
//    });
//    form.addEvent('submit',function(e){
//	 this.msg.set('text','');
//	  var fail=false;
//	  this.fields.each(function(f){
//		  var lb=f.getPrevious('label');
//		  var htm=f.name;
//		  if(!f.value){
//		     htm+='<font color="red">!</font>';
//		     fail=true;
//		  }
//		  lb.set('html',htm);
//	  });
//	  new Event(e).stop();
//	  if(!fail){
//		this.getElement('.but').disabled='disabled';
//	     this.ajax.post(this);
//	  }
//    })
    div.url="studenten";
      $('wrap')._update(div,470*3,2,true);
}

window.addEvent('resize',function(){
    mths_rz();
});

function mths_ini(){
    $('mths').imgs=$('mths').getElements('a');
    $('mths').ld=0;
    mths_ld();
    mths_rz();
}

function mths_ld(){
    if($('mths').ld<$('mths').imgs.length){
	  var src=$('mths').imgs[$('mths').ld].getElement('img').src
	  var lds=[src.split('.gif')[0]+'O.gif',src.split('.gif')[0]+'A.gif'];
	  var imgs=new Asset.images(lds,{'onComplete':function(){
		    $('mths').imgs[$('mths').ld].addEvent('mouseover',function(){
			  var O=this.getElement('img').src.split('.gif')[0]+'O.gif';
			  this.src=O;
		    });
		     $('mths').imgs[$('mths').ld].addEvent('mouseout',function(){
			  var O=this.getElement('img').src.split('O.gif')[0]+'.gif';
			  this.src=O;
		    });
		     $('mths').imgs[$('mths').ld].addEvent('click',function(e){
			    if(e) new Event(e).stop();
			    SWFAddress.setValue(String(this).split(root+path)[1]);
		    });
		     $('mths').imgs[$('mths').ld].n=$('mths').ld+1;
			$('mths').ld++;
			mths_ld();
	  }})
    }
}

function mnu_ini(){
    $('menu').imgs=$('menu').getElements('.O');
    $('menu').ld=0;
    var home=$('menu').getElement('img');
    
    home.addEvent('click',function(){
	  SWFAddress.setValue('agenda');
    });
    home.addEvent('mouseover',function(){
	  var O=this.src.split('.png')[0]+'O.png';
	  this.src=O;
    });
    home.addEvent('mouseout',function(){
	  var O=this.src.split('O.png')[0]+'.png';
	  this.src=O;
    });
    var myImage = new Asset.image(path+'/gfx/mnu/stuO.png', { onload:  mnu_ld});
   // mnu_ld();
}

function mnu_ld(){
    if($('menu').ld<$('menu').imgs.length){
	  var src=$('menu').imgs[$('menu').ld].src
	  var lds=[src.split('.png')[0]+'O.png',src.split('.png')[0]+'A.png'];
	  var imgs=new Asset.images(lds,{'onComplete':function(){
		    $('menu').imgs[$('menu').ld].url= $('menu').imgs[$('menu').ld].getProperty('alt');
		    $('menu').imgs[$('menu').ld].act=false;
		    if($('menu').imgs[$('menu').ld].url==((ini[0])? ini[0] : 'agenda')){
			  $('menu').imgs[$('menu').ld].act=true;
			   var A=$('menu').imgs[$('menu').ld].src.split('.png')[0]+'A.png';
			   $('menu').imgs[$('menu').ld].src=A;
		    }
		    $('menu').imgs[$('menu').ld].addEvent('mouseover',function(){
			  if(!this.act){
				var O=this.src.split('.png')[0]+'O.png';
				this.src=O;
			  }
		    });
		     $('menu').imgs[$('menu').ld].addEvent('mouseout',function(){
			  if(!this.act){
				var O=this.src.split('O.png')[0]+'.png';
				this.src=O;
			  }
		    });
		      $('menu').imgs[$('menu').ld].addEvent('click',function(){
			  if(!this.act){
				mnu_reset();
			  this.act=true;
			  var A=this.src.split('O.png')[0]+'A.png';
			   this.src=A;
			  SWFAddress.setValue(this.url);
			  }
		    });
			$('menu').ld++;
			mnu_ld();
	  }})
    }
}


function mnu_reset(url){
    var ob;
    $('menu').imgs.each(function(i){
	  if(i.act){
		i.act=false;
		var O=i.src.split('A.png')[0]+'.png';
		i.src=O;
	  }
	  if(i.url==url){
		ob=i;
	  }
    })
    if(url){
	  ob.act=true;
	  var A=ob.src.split('.png')[0]+'A.png';
	  ob.src=A;
    }
}

function mths_rz(){
    var y=$('mths').getSize().y;
    //if(y>360){
	  $('mths').getElements('.min').setStyle('margin',Math.floor((y-360)/24)+'px 0');
    /*}else{
	  $('mths').getElements('.min').setStyle('margin','0');
    }*/
    
}


function fixPng(){
	if(ie==6){
	$$('.pngFix').each(function(ob){												  
		var w=((ob.width)? ob.width : ob.getSize().x);
		var h=((ob.height)? ob.height : ob.getSize().y);
		var sp=new Element('span',{'styles':{
			'width':w+'px',
			'height':h+'px',
			'display':'block',
			'filter':'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+ob.src+'\', sizingMethod=\'scale\')'
		}});
		sp.replaces(ob);
	});
	}
}