function initNavigation() {
	if(!$('navigation')) return false;
	
	$('navigation').getElements('img').each(function(el) {
		el.addEvents({
			'mouseover': function(){
		    	el.src = el.src.replace(/grey/, 'red');
		    },
		    'mouseout': function(){
		    	el.src = el.src.replace(/red/, 'grey');
		    }
		});		
	});
}

function initReactionForm() {
	if(!$('form-reaction')) return false;
	
	$('form-reaction').addEvents({
		'submit': function(){

			// get ext key
			var key = $('extkey').value;
			
			var ajax = new CommaAjax(location.href);
			ajax.zetActie('addReaction', {'name': $(key+'-name').value, 'hash': $(key+'-hash').value, 'check': $(key+'-check').value, 'reaction': $(key+'-reaction').value});
			var data = ajax.doeRequest();
			
			if(data['success']==true) {
				$('reaction').innerHTML = data['html'];
			} else {
				$('form-reaction').innerHTML = data['html'];
			}
			
		}
	});
	
}

function initScroller() {
	$$('ul.scroller').each(function(el) {
		var config = el.title.split(":");
		var direction = config[1];
		var number = config[2];		
		var height = Math.round(el.getElement('li').getStyle('height').replace(/px/,""))+Math.round(el.getElement('li').getStyle('margin-bottom').replace(/px/,""));
		var width = el.getElement('li').getStyle('width').replace(/px/,"");
		var wrapper = new Element('div', {id:  config[0]});
		
		// put wrapper around
		wrapper.wraps(el);		
		
		// set height of wrapper and hide overflow
		if(direction=='vertical') {
			wrapper.setStyle('height', (height*number));
			wrapper.setStyle('overflow', 'hidden');
		} else {
			wrapper.setStyle('width', (width*number));
			wrapper.setStyle('overflow', 'hidden');
			wrapper.setStyle('float', 'left');
			el.setStyle('width', width*el.getElements('li').length);
		}
		
		// add scrollers
		var scroller1 = new Element('div', {
			'class': 'scroll-'+direction+'-1',
			'events': {
				'click': function() {
					if(config[0]=='calendar') {
						var item = new Element('li');
						el.inject(item,'top')
						var newPosition = Math.round(el.style.marginLeft.replace(/px/, ''))+215;
						el.set('morph', {duration: 'long', transition: 'expo:out'});
						el.morph({marginLeft: newPosition});
					} else {
						new Fx.Scroll(el).set(0, -200);
					}
				},
				'mouseover': function() {
					this.className = this.className+'-hover';
				},
				'mouseout': function() {
					this.className = this.className.replace(/-hover/, '');
				}
			}
		});
		
		var scroller2 = new Element('div', {
			'class': 'scroll-'+direction+'-2',
			'events': {
				'click': function() {
					if(config[0]=='calendar') {
						// add new month
						var item = new Element('li');
						el.grab(item)
						var newPosition = Math.round(el.style.marginLeft.replace(/px/, ''))-215;
						el.set('morph', {duration: 'long', transition: 'expo:out'});
						el.morph({marginLeft: newPosition});
					} else {
						new Fx.Scroll(el).set(0, 200);
					}
				},
				'mouseover': function() {
					this.className = this.className+'-hover';
				},
				'mouseout': function() {
					this.className = this.className.replace(/-hover/, '');
				}
			}
		});
		
		scroller1.inject(wrapper, 'before');
		scroller2.inject(wrapper, 'after');
		
		// just show the x number of items
		el.getElements('li').each(function(item) {
				item.addClass('show');
		});		
		
		
	});
}

function initClickableLists() {
	if($$('div.teamblock')) {
		$$('div.teamblock').each(function(el) {
			el.getElements('h3').each(function(item) {				
				item.addEvent('click', function() {
					item.toggleClass('open');
					el.getElements('div').toggleClass('hidden');
				})				
			});
			el.getElements('span').each(function(item) {
				item.addEvent('click', function() {
					if(item.hasClass('plus')) {
						item.className = 'min';
						$('table_'+item.id).getElements('tr.normal').each(function(row) {
							row.removeClass('hidden');
						});
					} else {
						item.className = 'plus';
						$('table_'+item.id).getElements('tr.normal').each(function(row) {
							row.addClass('hidden');
						});
					}
				})
			});
		});
	}
}

function initRadioList() {
	if($$('.radiolist')) {		
		$$('.radiolist').each(function(list) {
			loadRadioList(list);
		});
	}
}

function loadRadioList(list) {
	
	var listValue = list.value;
	var listId = list.id;
	var html = '';
	var radiocontainer = new Element('span', {'id': listId+'-list', 'class': 'radiocontainer'});
	
	list.addClass('hidden');
	
	if($(listId+'-list')) {
		$(listId+'-list').destroy();
	}
	
	for(var n = 1; n <= 5; n++) {
		html += '<img src="fileadmin/templates/img/radio-'+(listValue >= n ? '' : 'un')+'checked.gif" alt="'+n+'" />';
	}			
	
	radiocontainer.set('html', html);
	list.grab(radiocontainer, 'after');
	
	radiocontainer.getElements('img').each(function(item) {
		item.addEvent('click', function() {
			list.value = item.alt;					
			loadRadioList(list);
		});
	});
}

function initPaginator() {
	if($$('.paginator')) {		
		$$('.paginator').each(function(list) {
			var totWidth = 0;
			list.getElements('li').each(function(el) {
				if(el.getElements('a').length > 0) {
					el.addEvent('mouseover', function() {
						el.addClass('hover');
					});
					el.addEvent('mouseout', function() {
						el.removeClass('hover');
					});
					el.addEvent('mousedown', function() {
						el.addClass('click');
					});
					el.addEvent('mouseup', function() {
						el.removeClass('click');
					});
				}
				totWidth += Math.round(el.getStyle('width').replace(/px/, '')) + 6;
			});			
			var size = list.getSize();
			list.style.marginLeft = Math.round((size.x - totWidth)/2)+'px';
		});
	}
}

function initShadowbox() {
	if($$('.shadowbox')) {
		$$('.shadowbox').each(function(link) {
			var urllocation = link.href;
			var type = link.title;
			link.erase('href'); 
			link.erase('title'); 
			
			switch(type) {
				case 'edit':	
				case 'add':
					var sWidth = 350;
					var sHeight = 400;
				break;
				case 'profile':
					var sWidth = 350;
					var sHeight = 500;
				break;				
				case 'addphoto':	
					var sWidth = 350;
					var sHeight = 500;
				break;
				case 'addshortcut':
				case 'login':
					var sWidth = 350;
					var sHeight = 240;
					break;
				case 'route':
					var sWidth = 650;
					var sHeight = 530;
					break;
				case 'uploadavatar':
					var sWidth = 350;
					var sHeight = 200;
					break;		
				default:
					var sWidth = 650;
					var sHeight = 600;
			}			
			
			link.addEvent('click', function() {
				Shadowbox.open({
					content:    urllocation,
					player:     "iframe",
					title:      "",
					height:     sHeight,
					width:      sWidth
				});
					   
			});				   
		});
	}
}

function initFieldStat() {
	if($('drag_cont') &&  $('drag_me') &&  $('drag_me2')) {
				
		var dragElement = $('drag_me');
		var dragContainer = $('drag_cont');
		var dragHandle = $('drag_me_handle');
		var dropElement = $$('.draggable');
			 
		var myDrag = new Drag.Move(dragElement, {
			droppables: dropElement,
			container: dragContainer,
			handle: dragHandle,
			onDrop: function(el, dr) {
				var pos = el.getPosition($('drop_here'));
				var a = 164-(pos.x+8);
				var b = (pos.y+8) - 31;				
				var c = (a*a)+(b*b);
				var sLength = Math.sqrt(c);
				var point = Math.round(sLength) > 138 ? 3 : 2;				
				if(pos.x <= 319 && point==3) {
					var image = new Element('img', {src: 'fileadmin/templates/img/icons/sport_basketball_3.png'});
					image.style.left = pos.x+'px';
					image.style.top = pos.y+'px';
					image.addEvent('mousedown', function() {						
						$('dragger').src = image.src;
						image.dispose();
						$('drag_me').style.left = pos.x+'px';
						$('drag_me').style.top = pos.y+'px';						 
					});
					$('drop_here').grab(image);		
				} else if(pos.x <= 319 && point==2) {
					var image = new Element('img', {src: 'fileadmin/templates/img/icons/sport_basketball.png'});
					image.style.left = pos.x+'px';
					image.style.top = pos.y+'px';
					image.addEvent('mousedown', function() {						
						$('dragger').src = image.src;
						image.dispose();
						$('drag_me').style.left = pos.x+'px';
						$('drag_me').style.top = pos.y+'px';						 
					});
					$('drop_here').grab(image);		
				}						
			},
			onDrag: function(el) {
				var pos = el.getPosition($('drop_here'));
				var a = 164-(pos.x+8);
				var b = (pos.y+8) - 31;				
				var c = (a*a)+(b*b);
				var sLength = Math.sqrt(c);
				if(Math.round(sLength) > 138 && pos.x <= 319) {
					$('dragger').src = 'fileadmin/templates/img/icons/sport_basketball_3.png';
				} else if(Math.round(sLength) > 138 && pos.x > 319) {
					$('dragger').src = 'fileadmin/templates/img/icons/sport_basketball_3_not_posible.png';
				} else {
					$('dragger').src = 'fileadmin/templates/img/icons/sport_basketball.png';
				}
			},
			onComplete: function(el) {				
				el.style.cursor = 'default';
				$('drag_me').style.left = '340px';
				$('drag_me').style.top = '146px';
				$('dragger').src = 'fileadmin/templates/img/icons/sport_basketball.png';
			}
		});
		
		var dragElement = $('drag_me2');
		var dragContainer = $('drag_cont');
		var dragHandle = $('drag_me_handle2');
		var dropElement = $$('.draggable');
			 
		var myDrag2 = new Drag.Move(dragElement, {
			droppables: dropElement,
			container: dragContainer,
			handle: dragHandle,
			onDrop: function(el) {				
				var pos = el.getPosition($('drop_here'));
				var a = 164-(pos.x+8);
				var b = (pos.y+8) - 31;				
				var c = (a*a)+(b*b);
				var sLength = Math.sqrt(c);
				var point = Math.round(sLength) > 138 ? 3 : 2;				
				if(pos.x <= 319 && point==3) {
					var image = new Element('img', {src: 'fileadmin/templates/img/icons/cross_3.png'});
					image.style.left = pos.x+'px';
					image.style.top = pos.y+'px';
					image.addEvent('mousedown', function() {						
						$('dragger2').src = image.src;
						image.dispose();
						$('drag_me2').style.left = pos.x+'px';
						$('drag_me2').style.top = pos.y+'px';						 
					});
					$('drop_here').grab(image);	
				} else if(pos.x <= 319 && point==2) {
					var image = new Element('img', {src: 'fileadmin/templates/img/icons/cross.png'});
					image.style.left = pos.x+'px';
					image.style.top = pos.y+'px';
					image.addEvent('mousedown', function() {						
						$('dragger2').src = image.src;
						image.dispose();
						$('drag_me2').style.left = pos.x+'px';
						$('drag_me2').style.top = pos.y+'px';						 
					});
					$('drop_here').grab(image);	
				}							
			},
			onDrag: function(el) {
				var pos = el.getPosition($('drop_here'));
				var a = 164-(pos.x+8);
				var b = (pos.y+8) - 31;				
				var c = (a*a)+(b*b);
				var sLength = Math.sqrt(c);
				if(Math.round(sLength) > 138 && pos.x <= 319) {
					$('dragger2').src = 'fileadmin/templates/img/icons/cross_3.png';
				} else if(Math.round(sLength) > 138 && pos.x > 319) {
					$('dragger2').src = 'fileadmin/templates/img/icons/cross_3_not_posible.png';
				} else {
					$('dragger2').src = 'fileadmin/templates/img/icons/cross.png';
				}
			},
			onComplete: function(el) {				
				el.style.cursor = 'default';
				$('drag_me2').style.left = '340px';
				$('drag_me2').style.top = '162px';
				$('dragger2').src = 'fileadmin/templates/img/icons/cross.png';
			}
		});

	}
}

function displayErrors(error){		
	
	if(!error) return;

	var myObject = JSON.decode(error);
	
	$$('.error').each(function(el){
		el.removeClass('error');
	});
	
	$$('.errorintro').each(function(el){
		el.removeClass('errorintro');
	});
	
	$$('.errorbody').each(function(el){
		el.removeClass('errorbody');
	});
	
	$$('.textareaerror').each(function(el){
		el.removeClass('textareaerror');
	});
	
	if($('multipleselect')) {
		$('multipleselect').removeClass('error');
	}
	
	$$('img.radiobutton').each(function(el) {
		el.src = el.src.replace(/radio_last_error.gif/, 'radio_last_off.gif');
		el.src = el.src.replace(/radio_first_error.gif/, 'radio_first_off.gif');
		el.src = el.src.replace(/radio_error.gif/, 'radio_off.gif');
	});
		
	myObject.each(function(obj){
		if($('label_'+obj.id)){	
			if($('label_'+obj.id).hasClass('radio_option')) {
				setRadioOptionErrors('label_'+obj.id);
			} else if($('label_'+obj.id).hasClass('intro')) {
				$('label_'+obj.id).addClass('errorintro');
			} else if($('label_'+obj.id).hasClass('body')) {
				$('label_'+obj.id).addClass('errorbody');	
			} else {
				$('label_'+obj.id).addClass('error');				
			}
		}
		if($(obj.id)){		
			if($(obj.id).hasClass('radiofield')) {
				setRadioOptionErrors(obj.id);
			} else if($(obj.id).hasClass('textareafield')) {
				$(obj.id).addClass('textareaerror');
			} else {
				$(obj.id).addClass('error');	
			}
		}
	});
}

function setRadioOptionErrors(id) {
	
	$(id).getElements('img').each(function(el) {
		
		var source = el.src.split(/\//);
		
		switch(source[source.length-1]) {
			case 'radio_first_off.gif':
				el.src = 'fileadmin/templates/img/radio_first_error.gif';	
				break;
			case 'radio_last_off.gif':
				el.src = 'fileadmin/templates/img/radio_last_error.gif';	
				break;
			case 'radio_off.gif':
				el.src = 'fileadmin/templates/img/radio_error.gif';	
				break;
		}

	});
	
}

function initCheckboxes() {
	if($$('input.checkbox').length > 0) {
		$$('input.checkbox').each(function(el) {
			
			var customCheckbox = new Element('img', {
				'src': el.value == 0 ? 'fileadmin/templates/img/checkbox_off.gif' : 'fileadmin/templates/img/checkbox_on.gif'
			});
			
			customCheckbox.addEvent('click', function() {
				if(this.src.substr(-7,7) == 'off.gif') {
					el.value = 1;
					this.src = 'fileadmin/templates/img/checkbox_on.gif';
				} else {
					el.value = 0;
					this.src = 'fileadmin/templates/img/checkbox_off.gif';
				}
			});
			
			
			el.grab(customCheckbox, 'after');
		});
	}
}

function initRadiobuttons() {
	if($$('span.radiofield').length > 0) {
		
		$$('span.radiofield').each(function(radioField) {
		
			var n = 0;
			var last = radioField.getElements('input.radio').length - 1;
			
			radioField.getElements('input.radio').each(function(el) {
				
				var val = el.value;
				var checked = el.checked;
				
				if(!el.hasClass('hidden')) {
				
					el.addClass('hidden');
					
					if(n==0) {
						var img = 'radio_first';
					} else if(n==last) {
						var img = 'radio_last';
					} else {
						var img = 'radio';
					}
					
					var customCheckbox = new Element('img', {
						'src': el.checked == 0 ? 'fileadmin/templates/img/'+img+'_off.gif' : 'fileadmin/templates/img/'+img+'_on.gif',
						'class': 'radiobutton'
					});
					
					customCheckbox.addEvent('click', function() {
						
						resetRadiobuttons(radioField, val);				
						
						this.src = 'fileadmin/templates/img/'+img+'_on.gif';
					});
					
					
					el.grab(customCheckbox, 'after');
					n++;
				}
			});
			
		});
	}
}

function resetRadiobuttons(radioField, value) {
	radioField.getElements('img.radiobutton').each(function(el) {
		el.src = el.src.replace(/on/, 'off');
		el.src = el.src.replace(/_error/, '_off');
	});
	radioField.getElements('input.radio').each(function(el) {
		el.value = value;
	});
	
}

function showMessageAfterPasswordRequest(msg, buttontext, buttonurl) {
	var html = '<p>'+msg+'</p>';
	html += '<a href="'+buttonurl+'" class="button">'+buttontext+'</a>';
	$('password_form').set('html', html);
}

function initMonthSelector() {
	if($('tx_commasbuweb_pi5_period'))	{
		$('tx_commasbuweb_pi5_period').addEvent('change', function() {
			window.location = $('tx_commasbuweb_pi5_period').value;
		});
	}
}

function displayReaction() {
	if($$('div.reaction').length > 0) {
		$$('div.reaction').each(function(el) {
			if(el.hasClass('hidden')) {
				el.fade('hide');
				el.removeClass('hidden');
				el.fade('in');
			}
		});
	}
	if($('form_reaction')) {
		$('form_reaction').value = '';
		$('form_reaction').removeClass('error');
	}
	if($('form_name')) {
		$('form_name').value = '';
		$('form_name').removeClass('error');
	}
	if($('form_retype')) {
		$('form_retype').value = '';
		$('form_retype').removeClass('error');
	}	
}

function resetCaptcha(urllink) {
	if($('form_captcha')) {
		$('form_captcha').src = urllink;
	}
}

function initHomeBlock() {
	if(!$('homeblock')) return;
	
	var items = $('homeblock_content').getElements('div.slide').length;	
	$('slide_holder').style.width = (310*items)+'px';
	$('slide_holder').removeClass('hidden');
	
	var newnum = 1;
	var lastnum = items;
	var visuals = $$('div.visual').length;
	var currentVisual = 0;
	
	for(var n=0; n<visuals; n++) {
		if(n > 0) $('visual-'+n).fade('hide').removeClass('hidden');
		if(n==0) {
			title = $('visual-'+n).getElements('img')[0].title;
			atag =  $('visual-'+n).title;
		}
	}
	
	setTimeout("showInfoBar(title, atag)", 1000);
	
	// verloop van timer bar
	var myEffect = new Fx.Morph('slider_bar', {
		duration: 8000, 
		transition: Fx.Transitions.linear,
		onComplete: function() { 
			newnum++;
			newnum = newnum < lastnum ? newnum : 1;
			slideHomeblock(newnum);
			
			this.start({'width': [0, 304]});
			var nextVisual = currentVisual+1 < visuals ? currentVisual+1 : 0;
			
			setInfoBar($('visual-'+nextVisual));
			
			$('visual-'+currentVisual).fade('out');
			$('visual-'+nextVisual).fade('in');
			
			currentVisual = nextVisual;
		}
	}); 	
	myEffect.start({'width': [0, 304]});	
	
	var i = 0;
	$$('li.trigger').each(function(trigger) {
		var num = trigger.get('title');
		//trigger.erase('title');
		if(i==0) {
			trigger.set('class', 'current');
		}
		trigger.addEvent('click', function() {			
			newnum = num;
			slideHomeblock(num);
			myEffect.cancel();
			myEffect.start({'width': [0, 304]});
		});
		i++;
	});

}

function slideHomeblock(col){
	var x = ((col-1)*-310)
	var homeblockChange = new Fx.Tween('slide_holder', {duration:1000});
	homeblockChange.start('left',x);
	var cur = "trigger"+col;
	$(cur).addClass('current');

	for (i=1;i<=$$('li.trigger').length;i++){
		var loopLI = "trigger"+i;
		if (cur==loopLI){}else{
			$(loopLI).removeClass('current');
		}
	}

}

function setInfoBar(slide) {	
	var infoEffect = new Fx.Tween('infobar', {duration:500});
	infoEffect.start('top', 220);

	var title = slide.getElements('img')[0].title;
	var atag = slide.title;
		
	setTimeout("showInfoBar('"+title+"', '"+atag+"')", 500);
	
}

function showInfoBar(title, atag) {

	$('infobar').set('html', '<h3>'+title+'</h3>');
	
	var infoEffect = new Fx.Tween('infobar', {duration:500});
	infoEffect.start('top', 185);
	
	if(atag!='') {
		$('homeblock-visual-link').href = atag;
	} else {		
		$('homeblock-visual-link').href = 'javascript:void(0);';
	}
}

function initSportCenterMap() {
	var intSportCenterMapWidth = 665;
	var intSportCenterMapHeight = 350;
	
	if ($('sportcenter_map')) {
		var elSportCenterMap = $('sportcenter_map');
		var elSportCenterRouteDirections = $('sportcenter_route_directions');
		
		var intScrollBarWidth = 16;
		
		elSportCenterMap.setStyles({
			width: intSportCenterMapWidth - intScrollBarWidth,
			height: intSportCenterMapHeight - 50
		});
		
		elSportCenterAddress = document.getElement('.sportcenter_address');
		strSportCenterName = elSportCenterAddress.getElement('.sportcenter_name').get('text');
		strSportCenterStreet = elSportCenterAddress.getElement('.sportcenter_street').get('text');
		strSportCenterZipcode = elSportCenterAddress.getElement('.sportcenter_zipcode').get('text');
		strSportCenterCity = elSportCenterAddress.getElement('.sportcenter_city').get('text');
		elRoutePostalCode = document.getElement('.route_postalcode');
		
		strRoutePostalCode = elRoutePostalCode.value;
		
		var strSportCenterBalloon = '<h4>' + strSportCenterName + '</h4>' + '<p>' + strSportCenterStreet + '<br />' + strSportCenterCity + '</p>';
		
		var locale = 'nl_NL';
		
		if (GBrowserIsCompatible()) {
			var map = new GMap2(elSportCenterMap);
			var geocoder = new GClientGeocoder();
			
			var gdir = new GDirections(map);
			var strSportCenterAddress = strSportCenterStreet + ', ' + strSportCenterCity;

			function showAddress(address) {
				geocoder.getLatLng(
					address,
					function(point) {
						if (!point) {
							alert(address + " niet gevonden");
						} else {
							map.setCenter(point, 12);
							var marker = new GMarker(point);
							map.addOverlay(marker);
							map.addControl(new GLargeMapControl());
							map.addControl(new GMapTypeControl());
							marker.openInfoWindowHtml(strSportCenterBalloon);
							
							GEvent.addListener(marker, "click", function() {
								marker.openInfoWindowHtml(strSportCenterBalloon);
							});
						}
					}
				);
			}
			showAddress(strSportCenterZipcode);
		}		

	}
	
	if($('googleroute')) {
		$('googleroute').addEvent('click', function() {
			$('googlemapform').submit();
		});
	}
	
}

function initFancyUpload() {
	
	if($('uploadform')) {
	
		var up = new FancyUpload2($('uploadstatus'), $('uploadlist'), {
			verbose: true,
			url: $('upload').action,
			path: 'fileadmin/templates/js/Swiff.Uploader.swf',
			typeFilter: {
				'Images (*.jpg, *.jpeg)': '*.jpg; *.jpeg;'
			},
			target: 'uploadbrowse', 
			onLoad: function() {
				$('uploadstatus').removeClass('hidden');
				$('uploadfallback').destroy();
	 
				this.target.addEvents({
					click: function() {
						return false;
					},
					mouseenter: function() {
						this.addClass('hover');
					},
					mouseleave: function() {
						this.removeClass('hover');
						this.blur();
					},
					mousedown: function() {
						this.focus();
					}
				}); 
				
			}, 		
		
			onFileSuccess: function(file, response) {
				var json = new Hash(JSON.decode(response, true) || {});
				
				if (json.get('status') == '1') {
					file.element.addClass('file-success');
				} else {
					file.element.addClass('file-failed');				
				}
			}
					
		});
	}
	
	if($('uploadbutton')) {
		$('uploadbutton').addEvent('click', function() {		
			// check eerst of formulier goed is ingevuld
			if($('uploadAction') && ($('uploadAction').value=='edit_album' || $('uploadAction').value=='add_album')) {
				tx_sbu_pi22processRequest(xajax.getFormValues('upload'), 'upload');
			} else if($('uploadform')) {
				up.start();	
			}
		});
	}
	
	if($('saveandclosebutton')) {
		$('saveandclosebutton').addEvent('click', function() {		
			// check eerst of formulier goed is ingevuld
			if($('uploadAction') && ($('uploadAction').value=='edit_album' || $('uploadAction').value=='add_album')) {
				tx_sbu_pi22processRequest(xajax.getFormValues('upload'),'close');
			}
		});
	}
	
	if($('sortphotos')) {
		$('sortphotos').addEvent('click', function() {		
			// check eerst of formulier goed is ingevuld
			if($('uploadAction') && ($('uploadAction').value=='edit_album' || $('uploadAction').value=='add_album')) {
				tx_sbu_pi22processRequest(xajax.getFormValues('upload'),'sort');
			}
		});
	}
	
}

function loadUploadForm() {
	var url = $('editList').value;
	url += '?tx_sbu_pi22[album_uid]='+$('photoalbum_uid').value;
	url += '&tx_sbu_pi22[action]='+$('uploadAction').value;
	window.location = url;
}

function initGameSchedule() {
	
	var schedules = 0;
			
	$$('div.schedule').each(function(schedule) {
		if(!schedule.hasClass('hidden')) {
			schedules = 1;
		}
	});
			
	if(schedules==0) {
		$$('div.noresults').removeClass('hidden');
	} else {
		$$('div.noresults').addClass('hidden');
	}	
	
	$$('a.schedule_navigator').each(function(el) {
		el.addEvent('click', function() {
			
			tx_sbu_pi24processRequest(this.title);
			
			switch(this.title) {
				case 'all':
					$$('div.schedule').each(function(schedule) {
						schedule.removeClass('hidden');
					});
					break;
				case 'second':
					$$('div.firsthalf').each(function(schedule) {
						schedule.addClass('hidden');
					});
					$$('div.secondhalf').each(function(schedule) {
						schedule.removeClass('hidden');
					});
					break;
				case 'last':
					$$('div.schedule').each(function(schedule) {
						schedule.addClass('hidden');
					});
					$$('div.rest').each(function(schedule) {
						schedule.removeClass('hidden');
					});
					break;
			}
			
			var schedules = 0;
			
			$$('div.schedule').each(function(schedule) {
				if(!schedule.hasClass('hidden')) {
					schedules = 1;
				}
			});
			
			if(schedules==0) {
				$$('div.noresults').removeClass('hidden');
			} else {
				$$('div.noresults').addClass('hidden');
			}
			
		});
	});	
}

function initDropbox() {
	if($$('div.dropbox').length > 0) {
		$$('div.dropbox').each(function(el) {
			el.addEvent('mouseover', function() {
				el.addClass('hover');
				el.getElement('ul').style.display = 'block';
			});
			el.addEvent('mouseout', function() {
				el.removeClass('hover');
				el.getElement('ul').style.display = 'none';
			});
			
			el.getElements('li').each(function(item) {
				item.addEvent('mouseover', function() {
					item.addClass('hover');	
				});
				item.addEvent('mouseout', function() {
					item.removeClass('hover');	
				});
			});
			
			
		});
	
	}
}

function initCalendar() {
	if($('pi7_calendar')) {
		
		var getPrevious = function(el) { var currentDate = $('currentDate').get('html'); tx_sbu_pi7getCalendar("'"+currentDate+"'", 'previous'); }
		var getHover1 = function() { this.removeClass('scroll-horizontal-1'); this.addClass('scroll-horizontal-1-hover'); }
		var getHover1b = function() { this.addClass('scroll-horizontal-1');	this.removeClass('scroll-horizontal-1-hover');}
		var getNext = function(el) { var currentDate = $('currentDate').get('html'); tx_sbu_pi7getCalendar("'"+currentDate+"'", 'next'); }
		var getHover2 = function() { this.removeClass('scroll-horizontal-2'); this.addClass('scroll-horizontal-2-hover'); }
		var getHover2b = function() { this.addClass('scroll-horizontal-2');	this.removeClass('scroll-horizontal-2-hover');}		
				
		$('pi7_calendar_previous').addEvent('click', getPrevious);		
		$('pi7_calendar_previous').addEvent('mouseover', getHover1);
		$('pi7_calendar_previous').addEvent('mouseout', getHover1b);		
		$('pi7_calendar_next').addEvent('click', getNext);		
		$('pi7_calendar_next').addEvent('mouseover', getHover2);
		$('pi7_calendar_next').addEvent('mouseout', getHover2b);	
		
		initCalendarDetails();
	}
	
}

function initCalendarDetails() {
	if(!$('pi7_calendar')) return;
	
	var currentDate = $('currentDate').get('html');
	
	$('pi7_calendar').getElements('span.activities').each(function(el) {	
		el.addEvent('mouseover', function(e) {
			var date = Math.round(currentDate);
			if(el.getElement('a.shadowbox')) { 
				var day = el.getElement('a.shadowbox').get('html');
			} else {
				var day = el.get('html');
			}
			tx_sbu_pi7getCalendarData(date, day);				
		});
		el.addEvent('mouseout', function(e) {
			myVerticalSlide.slideOut();
		});	
		$('close_calendar').addEvent('mouseover', function(e) {
			myVerticalSlide.slideOut();
		});	
	});		
	
}

function disableRating() {
	$('rating').removeClass('open');
	$('rating').addClass('voted');
}

function initRating() {
	if($$('div.rating').length == 0) return;
	$$('div.rating').each(function(el) {
		var value = el.getElement('div.ratingbar').get('html');
		el.getElement('div.ratingbar').set('html', '');
		
		if(value >= 0 && value < 10) {
			var newValue = '-60px';
		} else if(value >= 10 && value < 20) {
			var newValue = '-48px';
			el.getElement('div.ratingbar').set('style', 'background-image: url(fileadmin/templates/img/stars2.png)');
		} else if(value >= 20 && value < 30) {
			var newValue = '-48px';
		} else if(value >= 30 && value < 40) {
			var newValue = '-36px';
			el.getElement('div.ratingbar').set('style', 'background-image: url(fileadmin/templates/img/stars2.png)');
		} else if(value >= 40 && value < 50) {
			var newValue = '-36px';
		} else if(value >= 50 && value < 60) {
			var newValue = '-24px';
			el.getElement('div.ratingbar').set('style', 'background-image: url(fileadmin/templates/img/stars2.png)');
		} else if(value >= 60 && value < 70) {
			var newValue = '-24px';
		} else if(value >= 70 && value < 80) {
			var newValue = '-12px';
			el.getElement('div.ratingbar').set('style', 'background-image: url(fileadmin/templates/img/stars2.png)');
		} else if(value >= 80 && value < 90) {
			var newValue = '-12px';
		} else if(value >= 90 && value < 100) {
			var newValue = '0px';
			el.getElement('div.ratingbar').set('style', 'background-image: url(fileadmin/templates/img/stars2.png)');
		} else {
			var newValue = '0px';
		}

		el.getElement('div.ratingbar').style.backgroundPosition = newValue+' center';
		
		if(el.hasClass('open')) {
			
			el.addEvent('mouseover', function() {
				var star1 = new Element('div', {'class': 'star'});
				star1.addEvent('mouseover', function() {
					star1.style.backgroundPosition = 'left';
					star2.style.backgroundPosition = 'right';
					star3.style.backgroundPosition = 'right';
					star4.style.backgroundPosition = 'right';
					star5.style.backgroundPosition = 'right';
					$$('div.ratinginfo').set('html', 'Slecht');
				});
				star1.addEvent('click', function() {
					tx_sbu_pi8addRating(1);
				});
				var star2 = new Element('div', {'class': 'star'});
				star2.addEvent('mouseover', function() {
					star1.style.backgroundPosition = 'left';
					star2.style.backgroundPosition = 'left';
					star3.style.backgroundPosition = 'right';
					star4.style.backgroundPosition = 'right';
					star5.style.backgroundPosition = 'right';
					$$('div.ratinginfo').set('html', 'Niets bijzonders');
				});
				star2.addEvent('click', function() {
					tx_sbu_pi8addRating(2);
				});
				var star3 = new Element('div', {'class': 'star'});
				star3.addEvent('mouseover', function() {
					star1.style.backgroundPosition = 'left';
					star2.style.backgroundPosition = 'left';
					star3.style.backgroundPosition = 'left';
					star4.style.backgroundPosition = 'right';
					star5.style.backgroundPosition = 'right';
					$$('div.ratinginfo').set('html', 'De moeite waard');
				});
				star3.addEvent('click', function() {
					tx_sbu_pi8addRating(3);
				});
				var star4 = new Element('div', {'class': 'star'});
				star4.addEvent('mouseover', function() {
					star1.style.backgroundPosition = 'left';
					star2.style.backgroundPosition = 'left';
					star3.style.backgroundPosition = 'left';
					star4.style.backgroundPosition = 'left';
					star5.style.backgroundPosition = 'right';
					$$('div.ratinginfo').set('html', 'Behoorlijk cool');
				});
				star4.addEvent('click', function() {
					tx_sbu_pi8addRating(4);
				});
				var star5 = new Element('div', {'class': 'star'});
				star5.addEvent('mouseover', function() {
					star1.style.backgroundPosition = 'left';
					star2.style.backgroundPosition = 'left';
					star3.style.backgroundPosition = 'left';
					star4.style.backgroundPosition = 'left';
					star5.style.backgroundPosition = 'left';
					$$('div.ratinginfo').set('html', 'Te gek!');
				});
				star5.addEvent('click', function() {
					tx_sbu_pi8addRating(5);
				});
				el.getElement('div.ratingbar').style.background = '';
				if(el.getElement('div.ratingbar').get('html') == '') {
					el.getElement('div.ratingbar').adopt(star1,star2,star3,star4,star5);
				}
			});
		} else if(el.hasClass('voted')) {
			el.removeEvents('mouseover');
			el.getElement('div.ratinginfo').set('html', '<strong>Bedankt voor je beoordeling!</strong>');
		}
		
	});
}

function initSbutubeSlider() {
	if($$('div.sbutube-wrapper').length == 0) return;
	
	var numberOfItems = $('sbutube').getElements('li.video').length - 3;
	var currentItem = 1;
	
	var slideUp = $$('div.sbutube-wrapper').getElement('div.scroll-vertical-1');
	var slideDown = $$('div.sbutube-wrapper').getElement('div.scroll-vertical-2');
	
	slideUp.addEvent('mouseover', function() {
		this.removeClass('scroll-vertical-1');
		this.addClass('scroll-vertical-1-hover');
	});
	slideUp.addEvent('mouseout', function() {
		this.removeClass('scroll-vertical-1-hover');
		this.addClass('scroll-vertical-1');
	});
	slideUp.addEvent('click', function() {
		if(currentItem > 1) {
			var x = Math.round($('sbutube').style.top.replace(/px/, '')) + 85;
			var slider = new Fx.Tween('sbutube', {'duration': 500, 'wait': true, 'transition': Fx.Transitions.Cubic.easeInOut});
			slider.start('top',x);
			currentItem--;
		}
	});
	
	slideDown.addEvent('mouseover', function() {
		this.removeClass('scroll-vertical-2');
		this.addClass('scroll-vertical-2-hover');
	});
	slideDown.addEvent('mouseout', function() {
		this.removeClass('scroll-vertical-2-hover');
		this.addClass('scroll-vertical-2');
	});
	slideDown.addEvent('click', function() {
		if(currentItem <= numberOfItems) {
			var x = -(85*currentItem);
			var slider = new Fx.Tween('sbutube', {'duration': 500, 'wait': true, 'transition': Fx.Transitions.Cubic.easeInOut});
			slider.start('top',x);
			currentItem++;
		}
	});
}

function initDefaultForm() {
	if($$('form.defaultform').length == 0) return;
	
	$$('form.defaultform').each(function(form) {
		form.getElements('input').addEvent('focus', function() {
			this.addClass('hover');
		});
		form.getElements('input').addEvent('blur', function() {
			this.removeClass('hover');
		});
	});
}

function initOlymposMap() {
	if(!$('olympos_map')) return;
	
	var intSportCenterMapWidth = 555;
	var intSportCenterMapHeight = 350;
	
	if ($('olympos_map')) {
		var elSportCenterMap = $('olympos_map');
			
		var intScrollBarWidth = 16;
		
		elSportCenterMap.setStyles({
			width: intSportCenterMapWidth - intScrollBarWidth,
			height: intSportCenterMapHeight - 50
		});
		
		elSportCenterAddress = 'Uppsalalaan 3';
		strSportCenterName = 'Sportcentrum Olympos';
		strSportCenterStreet = 'Uppsalalaan 3';
		strSportCenterCity = 'Utrecht';
		elRoutePostalCode = '3584CT';
		
		var strSportCenterBalloon = '<h4>' + strSportCenterName + '</h4>' + '<p>' + strSportCenterStreet + '<br />' + elRoutePostalCode  + '<br />' + strSportCenterCity + '<br /><a href="http://www.olympos.nl/" target="_blank">http://www.olympos.nl/</a></p>';
		var locale = 'nl_NL';
		
		if (GBrowserIsCompatible()) {
			var map = new GMap2(elSportCenterMap);
			var geocoder = new GClientGeocoder();

			var gdir = new GDirections(map);
			var strSportCenterAddress = strSportCenterStreet + ', ' + strSportCenterCity;

			function showAddress(address) {
				geocoder.getLatLng(
					address,
					function(point) {
						if (!point) {
							alert(address + " niet gevonden");
						} else {
							map.setCenter(point, 12);
							var marker = new GMarker(point);
							map.addOverlay(marker);
							map.addControl(new GLargeMapControl());
							map.addControl(new GMapTypeControl());
							marker.openInfoWindowHtml(strSportCenterBalloon);
							
							GEvent.addListener(marker, "click", function() {
								marker.openInfoWindowHtml(strSportCenterBalloon);
							});
						}
					}
				);
			}
			
			showAddress(strSportCenterAddress);
		}
		
		if (1==2 && (strRoutePostalCode != '') && (strRoutePostalCode != elRoutePostalCode.getProperty('title'))) {
			gdir.load('from: ' + strRoutePostalCode + ' to: ' + strSportCenterAddress, { 'locale': locale });
		};
	}
	
}

function initAddActivityForm() {
	if($('form_starttime')) {
		$('form_starttime_field').value = $('form_starttime_day').value+'-'+$('form_starttime_month').value+'-'+$('form_starttime_year').value+' '+$('form_starttime_hour').value+':'+$('form_starttime_minute').value;
		$('form_starttime_day').addEvent('change', function() {
			$('form_starttime_field').value = $('form_starttime_day').value+'-'+$('form_starttime_month').value+'-'+$('form_starttime_year').value+' '+$('form_starttime_hour').value+':'+$('form_starttime_minute').value;
		});
		$('form_starttime_month').addEvent('change', function() {
			$('form_starttime_field').value = $('form_starttime_day').value+'-'+$('form_starttime_month').value+'-'+$('form_starttime_year').value+' '+$('form_starttime_hour').value+':'+$('form_starttime_minute').value;
		});
		$('form_starttime_year').addEvent('change', function() {
			$('form_starttime_field').value = $('form_starttime_day').value+'-'+$('form_starttime_month').value+'-'+$('form_starttime_year').value+' '+$('form_starttime_hour').value+':'+$('form_starttime_minute').value;
		});
		$('form_starttime_hour').addEvent('change', function() {
			$('form_starttime_field').value = $('form_starttime_day').value+'-'+$('form_starttime_month').value+'-'+$('form_starttime_year').value+' '+$('form_starttime_hour').value+':'+$('form_starttime_minute').value;
		});
		$('form_starttime_minute').addEvent('change', function() {
			$('form_starttime_field').value = $('form_starttime_day').value+'-'+$('form_starttime_month').value+'-'+$('form_starttime_year').value+' '+$('form_starttime_hour').value+':'+$('form_starttime_minute').value;
		});
	}
	if($('form_endtime')) {
		$('form_endtime_field').value = $('form_endtime_day').value+'-'+$('form_endtime_month').value+'-'+$('form_endtime_year').value+' '+$('form_endtime_hour').value+':'+$('form_endtime_minute').value;
		$('form_endtime_day').addEvent('change', function() {
			$('form_endtime_field').value = $('form_endtime_day').value+'-'+$('form_endtime_month').value+'-'+$('form_endtime_year').value+' '+$('form_endtime_hour').value+':'+$('form_endtime_minute').value;
		});
		$('form_endtime_month').addEvent('change', function() {
			$('form_endtime_field').value = $('form_endtime_day').value+'-'+$('form_endtime_month').value+'-'+$('form_endtime_year').value+' '+$('form_endtime_hour').value+':'+$('form_endtime_minute').value;
		});
		$('form_endtime_year').addEvent('change', function() {
			$('form_endtime_field').value = $('form_endtime_day').value+'-'+$('form_endtime_month').value+'-'+$('form_endtime_year').value+' '+$('form_endtime_hour').value+':'+$('form_endtime_minute').value;
		});
		$('form_endtime_hour').addEvent('change', function() {
			$('form_endtime_field').value = $('form_endtime_day').value+'-'+$('form_endtime_month').value+'-'+$('form_endtime_year').value+' '+$('form_endtime_hour').value+':'+$('form_endtime_minute').value;
		});
		$('form_endtime_minute').addEvent('change', function() {
			$('form_endtime_field').value = $('form_endtime_day').value+'-'+$('form_endtime_month').value+'-'+$('form_endtime_year').value+' '+$('form_endtime_hour').value+':'+$('form_endtime_minute').value;
		});
	}
	
	// overview
	if($$('table.calendar').length > 0) {
		$$('table.calendar').each(function(list) {
			list.getElements('tr').each(function(el) {
				if(el.id && el.getElement('div.edit') && el.getElement('div.delete')) {
					el.getElement('div.delete').addEvent('click', function() {
						tx_sbu_pi7deleteActivity(el.id.replace(/row_/, ''));
					});
				}				
			});
		});
	}
	
}

function initPresenceForm() {
	if($('reportAbsence')) {
		$('reportAbsence').addEvent('click', function() {
			tx_sbu_pi20reportPresence(0);
		});
	}
	if($('reportPresence')) {
		$('reportPresence').addEvent('click', function() {
			tx_sbu_pi20reportPresence(1);
		});
	}
}

function initSortablePhotos() {
	if(!$('sortableList')) return;
	var showNewOrder = function() {
		var serializeFunction = function(el) { return el.get('id'); };
		var orderTxt = sort.serialize(serializeFunction);
		$('data').value =  orderTxt.join(',');
	};	
	var ul = $('sortableList');
	var sort = new Sortables(ul, {
		'constrain': false,
		'clone': true,
		'onComplete': showNewOrder,
		'revert': true,
		'handle ' : true,
		'opacity':	0
	});
	
	if($('savesorting')) {
		$('savesorting').addEvent('click', function() {
			tx_sbu_pi35processRequest(xajax.getFormValues('upload'));
		});
	}
	
	if($('cancel')) {
		$('cancel').addEvent('click', function() {
			window.history.back();
		});
	}
}

function initShortcutForm() {
	if(!$('shortcutUrl') || !$('shortcutUrlText')) return;
	$('shortcutUrl').value = window.parent.location;
	$('shortcutUrlText').value = window.parent.location;
}

function initShortcutList() {
	if(!$('shortcutList') || $('shortcutList').getElements('li.star').length == 0) return;
	$('shortcutList').getElements('li.star').each(function(el) {
		var uid = el.id.replace(/star_/,'');
		el.addEvent('mouseover', function() {
			el.addClass('hover');
			el.getElement('img.delete').src = el.getElement('img.delete').src.replace(/empty/,'delete');
		});
		el.addEvent('mouseout', function() {
			el.removeClass('hover');
			el.getElement('img.delete').src = el.getElement('img.delete').src.replace(/delete/,'empty');
		});
		el.getElement('img.delete').addEvent('click', function() {
			tx_sbu_pi36deleteShortcut(uid);
		});
	});
}

function setShortcutForm(text) {		
	window.parent.$('shortcutList').set('text', text);
}

function initNumberbar() {
	if(!$('numberbar')) return;

	$('numberbar').getElements('div.number').each(function(el) {
		el.addEvent('mouseover', function() {
			el.addClass('hover');
		});
		el.addEvent('mouseout', function() {
			el.removeClass('hover');
		});
		el.addEvent('click', function() {
			tx_sbu_pi15loadPhoto(el.className);
		});
	});
}

function initTeamPhotoSortable() {
	if(!$('sortableList')) return;
	
	$('sortableList').getElements('a.delete').each(function(el) {
		el.addEvent('click', function() {
			tx_sbu_pi37processRequest(el.id.replace(/delete_photo_/, ''), el.title, $('deleted').value);
		});
	});
	
	$('sortableList').getElements('a.upload').each(function(el) {
		el.addEvent('click', function() {
			tx_sbu_pi37processRequest(el.id.replace(/upload_photo_/, ''), false, false);
		});
	});
}

function initPhotoKeys() {
	
	window.focus();

	if($('button_next')) {
		window.document.addEvent('keydown', function(event){
			var el = $('button_next');
			if(event.key=='right') {
				window.location = '/'+el.get('href');
			}				
		});
	}
	
	if($('button_previous')) {
		window.document.addEvent('keydown', function(event){
			var el = $('button_previous');
			if(event.key=='left') {
				window.location = '/'+el.get('href');
			}				
		});		
	}
	
	if($('button_back')) {
		window.document.addEvent('keydown', function(event){
			var el = $('button_back');
			if(event.key=='up') {
				window.location = '/'+el.get('href');
			}				
		});		
	}
	
	
}

function initPollManagement() {
	if(!$('multipleselect')) return;	
	
	$('multipleselect').getElement('div.toleft').addEvent('click', function(){
		var options = $('rightselection').getElements('option');
		for(var n=0; n<options.length; n++) {
			if(options[n].selected==true) {
				var newoption = new Element('option', {
					'value': options[n].value,
					'html': options[n].get('html'),
				});
				options[n].dispose();
				$('leftselection').grab(newoption);
			}
		}
	});
	
	$('multipleselect').getElement('div.toright').addEvent('click', function(){
		var options = $('leftselection').getElements('option');
		for(var n=0; n<options.length; n++) {
			if(options[n].selected==true) {
				var newoption = new Element('option', {
					'value': options[n].value,
					'html': options[n].get('html'),
				});
				options[n].dispose();
				$('rightselection').grab(newoption);
			}
		}
	});
	
	$('add_label').addEvent('click', function() {		
		var labels = $('labels').getElements('div.label').length;		
		var html = '<label for="form_label_'+(labels+1)+'"><span class="label">Extra optie</span><span id="label_label_'+(labels+1)+'" class="field"><input type="text" id="form_label_'+(labels+1)+'" name="tx_sbu_pi18[label]['+(labels+1)+']" value="" /></span><img src="fileadmin/templates/img/icons/cross.png" alt="" class="delete" onclick="$(\'label_'+(labels+1)+'\').dispose()" /></label><br />';
		var block = new Element('div', {
			'id': 'label_'+(labels+1),
			'class': 'label',
			'html': html
		});		
		$('labels').grab(block);		
	});
	
	$('add_option').addEvent('click', function() {		
		var options = $('options').getElements('div.option').length;		
		var html = '<label for="form_option_'+(options+1)+'"><span class="label">Extra antwoord</span><span id="label_option_'+(options+1)+'" class="field"><input type="text" id="form_option_'+(options+1)+'" name="tx_sbu_pi18[option]['+(options+1)+']" value="" /></span><img src="fileadmin/templates/img/icons/cross.png" alt="" class="delete" onclick="$(\'option_'+(options+1)+'\').dispose()" /></label><br />';
		var block = new Element('div', {
			'id': 'option_'+(options+1),
			'class': 'option',
			'html': html
		});		
		$('options').grab(block);		
	});
	
}

function setMemberSelection() {
	var str = '';
	$('leftselection').getElements('option').each(function(el) {
		str += el.get('value')+',';
	});	
	$('leftselection_list').value = str;
}