// JavaScript Document
var Dom			= YAHOO.util.Dom;
var Event		= YAHOO.util.Event;
var Anim		= YAHOO.util.Anim;

var ie			= false;
var animators	= new Array();
var speedfast 	= 0.2;

function initializer(){
	setFooter();
	setHovers();
	setExternLinks();
	setAlbum();
	if(Shadowbox) Shadowbox.init({skipSetup: false});
}
Event.onDOMReady(initializer); 


function setFooter(){
	var basicsite 	= Dom.get('container');
	var site		= Dom.getViewportHeight();
	if(site > Math.ceil(basicsite.offsetHeight + 176 + 86)){
		basicsite.style.height = Math.ceil(site - 176 - 106) + 'px';
	}
}

function setExternLinks(){
	var links = Dom.getElementsByClassName('extern','a');
	for(i=0; i<links.length; i++){
		Dom.removeClass(links[i],'extern');
		links[i].target = '_blank';

	}
}
function setHovers(){
	var inputs = Dom.getElementsByClassName('input_veld');
	for(i=0; i<inputs.length; i++){
		inputs[i].onfocus = function(){
			this.style.borderColor = '#cc0066';
		}
		inputs[i].onblur = function(){
			this.style.borderColor = '';
		}

	}
}

var albumslider	= false;
var active	= false;
var activenr= false;
var total	= false;
var positions	= new Array();
var leftpos	= 0;
function setAlbum(){
	var width 		= 0;
	var totalwidth	= Dom.getViewportWidth();
	var helft		= Math.ceil(totalwidth / 2);
	albumslider		= Dom.get('albumslider');
	photos 			= Dom.getElementsByClassName('photo','div',albumslider);
	
	total 			= Math.ceil(photos.length-1);
	for(i=0; i<photos.length; i++){
		if(Dom.hasClass(photos[i],'active')){
			active 		= photos[i];
			activenr	= i;
		}
		
		var photowidth = photos[i].offsetWidth;
		photos[i].style.width = photowidth;
		photos[i].id	= "js_photo_"+i;
		photos[i].rel	= i;
		positions[i]	= width + photowidth/2+50;
		if(active == photos[i]){
			leftpos = positions[i];
		} else {
			var arg = { opacity: {to: 0.4}};
			animate('test'+i,photos[i], arg, 0, false);
			//photos[i].style.opacity = 0.4;
		}
		
		width += Math.ceil(photowidth)+100;
		next = Dom.getElementsByClassName('next','a',photos[i]);
		if(next[0]){
			next[0].onclick = function(){
				switchPhoto(this,'next');
				return false;
			}
		}

		prev = Dom.getElementsByClassName('prev','a',photos[i]);
		if(prev[0]){
			prev[0].onclick = function(){
				switchPhoto(this,'prev');
				return false;
			}
		}

		
		if(active != photos[i]){
			if(next[0]) next[0].style.display = 'none';
			if(prev[0]) prev[0].style.display = 'none';
		}
		
	}
	albumslider.style.paddingLeft 	= helft + 'px';
	albumslider.style.left			= -leftpos + 'px';
	albumslider.style.width 		= width + 'px';
}

function switchPhoto(obj,t){
	// Set new active
	var old_active = obj.parentNode;
	if(t=='next'){
		activenr	= Math.ceil(activenr+1);
	} else {
		activenr	= Math.ceil(activenr-1);
	}
	if(activenr < 0) activenr = 0;
	if(activenr > total) activenr = total;
	active 		= Dom.get('js_photo_'+activenr);
	
	if(active != old_active){
		// De-Activeer buttons
		next = Dom.getElementsByClassName('next','a',old_active);
		if(next[0]) next[0].style.display = 'none';
		prev = Dom.getElementsByClassName('prev','a',old_active);
		if(prev[0]) prev[0].style.display = 'none';
		
		// Fade active uit
		var arg = { opacity: {to: 0.4}};
		animate('old',old_active, arg, 0.2, false);
		
		// Activeer buttons
		next = Dom.getElementsByClassName('next','a',active);
		if(next[0]) next[0].style.display = 'block';
		prev = Dom.getElementsByClassName('prev','a',active);
		if(prev[0]) prev[0].style.display = 'block';
		
		// Fade active in
		var arg = { opacity: {to: 1}};
		animate('new',active, arg, 0.2, false);
		
		// Schuif naar active
		var arg = { left: {to: -positions[activenr]}};
		animate('move',albumslider, arg, 0.8, false);
	}
	return true;
}

// Animate function
function animate(name, element, arg, speed,comp){
	if(animators[name]) animators[name].stop();
	animators[name] = new Anim(element, arg, speed, YAHOO.util.Easing.easeOut);
	if(comp) animators[name].onComplete.subscribe(comp);
	animators[name].animate();
}



function handleCalSelect(type,args,obj) {
	var dates	= args[0]; 
	var date	= dates[0];
	var year 	= date[0], month = date[1], day = date[2];
	
	var cal		= Dom.get(obj.id);
	cal.style.display = 'none';	
	
	var td 		= cal.parentNode.parentNode;
	var inputs 	= td.getElementsByTagName('input');
	var input 	= inputs[0];
	input.value = year+ "-" + month + "-" + day;
	return false;
}

function showCal(el){
	var div = Dom.get(el);
	if(div){
		div.style.display = 'block';	
	}
	return false;
}







