    /*** Accordion ***/
var currentCat 		= false;
var currentSubCat 	= false;

$(document).ready(function(){
		// Add lightbox
	$("a[rel^='prettyPhoto']").prettyPhoto({
					animationSpeed: 'normal', /* fast/slow/normal */
					padding: 40, /* padding for each side of the picture */
					opacity: 0.35, /* Value betwee 0 and 1 */
					showTitle: true, /* true/false */
					allowresize: true, /* true/false */
					counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */
					theme: 'light_rounded' /* light_rounded / dark_rounded / light_square / dark_square */
				});
	
		// Add click functions to all categories
	$('div.category_title_toggle a.toggleLink').click(function ()
	{
			// Start the slideToggle effect
		$(this).parents('div.all_categories').find('div.category_row').slideToggle(400);
		
			// Check if the parent div is open or closed
		if ($(this).parents('div.all_categories').find('div.catRow').hasClass('category_title_closed') ) 
		{
				// closed, so open
			$(this).parents('div.all_categories').find('div.catRow').switchClass('category_title_open', 'category_title_closed');
			$(this).parents('div.all_categories').find('a.toggleLink').switchClass('category_title_link_open', 'category_title_link_closed');
			
				// close possible current open category
			if (currentCat !== $(this).parents('div.all_categories'))
			{
				if (currentCat !== false)
				{
						// start the slideToggle effect to close the current open category, and change it's classes
					currentCat.find('div.category_row').slideToggle(0);
					currentCat.find('div.catRow').switchClass('category_title_closed', 'category_title_open');
					currentCat.find('a.toggleLink').switchClass('category_title_link_closed', 'category_title_link_open');
				}
					// set current category
				currentCat = $(this).parents('div.all_categories');
			}
		}
		else
		{
				// open, so close
			$(this).parents('div.all_categories').find('div.catRow').switchClass('category_title_closed', 'category_title_open');
			$(this).parents('div.all_categories').find('a.toggleLink').switchClass('category_title_link_closed', 'category_title_link_open');
				// clear current category
			currentCat = false;
		}
	});
	
		// Add click functions to all subcategories
	$('div.item_current a.toggleLink').click(function ()
	{
			// Start the slideToggle effect
		$(this).parents('div.item_current').find('div.item_content').slideToggle(400);
		
			// Check if the parent div is open or closed
		if ($(this).parents('div.item_current').find('div.subCatRow').hasClass('item_title_closed') )
		{
				// closed, so open
			$(this).parents('div.item_current').find('div.subCatRow').switchClass('item_title_open', 'item_title_closed');
			$(this).parents('div.item_current').find('a.toggleLink').switchClass('item_title_link_closed', 'item_title_link_open');

				// close possible current open subcategory
			if (currentSubCat !== $(this).parents('div.item_current'))
			{
				if (currentSubCat !== false)
				{
						// start the slideToggle effect to close the current open subcategory, and change it's classes
					currentSubCat.find('div.item_content').slideToggle(0);
					currentSubCat.find('div.subCatRow').switchClass('item_title_closed', 'item_title_open');
					currentSubCat.find('a.toggleLink').switchClass('item_title_link_closed', 'item_title_link_open');
				}
				
					// Set current subcategory
				currentSubCat = $(this).parents('div.item_current');
			}
		}
		else
		{
				// open, so close
			$(this).parents('div.item_current').find('div.subCatRow').switchClass('item_title_closed', 'item_title_open');
			$(this).parents('div.item_current').find('a.toggleLink').switchClass('item_title_link_open', 'item_title_link_closed');
				// clear current subcategory
			currentSubCat = false;
		}
	});
	
		// Set currentCat if we have an open category
	currentCat = $('body').find('div.category_title_open').parents('div.all_categories');
	
		// Set currentSubCat if we have an open subcategory
	currentSubCat = $('body').find('div.item_title_open').parents('div.item_current');
});
    /*** End Accordion ***/

function selectLand(landId)
{
    var form = $('#' + landId).parents('form');
    
    if ($('#' + landId).val() == 524)
    {
        $(form).find('.adresTextDiv').css('display', 'none');
        $(form).find('.adresDiv').css('display', 'inline');
        $(form).find('.adresTextDiv').find('textarea').val('');
    }
    else
    {
        $(form).find('.adresDiv').css('display', 'none');
        $(form).find('.adresTextDiv').css('display', 'inline');
        $(form).find('.adresDiv').find('input').val('');
        $(form).find('.adresAjaxMeldingDiv').html('');
        $(form).find('.straatPlaats').css('display', 'none');
    }
}

function odump(object, depth, max){
  depth = depth || 0;
  max = max || 3;

  if (depth > max)
    return false;

  var indent = "";
  for (var i = 0; i < depth; i++)
    indent += "  ";

  var output = "";  
  for (var key in object){
    output += "\n" + indent + key + ": ";
    switch (typeof object[key]){
      case "object": output += odump(object[key], depth + 1, max); break;
      case "function": output += "function"; break;
      default: output += object[key]; break;        
    }
  }
  return output;
}

function getElementsByClassName(classname, node) {
	if(!node) node = document.getElementsByTagName("body")[0];
	var a = [];
	var re = new RegExp('\\b' + classname + '\\b');
	var els = node.getElementsByTagName("*");
	for(var i=0,j=els.length; i<j; i++)
	if(re.test(els[i].className))a.push(els[i]);
	return a;
}

function getWoningSpecs(plaats, wijk, straat)
{
    $.ajax({
		type: 'get',
		url: '',
		data: 'ajaxRequest=getWoningSpecs&plaats=' + plaats + '&wijk=' + wijk + '&straat=' + straat,
		success: function (result)
		{
			if (result !== 'null')
			{
				//Pak de juiste velden
				var classList = getElementsByClassName("form_field form_field_CheckboxField");
				if(classList[0])
				{
					var inputListTypes =  classList[0].getElementsByTagName("input");
					var labelListTypes =  classList[0].getElementsByTagName("label");
					var divListTypes =  classList[0].getElementsByTagName("div");
				}
				if(classList[1])
				{
					var inputListSlaapkamers =  classList[1].getElementsByTagName("input");
					var labelListSlaapkamers =  classList[1].getElementsByTagName("label");
					var divListSlaapkamers =  classList[1].getElementsByTagName("div");
				}
				
				result = JSON.parse(result);
				for (i = 0; i < inputListTypes.length; i ++)
				{
					if(result.slaapkamersvan <= (i + 1) && (i + 1) <= result.slaapkamerstot)
					{
						inputListSlaapkamers[i].style.display = "inline";
						labelListSlaapkamers[i].style.display = "inline";
						divListSlaapkamers[i*2].style.display = "block";
					}
					else
					{
						if(inputListSlaapkamers[i])
						{
							inputListSlaapkamers[i].style.display = "none";
							labelListSlaapkamers[i].style.display = "none";
							divListSlaapkamers[i*2].style.display = "none";
						}
					}
					inputName = inputListTypes[i].name;
					inputName = inputName.substring(11,(inputName.length-1))
					if(result.woningtypes[inputName] == inputName)
					{
						inputListTypes[i].style.display = "inline";
						labelListTypes[i].style.display = "inline";
						divListTypes[i*2].style.display = "block";
					}
					else
					{
						inputListTypes[i].style.display = "none";
						labelListTypes[i].style.display = "none";
						divListTypes[i*2].style.display = "none";
					}
				}
			}
		}
	});
}

function getAdres(type, formId)
{
	if (type)
    {
		var land        = $('#' + formId).find('#in_' + type.replace('_adres', '') + '_land').val();
	    var postcode    = document.getElementById('postcode' + type);
	    var huisnummer  = document.getElementById('huisnummer' + type);
	    var toevoeging  = document.getElementById('toevoeging' + type);
	
	    if(postcode.value != "" && huisnummer.value != "" && land == 524)
	    {
	        $.ajax({
	            type: "get",
	            url: "",
	            data: "ajaxRequest=getAdres&postcode=" + postcode.value + "&huisnummer=" + huisnummer.value,
	            success: function(result){
	        	
	                if (result !== 'null' && result !== null)
	                {
						result = JSON.parse(result);
						
						$('#' + formId).find('.straatPlaats').css('display', 'none');
	                    document.getElementById('postcode' + type).value    = result.postcode;
                        document.getElementById('huisnummer' + type).value  = result.huisnummer;
	                    document.getElementById('adresAjaxMeldingDiv' + type).innerHTML = result.straat + ' ' + result.huisnummer + ' ' + toevoeging.value + '<br/>' + result.postcode + ' ' + result.plaats;	                
	                }
	                else
	                {
	                    // Onbekende postcode
	                	document.getElementById('straat' + type).value  = '';
                        document.getElementById('plaats' + type).value  = '';
                        
                        document.getElementById('straat' + type).readOnly = false;
                        document.getElementById('plaats' + type).readOnly = false;
                        
                        document.getElementById('straat' + type).className = '';
                        document.getElementById('plaats' + type).className = '';
	                	
	                    $('#' + formId).find('.straatPlaats').css('display', 'inline');
	                    document.getElementById('adresAjaxMeldingDiv' + type).innerHTML = 'De door u ingevoerde postcode en huisnummer zijn niet gevonden in de postcodetabel. Wij verzoeken u om ook de straat en plaats in te voeren:';
	                }
	            }
	        });
	    }
    }
}

function getStraten(wijk, targetID, keepSelection, plaats)
{
	if (!plaats || plaats == '')
	{
		if (document.getElementById('in_plaats'))
		{
			elmtPlaats = document.getElementById('in_plaats');
			if(elmtPlaats.value !== '')
			{
				plaats = elmtPlaats.value;
			}
		}
	}

	$.ajax({
		type: 'get',
		url: '',
		data: 'ajaxRequest=getStraten&wijk=' + wijk + '&plaats=' + plaats,
		success: function (result)
		{
			if (result !== 'null')
			{
				var target = document.getElementById(targetID);
				var value = target.value;
				
				var legekeuze = target.options[0];
				target.options.length = 0;
				target.options[0] = legekeuze;
				
				result = JSON.parse(result);
				for (i = 0; i < result.length; i ++)
				{
					if (result[i].ID !== '')
					{
						target.options[target.options.length] = new Option(result[i].label, result[i].ID);
					}
				}
				
				if (keepSelection == 1)
				{
					for (i = 0; i < target.options.length; i ++)
					{
						if (target.options[i].value == value)
						{
							target.selectedIndex = i;
						}
					}
				}
			}
		}
	});
}

function getWijken(plaats, targetID, keepSelection)
{
	$.ajax({
		type: "get",
		url: "",
		data: "ajaxRequest=getWijken&plaats=" + plaats,
		success: function(result){
			if (result !== 'null')
			{
				var target = document.getElementById(targetID);
				var value = target.value;
				
				var legekeuze = target.options[0];
				target.options.length = 0;
				target.options[0] = legekeuze;
				
				result = JSON.parse(result);
				for (i = 0; i < result.length; i ++)
				{
					if (result[i].ID !== '')
					{
						target.options[target.options.length] = new Option(result[i].label, result[i].ID);
					}
				}
				
				if (keepSelection == 1)
				{
					for (i = 0; i < target.options.length; i ++)
					{
						if (target.options[i].value == value)
						{
							target.selectedIndex = i;
							
							getStraten(value, 'in_straat', 1);
						}
					}
				}
				else
				{
					getStraten('', 'in_straat', 0, plaats);
				}
			}
		}
	});
}

function setPlaats(wijk, targetID, dontUpdate, plaats)
{
	$.ajax({
		type: 'get',
		url: '',
		data: 'ajaxRequest=getPlaats&wijk=' + wijk,
		success: function (result)
		{

			if (result !== 'null')
			{
				result = JSON.parse(result);

				var target = document.getElementById(targetID);
				for (i = 0; i < target.options.length; i ++)
				{
					if (target.options[i].value == result[0].ID)
					{
						if (target.selectedIndex !== i)
						{
							target.selectedIndex = i;
							if (dontUpdate !== 1)
							{
								getWijken(result[0].ID, 'in_wijk');
							}
							else
							{
								getWijken(result[0].ID, 'in_wijk', 1);
							}
						}
					}
				}
			}
		}
	});
}

function setWijk(straat, targetID, dontUpdate)
{
	$.ajax({
		type: 'get',
		url: '',
		data: 'ajaxRequest=getWijk&straat=' + straat,
		success: function (result)
		{
			if (result !== 'null')
			{
				result = JSON.parse(result);
				var target = document.getElementById(targetID);
				for (i = 0; i < target.options.length; i ++)
				{
					if (target.options[i].value == result[0].ID)
					{
						target.selectedIndex = i;
						if (dontUpdate !== 1)
						{
							setPlaats(result[0].ID, 'in_plaats');
						}
						else
						{
							setPlaats(result[0].ID, 'in_plaats', 1);
						}
						getStraten(result[0].ID, 'in_straat', 1);
					}
				}
				//verzamel andere specs
				getWoningSpecs('', document.getElementById('in_wijk').options[document.getElementById('in_wijk').selectedIndex].value, straat);
			}
		}
	});
}

function submitInschrijfStapTerug(button)
{
	$(button).parents('form.inschrijfForm').attr('action',  $(button).parents('form.inschrijfForm').attr('action') + '?back=1');
	var name = $(button).parents('form.inschrijfForm').attr('name');
	document.forms[name].submit();
}

function submitInschrijfForm(form, previous)
{
    var form = document.getElementById('formstap' + form);
    
    var previousField       = document.createElement('input');
    previousField.name      = 'next_form';
    previousField.value     = previous;
    previousField.type      = 'hidden';
    
    form.appendChild(previousField);
    form.submit();
}

function winPopup(sURL, sWinName, iWidth, iHeight) {var f="scrollbars=yes,resizable=yes,width=" + iWidth + ",height=" + iHeight + ",top=" + ((screen.height-iHeight)/2) + ",left=" + ((screen.width-iWidth)/2);window.open(sURL,sWinName,f);}