var mainID = false;
var firstID = false;
var secondID = false;
var thirdID = false;
var useRandom = Math.floor(Math.random()*60000); // to prevent caching

/*enkele initiele variabelen voor de mediapagina*/
var slideShowScript = false;
var imageArray = new Array();
var videoArray = new Array();
var showMode = false;
var albumBaseURL = false;
var albumPageID = false;

var currentPageID = false;

function setAlbumBaseURL(albumURL, albumPID){
	albumBaseURL = albumURL;
	albumPageID = albumPID;
}

function setImageArray(arrayItem){
	imageArray = arrayItem;
}
function setVideoArray(arrayItem){
	videoArray = arrayItem;
}

function mt(name,domain,subject,body){
	self.location.href='mailto:'+name+'@'+domain+'?subject='+subject+'&body='+body+'';
	return false;
}

function NavList(){
	var main;
	var first;
	var second;
	var third;
	var active;
}
var navigationList = new NavList();

function startShow(imageName){
	if(slideShowScript!==true){
		setTimeout(function(){startShow(imageName);},250);
	}
	else{
		if(showMode == false){
			$('overlay').setStyle("display","block");
			$('overlay').fade('hide');
			$('overlay').fade(0.50);
			$('overlay').setStyle("width","100%");
			$('overlay').setStyle("height","100%");
			$('overlayPositioner').setStyle("display","block");
			$('viewerCenter').setStyle("display","block");
			initializeViewer();
			viewerAlign();
			$(window).addEvent('scroll',function(){viewerAlign();});
			$(window).addEvent('resize',function(){viewerAlign();});
		}
		showImage(imageName);
	}
}
function stopShow(){
	if(slideShowInterval != null && slideShowInterval !== false){
		clearInterval(slideShowInterval);
	}
	$('viewerCenter').setStyle("display","none");
	$('overlayPositioner').setStyle("display","none");
	$('overlay').fade('out');
	initViewer();
	$(window).removeEvent('scroll');
	$(window).removeEvent('resize');
	showMode = false;
}

function setIDFlow(main,first,second,third,active){
	navigationList.main = main;
	navigationList.first = first;
	navigationList.second = second;
	navigationList.third = third;
	navigationList.active = active;
}

function hideMenu(menu){
	var myFxMenu = new Fx.Morph(''+menu, {wait: false, duration: 200, transition: Fx.Transitions.Quad.easeInOut});
	var w = $(''+menu).getStyle('width').toInt();
	myFxMenu.start({'width': [w, 0]});
}

function deactivateStyle(name){
	$(''+name).setStyles({'border-top':'none','border-bottom':'none','height':'16px'});
}
function activateStyle(name){
	$(''+name).setStyles({'border-top':'1px solid #555555','border-bottom':'1px solid #555555','height':'14px'});
}

function showMenu(menu){
	var myFxMenu = new Fx.Morph(''+menu, {wait: false, duration: 300, transition: Fx.Transitions.Quad.easeInOut});
	var w = $(''+menu).getStyle('width').toInt();
	myFxMenu.start({'width': [w, 208]});
}

function setPanelBackgroundImage(mainID,bgImgUrl){
	var index;
	for(var i=0; i<mainItemIDs.length; i++){
		if(mainItemIDs[i] == mainID){
			index = i;
		}
	}
	var paneel = $$('.paneel_'+index);
	paneel = paneel[0];
	paneel.setStyle('background-image','url('+bgImgUrl+')');
}

function lineOut(menu,nieuweHoogte){
	var h = $(menu).getStyle('bottom').toInt();
	if(parseInt(h) != parseInt(nieuweHoogte)){
		var myFxMenu = new Fx.Morph(menu, {wait: false, duration: 300, transition: Fx.Transitions.Quad.easeInOut});
		myFxMenu.start({'bottom': [h, nieuweHoogte]});
	}
}

function hideCurrentMenuItems(){
	$('menuContainer').setStyle('height','1px');	
}

function showCurrentMenuItems(){
	var myFxMenu = new Fx.Morph('menuContainer', {wait: false, duration: 500, transition: Fx.Transitions.Quad.easeInOut});
	var h = $('menuContainer').getStyle('height').toInt();
	initializeLinks('menuContainer');
	myFxMenu.start({'height': [h, 400]});
}

function Configuration(){
	var totalMenuWidth;
	var totalPanelWidth;
	var panelMenuWidth;
	var panelScrollWidth;
	var duration;
	var startPosLogoImg;
	var startPosLogoTxt;
	var startPosMenu;
}

var config = new Configuration();
config.totalMenuWidth = 921;
config.panelMenuWidth = 45; //45 pixels + 1 pixel border
config.totalPanelWidth = (config.totalMenuWidth - (5*config.panelMenuWidth));
config.panelScrollWidth = config.totalPanelWidth + config.panelMenuWidth;
config.duration = 500;
config.startPosLogoImg = 586;
config.startPosLogoTxt = 188;
config.startPosMenu = 47;

var kleuren = {};
kleuren[0] = {'fel':'#C17402','dim':'#613A01'}
kleuren[1] = {'fel':'#006599','dim':'#00324D'}
kleuren[2] = {'fel':'#0B752A','dim':'#053A15'}
kleuren[3] = {'fel':'#97331B','dim':'#4C190D'}
kleuren[4] = {'fel':'#762B80','dim':'#3B1540'}
		
var myFxLogoImg;
//var myFxLogoTxt;
var myFxContent;
var myFxMenu;
var myFXTitels;
var myFXColorBars;
var myFXColorDimBars;
var infoImages;;
var panelen;
var fx;

function klapContentIn(pageData){
	var pageDataSend = new Array();
	pageDataSend["pageID"] = pageData.pageID;
	if(pageData.childrenIDs.length > 0){
		pageDataSend["childrenIDs"] = pageData.childrenIDs.split(',');
	}
	else {
		pageDataSend["childrenIDs"] = new Array();
	}
	var contentElement = $('inhoudContainer');
	contentElement.setStyle('overflow','hidden');
	contentElement.setStyle('height',60);
	$('laadAnimatie').setStyle('opacity',0);
	$('laadAnimatie').setStyle('display','block');
	var myFxAnimatie = new Fx.Morph('laadAnimatie', {wait: false, duration: Math.round(config.duration/2), transition: Fx.Transitions.Quad.easeInOut, onComplete: function(){
			if(showMode !== false){
				stopShow();
			}
			xajax_loadPage(pageDataSend);			
		}
	});
	myFxAnimatie.start({'opacity':[0,1]});
}

function klapContentUit(){
	var gevonden = false;
	for(var i=0; i<mainItemIDs.length; i++){
		if(mainItemIDs[i] == navigationList.main.id){
			index = i;
			gevonden = true;
		}
	}
	if(gevonden === false){
		//en misschien een foutmelding-pagina laden?
		return;
	}
	$('laadAnimatie').setStyle('opacity',1);
	$('laadAnimatie').setStyle('display','block');
	initializeLinks('inhoudContainer');
	var myFXTitels = $$('h1','h2','h3');
	myFXTitels.each(function(elem){
		elem.setStyle('color',kleuren[index].fel);
		elem.setStyle('text-decoration','none');
		}
	);
	$('inhoudRechts').setStyle('background-color',kleuren[index].dim);
	var whiteFXTitels = $$('#inhoudRechts h1','#inhoudRechts h2','#inhoudRechts h3');
	whiteFXTitels.each(function(elem){
		elem.setStyle('color','#FFFFFF');
		}
	);
	var myFxAnimatie = new Fx.Morph('laadAnimatie', {wait: false, duration: Math.round(config.duration/2), transition: Fx.Transitions.Quad.easeInOut, onComplete: function(){
			$('laadAnimatie').setStyle('display','none');
			var contentElement = $('inhoudContainer');
			contentElement.setStyle('height','auto');
			$('inhoudRechts').setStyle('height',$('inhoudContainer').getScrollSize().y);
		}
	});
	myFxAnimatie.start({'opacity':[1,0]});
}

function animeerPanelen(mainID){
	for(var i=0; i<mainItemIDs.length; i++){
		if(mainItemIDs[i] == mainID){
			index = i;
		}
	}
	
	infoImage = $('paneel-'+[index]);
	colorFel = kleuren[index].fel;
	colorDim = kleuren[index].dim;
	
	myFXColorBars = $$('.gekleurdFelAchtergrond');
	myFXColorDimBars = $$('.gekleurdDimAchtergrond');
	
	var paneel = infoImage.getParent().getParent();
	var obj = {};
	obj[index] = {
		'width': [paneel.getStyle('width').toInt(), config.panelScrollWidth]
	};
	panelen.each(function(other, j){
		if (other != paneel){
			var w = other.getStyle('width').toInt();
			if (w != config.panelMenuWidth) obj[j] = {'width': [w, config.panelMenuWidth]};
		}
	});
	fx.start(obj);
	infoImage.setStyle('opacity',1);
	infoImage.src = './images/'+infoImage.id+'-actief.png?rand='+useRandom;
	infoImage.currentActive = true;
	infoImages.each(function(other, j){
		if (other != infoImage){
			other.src = './images/'+other.id+'-passief.png?rand='+useRandom;
			other.setStyle('opacity',0.8);
			other.currentActive = false;
		}
	});
	var lI = $('logoImg').getStyle('left').toInt();
	myFxLogoImg.start({'left': [lI, (config.startPosLogoImg+(index*(config.panelMenuWidth)))]});
	/*var lT = $('logoTekst').getStyle('left').toInt();
	myFxLogoTxt.start({'left': [lT, (config.startPosLogoTxt+(index*(config.panelMenuWidth)))]});*/
	var lC = $('menuContainer').getStyle('left').toInt();
	myFxMenu.start({'left': [lC, (config.startPosMenu+(index*(config.panelMenuWidth+1)))]});
	
	var myFxAnimatie = new Fx.Morph('laadAnimatie', {wait: false, duration: config.duration, transition: Fx.Transitions.Quad.easeInOut});
	var lA = $('laadAnimatie').getStyle('left').toInt();
	myFxAnimatie.start({'left': [lA, (config.startPosMenu+(index*(config.panelMenuWidth+1)))]});
	
	myFXColorBars.each(function(elem){
		var startColor = $(elem).getStyle('background-color');
		var leftElem = $(elem).getStyle('left').toInt();
		new Fx.Morph($(elem), {wait: false, duration: config.duration, transition: Fx.Transitions.Quad.easeInOut}).start({'left':[leftElem,(index*(config.panelMenuWidth+1))],'background-color':[startColor,colorFel]});
	}
	);
	myFXColorDimBars.each(function(elem){
		var startColor = $(elem).getStyle('background-color');
		var leftElem = $(elem).getStyle('left').toInt();
		new Fx.Morph($(elem), {wait: false, duration: config.duration, transition: Fx.Transitions.Quad.easeInOut}).start({'background-color':[startColor,colorDim]});
	}
	);
	
	var leftPosition = $('inhoudContainer').getStyle('left').toInt();
	myFxContent.start({'left':[leftPosition,(index*(config.panelMenuWidth+1))]});
}
function parsePanelen(){
	infoImages = $$('.paneelAfbeelding');
	panelen = $$('#panelenContainer .paneel');
	
	myFxLogoImg = new Fx.Morph('logoImg', {wait: false, duration: config.duration, transition: Fx.Transitions.Quad.easeInOut});
	/*
	myFxLogoTxt = new Fx.Morph('logoTekst', {wait: false, duration: config.duration, transition: Fx.Transitions.Quad.easeInOut});
	*/
	myFxContent = new Fx.Morph('inhoudContainer', {wait: false, duration: config.duration, transition: Fx.Transitions.Quad.easeInOut});
	myFxMenu = new Fx.Morph('menuContainer', {wait: false, duration: config.duration, transition: Fx.Transitions.Quad.easeInOut});
	myFXColorBars = $$('.gekleurdFelAchtergrond');
	myFXColorDimBars = $$('.gekleurdDimAchtergrond');
	fx = new Fx.Elements(panelen, {wait: false, duration: config.duration, transition: Fx.Transitions.Quad.easeInOut});
	infoImages.each(function(infoImage, i){
		//per afbeelding de juiste acties doen
		infoImage.addEvent('mouseover', function(e){
			infoImage.src = './images/'+infoImage.id+'-actief.png?rand='+useRandom;
		});
		infoImage.addEvent('mouseout', function(e){
			if(infoImage.currentActive == true)
				infoImage.src = './images/'+infoImage.id+'-actief.png?rand='+useRandom;
			else 
				infoImage.src = './images/'+infoImage.id+'-passief.png?rand='+useRandom;
		});
	});
}
function zetStartPaneel(paneelID){
	/*startpaneel activeren */
	var infoImages = $$('.paneelAfbeelding');
	infoImages.each(function(infoImage, i){
		if(infoImage.id == paneelID || (paneelID === false && infoImage.id == 'paneel-oranje')){
			infoImage.currentActive = true;
			infoImage.setStyle('opacity',1);
		}
		else {
			infoImage.setStyle('opacity',0.8);
		}
	});
}

/*History manager gedeelte */

var bookmarkedSection, querySection, initSection;

var tmpMainID = false;
var tmpFirstID = false;
var tmpSecondID = false;
var tmpThirdID = false;

function loadMenu(section) {
	var sectionParts = section.split("/");
	if(sectionParts[0] == navigationList.active){
		if(sectionParts[0] == albumPageID && sectionParts.length > 1){
			//album gevonden
			startShow(sectionParts[1]);
			return;
		}
		else if(sectionParts[0] == albumPageID){
			stopShow();
			return;
		}
	}
	var args = {pageID:section, 
				navigation:navigationList};
	xajax_loadMenu(args);
}

function initializeLinks(elemID) {
	var anchors, i, len, anchor, href, section, currentSection;
	if(elemID === false){
		anchors = $('siteContainer').getElements('a');
	}
	else {
		anchors = $(''+elemID).getElements('a');
	}
	len = anchors.length;
	for(i=0; i<len; i++){
		anchor = anchors[i];
		href = anchor.href;
		$(anchor).addEvent('click', function(event){
			var evt = new Event(event);
			if(this.href.indexOf('#')>-1){
				return;
			}
			if(this.href.indexOf('http://') == 0){
				if((this.href.indexOf(home) == 0 && this.href.indexOf('?') < 0 )){
					return;
				}
				else if(this.href.indexOf(home) < 0){
					return;
				}
			}
			else if(this.href.indexOf('mailto:') == 0 || this.href.indexOf('ftp:') == 0 || this.href.indexOf('javascript:') == 0 || this.href.indexOf('https://') == 0){
				return;
			}
			section = YAHOO.util.History.getQueryStringParameter("pageID", this.href) || homepageID;
			try {
				YAHOO.util.History.navigate("pageID", section);
			} catch (e) {
				loadMenu(section);
			}
			evt.stop();
			evt.preventDefault();
			evt.stopPropagation();
			return false;
			
		});
	}
}
bookmarkedSection = YAHOO.util.History.getBookmarkedState("pageID");
querySection = YAHOO.util.History.getQueryStringParameter("pageID");
initSection = bookmarkedSection || querySection || homepageID;
YAHOO.util.History.register("pageID", initSection, function (state) {
	loadMenu(state);
});
