$(document).ready(function () {
$("#adv-search-back-btn").on("click", function (e) {
AdvancedSearch.showSearchForm(e);
});
AdvancedSearch.instructorSelectionHandling(Modernizr.touch);
});
var AdvancedSearch = {};
AdvancedSearch.confirmCallback = function (status) {
if (status) {
AdvancedSearch.save();
}
return false;
}
AdvancedSearch.prepareToSave = function () {
if(typeof(Storage) !== "undefined") {
var isEditState = $("#fres_saved_edit").prop('id') == "fres_saved_edit";
/*Check if exists and ask confirm to overwrite from user if not in edit state*/
if (!isEditState && localStorage.getItem("advanced_search_data")) {
var text = {
title: 'Vahvista',
body: 'Sinulla voi olla vain yksi tallennettu haku, haluatko korvata olemassa olevan?',
buttons: {accept: 'Kyllä', reject: 'Ei'}
};
showConfirmation(AdvancedSearch.confirmCallback, text);
}else{
AdvancedSearch.save();
}
}else{
showUserNotification ('warning', 'Sorry, but your browser does not support this function.');
}
}
/*
* Save the form data to localStorage
*/
AdvancedSearch.save = function () {
if(typeof(Storage) !== "undefined") {
var data = $('#searchMain').serializeArray();
var dataRow = new Object;
//Special handling for instructors.
$('#idInstructors option').each(function(i, option){
dataRow = {name:"instructors[]", value:$(option).val(), text:$(option).text()};
data.push(dataRow);
});
//Remove wanted fields
var removeTheseInputs = new Array ('fromDate', 'thruDate');
for (var i = 0; i < data.length; i++) {
if (InArray(data[i].name, removeTheseInputs)) {
data.splice(i,1);
i = i -1;
}
}
//Convert object to string.
data = JSON.stringify(data);
//Save to localStorage.
localStorage.setItem("advanced_search_data", data);
showUserNotification ('success', 'Haku tallennettu. Kun ensi kerralla haluat tehdä tämän haun, klikkaa aloitussivulta "Tallennettu haku". Näytä nyt haku.');
}
}
/*
* Read saved search data from localStorage, fill the form and send it
*/
AdvancedSearch.showSaved = function (editState) {
var data = localStorage.getItem("advanced_search_data");
if (data) {
if (!editState) {
Cookie.remove('adv_search_request_made');
$("#img_loading").show();
}
data = JSON.parse(data);
for (var i in data) {
var elementName = data[i].name;
var value = data[i].value;
var select = $("select[name='"+data[i].name+"']");
if (select.prop('name') !== undefined) {
if (elementName == 'instructors[]') {
//Multiple instructor select
select.append($('