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(){	
	
	$('#body.niv2 #header-banner').height($('#body').height());
	
	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').css('cursor', 'pointer')
	.hover(function(){
		$('a.read-more', this).toggleClass('hover');
	})
	.click(function(evt){	
		var $link = $('a.list-item-link', this);
		var url = $link.attr('href');
		
		if ($link.hasClass('tickets-link-external')) {
			window.open(url);
		} else {
			window.location = url;
		}
	})
	.find('a').click(function(evt){
		evt.preventDefault();
	});	
	
	/** * 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'
	});
	
	/** * COLORBOX ** */	
	$('a.colorbox').colorbox({
		current: "{current} van {total}",
		width: 800
	});
	
	/** * 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');
	});
	
	/** * FONTSCALE ** */	
	/*if ($.cookie('fontsize')) {
		var f = $.cookie('fontsize');
		if (f != "normal")
			$('div.info, div.title, div.date, div.performer, #menu a').addClass('fontsize-'+f);
		$('#fontsize a').removeClass('active');
		$('#fontsize-' + f).addClass('active');
	}
	$('#fontsize-normal').click(function(e){
		e.preventDefault();
		$(this).siblings().removeClass('active');
		$(this).addClass('active');
		$('div.info, div.title, div.date, div.performer, #menu a').removeClass('fontsize-large fontsize-huge');
		$.cookie('fontsize', 'normal', {  path: '/' });
	});	
	$('#fontsize-large').click(function(e){
		e.preventDefault();
		$(this).siblings().removeClass('active');
		$(this).addClass('active');
		$('div.info, div.title, div.date, div.performer, #menu a').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 : '',
		align : '',
	};
	
	$.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() && !settings.align == "right") {
				$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, ''); 
  }
}
