/* 
 * [a] Stijn Van Minnebruggen
 * [c] Oskar D
 * [w] www.oskard.be
 * 
*/


// page scrolling and navigation

	var eventsLoaded = 0;
	var galleryHeight = 800;
	var topMargin = 150;
	var pageW = 700;
	var polaroids = 'visible';
	
	function setPage(page) {
		
		// agenda?
			if (page == 'agenda' && eventsLoaded == 0) { new Ajax.Request('_getevents.php', { onSuccess: function(t) { $('page_agenda').innerHTML = t.responseText; moveFooter(page); eventsLoaded = 1; }}); }
		
		// set all navigations blank
			var navigation = $('navigation').immediateDescendants();
			for(i=0; i<navigation.length; i++) $(navigation[i]).className = '';
		
		// set current navigation hot
			if($('nav_'+page)) $('nav_'+page).className = 'sel';
					
		// move page
			for(i=0; i<=pagesPos.length; i++) { if(pagesPos[i] == page) { pagePos = i; break; } }
			new Effect.Morph('pages',{ style:{ marginLeft: -(pageW*pagePos)+'px' } });
			if($('page_'+page).className == 'pageContentFull') new Effect.Morph('polaroids',{ style:{ marginLeft: '-700px' } });
			else new Effect.Morph('polaroids',{ style:{ marginLeft: '-380px' } });
		
		// page specified actions
			if(page == 'impressies') setTimeout('showImpressies()', 1000);
			else $('gallery').hide();
			//if(page == 'boek') showBookChapter('220');
			//else $('bookChapter').innerHTML = '<h1>&nbsp;</h1><p>&nbsp;</p>';

		
		// move footer
			moveFooter(page);
		
	}


// move footer
	function moveFooter(page) {
		if(page == 'impressies') newH = galleryHeight+topMargin;
		else if(page == 'bookChapter') newH = $(page).getHeight()+topMargin;
		else newH = $('page_'+page).getHeight()+topMargin;
		if(newH < 500) newH = 500;
		new Effect.Morph('footer',{ style:{ top:newH+'px'} });
	}


// show gallery (flash)

	function showImpressies() {
		$('gallery').show();
		var fo = new FlashObject("swf/gallery.swf", "gallery", "700", galleryHeight, "8", "#FFFFFF");
		fo.addParam("quality", "high");
		fo.write("gallery");
	}


// show book chapters

	function showBookChapter(id) {
		$('bookLoader').show();
		$('bookChapter').hide();
		var opt = {
			method: 'post',
			postBody: 'id='+id,
			onSuccess: function(t) { showBookChapterResult(t.responseText); },
			on404: function(t) { showBookChapterResult('<h1>Foutmelding 404!</h1><p>Probleem bij ophalen van de gegevens.</p>'); },
			onFailure: function(t) { showBookChapterResult('<h1>Fout bij ophalen!</h1><p>Probleem bij ophalen van de gegevens.</p>'); }
		}
		new Ajax.Request('getBookChapter.php', opt);
	}
	
	function showBookChapterResult(t) {
		$('bookLoader').hide();
		$('bookChapter').innerHTML = t;
		$('bookChapter').show();
		moveFooter('bookChapter');
	}


// polaroid functions

	var secondsPerPolaroid = 7;
	var ivl; var ivr; var ivb;	// intervals
	var zi = 100;				// general z-index
	var cpl = 1;				// current polaroid left
	var cpr = 1;				// current polaroid right
	var cpb = 1;				// current polaroid bottom
	
	function switchLPola() {
		Effect.Fade('pl'+cpl, { duration: 0.5 });
		cpl = (cpl == 3) ? 1 : cpl+1;
		$('pl'+cpl).style.zIndex = ++zi;
		Effect.Appear('pl'+cpl, { duration: 0.5 });
	}
	
	function switchRPola() {
		Effect.Fade('pr'+cpr, { duration: 0.5 });
		cpr = (cpr == 3) ? 1 : cpr+1;
		$('pr'+cpr).style.zIndex = ++zi;
		Effect.Appear('pr'+cpr, { duration: 0.5 });
	}
	
	function switchBPola() {
		Effect.Fade('pb'+cpb, { duration: 0.5 });
		cpb = (cpb == 3) ? 1 : cpb+1;
		$('pb'+cpb).style.zIndex = ++zi;
		Effect.Appear('pb'+cpb, { duration: 0.5 });
	}
	
	function startPolaroids() {
	
		// SET ALL OPACITIES TO ZERO
			Element.setOpacity('pb2', 0);
			Element.setOpacity('pl2', 0);
			Element.setOpacity('pr2', 0);
			Element.setOpacity('pb3', 0);
			Element.setOpacity('pl3', 0);
			Element.setOpacity('pr3', 0);
		
		// START LOOPING WITH DELAY
			setTimeout("ivb = setInterval('switchBPola()', (secondsPerPolaroid*1000));", 10);	// delay: 10ms
			setTimeout("ivl = setInterval('switchLPola()', (secondsPerPolaroid*1000));", 3000);	// delay: 3s
			setTimeout("ivr = setInterval('switchRPola()', (secondsPerPolaroid*1000));", 6000);	// delay: 6s
	
	}

// show comment 
var openComments = new Array();
var loadedComments = new Array();
var openPostComments = new Array();


function showComment(blogpostId) {
	
	if (openComments[blogpostId] == 1) {
		new Effect.BlindUp('blogComment'+blogpostId, {afterFinish: function() { moveFooter('blog'); } });
		openComments[blogpostId] = 0; 
	} else {
		
		if (loadedComments[blogpostId] == 1) {
		
			if (openPostComments[blogpostId] == 1) {
				new Effect.BlindUp('blogPostComment'+blogpostId, {afterFinish: function() { moveFooter('blog'); } });
				openPostComments[blogpostId] = 0; 
			}
		
			new Effect.BlindDown('blogComment'+blogpostId, {afterFinish: function() { moveFooter('blog'); } });
			openComments[blogpostId] = 1; 
		} else {
		
			if (openPostComments[blogpostId] == 1) {
				new Effect.BlindUp('blogPostComment'+blogpostId, {afterFinish: function() { moveFooter('blog'); } });
				openPostComments[blogpostId] = 0; 
			}
			
			$('blogLoader'+blogpostId).show();
			var completeFunc = function() { new Effect.BlindDown('blogComment'+blogpostId, {afterFinish: function() { moveFooter('blog'); } }); $('blogLoader'+blogpostId).hide(); }
			new Ajax.Updater('blogComment'+blogpostId, '_blogcomments.php', {parameters:{'blogpostId':blogpostId}, onComplete: completeFunc});
			loadedComments[blogpostId] = 1; 
			openComments[blogpostId] = 1; 
		}
	}
}



function postComment(blogpostId) {

	if (openPostComments[blogpostId] == 1) {
		new Effect.BlindUp('blogPostComment'+blogpostId, {afterFinish: function() { moveFooter('blog'); } });
		openPostComments[blogpostId] = 0;
	} else {
	
		if (openComments[blogpostId] == 1) {
			new Effect.Fade('blogComment'+blogpostId, { duration: 0.2 });
			new Effect.BlindUp('blogComment'+blogpostId, {afterFinish: function() { moveFooter('blog'); } });
			openComments[blogpostId] = 0; 
		}
	
		new Effect.BlindDown('blogPostComment'+blogpostId, {afterFinish: function() { moveFooter('blog'); } });
		openPostComments[blogpostId] = 1;
	}
	
}

function trim(value) {
  value = value.replace(/^\s+/,'');
  value = value.replace(/\s+$/,'');
  return value;
}

function handlePostComment(blogpostId) {

	if(trim($('input_'+blogpostId+'_name').value) == "") {
		$('input_'+blogpostId+'_name').style.backgroundColor = 'red';
		$('input_'+blogpostId+'_name').style.color = 'white';
		return false;
	} else {
		$('input_'+blogpostId+'_name').style.backgroundColor = 'white';
		$('input_'+blogpostId+'_name').style.color = 'black';	
	}
	
	if(trim($('input_'+blogpostId+'_comment').value)=="") {
		$('input_'+blogpostId+'_comment').style.backgroundColor = 'red';
		$('input_'+blogpostId+'_comment').style.color = 'white';
		return false;
	} else {
		$('input_'+blogpostId+'_comment').style.backgroundColor = 'white';
		$('input_'+blogpostId+'_comment').style.color = 'black';	
	}
	
	new Ajax.Request('_blogcomments.php', {parameters:{'name': $('input_'+blogpostId+'_name').value, 'text': $('input_'+blogpostId+'_comment').value, 'blogpostId': blogpostId}});
	$('blogPostComment'+blogpostId).innerHTML = '<div class="subItem"><div class="blogComment"><b>Bedankt voor Uw reactie</b><br/>Ze zal weldra op de site verschijnen!</div></div>';
}

// initiate page

	function init() {
		var currPage = self.document.location.hash.substring(1);
		if(currPage) setPage(currPage);
		else  moveFooter('blog');
		startPolaroids();
	}
	
	function addEvent(elm, evType, fn, useCapture) { elm["on"+evType]=fn;return; }
	addEvent(window, "load", init);



