/*------------------------------------------------------------------
	
	Theme:			Stella
	Version:		v1.0 | 20091128
	Author:			info@comodocreative.com
	Copyright:		Comodo Creative bvba
	
-------------------------------------------------------------------*/

function scrollPage(to)
{
	var list 		=	$('#content div.entry'),
		target		=	list.index($(to))
		totalHeight	=	0;
		
	for (var i=0; i<list.length; i++)
	{
		if (i < target)
		{ 
		totalHeight += $(list[i]).height();
		}
	}
	$('#content').stop().animate({ 'scrollTop':totalHeight }, 'slow');
}

function setFontsize(size)
{
	switch(size) {
		case 't-small':
		$('#content').css('font-size','100%');
		break;
		case 't-medium':
		$('#content').css('font-size','110%');
		break;
		case 't-large':
		$('#content').css('font-size','120%');
		break;
	}
}

function fixRows()
{	
	var cellsOnRow = $('#studieaanbod td.graad:first').attr('colspan');
	
	$('#studieaanbod tr:gt(0)').each(function(index) 
	{
		var colspan		= 0,
			cells		= $('#studieaanbod tr:gt(0):eq(' + index + ') td'),
			emptycell	= '<td class="borderLeft padded">&nbsp;</td>';
			
		for (var i=0; i < cells.length; i++)
		{
			colspan += parseInt($(cells[i]).attr('colspan'));
		}
		if (colspan < cellsOnRow) 
		{
			// Skip first cell (the number)
			for (var j=1; j < cells.length; j++)
			{
				var child = {
						id		: $(cells[j]).attr('id'),
						parent	: $(cells[j]).attr('class').split('parent-')[1],
						index	: j
					},
					parent = {
						colspan : parseInt($('#cell-' + child.parent).attr('colspan')),
						index	: $('#studieaanbod tr:gt(0):eq(' + (index -1) + ') td').index($('#cell-' + child.parent))
					};
					
				child.index += $('#studieaanbod td.padded').length; 	
					
				for(padding=child.index; padding < parent.index; padding++) 
				{
					$('#' + child.id).before(emptycell); 
				}
				if ((j +1) == cells.length && parent.index < cellsOnRow)
				{	
					var y = parent.index + parent.colspan;
					for (var x = y; x < cellsOnRow; x++)
					{
						$('#' + child.id).after(emptycell);
					}
				}
			}
			
		}
	});
}

function vergelijk(A,B)
{
	var btnTop		= '<div id="closeIcon"><p onclick="sluitVergelijking();">Sluiten</p></div>',
		btnBottom	= '<div id="close"></div>', // <p onclick="sluitVergelijking();">Sluiten</p></div>',
		coursesA	= [],
		coursesB	= [];
		
	if (A === B) 
	{ 
		$('#uurroosters').fadeIn(1000, function () {
			$(A).addClass('floatFull').hide().fadeIn(600);
		});
	} else {
		$('#uurroosters').fadeIn(1000, function () {
			$(A).addClass('floatLeft').hide().fadeIn(600);
			$(B).addClass('floatRight').hide().fadeIn(600);
			$(B + ' td:even').addClass('mask');
		});
	}	
	$('#uurroosters-inner').before(btnTop).after(btnBottom);
	
	// Filter courses
	$(A + ' td:nth-child(even)').each(function(i){ coursesA[i] = $(this).text(); });
	$(B + ' td:nth-child(even)').each(function(i){ coursesB[i] = $(this).text(); });
		
	for (var i=0; i < coursesA.length; i++)
	{
		if (coursesA[i] == 0 && coursesB[i] == 0)
		{
			$(A + ' tr:has(td):eq(' + i + '), ' + B + ' tr:has(td):eq(' + i + ')').addClass('filtered');
		}
	}
}

function selecteer(keuze)
{
	var selected = $('#studieaanbod td.selected'),
		A = 'x',
		B = 'y';
	if (selected.length == 1) 
	{ 
		A = $('#studieaanbod td.selected:first a').attr('rel');
		B = $(keuze).attr('rel');
		vergelijk(A,B);
	}
	else if (selected.length > 1) 
	{
		$('#studieaanbod td.selected').removeClass('selected');
	}
	$(keuze).parent().addClass('selected');
	
	if ($('#studieaanbod td.selected').length == 2 || A === B) { $('#studieaanbod td.selected').addClass('show'); }
}

function sluitVergelijking()
{
	$('#uurroosters-inner > div:visible').fadeOut(1000, function(){ 
		$('#uurroosters-inner > div').removeClass('floatLeft floatRight floatFull');
		$('#studieaanbod td.selected').removeClass('selected show');
		$('#uurroosters .mask').removeClass('mask');
		$('#uurroosters .filtered').removeClass('filtered');	
	});
	$('#close, #closeIcon').fadeOut(1000, function(){ $('#close, #closeIcon').remove(); });
	$('#uurroosters').fadeOut(1200);
}

function hoverNav(parent,target)
{
	$(parent).mouseenter(function(){
		$(parent + ' > a').addClass('selected');
		$(target).stop(true,true).slideDown('fast'); 
    }).mouseleave(function(){
		$(target).stop(true,true).slideUp('fast',function(){ $(parent + ' > a').removeClass('selected'); });
    });
}

function restaurantdag()
{
	$('#aantal-1,#aantal-2,#aantal-3,#aantal-k').blur(function(){
		var toPay = 0, 
			menu = {  
			persons	: $(this).val(),
			price	: parseFloat($('#price-' + $(this).attr('id').split('-')[1]).text()),
			totalID	: '#total-' + $(this).attr('id').split('-')[1]
		};
		$(menu.totalID).text((menu.persons * menu.price) + ',00');
		toPay = parseFloat($('#total-1').text()) + parseFloat($('#total-2').text()) + parseFloat($('#total-3').text()) + parseFloat($('#total-k').text());
		$('#totaal').val( toPay + ',00'	);
	});
	$('#restaurantdag #submit').click(function(){ 
		var formdata = {
			from	: $('#restaurantdag #naam').val(),
			email	: $('#restaurantdag #email').val(),
			hour	: $("input[name='hour']:checked").val(),
			akkoord : $('#restaurantdag #akkoord').attr('checked'),
			toPay	: parseInt($('#totaal').val())
		};
		if ( formdata.toPay > 0 && formdata.hour && formdata.from.length > 1 && formdata.email.length > 5 && formdata.akkoord) { return true; } else { $('#errMsg').removeClass('noshow').text('Niet alle informatie is correct! U heeft geen naam, emailadres of bevestiging ingevuld, of mogelijk is het emailadres onbestaande.'); }
		return false; 
	});
}

function toneel()
{
	$('#option-1,#option-2').blur(function(){
		var toPay = 0, 
			menu = {  
			persons	: $(this).val(),
			price	: parseFloat($('#price-' + $(this).attr('id').split('-')[1]).text()),
			totalID	: '#total-' + $(this).attr('id').split('-')[1]
		};
		$(menu.totalID).text((menu.persons * menu.price) + ',00');
		toPay = parseFloat($('#total-1').text()) + parseFloat($('#total-2').text());
		$('#totaal').val( toPay + ',00'	);
	});
	$('#toneel #submit').click(function(){ 
		var formdata = {
			from	: $('#toneel #naam').val(),
			email	: $('#toneel #email').val(),
			day		: $("input[name='day']:checked").val(),
			akkoord : $('#toneel #akkoord').attr('checked'),
			toPay	: parseInt($('#totaal').val())
		};
		if ( formdata.toPay > 0 && formdata.day && formdata.from.length > 1 && formdata.email.length > 5 && formdata.akkoord) { return true; } else { $('#errMsg').removeClass('noshow').text('Niet alle informatie is correct! U heeft geen naam, emailadres of bevestiging ingevuld, of mogelijk is het emailadres onbestaande.'); }
		return false; 
	});
}

$(document).ready(function() {

	// Subnavigation	
	$('ul.subnav li:last-child').css({'border':'none'});
	
	// Navigation	
	hoverNav('#t-welcome','#sub-welkom');
	hoverNav('#t-school','#sub-schoolinfo');
	hoverNav('#t-study','#sub-studieaanbod');
	hoverNav('#t-events','#sub-activiteiten');

	// Make content scrollable
	var scrollable = '#sub-' + $('#nav a.active').text() + ' a:not(#goToAgenda,#goToNews,.external)';
	$(scrollable).click(function(){ scrollPage($(this).attr('rel')); return false; });
	
	// Scroll To Top Link
	$('#content div.entry').append('<a class="top" href="#" onclick="scrollPage($(\'#content div.entry:first\').attr(\'rel\')); return false;">Terug naar boven</a>');
	
	// Rotate images
	if ($('#cycle img').length > 1) { $('#cycle').cycle('fade'); }
	// IE7 Fix
	if ($.browser.msie && $.browser.version.substr(0,1) == 7) { $('#columnRight').fadeIn(); }
	
	// AAA font size
	$('#t-fontsize a').click(function(){ setFontsize($(this).attr('id')); return false; });
	
	// Coda Slider Active Month
	if ($('#slider').length) 
	{	
		var target = '#' + $('#slider').attr('class'); 
		if ($('a[href="' + target + '"]').length && target.length > 1) 
		{ 
			$('a[href="' + target + '"]').trigger('click');
		}
	}
	
	// Coda Slider Active Newsitem on homepage
	$('#newsNav a:last').trigger('click');
	// Coda Slider - hide right button
	// @FIX by Wim in coda-slider.js on rule 42!
	$('#slider img.right').hide();
	
	// Rounded Corners
	$('.corners').corner('cc:#FFF');
	
	// Tooltips
	$('body').prepend($('#uurroosters'));
	$('#studieaanbod td a').click(function(){ selecteer(this); return false; }).easyTooltip();
	$('a.infoBubble').click(function(){ return false; }).easyTooltip();
	
	// Tablefix
	if ($('#studieaanbod').length) { fixRows(); }
	
	// Forms: Restaurantdag en Toneel
	if ($('#restaurantdag').length) { restaurantdag(); }
	if ($('#toneel').length) { toneel(); }

});