jQuery.fn.exists = function(){return jQuery(this).length>0;}

function stem_op_leedje(leedje_id,voornaam,achternaam,email,geslacht,aanmelden) {
	var data = '';
	
	
	data 		+= '&leedje_id=' 		+ leedje_id;
	data 		+= '&voornaam=' 		+ voornaam;
	data 		+= '&achternaam=' 		+ achternaam;
	data 		+= '&geslacht=' 		+ geslacht;
	data 		+= '&email=' 			+ email;
	data 		+= '&aanmelden='		+ aanmelden;
	
	jQuery.ajax(
			{
				url: 'http://www.janlinders.nl/ajax_requests/leedjesstem/',
				type: 'POST',
				async: false,
				dataType: 'text',
				data: data,
				success: function(response)
				{
					
					$(".leedjes_contain_"+leedje_id).slideUp('slow');
					$(".vote_add_container_"+leedje_id).slideDown('slow');
					
					$('.close_leedje:visible').bind("click",function(){
						$('.leedje_1285').fadeOut('slow');
						$('.leedje_1285').addClass('hidden');
						return false;
					});
					
				},
				error:function (xhr, ajaxOptions, thrownError){
					var errors = xhr.responseText;
					
					$(".error_"+leedje_id).html("De volgende fout is opgetreden: <br/><span class='error_popup'> - "+errors+"  </span>");
					
					
					
					$(".error_"+leedje_id).slideDown('slow');
					
					
					
                }    
			});
}

function ophalen_boodschappen() {
	var data = '';
	data 		+= '&member_id=' 		+ $("#member_id").val();
	
	
	if($("#recept_id").val() == '') { alert("Recept is ongeldig"); return false; }
	if($("#recept_naam").html() == '') { alert("Recept is ongeldig"); return false; }
	if($("#member_id").val() == '' && $("#member_id").val() == '0') { alert("Je bent niet ingelogd!"); return false; }
	
	
	jQuery.ajax(
			{
				url: 'http://www.janlinders.nl/ajax_requests/gebruikerrecept/',
				type: 'POST',
				async: false,
				dataType: 'json',
				data: data,
				success: function(response)
				{
					if (response)
					{
						alert("Recept is opgeslagen!");
					}
				}
			});
}




function sla_recept_op() {
	var data = '';
	data 		+= '&member_id=' 		+ $("#member_id").val();
	data 		+= '&recept_id=' 		+ $("#recept_id").val();
	data 		+= '&recept_naam=' 		+ escape($("#recept_naam").html());
	data 		+= '&beoordeling=' 		+ $(".star").attr('id');
	
	if($("#recept_id").val() == '') { alert("Recept is ongeldig"); return false; }
	if($("#recept_naam").html() == '') { alert("Recept is ongeldig"); return false; }
	if($("#member_id").val() == '' || $("#member_id").val() == '0') { alert("U bent niet ingelogd op Mijn Jan Linders. Heeft u nog geen Mijn Jan Linders account? U kunt zich gratis en vrijblijvend registeren voor Mijn Jan Linders"); return false; }
	
	jQuery.ajax(
			{
				url: 'http://www.janlinders.nl/ajax_requests/gebruikerrecept/',
				type: 'POST',
				async: false,
				dataType: 'json',
				data: data,
				success: function(response)
				{
					if (response)
					{
						alert("Recept is opgeslagen!");
					}
				}
			});
}

function verwijder_recept(id) {
	if(id == '') return;
	
	var org_id = id; 
	var split = id.split('-');
	var id = split[0];
	
	
	var data = '';
	data 		+= '&id=' 		+ id;
	
	jQuery.ajax(
			{
				url: 'http://www.janlinders.nl/ajax_requests/verwijder_recept/',
				type: 'POST',
				async: true,
				dataType: 'json',
				data: data,
				success: function(response)
				{
					if (response)
					{
						$("#"+org_id).parents('tr').slideUp('slow');
					}
				}
			});
}

function verwijder_lijst(id) {
	if(id == '') return;
	
	var org_id 	= id; 
	var split 	= id.split('-');
	var id 		= split[0];
	var data 	= '';
	
	data 		+= '&id=' 		+ id;
	
	jQuery.ajax(
			{
				url: 'http://www.janlinders.nl/ajax_requests/verwijder_lijst/',
				type: 'POST',
				async: true,
				dataType: 'json',
				data: data,
				success: function(response)
				{
					if (response)
					{
						$("#"+org_id).parents('span').slideUp('slow');
					}
				}
			});
}



function sla_lijst_op() {
	var ul = '';
	
	$('#shoppinglist_container ul li').each(function() {
        var value = $(this).find('a').text();
        ul += encodeURI(value) + "|";
        
    });
	
	var data = '';
	data 		+= '&member_id=' 		+ $("#member_id").val();
	data 		+= '&boodschappen=' 		+ ul;
	var member_id = $("#member_id").val();
	
	if(ul.length < 2) { alert("Je hebt nog geen producten in de boodschappenlijst..."); return false; }
	if($("#member_id").val() == '' || $("#member_id").val() == '0') { alert("U bent niet ingelogd op Mijn Jan Linders. Heeft u nog geen Mijn Jan Linders account? U kunt zich gratis en vrijblijvend registeren voor Mijn Jan Linders"); return false; }
	
	jQuery.ajax(
			{
				url: 'http://www.janlinders.nl/ajax_requests/boodschappenlijst/',
				type: 'POST',
				async: false,
				dataType: 'json',
				data: data,
				success: function(response)
				{
					if (response)
					{
						alert("Boodschappen zijn opgeslagen!");
					}
				}
			});
}


function get_append_value(value, max) {
	var append_value = false;
	
	if(value.length > max) { 
		
		append_value = "<li><a class='delete_product' title='"+value+"' href='#'>"+ value.substring(0,33)+'...'+"</a>" +
						"</li>";
		
	} else {
		append_value = "<li><a class='delete_product' title='"+value+"' href='#'>"+ value +"</a>" +
					   "</li>";
	}
	
	return append_value;
}



var janlinders = {
		boodschappen : function(){
			// Kijk of het boodschappenlijstje bestaat
			if($('#shoppinglist').length != 0) { 
			
			// Cookie naam instellen
			var $cookie_name = "Boodschappen";
			var cookie = $.cookie($cookie_name);
			var boodschappenlijst = cookie ? cookie.split("|") : new Array();
			
			
			
			// Bestaat deze cookie al? Zorg dan dat de BS lijst wordt gevuld
			if($.cookie($cookie_name)) {
				$("#floating_object").hide();
				if(boodschappenlijst.length != 0) { 
					
					$.each(boodschappenlijst, function(index, value) {
						var append_value = get_append_value(value, 35);
						$("#shoppinglist_container > ul").append(append_value);
					});
					
					$('.delete_product').bind("click",function(){
						var element = $(this).closest('li').remove();
						return false;
					});
				} else { // Reset de boodschappen want opgeslagen cookie is leeg
						 $("#shoppinglist_container > ul").html(''); 
						 $.cookie($cookie_name, null, { expires: 14, path: '/' });
				}
			} else {
				// Reset de boodschappen want cookie bestaat niet
				$.cookie($cookie_name, null, { expires: 14, path: '/' });
				$("#shoppinglist_container > ul").html('');
			}
			// Reset het boodschappenlijstje want op delete_all geklikt
			$(".delete_all_products").bind("click", function() {
				boodschappenlijst = new Array();
				$("#shoppinglist_container > ul").html('');
				$.cookie($cookie_name, null, { expires: 14, path: '/' });
				
				return false;
			});
			$(".readlist").bind("click", function() {
				
				var id = $(this).attr('id');
				var split = id.split('-');
				id = split[0];
				var list = $('#'+id+'-show');
				
				boodschappenlijst = new Array();
				
				$("#shoppinglist_container > ul").html('');
				
				$('li', list).each(function() {
					var value = $(this).html();
					var append_value = get_append_value(value, 35);
					
					boodschappenlijst.push(value);
					$("#shoppinglist_container > ul").append(append_value);
				});
				
				$.cookie($cookie_name, boodschappenlijst.join('|'),{ expires: 14, path: '/' });
				
				return false;
			});
			
			/*
			 * 	Eigen product toevoegen aan de cookie wanneer er op de Voeg Toe knop wordt gedrukt
			 * 
			 */
			$('.submit_own_product').bind("click",function(){
				var value = $("#shoppinglistInput").val();
				var append_value = get_append_value(value, 35);
				
				if(value == 'Voeg eigen product toe' || value == '') { return false; }
				
				boodschappenlijst.push(value);
				$.cookie($cookie_name, boodschappenlijst.join('|'),{ expires: 14, path: '/' });
				
				$("#shoppinglist_container > ul").append(append_value);
				$("#shoppinglistInput").val('');
				
				$('.delete_product').bind("click",function(){ 	$(this).closest('li').remove(); return false; });
				$('#main').animate({height: '+=20'}, 1000, function() { /* No Callback */ });
				
				return false;
			});
			/*
			 * 	Eigen product toevoegen aan de cookie wanneer er op enter is gedrukt..
			 * 
			 */			
			$('#shoppinglistInput').keypress(function(e) {
		        if(e.which == 13) {
					var value = $("#shoppinglistInput").val();
					var append_value = get_append_value(value, 35);
					
					if(value == 'Voeg eigen product toe' || value == '') { return false; }
					
					boodschappenlijst.push(value);
					$.cookie($cookie_name, boodschappenlijst.join('|'),{ expires: 14, path: '/' });
					
					$("#shoppinglist_container > ul").append(append_value);
					$("#shoppinglistInput").val('');
					
					$('.delete_product').bind("click",function(){ 	$(this).closest('li').remove(); return false; });
					$('#main').animate({height: '+=20'}, 1000, function() { /* No Callback */ });
					
					return false;
		            
		        }
		    });
			/*
			 * 	Sla de lijst op
			 * 
			 */	
			$('.save_products').bind("click", function() {
				if(sla_lijst_op()) alert("Uw boodschappenlijst is opgeslagen");
				return false;
			});
			/*
			 * 	Verwijder een product uit de lijst
			 * 
			 */	
			$('.delete_product').bind("click",function(){
				// Verwijder element uit ul
				var element = $(this).closest('li').remove();
				var boodschappenlijst = new Array();
				
				// Maak een nieuw boodschappenlijstje aan
				$('#shoppinglist_container > ul > li > a').each(function(index) {
					var value = $(this).html();
					if(value.length > 32) { var value = $(this).attr('title'); 	} 
					boodschappenlijst.push(value);
				});
				
				$.cookie($cookie_name, boodschappenlijst.join('|'),{ expires: 14, path: '/' });

				return false;
			});
			/*
			 * 	Voeg een geheel recept toe
			 * 
			 */	
			$('.add_all').bind("click",function(){
				$('#ingredients > li').each(function() {
					var value = $(this).html();
					var append_value = get_append_value(value, 35);
					
					boodschappenlijst.push(value);
					$("#shoppinglist_container > ul").append(append_value);
				});
				
				$('.delete_product').bind("click",function(){
					var element = $(this).closest('li').remove();
					return false;
				});
				
				$.cookie($cookie_name, boodschappenlijst.join('|'),{ expires: 14, path: '/' });
				return false;
			});
			/*
			 * 	Voeg ingredient uit recept toe aan de lijst
			 * 
			 */	
			$("#ingredients > li").bind("click", function() {
				var value = $(this).html();
				
				boodschappenlijst.push(value);
				$.cookie($cookie_name, boodschappenlijst.join('|'),{ expires: 14, path: '/' });
				
				var append_value = get_append_value(value, 35);
				
				$("#shoppinglist_container > ul").append(append_value);
				
				$('.delete_product').bind("click",function(){
					var element = $(this).closest('li').remove();
					return false;
				});
			});
			/*
			 * 	Voeg een actieproduct aan de boodschappenlijst toe
			 * 
			 */	
			$(".action").parents(".grid_12").bind("click", function(e) {
				var value = $(this).find('h4').html();
				boodschappenlijst.push(value);
				$.cookie($cookie_name, boodschappenlijst.join('|'),{ expires: 14, path: '/' });
				
				var append_value = get_append_value(value, 35);
				
				$("#shoppinglist_container > ul").append(append_value);
				
				$('.delete_product').bind("click",function(){
					var element = $(this).closest('li').remove();
					return false;
				});
			});
			$(".action").parents(".grid_6").bind("click", function(e) {
				var value = $(this).find('h4').html();
				boodschappenlijst.push(value);
				$.cookie($cookie_name, boodschappenlijst.join('|'),{ expires: 14, path: '/' });
				
				var append_value = get_append_value(value, 35);
				
				$("#shoppinglist_container > ul").append(append_value);
				
				$('.delete_product').bind("click",function(){
					var element = $(this).closest('li').remove();
					return false;
				});
				
			}); 
				
			$('.share_list').bind("click",function(){
				var list = "<ul>";
				$('#shoppinglist_container > ul > li > span').each(function(index) {
					var value = $(this).html();
					var append_value = get_append_value(value, 80);
					list += append_value;
				});
				list += "</ul>";
				
				var element = $('#shoppinglist').prev('.popup_share').fadeIn('slow');
				$(element).slideDown('slow');
				
				
				var boodschappen = $("#shoppinglist_container").html();
				$(element).find('.popup_omschrijving').html(list);
				
				$(element).find('.delete_product').addClass('shopping_share_li');
				$(element).find('.delete_product').removeClass('delete_product');
				$('.popup_list').fadeIn('slow')
				return false;
			});
			
			
			}
			
		},

		
		
		textresize : function(){
			/*	DTPN: Function to resize text on website */
			var $cookie_name = "JanLinders-FontSize";
			var originalFontSize = $("#main").css("font-size");
			
			// 	Check existence of cookie, or create
			if($.cookie($cookie_name)) {
				var $getSize = $.cookie($cookie_name);
				$("#main").css({fontSize : $getSize + ($getSize.indexOf("px")!=-1 ? "" : "px")}); // IE fix for double "pxpx" error
			} else {
				$.cookie($cookie_name, originalFontSize);
			}
			// reset link
			$("#text_resize_normal").bind("click", function() {
				$("#main").css("font-size", originalFontSize);
				$.cookie($cookie_name, originalFontSize);
			});
			// text "+" link
			$("#text_resize_big").bind("click", function() {
				var currentFontSize = $("#main").css("font-size");
				var currentFontSizeNum = parseFloat(currentFontSize, 10);
				var newFontSize = currentFontSizeNum+1;
				if (newFontSize) {
					$("#main").css("font-size", newFontSize);
					$.cookie($cookie_name, newFontSize);
				}
				return false;	
			});
		}
}

var toggle_popup = 0;


function strip(html)
{
   var tmp = document.createElement("DIV");
   tmp.innerHTML = html;
   return tmp.textContent||tmp.innerText;
}

function popup_more_information() {
	if(toggle_popup == 0) {
		$("#content").prepend('<div id="uitleg" class="popup_share"><div class="top"></div><div class="middle"><div class="popup_txt news_popup"><a class="close close_mark close_info" title="Sluit popup" href="#">Sluiten</a><h3>Uitleg Mijn Jan Linders</h3><div class="dots_horizontal_news"></div><p class="txtblack">Mijn Jan Linders is uw persoonlijke website. Sla uw favoriete recepten op en deel ze met vrienden. Maak en bewaar uw boodschappenlijstjes. Verder vindt u er ook alle nuttige informatie over uw Jan Linders supermarkt. Ontdek de mogelijkheden en meld u aan.</p></div></div><b></b>	<div class="bottom"></div></div>');
		toggle_popup = 1;
		
		$('.close_info').bind("click",function(){
			$("#uitleg").remove();
			toggle_popup = 0;
			return false;
		});
		
	}
	else { 
		toggle_popup = 0;
		$("#uitleg").remove();	
	}
}




$(document).ready(function() {
	// Text Resize
	janlinders.textresize();
	
	// Boodschappenlijst
	janlinders.boodschappen();
	
	// FancyBox
	$(".fancybox").fancybox();
	$(".fancyboxtrigger").bind("click", function(){
		$("a.fancybox").first().trigger("click");
		return false;
	});
	
	// Printen
	$(".print_products").click(function(){
		var list_title = "Boodschappenlijst";
		$("#shoppinglist_container").printElement({printMode:'popup',leaveOpen:false,pageTitle:list_title});
		return(false);
	});	
	
	$(".print_recipe").click(function() {
		var recipe_title = $("#recept_naam").html();
		$(".recept_to_print").printElement({printMode:'popup',leaveOpen:false,pageTitle:recipe_title});
		
		return(false);
	});

	
	
	$(".print_news").click(function(){
		var news_title = $(".news_title").html();
		$(".to_print").printElement({printMode:'popup',leaveOpen:false,pageTitle:news_title});
		return(false);
	});
	
	$('.save_recipe').bind("click",function(){
		sla_recept_op();
		window.location.reload();
	});

	// Labels geven aan Input velden
	$("input").not('.nolabelify').labelify({ text: "label" });
	
	// Veelgestelde vragen
	$(".veelgesteldevraag_p").hide();
	$(".veelgesteldevraag_p:first").slideDown();
	
	$(".veelgesteldevraag_title").bind("click",function() {
		if($(this).next().not(':visible')){
			var itemToOpen = $(this);
			$(".veelgesteldevraag_p:visible").hide('fast', function() {
				$(itemToOpen).next().slideDown('slow');
			});
		}
	});
		
	// Selectboxxen
	//$('#question_type, #region, #branch, #title, #Items, #country').sSelect();
	$('.newListSelected').addClass('rounded_selectbox');
	
	// Dropdown
	$('#question_type, #region, #branch, #title, #Items, #country').change(function(){
		var chosenItem = $(this).val();

		if(chosenItem != ""){
			//Niet hetzelfde: Haal error label weg
			$(this).next().css('background-image','url("/images/bg_select2.png")');
		} else { 
			//Hetzelfde: zet label weer terug
			$(this).next().css('background-image','url("/images/bg_select2_error.png")');
		} 
	});

	$('.close_mark').bind("click",function(){
		
		$(this).closest('.popup_share').fadeOut('slow');
		$(this).closest('.e-mail-share').fadeOut('slow');
		
		return false;
	});
	
	$('.share_recipe').bind("click",function(){
		var element = $(this).closest('.grid_24').children('.popup_share');
		$('.popup_rece').fadeIn('slow')
		$(element).fadeIn('slow');
		return false;
	});
	
	$('.verwijder_recept').bind("click",function(){
		var id = $(this).attr('id');
		verwijder_recept(id);
		return false;
	});
	
	$('.delete_list').bind("click",function(){
		var id = $(this).attr('id');
		
		verwijder_lijst(id);
		window.location.reload();
		return false;
	});
	
	
	$('.share_news').bind("click",function(){
		var element = $(this).closest('.grid_18').children('.popup_share').fadeIn('slow');
		$('.popup_news').fadeIn('slow')
		return false;
	});
	
	$('.sharelinklist').bind("click",function(){
		var mailelement = $('.sharelink').closest('.middle').find('.e-mail-share');
		var news_popup = $('.sharelink').closest('.middle').find('.news_popup');
		var list = new Array();
		
		$('#shoppinglist_container > ul > li > span').each(function(index) {
			var value = $(this).html();
			list.push(value);
		});
		
		$(".listmessage").val("Ik wil graag mijn boodschappenlijstje met je delen: \n\n" + list.join('\n'));
		
		$(news_popup).slideUp('slow', function() {
			$(mailelement).slideDown('slow');
		});
		
		return false;
	});

	
	$('.sharelinknews').bind("click",function(){
		var mailelement = $('.sharelink').closest('.middle').find('.e-mail-share');
		var news_popup = $('.sharelink').closest('.middle').find('.news_popup');
		var list = new Array();
		
		$('#shoppinglist_container > ul > li > span').each(function(index) {
			var value = $(this).html();
			list.push(value);
		});
		
		$(news_popup).find('.popup_omschrijving > ul').html();
		var value = $(".nieuwsberichtdiv").html();
		value = strip(value);
		$("#message").val("Bekijk dit nieuwsbericht van Jan Linders:  \n\n" + window.location.href + "\n\n" + value);
		
		$(news_popup).slideUp('slow', function() {
			$(mailelement).slideDown('slow');
		});
		
		return false;
	});
	
	$('.sharelinkrecepy').bind("click",function(){
		var mailelement = $('.sharelink').closest('.middle').find('.e-mail-share');
		var news_popup 	= $('.sharelink').closest('.middle').find('.news_popup');
		var text 		= $("#recept_naam").html();
			text 		+= " \n "; 
		
		$('.doorsturen').each(function(index) {
			var value = $(this).find('p').html();
			text += value;
		});

		$("#message").val("Bekijk dit recept op Jan Linders.nl  \n\n" + window.location.href + "\n\n" + text);
		
		$(news_popup).slideUp('slow', function() {
			$(mailelement).slideDown('slow');
		});
		
		return false;
	});
		
	
	/*
	 * Dingen geplaatst door Rick
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 */ 

	/*Moet live zijn omdat nieuw element wordt toegevoegd aan DOM*/
	$('#region ~ div  > .newList').live("click",function(){
		var regio = $(this).prev().html();
		var id = $('#region option:contains('+regio+')').attr('label');
		$.ajax({
			type: 'GET',
			url: 'http://www.janlinders.nl/ajax_requests/filialen&regio='+id,
			contentType: "application/json; charset=utf-8",
			dataType: "json",
			async: true,
			success: get_branches_success,
			error: get_branches_fail
		});
	});
	
	/*
	 * Haal alle filialen op die aan de gekozen regio zijn gekozen en vul deze in de dropdown
	 */
	function get_branches_success(response){
		var options = '';
		//options += '<li><a href="JavaScript:void(0);" class="hiLite">Selecteer een filiaal</a></li>';
		options += '<option value="">Selecteer een filiaal:</option>';
		
		for(var i=0; i<response.length; i++) options += '<option id="'+response[i]["titel"]+'">'+response[i]["titel"]+'</option>'; 
		
		$('#hidden-branch').html('<label>Selecteer een filiaal:</label><select name="branch" id="branch" class="selectbox rounded">'+options+'</select>');
		$("#hidden-branch").show();
		$('#branch').sSelect();
		$('.newListSelected').addClass('rounded_selectbox');
		
		//todo: opslaan in database , ophalen uit database
	}
	
	function get_branches_fail(response){
		var options = '';
		options += '<option value="">Geen filialen gevonden</option>';
		$('#hidden-branch').html('<label>Selecteer een filiaal:</label><select name="branch" id="branch" class="selectbox rounded">'+options+'</select>');
		$("#hidden-branch").show();
		$('#branch').sSelect();
		$('.newListSelected').addClass('rounded_selectbox');
	}

	/* 
	 * Loop langs alle selectboxen. Als de class 'required' aanwezig is, 
	 * geef dan de styled selectbox ook een class 'required'
	*/
	$("select").each(function(){
		var item = $(this);
		if (item.hasClass("required")) {
			$(this).next().addClass("required");
		}
	});

	

	
	$(".newbaby").bind("click",function(){
		
		var baby1 = $(".extra_baby1").css('display');
		var baby2 = $(".extra_baby2").css('display');

		if (baby1 == "none") {
			$(".extra_baby1").toggle();
		} else if (baby2 == "none") {
			$(".extra_baby2").toggle();
			$(".newbaby").toggle();
		} 
		/*if($(".extra_baby1").is(":visible")) {
			$(".extra_baby2").toggle();
			if($(".extra_baby2").is(":visible")) {
				$(".newbaby").toggle();
			}
		} else {
			$(".extra_baby1").toggle();
		}*/
		
		return false;
	});

	
	
	//Wanneer op de subscribe knop wordt geklikt, wordt het formulier aangepast naar het nieuwsbrief inschrijven formulier
	$('.subscribe').bind("click",function(){
		$('.location_container').hide();
		$('#mine_content_container').hide();
		$('.newsletter_container').show();
		
		return false;
	});
	
	$(".CheckBoxClass").click(function(){ 	if($(this).is(":checked")){ $(this).next("label").addClass("LabelSelected");  }else{ $(this).next("label").removeClass("LabelSelected");  } });
	$(".CheckBoxClass2").change(function(){ if($(this).is(":checked")){ $(this).next("label").addClass("LabelSelected2"); }else{ $(this).next("label").removeClass("LabelSelected2"); } });

	
	var usedNames = {};
	$("select[name='m_field_id_10'] > option").each(function () {
	    if(usedNames[this.text]) {
	        $(this).remove();
	    } else {
	        usedNames[this.text] = this.value;
	    }
	});	
	$("select[name='m_field_id_6'] > option").each(function () {
	    if(usedNames[this.text]) {
	        $(this).remove();
	    } else {
	        usedNames[this.text] = this.value;
	    }
	});	

	$("#meer_informatie_popup").bind("click", function(){
		popup_more_information();
	});
	
	$("#voorwaarden_carnaval").fancybox({
		'scrolling'		: 'no',
		'titleShow'		: false
	});
	
	$("#limit_words_150").bind('keyup', function() {
		var tval 	= $(this).val()
		var tlength = tval.length;
		var value 	= $(this).val(); 
		
		value = value.replace("Onze groep wil winnen, omdat... ", "");
		value = value.split(' ');
		
		
		value = $.grep(value, function(n){
			return isNonEmptyString(n); 
		});
		
		var length = value.length;
		var amount = 50-length;
				
		if(amount < 1) {
			$('textarea').val((tval).substring(0, tlength - 1))
			$("#limit_words_counter").html("Nog "+amount+" woorden");
			return false; 
		} else {
			$("#limit_words_counter").html("Nog "+amount+" woorden");
		}
		
		
	});
	$(".actioncode_filled_label").bind("click", function(){
		if($('.actioncode_filled').is(':checked')) { 
			//
		} else {
			$(".actioncode_filled").attr('checked', true);
		}
	});
	$(".newsletterlabel").bind("click", function(){
		if($('.newsletter_input').is(':checked')) { 
			//
		} else {
			$(".newsletter_input").attr('checked', true);
		}
	});
	$(".conditionslabel").bind("click", function(){
		if($('.conditions_input').is(':checked')) { 
			//
		} else {
			$(".conditions_input").attr('checked', true);
		}
	});
	
	
	/*
	 * 
	 *	FORMS BASED ON JQUERY VALIDATE  
	 * 		made by Rick, edited by Victor van der Stoep
	 * 
	 * 
	 * 
	 * 
	 */
	
	/*
	 * Registreer formulier
	 */
	
	$(".btn_registreer").bind("click", function(){
		
		$("#register_member_form").validate({
			invalidHandler: function(form, validator) {
		      var errors = validator.numberOfInvalids();
		      if (errors) {
		        var message = errors == 1
		          ? 'U heeft 1 verplicht veld niet ingevuld. Je kunt dit zien aan de paarse omlijning.'
		          : 'U heeft ' + errors + ' verplichte velden niet (juist) ingevuld. U kunt dit zien aan de paarse omlijning.';
		        $("div.errorContainer span").html(message);
		        $("div.errorContainer").show();
		      } else {
		        $("div.errorContainer").hide();
		      }
		    },
			rules: {
				email: {// compound rule 
					required: true, 
					email: true
				 	}
			},
			messages:{
				captcha: { required: 'Dit is een verplicht veld.' },
				question_type: { required: 'Dit is een verplicht veld.' },
				name: { required: 'Dit is een verplicht veld.' },
				title: { required: 'Dit is een verplicht veld.' },
				description: { required: 'Dit is een verplicht veld.' },
				region: { required: 'Dit is een verplicht veld.' },
				name: { required: 'Dit is een verplicht veld.' },
				email: { required: 'Dit is een verplicht veld.', email: 'Dit is geen valide e-mailadres'}
			}			
			,errorPlacement: function(error, element){
		    	if($(element).hasClass('selectbox')){
		    		$(element).next().css('background-image','url("/images/bg_select2_error.png")');
		    	} else {
		    		$(element).addClass('error');
		    	}      
			}
		}); 
	});
	

	/*
	 * Stel zelf een vraag formulier
	 */
	
	$(".btn_question").bind("click", function(){
		$("#questionform").validate({
			invalidHandler: function(form, validator) {
		      var errors = validator.numberOfInvalids();
		      if (errors) {
		        var message = errors == 1
		          ? 'U heeft 1 verplicht veld niet ingevuld. U kunt dit zien aan de paarse omlijning.'
		          : 'U heeft ' + errors + ' verplichte velden niet (juist) ingevuld. U kunt dit zien aan de paarse omlijning.';
		        $("div.errorContainer span").html(message);
		        $("div.errorContainer").show();
				
		      } else {
		        $("div.errorContainer").hide();
		      }
		    },
			rules: {
				email: {// compound rule 
					required: true, 
					email: true
				 	}
			},
			messages:{
				question: { required: 'Dit is een verplicht veld.' },
				name: { required: 'Dit is een verplicht veld.' },
				email: { required: 'Dit is een verplicht veld.', email: 'Dit is geen valide e-mailadres'}
			}			
			,errorPlacement: function(error, element){
		    	if($(element).hasClass('selectbox')){
		    		$(element).next().css('background-image','url("/images/bg_select2_error.png")');
		    		$(element).css('border','1px solid #CA3D61');
		    		$(element).addClass('error_rounded');
		    		
		    	} else {
		    		$(element).css('border','1px solid #CA3D61');
		    		$(element).addClass('error_rounded');
		    	}      
			}	
		});
	});	
	
	/*
	 * Contact formulier
	 */
	
	$(".btn_contact").bind("click", function(){
		$("#contactform").validate({
			invalidHandler: function(form, validator) {
		      var errors = validator.numberOfInvalids();
		      if (errors) {
		        var message = errors == 1
		          ? 'U heeft 1 verplicht veld niet ingevuld. U kunt dit zien aan de paarse omlijning.'
		          : 'U heeft ' + errors + ' verplichte velden niet (juist) ingevuld. U kunt dit zien aan de paarse omlijning.';
		        $("div.errorContainer span").html(message);
		        $("div.errorContainer").show();
				
		      } else {
		        $("div.errorContainer").hide();
		      }
		    },
			rules: {
				email: {// compound rule 
					required: true, 
					email: true
				 	}
			},
			messages:{
				captcha: { required: 'Dit is een verplicht veld.' },
				question_type: { required: 'Dit is een verplicht veld.' },
				name: { required: 'Dit is een verplicht veld.' },
				title: { required: 'Dit is een verplicht veld.' },
				description: { required: 'Dit is een verplicht veld.' },
				region: { required: 'Dit is een verplicht veld.' },
				name: { required: 'Dit is een verplicht veld.' },
				email: { required: 'Dit is een verplicht veld.', email: 'Dit is geen valide e-mailadres'}
			}			
			,errorPlacement: function(error, element){
		    	if($(element).hasClass('selectbox')){
		    		$(element).next().css('background-image','url("/images/bg_select2_error.png")');
		    		$(element).css('border','1px solid #CA3D61');
		    		$(element).addClass('error_rounded');
		    		
		    	} else {
		    		$(element).css('border','1px solid #CA3D61');
		    		$(element).addClass('error_rounded');
		    	}      
			}	
		});
	});
	
	/*
	 * Babypakket formulier
	 */
	$(".btn_babypakket").bind("click", function(){
		
		$("#babypakket").validate({
			invalidHandler: function(form, validator) {
		      var errors = validator.numberOfInvalids();
		      if (errors) {
		        var message = errors == 1
		          ? 'U heeft 1 verplicht veld niet (juist) ingevuld. U kunt dit zien aan de paarse omlijning.'
		          : 'U heeft ' + errors + ' verplichte velden niet (juist) ingevuld. U kunt dit zien aan de paarse omlijning.';
		        $("div.errorContainer span").html(message);
		        $("div.errorContainer").show();
		      } else {
		        $("div.errorContainer").hide();
		      }
		    },
			rules: {
				email: {		required: true,	email: true	},
		    	street2: {		required: true,	digits: true }
			},
			messages:{
				captcha: { 		required: 'Dit is een verplicht veld.' },
				name: { 		required: 'Dit is een verplicht veld.' },
				street1: { 		required: 'Dit is een verplicht veld.' },
				street2: { 		required: 'Dit is een verplicht veld.' },
				street3: { 		required: 'Dit is een verplicht veld.' },
				postalcode: { 	required: 'Dit is een verplicht veld.' },
				city: { 		required: 'Dit is een verplicht veld.' },
				country: { 		required: 'Dit is een verplicht veld.' },
				baby_gender: { 	required: 'Dit is een verplicht veld.' },
				baby_name: { 	required: 'Dit is een verplicht veld.' },
				baby_lastname: { required: 'Dit is een verplicht veld.' },
				baby_dateofbirth: { required: 'Dit is een verplicht veld.' },
				title: { 		required: 'Dit is een verplicht veld.' },
				email: { 		required: 'Dit is een verplicht veld.', email: 'Dit is geen valide e-mailadres'}
			}
			,errorPlacement: function(error, element){
		    	if($(element).hasClass('selectbox')){
		    		$(element).next().css('background-image','url("/images/bg_select2_error.png")');
		    		$(element).css('border','1px solid #CA3D61');
		    		$(element).addClass('error_rounded');
		    		
		    	} else {
		    		$(element).css('border','1px solid #CA3D61');
		    		$(element).addClass('error_rounded');
		    	}      
			}	

		}); 
	});
	
	/*
	 * Sollicitatie formulier
	 */
	
	$(".btn_solliciteer").bind("click", function(){
		$("#jobapplication").validate({
			invalidHandler: function(form, validator) {
		      var errors = validator.numberOfInvalids();
		      if (errors) {
		        var message = errors == 1
		          ? 'U heeft 1 verplicht veld niet (juist) ingevuld. U kunt dit zien aan de paarse omlijning.'
		          : 'U heeft ' + errors + ' verplichte velden niet (juist) ingevuld. U kunt dit zien aan de paarse omlijning.';
		        $("div.errorContainer span").html(message);
		        $("div.errorContainer").show();
		      } else {
		        $("div.errorContainer").hide();
		      }
		    },

			rules: {
			email: {// compound rule 
				required: true, 
				email: true
			},
			street2: {// compound rule 
		    	required: true, 
		    	digits: true
		    }
		},
		messages:{
			title: { required: 'Dit is een verplicht veld.' },
			initials: { required: 'Dit is een verplicht veld.' },
			lastname: { required: 'Dit is een verplicht veld.' },
			name: { required: 'Dit is een verplicht veld.' },
			street1: { required: 'Dit is een verplicht veld.' },
			street2: { required: 'Dit is een verplicht veld.' },
			street3: { required: 'Dit is een verplicht veld.' },
			postalcode: { required: 'Dit is een verplicht veld.' },
			city: { required: 'Dit is een verplicht veld.' },
			phone1: { required: 'Dit is een verplicht veld.' },
			email: { required: 'Dit is een verplicht veld.', email: 'Dit is geen valide e-mailadres.'},
			dateofbirth: { required: 'Dit is een verplicht veld.' },
			country: { required: 'Dit is een verplicht veld.' },
			maritalstate: { required: 'Dit is een verplicht veld.' },
			availablefrom: { required: 'Dit is een verplicht veld.' },
			captcha: { required: 'Dit is een verplicht veld.' }
		}			
		,errorPlacement: function(error, element){
	    	if($(element).hasClass('selectbox')){
	    		$(element).next().css('background-image','url("/images/bg_select2_error.png")');
	    		$(element).css('border','1px solid #CA3D61');
	    		$(element).addClass('error_rounded');
	    		
	    	} else {
	    		$(element).css('border','1px solid #CA3D61');
	    		$(element).addClass('error_rounded');
	    	}      
		}	

		}); 
	});
	
	/*
	 * Schoolkorting formulier
	 */
	
	$(".btn_schoolkorting,.btn_clubkorting").bind("click", function(){
		
		$("#schoolkorting, #clubkorting").validate({
			invalidHandler: function(form, validator) {

		      var errors = validator.numberOfInvalids();
		      if (errors) {
		        var message = errors == 1
		          ? 'U heeft 1 verplicht veld niet (juist) ingevuld. U kunt dit zien aan de paarse omlijning.'
		          : 'U heeft ' + errors + ' verplichte velden niet (juist) ingevuld. U kunt dit zien aan de paarse omlijning.';
		        
		        $("div.errorContainer span").html(message);
		        $("div.errorContainer").show();
		      } else {
		        $("div.errorContainer").hide();
		      }
		    },

			rules: {
			email: {// compound rule 
				required: true, 
				email: true
			},
			membercount: {// compound rule 
				required: true, 
				digits: true
			},
			studentcount: {// compound rule 
				required: true, 
				digits: true
			},
			schoolstreet2: {// compound rule 
		    	required: true, 
		    	digits: true
		    },
		    clubstreet2: {// compound rule 
		    	required: true, 
		    	digits: true
		    },
			street2: {// compound rule 
				required: true, 
				digits: true
			}
		},
		messages:{
			title: { required: 'Dit is een verplicht veld.' },
			initials: { required: 'Dit is een verplicht veld.' },
			insertion: { required: 'Dit is een verplicht veld.' },
			lastname: { required: 'Dit is een verplicht veld.' },
			name: { required: 'Dit is een verplicht veld.' },
			gender: { required: 'Dit is een verplicht veld.' },
			street1: { required: 'Dit is een verplicht veld.' },
			street2: { required: 'Dit is een verplicht veld.' },
			street3: { required: 'Dit is een verplicht veld.' },
			postalcode: { required: 'Dit is een verplicht veld.' },
			city: { required: 'Dit is een verplicht veld.' },
			phone1: { required: 'Dit is een verplicht veld.' },
			email: { required: 'Dit is een verplicht veld.', email: 'Dit is geen valide e-mailadres.'},
			captcha: { required: 'Dit is een verplicht veld.' },
			clubname: { required: 'Dit is een verplicht veld.' },
			clubstreet1: { required: 'Dit is een verplicht veld.' },
			clubstreet2: { required: 'Dit is een verplicht veld.' },
			clubstreet3: { required: 'Dit is een verplicht veld.' },
			clubpostalcode: { required: 'Dit is een verplicht veld.' },
			clubcity: { required: 'Dit is een verplicht veld.' },
			kvk: { required: 'Dit is een verplicht veld.' },
			membercount: { required: 'Dit is een verplicht veld.' },
			schoolname: { required: 'Dit is een verplicht veld.' },
			schoolstreet1: { required: 'Dit is een verplicht veld.' },
			schoolstreet2: { required: 'Dit is een verplicht veld.' },
			schoolstreet3: { required: 'Dit is een verplicht veld.' },
			schoolpostalcode: { required: 'Dit is een verplicht veld.' },
			schoolcity: { required: 'Dit is een verplicht veld.' },
			kvk: { required: 'Dit is een verplicht veld.' },
			studentcount: { required: 'Dit is een verplicht veld.' }
		}			
		,errorPlacement: function(error, element){
	    	if($(element).hasClass('selectbox')){
	    		$(element).next().css('background-image','url("/images/bg_select2_error.png")');
	    		$(element).css('border','1px solid #CA3D61');
	    		$(element).addClass('error_rounded');
	    		
	    	} else {
	    		$(element).css('border','1px solid #CA3D61');
	    		$(element).addClass('error_rounded');
	    	}      
		}	
		}); 
	});
});

function validateEmail(elementValue){  
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
	return emailPattern.test(elementValue);  
}  

function isNonEmptyString(input){
	if(input == "") return false;
	
    return typeof(input)=='string';
}

	
