if (typeof RokBoxSettings == 'undefined') RokBoxSettings = {pc: '100'};
var address = 'https://www.federdanza.it/?option=com_ranking&';
var addressPopolate = address + 'task=popolate';
var popolateStorage = [{"req":{"req":"anno"},"data":{}}];
var lastSearch = {};
(function ($) {
$(function () {
var $body = $("body");
$.notifyDefaults({
placement: {
from: "bottom"
},
animate: {
enter: "animated fadeInUp",
exit: "animated fadeOutDown"
}
});
var fields = [
'anno',
'circuito',
'competizione',
'disciplina',
'categoria',
'classe'
];
var errorMessage = function () {
$.notify({message: "Si è verificato un errore
Ricarica la pagina"}, {type: "danger"});
};
function popolateField(result, popolateContainer) {
popolateContainer.prop('disabled', false);
var placeholder = popolateContainer.data('placeholder');
if(placeholder == undefined)
placeholder = '--seleziona--';
console.log(placeholder);
var htmlOptions = '';
$.each(result, function (index, option) {
htmlOptions += '';
});
popolateContainer.html(htmlOptions);
}
var popolateFields = function (field) {
var $field = $('#' + field);
var data = {
req: field
};
var id;
for (var i = 0; i < fields.indexOf(field); i++) {
var dataField = fields[i];
var $f = $('#' + dataField);
id = $f.val()
var name = $f.attr('name');
data[name] = id;
}
var popolatedData = $.grep(popolateStorage, function (el) {
return JSON.stringify(el.req) === JSON.stringify(data);
});
if (popolatedData.length > 0) {
console.log(popolatedData);
popolateField(popolatedData[0].data.result, $field)
return;
}
$.post(addressPopolate, data, function (response) {
if (response.code !== 0)
return;
console.log(response);
var result = response.result;
for (var i = 0; i < result.length; i++) {
var dataToStore = result[i];
dataToStore.req = data;
popolateStorage.push(dataToStore);
}
;
popolateField(result, $field);
}, 'json')
.fail(function () {
errorMessage();
})
;
};
$(document).on({
ajaxStart: function () {
$body.addClass("loading");
},
ajaxStop: function () {
$body.removeClass("loading");
}
});
function resetField(i) {
var childField = $('#' + fields[i]);
childField.prop('disabled', true);
childField.html('');
}
$('.populate', '#search-ranking').on('change', function () {
var $field = $(this).attr('id');
var currentIndex = fields.indexOf($field) + 1;
var fieldToPopolate = fields[currentIndex];
for (var i = fields.length - 1; i > fields.indexOf(fieldToPopolate) - 1; i--) {
resetField(i);
}
if (fieldToPopolate !== undefined) {
popolateFields(fieldToPopolate)
}
});
});
})(jQuery);