function adressenlijst()
{
	var code = "";
	
	$("dd#form-item-genres input").each(function() {
		if ($(this).attr("checked")) {
			if (code) {
				code += ",";
			}
			
			code += $(this).parent().find(".hidden").html();
		}
	});
	
	$("#form_newsletter_adressenlijst_id").val(code);
	
}

function newsletterCode()
{
	$("#label-genres").hide();
	$("#form-item-genres").hide();
	$("#label-street").hide();
	$("#form-item-street").hide();
	$("#label-number").hide();
	$("#form-item-number").hide();
	$("#label-box").hide();
	$("#form-item-box").hide();
	$("#label-zip").hide();
	$("#form-item-zip").hide();
	$("#label-city").hide();
	$("#form-item-city").hide();
	$("#label-country").hide();
	$("#form-item-country").hide();
	$("#label-phone").hide();
	$("#form-item-phone").hide();
	$("#label-gsm").hide();
	$("#form-item-gsm").hide();
	$("#label-birth_date").hide();
	$("#form-item-birth_date").hide();
	
	$("#form_newsletter_newsletter").click(function() {
		if ($(this).attr("checked")) {
			$("#label-genres").show();
			$("#form-item-genres").show();
		} else {
			$("#label-genres").hide();
			$("#form-item-genres").hide();	
		}
		
	})
	
	$("#form_newsletter_magazin").click(function() {
		if ($(this).attr("checked")) {
			$("#label-street").show();
			$("#form-item-street").show();
			$("#label-number").show();
			$("#form-item-number").show();
			$("#label-box").show();
			$("#form-item-box").show();
			$("#label-zip").show();
			$("#form-item-zip").show();
			$("#label-city").show();
			$("#form-item-city").show();
			$("#label-country").show();
			$("#form-item-country").show();
			$("#label-phone").show();
			$("#form-item-phone").show();
			$("#label-gsm").show();
			$("#form-item-gsm").show();
			$("#label-birth_date").show();
			$("#form-item-birth_date").show();
		} else {
			$("#label-street").hide();
			$("#form-item-street").hide();
			$("#label-number").hide();
			$("#form-item-number").hide();
			$("#label-box").hide();
			$("#form-item-box").hide();
			$("#label-zip").hide();
			$("#form-item-zip").hide();
			$("#label-city").hide();
			$("#form-item-city").hide();
			$("#label-country").hide();
			$("#form-item-country").hide();
			$("#label-phone").hide();
			$("#form-item-phone").hide();
			$("#label-gsm").hide();
			$("#form-item-gsm").hide();
			$("#label-birth_date").hide();
			$("#form-item-birth_date").hide();
		}
		
	})
}

$(function(){
	newsletterCode();
	$("dd#form-item-genres input").click(function() {
		adressenlijst();
	});
	
	fixFlash();
	$('a.print').click(function(evt){
		evt.preventDefault();
		window.print();
	});
	$('a.yt-colorbox').each(function() {
		$(this).colorbox({title:$(this).data('link'), iframe:true, innerWidth:$(this).data('width'), innerHeight:$(this).data('height')});
	})
	

	if ($.browser.msie && parseFloat($.browser.version) < 8) {
		$('h3').css('display', 'inline');
	}
	
	$('div.header a.toggler').click(function(){
		$(this).parent().siblings('.content').toggle();
		$(this).text(($(this).text() == '+') ? '-' : '+');
	});
	
	$('#navigation ul.subnavigation.multicolumn').makeacolumnlists({cols:2, colWidth:100, equalHeight:true});
	
	var totalWidth = 0;
	$('#navigation li.nav-main-item').each(function(){
		totalWidth += $(this).outerWidth(true);
	});
	if (totalWidth > $('#footer-content').width()) {
		$('#footer-content').width(totalWidth);
	}
	
	//make blocks clickable
	$('div.list-item').find('a').click(function(evt){
		evt.preventDefault();
	});
	
	$('div.list-item').click(function(evt){	
		var $link = $('a', this);
		var url = $link.attr('href');
		
		if ($link.hasClass('tickets-link-external')) {
			window.open(url);
		} else {
			window.location = url;
		}
	});
	
	/** CREATE JUMPLINKS FOR EVERY H3 IN INFO TEXT **/
	
	var $jumplinks = $('<div id="jumplinks"></div>');
	var count = 1;
	var size = $('#detail-page-article h3').size();
	if (size > 1) {
		$('#detail-page-article h3').each(function(){
			var link = $(this).text().replace(/[^a-zA-Z0-9]+/g,'-').toLowerCase().trim();
			$(this).attr('id', link);
			$jumplinks.append($('<a href="#' + link + '">' + $(this).html() + '</a>'));
			if (count < size) {
				$jumplinks.append($('<span class="seperator"> | </span>'));
			}
			count++;
		});
		$('#detail-page-article div.info').before($jumplinks);
	}
	
	
	
	/*** FIX HTML5 ***/	
	//inputs: placeholder attribute
	if(!Modernizr.input.placeholder){
		$(":input[placeholder]").placeholder();
	}
	

	//add rounded corners
	
	$('.rounded.large').css('position', 'relative').css('z-index', '0').wrap('<div class="imageholder" style="position:relative;"></div>').after('<div class="corner" style="z-index:1; position:absolute; bottom:0; left:0; width:52px; height:52px; pointer-events:none; background:url(/media/images/interface/rounded-bl.png) no-repeat;"></div>').after('<div class="corner" style="z-index:1; position:absolute; top:0; right:0; width:52px; height:52px; pointer-events:none; background:url(/media/images/interface/rounded-tr.png) no-repeat;"></div>');
	$('.rounded.small').css('position', 'relative').css('z-index', '0').wrap('<div class="imageholder" style="position:relative;"></div>').after('<div class="corner" style="z-index:1; position:absolute; bottom:0; left:0; width:26px; height:26px; pointer-events:none; background:url(/media/images/interface/rounded-small-bl.png) no-repeat;"></div>').after('<div class="corner" style="z-index:1; position:absolute; top:0; right:0; width:26px; height:26px; pointer-events:none; background:url(/media/images/interface/rounded-small-tr.png) no-repeat;"></div>');
	
	//	toggle image slideshow in text pages
	var numSlides = $('#detail-page-article #images .image').size();
	if (numSlides > 1) {
		$('.imageholder').after('<div id="cycle-nav">');
		$('#cycle-nav').after('<div class="clearfix">')
		$('#detail-page-article #images').cycle({
			fx: slideshow_transition, 
			timeout: slideshow_timeout * 1000,
			next: '#images .next',
			prev: '#images .prev',
			pager: '#cycle-nav'
		});
		$('#cycle-nav a:last-child').after('<div class="clearfix">');
	} else {
		$('#detail-page-article #images span.prev, #detail-page-article #images span.prev span.next').hide(); 
	}
	
	/*** SEARCH  AUTOCOMPLETE ***/
	var suggestCache = {}, lastXhr;
	$('#search-input').autocomplete({
		source: function(request, response) {
			var term = request.term;
			if(term in suggestCache){
				response(suggestCache[term]);
				return;
			}			
			lastXhr = $.getJSON('/ajax/suggest', request, function(data, status, xhr){
				suggestCache[term] = data;
				if(xhr == lastXhr)
					response(data);
			});
		},
		minLength: 2,
		select: function(event, ui){
			$('#search-form').submit();
		},
		appendTo: '#search'
	});
	
	/*** CREATE TAGCLOUD ***/
	//$('ul#tagcloud').tagcloud({type:"list", sizemin:8, sizemax:30, colormin:"FFF", colormax:"FFF"});
	
	/*** COLORBOX ***/	
	$('a.colorbox').colorbox({
		current: "{current} van {total}"
	});
	
	/*** FIX EXTERNAL LINKS ***/
	$('a.external').click(function(evt){
		evt.preventDefault();
		window.open($(this).attr('href'));
	});
	
	/*** CALENDAR ***/
	$.ajax({
		type: "POST",
		url: "/ajax/get-calendar-all/",
		success : function(msg) {
			$('div.cal.current').html(msg);
			loadNewCalendars();
			$('#calendar .navigator.prev img').live('click', function(){
				var $curcal = $('#calendar .cal.current');
				var $prevcal = $curcal.prev('.cal');
				var $nextcal = $curcal.next('.cal');
				$prevcal.show().animate({'opacity' : 1, 'left' : 0}).toggleClass('current');
				$curcal.animate({'opacity' : 0, 'left' : 100}, function(){ $(this).hide(); }).toggleClass('current');
				var date = $(this).parent().attr('id');
				$.ajax({
					type: "POST",
					url: "/ajax/set-calendar-date/",
					data: "date=" + date
				});
				loadNewCalendars();
			});
			$('#calendar .navigator.next img').live('click', function(){
				var $curcal = $('#calendar .cal.current');
				var $prevcal = $curcal.prev('.cal');
				var $nextcal = $curcal.next('.cal');
				var wait = $nextcal.find('.loading').length == 1;
				$curcal.animate({'opacity' : 0, 'left' : -100}, function(){ $(this).hide(); }).toggleClass('current');
				$nextcal.show().animate({'opacity' : 1, 'left' : 0}).toggleClass('current');
				var date = $(this).parent().attr('id');
				$.ajax({
					type: "POST",
					url: "/ajax/set-calendar-date/",
					data: "date=" + date
				});
				loadNewCalendars(wait);
			});
			function loadNewCalendars(chained)
			{
				var $curcal = $('#calendar .cal.current');
				
				var loading = loadtext;
				
				//maak vorige maand aan
				if($curcal.prev('.cal').length == 0){
					var date = $curcal.find('.navigator.prev').attr('id');
					if(date != undefined && date != ''){
						var $prevcal = $('<div class="cal"><span class="loading">'+loading+'</span></div>').insertBefore($curcal);
						$prevcal.fadeTo(0, 0).css('left', -100).hide();
						$.ajax({
							type: "POST",
							url: "/ajax/get-calendar/",
							data: "date=" + date + '&useSession=false',
							success : function(msg) {
								$prevcal.html(msg);
								loadNewCalendars();
							}
						});
					}
				}
				
				//maak volgende maand aan
				if($curcal.next('.cal').length == 0){
					var date = $curcal.find('.navigator.next').attr('id');
					if(date != undefined && date != ''){
						var $nextcal = $('<div class="cal"><span class="loading">'+loading+'</span></div>').insertAfter($curcal);
						$nextcal.fadeTo(0, 0).css('left', 100).hide();
						$.ajax({
							type: "POST",
							url: "/ajax/get-calendar/",
							data: "date=" + date + '&useSession=false',
							success : function(msg) {			
								$nextcal.html(msg);
								loadNewCalendars();
							}
						});
					}
				}
			}
		}
	});
	
	
	$('a.disabled').click(function(evt){
		evt.preventDefault();
	});
	$('#blog-list li').click(function(){
		window.location = $(this).find('a').attr('href');
	});
	
	/*** SHOW BACKGROUND ***/
	$('#highlight a, #highlight span').hover(function() {
		$('#center, #search, #body-overlay, #fontsizes').css('visibility', 'hidden');
	}, function(){
		$('#center, #search, #body-overlay, #fontsizes').css('visibility', 'visible');
	});
	
	/*** FONTSCALE ***/	
	if ($.cookie('fontsize')) {
		var f = $.cookie('fontsize');
		if (f != "normal")
			$('div.info, div.title, div.date, div.performer, #navigation').addClass('fontsize-'+f);
		$('#fontsize a').removeClass('active');
		$('#fontsize-' + f).addClass('active');
	}
	$('#fontsize-normal').click(function(e){
		e.preventDefault();
		$('#fontsize a').removeClass('active');
		$(this).addClass('active');
		$('div.info, div.title, div.date, div.performer, #navigation').removeClass('fontsize-large fontsize-huge');
		$.cookie('fontsize', 'normal', {  path: '/' });
	});	
	$('#fontsize-large').click(function(e){
		e.preventDefault();
		$('#fontsize a').removeClass('active');
		$(this).addClass('active');
		$('div.info, div.title, div.date, div.performer, #navigation').removeClass('fontsize-huge').addClass('fontsize-large');
		$.cookie('fontsize', 'large', {  path: '/' });
	});
	
	$('#fontsize-huge').click(function(e){
		e.preventDefault();
		$('#fontsize a').removeClass('active');
		$(this).addClass('active');
		$('div.info, div.title, div.date, div.performer, #navigation').removeClass('fontsize-large').addClass('fontsize-huge');
		$.cookie('fontsize', 'huge', {  path: '/' });
	});
	
});
function fixFlash()
{
	var wmode = "opaque";
	
	$("embed").attr("wmode", wmode);

	var embedTag;
    $("embed").each(function(i) {
        embedTag = $(this).attr("outerHTML");
        if ((embedTag != null) && (embedTag.length > 0)) {
            embedTag = embedTag.replace(/embed /gi, "embed wmode=\"" + wmode + "\" ");
            $(this).attr("outerHTML", embedTag);
        }
        // This "else" was added
        else {
            $(this).wrap("<div></div>");
        }
    });
    
    $("iframe").each(function() {
    	if ($(this).attr("src").indexOf("youtube") != -1) {
    		$(this).attr("src", $(this).attr("src") + "?wmode=Opaque");
    	}    	
    })
}
function toggleTooltip(options)
{
	var settings = {
		show : true,
		content : '',
		effect : ''
	};
	
	$.extend(settings, options);
	
	if (settings.content)
		$('#tooltip-content').html(settings.content);
	var $tooltip = $('#tooltip');
	$tooltip.stop();
	
	if (settings.show) {
		if (settings.effect == 'fade') {
			$tooltip.fadeTo(200, 1);
		} else {
			$tooltip.show();
		}
		
		$(document).bind('mousemove', function(e){
			var width = $('#tooltip').width();
			if (e.pageX + width > $(window).width()) {
				$tooltip.css('left', e.pageX - width - 15).css('top', e.pageY + 5);
			} else {
				$tooltip.css('left', e.pageX+15).css('top', e.pageY+5);
			}
		});
	} else {
		if (settings.effect == 'fade') {
			$tooltip.fadeTo(200, 0);
		} else {
			$tooltip.hide();
		}		
		
		$(document).unbind('mousemove');
	}	
}
$('#calendar .day.selected').live('mouseover', function(){
	toggleTooltip({
		content : $('.content', this).html(),
		effect : 'fade'
	});
}).live('mouseout', function(){
	toggleTooltip({
		show : false
	});
}).live('click', function(){
	window.location = $(this).attr('rel');
});

var validate = true;
function validate_form(form) {
	
	//functie die automatisch een formulier valideert via ajax, je moet hier niets veranderen
	$("#form-item-genres").attr("class", "");
	$("#form-item-newsletter").attr("class", "");
	$("#form-item-magazin").attr("class", "");
	$("#" + form + "_submit").hide();
	var validate = true;
	
	if (form == "form_reserve") {
		form = "form_abo";
		var r1Obj = $("#form_abo_r1_id");
		var r2Obj = $("#form_abo_r2_id");
		if (r1Obj.val() == r2Obj.val()) {
			r1Obj.attr("class", "error");
			r2Obj.attr("class", "error");
			validate = false;
		}
	}

	if (validate) {
		var params = $("#" + form).serialize();
		params += "&form_id=" + form;
		params += "&id=" + id;

		if (params.indexOf("form_abo_voornaam1") == -1) {
			var aantal = $("#form_abo_aantal");
			
			for (var i = 0; i < aantal; i++) {
				params += "&form_abo_voornaam" + (i+1) + "=" + $("form_abo_voornaam" + (i+1));
			}
		}
		
		
		$("#submit_form").attr("disabled", true);
		$("#submit_form").hide();
		
		
		$.ajax( {
			type : "POST",
			url : "/ajax/validate-form/",
			data : params,
			success : function(msg) {
				if (form != "form_event_surfer") {
					$("#" + form + "_submit").show();
				} else {
					$("#submit_form").show();
				}
				
				validate = true;
				
				$("#submit_form").removeAttr("disabled");
			
				msg = eval(msg);
	
				$("input, textarea, select").each( function() {
					if (this.id.indexOf(form) != -1) {
			
						$(this).removeClass("error");
						$(this).removeClass("error_text");
						$(this).addClass($(this).attr("type"));
					}
				});
	
				if (msg) {
					var goNext = true;
					

				
					
					if (form == "form_abo") {
						goNext = false;						
					}
					
					if (msg[0]) {
						
						$("#submit_form").show();
					
						for ( var i = 0; i < msg[1].length; i++) {
							if (msg[1][i] == "form_newsletter_genres") {
								
								$("#form-item-genres").attr("class", "error");
							} else {
								var obj = $("#" + msg[1][i]);
								
								
								
								if (!obj.attr("id")) {
									$('input').each( function() {
										if (this.id.indexOf(msg[1][i])!=-1) {	
											
											obj = $("#" + this.id);
										}
									});
									
								}
									
								if (i == 0) {
									obj.focus();
									obj.select();
								}
								
								var error = "error";
								var type = obj.attr("type");
								
								if (type == "text" || type == "password") {
									error += "_" + type;
							}
	
							if (obj.attr("type") == "checkbox") {
								obj.parent().attr("class", error);			
							}
							obj.attr("class", error);
							}
						}
					} else if (goNext) {
						if (form == "form_contact") {
							$("#form_contact").addClass("hidden");
							$("#contact-form-thankyou").removeClass("hidden");
						} else if (form == "form_newsletter") {
							$("#form_newsletter").addClass("hidden");
							$("#newsletter-form-thankyou").removeClass("hidden");
						} else if (form == "form_person") {
							repetitionSubmit();
						} else if (form == "form_friend") {
							$('#form_friend').replaceWith("<p>Bedankt,<br />Je bericht werd verzonden.</p>");
						} else if (form == "form_school") {
							$("#form_school").replaceWith($('#school-thank-you').html());
						}
					} else {
						$("div.form-input").hide();
						$("div.form-thankyou").show();
					}
		
				}
			}
	});
	}
	
	return false;
}

function checkField(field)
{
	var val = $("input#" + field).val();
	
	if (val && val != $("input#" + field).attr("rel")) {
		return val;
	} else {
		setFieldError(field);
		return false;
	}
}

function setFieldError(field)
{
	$("input#" + field).removeClass("normal");
	$("input#" + field).addClass("error");
	$("input#" + field).focus();
}

function removeFieldError(field)
{
	$("input#" + field).removeClass("error");
	$("input#" + field).addClass("normal");
}

function isEmail(str) {

	if (str) {
		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		
		if (str.indexOf(at)==-1){
		   return false;
		}
	
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false;
		}
	
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false;
		}
	
		 if (str.indexOf(at,(lat+1))!=-1){
		    return false;
		 }
	
		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false;
		 }
	
		 if (str.indexOf(dot,(lat+2))==-1){
		    return false;
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false;
		 }
	}
	
	return true;					
}


function formCode(form)
{
	$("#" + form + "_submit").click(function(){
		validate_form(form)
		return false;
	});
}

if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
  }
}
