$(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($('