function updateVacancyCounter() {
	resetDefaultKeywords();
	if($("#homeVacSearchForm").length>0) {
		$.getJSON("/vacatures?ajax=true&listInHTML=true&" + $("form#homeVacSearchForm").serialize() + "&removeCache=" + Math.round(new Date().getTime()), function(JSON) {
			if(JSON.data.vacancyCount=="1") {
				$("#homeVacancySearchWrapper").find("span.multiple_found").hide();
			} else {
				$("#homeVacancySearchWrapper").find("span.multiple_found").show();
			}
			if($("#displayVacancyCounterBesideButton").val()=="false"){
				$("#vacancy_count").hide().html(JSON.data.vacancyCount).fadeIn("slow");
			} else {
				$("#counter").flipCounter("stopAnimation");
				$("#counter").flipCounter(
				        "startAnimation", 
				        {
			                number: JSON.data.vacancyCount, 
			                easing: jQuery.easing.easeOutCubic, 
			                duration: 500 
				        }
				);
			}
		});
	}
	setDefaultKeywords();
}

function resetDefaultKeywords() {
	var value = $("div#homeVacancySearch input[name=keywords]").val();
	if (value == "Bijv. Beleidsmedewerker, Onderwijs") {
		$("div#homeVacancySearch input[name=keywords]").val("");
	}
	var locValue = $('#location').val();
	if (locValue == "Uw locatie") {
		$('#location').val("");
	}
}

function setDefaultKeywords() {
	var value = $("div#homeVacancySearch input[name=keywords]").val();
	if (value == null || value == "") {
		$('#keywords').example('Bijv. Beleidsmedewerker, Onderwijs');
		$("#keywords").addClass("ui-state-default");
	}
	var locValue = $("#location").val();
	if (locValue == null || value == "") {
		$('#location').example('Uw locatie');
		$("#location").addClass("ui-state-default");
	}
}

$(document).ready(function(){

	if($("#displayVacancyCounterBesideButton").val()=="true"){
		var initialCounter = parseInt($('#numberOfResults').val());
		$("#counter").flipCounter({
			imagePath:"/javascript/lib/jquery/plugin/flipcounter/1.1/images/flipCounter-small.png", 
			number:(0), 
			numIntegralDigits:2, 
			numFractionalDigits:0, 
			digitHeight:30, 
			digitWidth:22.5
		});			
	}
	
	var multiselectoptions = {
		checkAllText: 'Alles selecteren',
		uncheckAllText: 'Alles deselecteren',
		noneSelectedText: 'Selecteer',
		selectedText: '# geselecteerd',
		header: false,
		minWidth: 240
	};
	
	var branchOpts = $.extend({}, multiselectoptions, {
		selectedList: 1,
		noneSelectedText: "Selecteer vakgebied",
		click: function (event, ui) {
			var checked = $("div#homeVacancySearch select[name=branch]").multiselect("getChecked");
			updateVacancyCounter();
		}
	});
	var chooseEducationText = $("input#chooseEducationText").val();
	var educationOpts = $.extend({}, multiselectoptions, {
		selectedList: 5,
		noneSelectedText: chooseEducationText,
		click: function (event, ui) {
			var checked = $("div#homeVacancySearch select[name=education]").multiselect("getChecked");
			updateVacancyCounter();
		}
	});

	var regionOpts = $.extend({}, multiselectoptions, {
		selectedList: 1,
		noneSelectedText: "Selecteer provincie",
		click: function (event, ui) {
			var checked = $("div#homeVacancySearch select[name=region]").multiselect("getChecked");
			updateVacancyCounter();
		}
	});

	var functionOpts = $.extend({}, multiselectoptions, {
		selectedList: 1,
		noneSelectedText: "Selecteer functiecategorie",
		click: function (event, ui) {
			var checked = $("div#homeVacancySearch select[name=function]").multiselect("getChecked");
			updateVacancyCounter();
		}
	});

	var sectorOpts = $.extend({}, multiselectoptions, {
		selectedList: 2,
		noneSelectedText: "Selecteer Sector/Branch",
		click: function (event, ui) {
			var checked = $("div#homeVacancySearch select[name=sector]").multiselect("getChecked");
			updateVacancyCounter();
		}
	});

	var contractOpts = $.extend({}, multiselectoptions, {
		selectedList: 3,
		noneSelectedText: "Selecteer Dienstverband",
		click: function (event, ui) {
			var checked = $("div#homeVacancySearch select[name=contract]").multiselect("getChecked");
			updateVacancyCounter();
		}
	});

	var distanceOpts = $.extend({}, multiselectoptions, {
		selectedList: 1,
		noneSelectedText: "Afstand",
		minWidth: 100,
		height: "auto",
		multiple: false,
		click: function (event, ui) {
			var checked = $("div#homeVacancySearch select[name=distance]").multiselect("getChecked");
			$(this).multiselect("close");
			updateVacancyCounter();
		}
	});
	
    $("div#homeVacancySearch select[name=branch]").multiselect(branchOpts);
	$("div#homeVacancySearch select[name=education]").multiselect(educationOpts);
	$("div#homeVacancySearch select[name=distance]").multiselect(distanceOpts);

	// update keywords
	$("div#homeVacancySearch input[name=keywords]").blur(function() {
		updateVacancyCounter();
	});
	$("div#homeVacancySearch input[name=keywords]").focus(function() {
		if ($(this).val() == "Bijv. Beleidsmedewerker, Onderwijs") {
			$(this).removeClass("ui-state-default");
			$(this).val("");
		}
	});
    
	$("div#homeVacancySearch div#moreLessToggle").show();
	$("div#vacSearchButtonDiv").show();
	$("div#vacSearchInputDiv").hide();
	$("input#vacSearchInputSubmit").hide();
	
	$("div#homeVacancySearch div#homeVacSearchSelectDistance span.toggle").click(function() {
		$("div#homeVacSearchSelectDistance").hide();
        $("div#homeVacSearchSelectRegion").show();
		$("#homeVacancySearch select[name=region] option").parent().multiselect(regionOpts);
	});
	
	$("div#homeVacancySearch div#homeVacSearchSelectRegion span.toggle").click(function() {
        $("div#homeVacSearchSelectDistance").show();
        $("div#homeVacSearchSelectRegion").hide();
    });
	
	$("div#homeVacancySearch a.searchVacanciesButton").click(function() {
	   $("div#homeVacancySearch form#homeVacSearchForm").submit();	
	});
	
	$("div#homeVacancySearch").attr("jersMinheight",$("div#homeVacancySearch").height());
	
	$("div#homeVacancySearch div#moreLessToggle span.lessOptions").click(function() {
		$(this).hide();
		$("div#homeVacancySearch div#moreLessToggle span.moreOptions").show(); 
		$("div#homeVacancySearch div#moreSearchOptions").slideUp();
		$("div#homeVacancySearch div.homeVacSearchItem div.homeVacSearchRow.contract").slideUp();
	});
	 
	$("div#homeVacancySearch div#moreLessToggle span.moreOptions").click(function() {
        $(this).hide();
        $("div#homeVacancySearch div#moreLessToggle span.lessOptions").show();
		$("div#homeVacancySearch div#moreSearchOptions").slideDown();
		$("div#homeVacancySearch div.homeVacSearchItem div.homeVacSearchRow.contract").slideDown();
		$("div#homeVacancySearch select[name=function] option").parent().multiselect(functionOpts);
		$("div#homeVacancySearch select[name=sector] option").parent().multiselect(sectorOpts);
		$("div#homeVacancySearch select[name=contract] option").parent().multiselect(contractOpts);		
    });
	updateVacancyCounter();
	$('#keywords').example('Bijv. Beleidsmedewerker, Onderwijs');
	$('#location').example('Uw locatie');
	
});

