﻿function GetMatchingVacancies() {
    $("#searchMatches").empty();
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "/ws/Search.asmx/GetMatchingVacanciesHtml",
        data: "{specialismId:" + $(".searchControlSpecialism").val() + ", " +
                                        "sectorId:" + $(".searchControlSector").val() + ", " +
                                        "typeId:" + $(".searchControlType").val() + ", " +
                                        "salaryLowerBound: " + $("#salaryLow").text() + ", " +
                                        "salaryUpperBound: " + $("#salaryHigh").text() + ", " +
                                        "locationId: " + $(".searchControlLocation").val() + ", " +
                                        "keywords:'" + $(".searchControlKeywords").val() + "' }",
        dataType: "json",
        success: function(msg) {
            $("#searchMatches").hide();
			$("#searchMatches").empty();
            $("#searchMatches").html(msg.d);
            $("#searchMatches").fadeIn('fast');
            SetMatchingVacanciesCount();
            SetVacancyControlTrigger();
            SetSelectTrigger();
            SetApplyTrigger();
            //SetShowTrigger();
			
            SetVacancyControlTooltipTriggers("apply now", "add to selection");
        }
    });
}

function SetCookie(c_name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
}

function DeleteCookie(name) {
	document.cookie = name +
	'=;expires=Thu, 01-Jan-70 00:00:01 GMT;';
} 

function SetShowTrigger() {
    $(".showVacancy").colorbox({
			width:"700px",
			opacity:"0.4",
			onComplete: function() {
				SetSelectTrigger();
				SetApplyTrigger();
				SetVacancyControlTooltipTriggers("apply now", "add to selection");
			},
			onOpen: function() {
				SetCookie("viewVacancy", 0);
			},
			onCleanup: function() {
				DeleteCookie("viewVacancy");
			}
		});
}

function SetSelectTrigger() {
    $("a.select").unbind('click');
	$("a.select").click(function(e) {
        e.preventDefault();
		
        AddVacancyToSelection($(this).attr("name"));
		$.gritter.add({
			title: 'Vacancy added to selection',
			text: $(this).parents(".vacancy").find(".title").text(),
			time: 2000,
			fade_in_speed: 300,
			fade_out_speed: 300
		}); 
    });
}

function SetApplyTrigger() {
    $("a.apply").colorbox({
			width: '230px',
			height: '520px',
			opacity:"0.4",
			onComplete: function() {
				$("#applyForVacanciesContainer select").uniform();
				$("#applyForVacanciesContainer input").uniform();
				$("#applyForVacanciesContainer .applyButton").hover(function() {
					$(this).attr("src", "/media/apply-button-hover.gif");
				}, function() {
					$(this).attr("src", "/media/apply-button.gif");
				});
			}
		});
}

function SetMatchingVacanciesCount() {
    $("#matchCount").html($("#searchMatches .vacancy").size());
    $("#searchMatchesTitle").show();
}


function SetVacancyControlTooltipTriggers(applyMessage, selectMessage) {
	$tooltip = $(".tooltip");

	/*$(".vacancyControls .apply").unbind('hover');
	$(".vacancyControls .apply").hover(
		function() {
			$tooltip.html(applyMessage);
			$tooltip.show();
		}, function() {
			$tooltip.empty();
			$tooltip.hide();
		});
*/
	$(".vacancyControls .select").unbind('hover');
    $(".vacancyControls .select").hover(
		function() {
			$tooltip.html(selectMessage);
			$tooltip.show();
		}, function() {
			$tooltip.empty();
			$tooltip.hide();
		});

	$("#cboxPrevious").unbind('hover');
	 $("#cboxPrevious").hover(
		 function() {
			$tooltip.html("previous");
			$tooltip.show();
		 }, function() {
			$tooltip.empty()
			$tooltip.hide();
		 });

	$("#cboxNext").unbind('hover');
	$("#cboxNext").hover(
		function() {
			$tooltip.html("next");
			$tooltip.show();
		}, function() {
			$tooltip.empty();
			$tooltip.hide();
		});
		
	$("#cboxClose").unbind('hover');
	$("#cboxClose").hover(
		function() {
			$tooltip.html("close");
			$tooltip.show();
		}, function() {
			$tooltip.empty();
			$tooltip.hide();
		});
}

function SetVacancyControlTrigger() {
    $(".controlTrigger").hover(function() {
        $(this).find(".vacancyControls").show();
    }, function() {
        $(this).find(".vacancyControls").hide();
    });
}
