﻿$().ready(function(){	
	JobSearchCriteria.Init();
})

JobSearchCriteria = {
	Init:function(){
		JobSearchCriteria.addEventHandlers();
	},
	
	addEventHandlers: function() {
	    $(".divPanelJSC input").unbind().keydown(JobSearchCriteria.onKeyDownEvent);
	    $(".divPanelJSC div").unbind().keydown(JobSearchCriteria.onKeyDownEvent);
	    $(".divPanelJSC select").unbind().keydown(JobSearchCriteria.onKeyDownEvent);
	    $(".ddlActivityDomainJSC").unbind().change(JobSearchCriteria.onChangeActivityDomain);
		$(".mainSecond").unbind().change(JobSearchCriteria.onChangeRegion);
	},
	
	onKeyDownEvent: function(event) {
	    if(event.keyCode == 13) {
            $(".divPanelJSC .btnSearch").click();
//            if(event) event.cancelBubble = true;
            return false;
	    }	       
	},	
	
	onChangeActivityDomain:function(){
		var select = $(".ddlActivityDomainJSC");
		var linked = $(".ddlJobCategoryJSC");
		var value = select.val();

		if (value.length > 0 && value != "0") {
		    $("#jobSearch .optional").css("opacity", "1");
			var result = TFI.ClientServices.Common.GetJobCategories(value);
			linked.html(result.value);
			if(linked[0] && linked[0].updateOptions) linked[0].updateOptions();
			TFI.ClientUtils.setAnimatedOpacity(true, linked); //Disable with animation
        } else {
            $("#jobSearch .optional").css("opacity", "0.3");
			TFI.ClientUtils.setSelectIndex(linked, "0"); //Select first option
			TFI.ClientUtils.setAnimatedOpacity(false, linked); //Disable with animation
		}
		return false;
	},
	
	onChangeRegion:function(){
		var select = $(".ddlRegionJSC");
		var linked = $(".ddlDepartmentJSC");
		var value = select.val();

		if (value.length > 0 && value != "0") {
		    $("#jobSearch .optionalSecond").css("opacity", "1");
			var result = TFI.ClientServices.Common.GetDepartments(value);
			linked.html(result.value);
			if(linked[0] && linked[0].updateOptions) linked[0].updateOptions(); 
			TFI.ClientUtils.setAnimatedOpacity(true, linked); //Disable with animation
        } else {
            $("#jobSearch .optionalSecond").css("opacity", "0.3");
			TFI.ClientUtils.setSelectIndex(linked, "0"); //Select first option
			TFI.ClientUtils.setAnimatedOpacity(false, linked); //Disable with animation
		}
		return false;
	},

	validateMinimumCriteria: function (source, arguments)
	{   
		//Read values
		var activityDomain = $(".ddlActivityDomainJSC").val();
		var jobCategory = $(".ddlJobCategoryJSC").val();
		var region = $(".ddlRegionJSC").val();
		var department = $(".ddlDepartmentJSC").val();
		var publicationDate = $(".ddlPublicationDateJSC").val();
		var keywords = $(".txtKeywordsJSC").val();
		var expertsOnly = $(".offersExperts > input[type='checkbox']").attr("checked");

		arguments.IsValid = (activityDomain.length > 0 && activityDomain != "0") 
				|| (jobCategory.length > 0 && jobCategory != "0") 
				|| (region.length > 0 && region != "0") 
				|| (department.length > 0 && department != "0") 
				|| (publicationDate.length > 0 && publicationDate != "0") 
				|| ((keywords.length > 0) && (keywords != oDefaultText)) 
				|| ($(".chkContractTypeJSC:checked").length > 0
				|| expertsOnly);
		
		return false;
	}
}
