var url_sol = '/vacatures/detail/solliciteren/';

$(document).ready(function() {
	// vink alle checkboxes uit zodra 'alle' geselecteerd wordt
	if ($('#alle-box').attr('checked', true)) {
		$('input[class="vac-check"]').attr('checked', true);
	}	
	
	$('#alle-box').change( function() {
		  if ($('#alle-box').is(':checked')) {
			  $('input[class="vac-check"]').attr('checked', true);
		  }
	});
	
	$('input[class="vac-check"]').change( function() {
		if ($('input[class="vac-check"]').is(':checked')) {
			$('#alle-box').attr('checked', false);
		}
	});
	
});

function sollicitatieFormulier(url) {
	// controleer of er wel iets geselecteerd is
	if ($('#alle-box').length != 0 && !$('#alle-box').is(':checked') && !$('input[class="vac-check"]').is(':checked')) {
		alert('Er zijn geen vacatures geselecteerd om op te solliciteren');
		
		return;
	}
	
	// zet var
	var vacatures = new Array();
	
	// haal de vacatures op
	if ($('#alle-box').is(':checked')) {
		$('input[class="vac-check"]').each( function() {
			// maak de cookie array
			vacatures.push($(this).val());
		});
	} else {
		$('input[class="vac-check"]').each( function() {
			if ($(this).is(':checked')) {
				// maak de cookie array
				vacatures.push($(this).val());
			}
		});
	}
	
	// schrijf cookie als er geen basket getoond wordt
	if ($('#alle-box').length == 0) {
		writeCookie('vacatures', getBasket(), 366);
	// schrijf meerdere vacatures
	} else {
		writeCookie('vacatures', vacatures.join('#'), 366);
	}

	// forward naar sollicitatiepagina
	window.location = url;
}

function directSolliciteren(id, url) {
	// vul de cookie met de vacature
	writeCookie('basket', putVacancyInBasket(id, getBasket()).join('#'), 366);
	// forward naar sollicitatiepagina
	window.location = url;
}

function opslaanInteresse(id, sessie_url) {
	// pagetracker
	pageTracker._trackPageview('opslaan-interessant');
	
	// vul de cookie met de vacature
	writeCookie('basket', putVacancyInBasket(id, getBasket()).join('#'), 366);
	
	// vul dialog window
	var dialog = new Array();
	var close_dialog = "$('#dialog').dialog('close');";
	
	dialog.push('<p>De vacature is toegevoegd aan je vacature-mandje. Maak een keuze uit de opties hieronder:</p><br />');
	dialog.push('<ul>');
	dialog.push('<li><a href="/vacatures/resultaat/?' + sessie_url + '">Terug naar de zoekopdracht</a></li>');
	dialog.push('<li><a href="#" onclick="' + close_dialog + ' return false;">Terug naar de detailpagina</a></li>');
	dialog.push('<li><a href="' + url_sol + '">Nu solliciteren</a></li>');
	dialog.push('</ul>');
	
	$('#dialog').html(dialog.join(''));
	
	// toon popup met keuzes
	$('#dialog').dialog('open');
}

function verwijderInteresse(vacancy) {
	// controleer of het niet de laatste li is
	var total = $('#mandje-base > li').size() - 1;

	if (total < 2) {
		alert('Er moet minimaal 1 vacature in je mandje staan om te solliciteren');
		return false;
	}
	
	var basket = getBasket();
	writeCookie('basket', null, 0);
	
	var basket2 = new Array();
	for (var vac_id in basket) {
		if (basket[vac_id] != vacancy) {
			basket2.push(basket[vac_id]);
		}
	}	
		
	// verwijder de li
	$('#mandje_' + vacancy).remove();
	
	basket = basket2.join('#');
	// vul de cookie met de vacature
	writeCookie('basket', basket, basket == '' ? 0 : 366);
	
}

function getBasket () {
	// laad huidige basket cookie in of maak een nieuwe aan
	var basket = jQuery.jCookie('basket');
	if (!basket) {
		basket = '';
	}
	basket = basket.split('#');
	if (basket[0] == '') {
		basket.shift();
	}
	return basket;
}

function putVacancyInBasket (vacancy, basket) {
	var vac_found = false;
	
	$.each(basket, function(index, value) {
		if (value == vacancy) {
			vac_found = true;
		}
	});
	
	if (!vac_found) {
		basket.push(vacancy);
	}
	return basket;
}
