﻿

var JS;
var SalMin=0;
var JP=0;
var EduMax=0;
var PT=0;
var PE=0;
var ME=0;
var EE=0;

	$(function() {
		$("#SalaryMinimumSlider").slider({
			range: "max",
			min: 1000,
			max: 150000,
			value: 1000,
			step: 1000,
			slide: function(event, ui) {
				SalMin = ui.value;
				$("#SalaryMinimum").text("$" + SalMin);
				setDirty();
			}
		});
		SalMin = $("#SalaryMinimumSlider").slider("value");
		$("#SalaryMinimum").text("$" + SalMin);

	});
	
	$(function() {
		$("#JobProspectsMinimumSlider").slider({
			range: "max",
			min: 1,
			max: 7,
			value: 1,
			step: 1,
			slide: function(event, ui) {
				JP = ui.value;
				$("#JobProspectsMinimum").text(translateJobProspects(JP));
				setDirty();
			}
		});
		JP = $("#JobProspectsMinimumSlider").slider("value");
		$("#JobProspectsMinimum").text(translateJobProspects(JP));
	});

	$(function() {
		$("#EducationMaximumSlider").slider({
			range: "min",
			min: 0,
			max: 14,
			value: 14,
			step: 1,
			slide: function(event, ui) {
				EduMax = ui.value;
				$("#EducationMaximum").text(EduMax + " Years");
				setDirty();
			}
		});
		EduMax = $("#EducationMaximumSlider").slider("value");
		$("#EducationMaximum").text(EduMax + " Years");
	});

	$(function() {
		$("#PartTimeMinimumSlider").slider({
			range: "max",
			min: 1,
			max: 100,
			value: 1,
			step: 1,
			slide: function(event, ui) {
				PT = ui.value;
				$("#PartTimeMinimum").text(PT + "%");
				setDirty();
			}
		});
		PT = $("#PartTimeMinimumSlider").slider("value");
		$("#PartTimeMinimum").text(PT + "%");
	});


	$(function() {
		$("#PhysicalExertionMaximumSlider").slider({
			range: "min",
			min: 1,
			max: 5,
			value: 5,
			step: 1,
			slide: function(event, ui) {
				PE = ui.value;
				$("#PhysicalExertionMaximum").text(translateExertion(PE));
				setDirty();
			}
		});
		PE = $("#PhysicalExertionMaximumSlider").slider("value");
		$("#PhysicalExertionMaximum").text(translateExertion(PE));
	});

	$(function() {
		$("#MentalExertionMaximumSlider").slider({
			range: "min",
			min: 1,
			max: 5,
			value: 5,
			step: 1,
			slide: function(event, ui) {
				ME = ui.value;
				$("#MentalExertionMaximum").text(translateExertion(ME));
				setDirty();
			}
		});
		ME = $("#MentalExertionMaximumSlider").slider("value");
		$("#MentalExertionMaximum").text(translateExertion(ME));
	});

	$(function() {
		$("#EmotionalExertionMaximumSlider").slider({
			range: "min",
			min: 1,
			max: 5,
			value: 5,
			step: 1,
			slide: function(event, ui) {
				EE = ui.value;
				$("#EmotionalExertionMaximum").text(translateExertion(EE));
				setDirty();
			}
		});
		EE = $("#EmotionalExertionMaximumSlider").slider("value");
		$("#EmotionalExertionMaximum").text(translateExertion(EE));
	});

function resetValues()
{
	$.cookie('searchparams',null);
	setAllSliders(",1000,1,14,1,5,5,5");
	$.cookie('searchparams',null);
	$("#resetbtn").hide();
	return false;
}

function setDirty()
{
	$("#resetbtn").show();
}

 function setProfession(value, doChange) {
 		if ($("#Profession").val() != value)
 		{
			$("#Profession").val(value);
 			if (doChange)
				$("#Profession").trigger('keyup');
		}
	}
 function setSalaryMinimumSlider(slidervalue, doChange) {
 		SalMin = slidervalue;
 		$("#SalaryMinimumSlider").slider('option', 'value', slidervalue);
		$("#SalaryMinimum").text("$" + SalMin);
		if (doChange)
			$("#SalaryMinimumSlider").trigger('slidechange');
 }
  function setJobProspectsMinimumSlider(slidervalue, doChange) {
 		JP = slidervalue;
 		$("#JobProspectsMinimumSlider").slider('option', 'value', slidervalue);
		$("#JobProspectsMinimum").text(translateJobProspects(JP));
		if (doChange)
			$("#JobProspectsMinimumSlider").trigger('slidechange');
 }
 function setEducationMaximumSlider(slidervalue, doChange) {
 		EduMax = slidervalue;
 		$("#EducationMaximumSlider").slider('option', 'value', slidervalue);
		$("#EducationMaximum").text(EduMax + " Years");
		if (doChange)
			$("#EducationMaximumSlider").trigger('slidechange');
 }
 function setPartTimeMinimumSlider(slidervalue, doChange) {
 		PT = slidervalue;
 		$("#PartTimeMinimumSlider").slider('option', 'value', slidervalue);
		$("#PartTimeMinimum").text(PT + "%");
		if (doChange)
			$("#PartTimeMinimumSlider").trigger('slidechange');
 }
 function setPhysicalExertionMaximumSlider(slidervalue, doChange) {
 		PE = slidervalue;
 		$("#PhysicalExertionMaximumSlider").slider('option', 'value', slidervalue);
		$("#PhysicalExertionMaximum").text(translateExertion(PE));
		if (doChange)
			$("#PhysicalExertionMaximumSlider").trigger('slidechange');
 }
 function setMentalExertionMaximumSlider(slidervalue, doChange) {
 		ME = slidervalue;
 		$("#MentalExertionMaximumSlider").slider('option', 'value', slidervalue);
		$("#MentalExertionMaximum").text(translateExertion(ME));
		if (doChange)
			$("#MentalExertionMaximumSlider").trigger('slidechange');
 }
 function setEmotionalExertionMaximumSlider(slidervalue, doChange) {
 		EE = slidervalue;
 		$("#EmotionalExertionMaximumSlider").slider('option', 'value', slidervalue);
		$("#EmotionalExertionMaximum").text(translateExertion(EE));
		if (doChange)
			$("#EmotionalExertionMaximumSlider").trigger('slidechange');
 }

function setAllSliders(arrString) {
	if (arrString!= null && arrString.toString().length > 0) {
		var arrValues = arrString.toString().split(','); 
		if (arrValues[0].toString().length > 0) {
				setProfession(arrValues[0].toString(), false);
			}
		else {
				setProfession("",false);
			}	
		if (arrValues[1].toString().length > 0) {
				setSalaryMinimumSlider(parseInt(arrValues[1].toString()), false);
			}
		if (arrValues[2].toString().length > 0) {
				setJobProspectsMinimumSlider(parseInt(arrValues[2].toString()), false);
			}
		if (arrValues[3].toString().length > 0) {
				setEducationMaximumSlider(parseInt(arrValues[3].toString()), false);
			}
		if (arrValues[4].toString().length > 0) {
				setPartTimeMinimumSlider(parseInt(arrValues[4].toString()), false);
			}
		if (arrValues[5].toString().length > 0) {
				setPhysicalExertionMaximumSlider(parseInt(arrValues[5].toString()), false);
			}
		if (arrValues[6].toString().length > 0) {
				setMentalExertionMaximumSlider(parseInt(arrValues[6].toString()), false);
			}
		if (arrValues[7].toString().length > 0) {
				setEmotionalExertionMaximumSlider(parseInt(arrValues[7].toString()), false);
			}
		doSearch();	
	}
}

function translateJobProspects(jobprospectsnumber)
{
	switch (jobprospectsnumber)
	{
		case 1:
			return "E";
		case 2: 
			return "D";	
		case 3:
			return "C";
		case 4: 
			return "B-";	
		case 5:
			return "B";
		case 6: 
			return "A-";	
		case 7:
			return "A+";
	}
}	
function translateExertion(exertionnumber)
{
	switch (exertionnumber)
	{
		case 1:
			return "+";
		case 2: 
			return "+ +";	
		case 3:
			return "+ + +";
		case 4: 
			return "+ + + +";	
		case 5:
			return "+ + + + +";
	}
}	
var aaa = 0;
function doAlertOnce(message)
{
	if (aaa == 0)
	{
		alert(message);
		aaa++;
	}
}
	
function doSearch()
{
   var professionSearch = $('#Profession').val();
   var salarySearch = SalMin;
   var jobProspects = JP;
   var educationSearch = EduMax;
   var partTimeSearch = PT;
   var physicalExertionSearch = PE;
   var mentalExertionSearch = ME;
   var emotionalExertionSearch = EE; 
   
	var searchparamarr = ["'" + professionSearch + "'", SalMin, JP, EduMax, PT, PE, ME, EE]; 
    $.cookie('searchparams',searchparamarr, {path: '/'});

	var rows = $('#JobsTable tbody tr');
	$(rows).show();
	$.each(rows, function(index, row) {
		if (professionSearch.length > 0){
			if (!(eval("/" + professionSearch + "/i").test($(row).data('ez').Job)))
			    $(row).hide();
		}
		
		if ($(row).data('ez').Salary < salarySearch)
		    $(row).hide();

		if ($(row).data('ez').Prospects < jobProspects )
		    $(row).hide();

		if ($(row).data('ez').Education > educationSearch)
		    $(row).hide();
			    
		if ($(row).data('ez').PartTime < partTimeSearch)
		    $(row).hide();

		if ($(row).data('ez').PhysicalExertion > physicalExertionSearch)
		    $(row).hide();

		if ($(row).data('ez').MentalExertion > mentalExertionSearch)
		    $(row).hide();

		if ($(row).data('ez').EmotionalExertion > emotionalExertionSearch)
		    $(row).hide();

	});
}



$.expr[":"].doesNotContainsNoCase = function(el, i, m) {
    var search = m[3];
    if (!search) return false;
    return (!(eval("/" + search + "/i").test($(el).text())));
}; 

$.expr[":"].containsNoCase = function(el, i, m) {
    var search = m[3];
    if (!search) return false;
    return eval("/" + search + "/i").test($(el).text());
};  

$.expr[":"].moreThan = function(el, i, m) {
    var search = m[3];
    if (!search) return false;
        return eval(parseInt(search) > parseInt($(el).text()));
};  

$.expr[":"].lessThan = function(el, i, m) {
    var search = m[3];
    if (!search) return false;
        return eval(parseInt(search) < parseInt($(el).text()));
};  
function onPageDocumentReadyComplete(){
	$("#Profession").bind("keyup", function(e){
		setDirty();
		doSearch();
    });
	$("#SalaryMinimumSlider").bind("slidechange", function(e){
		doSearch();
    });
	$("#JobProspectsMinimumSlider").bind("slidechange", function(e){
		doSearch();
    });
	$("#EducationMaximumSlider").bind("slidechange", function(e){
		doSearch();
    });
    $("#PartTimeMinimumSlider").bind("slidechange", function(e){
		doSearch();
    });
    $("#PhysicalExertionMaximumSlider").bind("slidechange", function(e){
		doSearch();
    });
    $("#MentalExertionMaximumSlider").bind("slidechange", function(e){
		doSearch();
    });
    $("#EmotionalExertionMaximumSlider").bind("slidechange", function(e){
		doSearch();
    });

	if ($.cookie('searchparams') != null && $.cookie('searchparams').length > 0 && $.cookie('searchparams') != "'',1000,1,14,1,5,5,5")
	{
		$("#resetbtn").show();
		var existingsearchparam = eval('[' + $.cookie('searchparams') + ']');
		setAllSliders(existingsearchparam);
	}
}

