'use strict';
$(document).ready(function() {
var siteTitle = (document.title).split("-")[1];
var pageTitle = (($(".breadcrumb .active").html()).concat(" -")).concat(siteTitle);
document.title = pageTitle;
});
$(function() {
$(document).on('click', '.pagination a', function(event) {
goToPage(this);
});
$('.pagination a').on('click', function(event) {
goToPage(this);
});
var updateSelectors = function(data, type) {
switch (type) {
case "division":
$("select#citySelector").prepend(
$(""));
$.each(data.cities, function() {
$("select#citySelector").append(
$("").attr("value", this).text(this));
});
break;
case "city":
$("select#divisionSelector").prepend(
$(""));
$.each(data.divisions, function() {
$("select#divisionSelector").append(
$("").attr("value", this).text(this));
});
break;
default:
break;
}
};
var updatePageContent = function(data, type) {
$('#news-feed').html(data.jobs);
$('.pagination-helper').html(data.page);
$('.listing-footer').html(data.pagination);
updateSelectors(data, type);
};
var submitJobs = function(query, type) {
$.ajax({
async : false,
cache : false,
dataType : 'json',
data : query,
url : '/blocks/careers/jobs/json/jobsJsonObject.jsp',
success : function(data) {
updatePageContent(data, type);
},
error : function(jqXHR, textStatus, errorThrown) {
}
});
};
var goToPage = function(pageLink) {
var page = $(pageLink).data('page');
if (page) {
var query = 'page=' + page;
submitJobs(query, "");
}
};
$("select#citySelector").on('change', function(event) {
var division = $("select#divisionSelector").val();
var city = $("option:selected").val();
var query = 'city=' + city +'&division='+division;
if (city === "") {
$("select#citySelector").empty();
submitJobs(query, "division");
}
$("select#divisionSelector").empty();
var allDivision = $("#emptyDivision").val();
submitJobs(query, "city");
});
$("select#divisionSelector").on('change', function(event) {
var division = $("select#divisionSelector").val();
var city = $("select#citySelector").val();
if (division === "") {
$("select#divisionSelector").empty();
submitJobs(query, "city");
}
var query = 'city=' + city +'&division='+division;
$("select#citySelector").empty();
submitJobs(query, "division");
});
});