$(document).ready(function() {
if($('.toggleNav').length>0){
$('.toggleNav').on('click', function(){
$('html').toggleClass('navOpen');
});
}
registerDeleteModal();
if($(".icheck").length>0){
$('input[type="checkbox"].icheck, input[type="radio"].icheck').iCheck({
checkboxClass: 'icheckbox_flat-red',
radioClass: 'iradio_flat-red'
});
}
//Datepicker
if($('.datepicker').length>0){
$(".datepicker").datetimepicker({
allowInputToggle: true,
format: 'DD/MM/YYYY',
locale: 'es'
});
}
//Selector de mes
if($('.month-picker').length>0){
$(".month-picker").datepicker( {
format: "mm/yyyy",
startView: "months",
minViewMode: "months",
language: 'es',
autoclose: true,
});
}
//Selector de año
if($('.year-picker').length>0){
$(".year-picker").datepicker( {
format: "yyyy",
startView: "years",
minViewMode: "years",
language: 'es',
autoclose: true,
});
}
//Timepicker
if($('.timepicker').length>0){
$('.timepicker').datetimepicker({
allowInputToggle: true,
format: 'HH:mm',
stepping: 5,
locale: 'es'
});
}
//Select2
if($('.select2').length>0){
$(".select2").select2();
}
// Buscador del mapa
if($('#map_searcher').length>0){
$('#map_searcher').keydown(function(event){
if( (event.keyCode == 13)) {
event.preventDefault();
return false;
}
});
}
if($('.user-btn').length>0){
$('.user-btn').click(function(){
$('.user-btn').toggleClass('open');
$('.profile-menu').toggleClass('open');
});
}
if($('.menu').length>0){
$('.menu :nth-child(2) ul li a:not(:last-child)').click(function(){
$(this).toggleClass('open');
});
}
if($('#menu-btn').length>0){
$('#menu-btn').click(function(){
$('.menu').toggleClass('open');
$('.content').toggleClass('open');
});
//Cerrar submenu cuando pulsas fuera
$('body').on('click', function(event){
if(!$(event.target).closest('.user-btn').length) {
$('.profile-menu').removeClass('open');
}
if(!$(event.target).closest('#more').length) {
$('#more').removeClass('open');
}
});
}
});
/**
* Confirmar eliminacion de elemento
*/
function registerDeleteModal(){
$('.btn-confirm-delete').unbind('click');
$('.btn-confirm-delete').on('click', function(){
$('#delete_form').attr('action', $(this).data('action'));
});
}
function moveDataTableFilter(table, field, column) {
var id = table.table().node().id;
if (field == null) {
$('#' + id + '_wrapper').prepend('
');
$('#' + id + '_toolbar').append($('#' + id + '_length select'));
$('#' + id + '_length').removeClass('input-sm');
$('#' + id + '_filter input').attr('placeholder', $('#' + id + '_filter label').text().replace(':', ''));
$('#' + id + '_filter input').removeClass('input-sm');
$('#' + id + '_filter input').addClass('pull-right');
$('#' + id + '_toolbar').append($('#' + id + '_filter input'));
$('#' + id + '_length').parent().parent().remove();
} else {
$('#' + id + '_toolbar').append(field);
}
}
function registerDataTableFilter(table, field, column, callback){
event = field.hasClass('datepicker')?'dp.change':'change';
field.on(event, function (selected) {
if(typeof filters != 'undefined'){
if(filters.searchCols && !filters.searchCols[column]){
filters.filters[column] = $(this).val();
console.log(filters.filters);
}
}
if(callback){
callback();
}
table.column(column)
.search($(this).val(), true, false)
.draw();
});
setSearchValue(field, column);
}
function changeSelected (select) {
var $styledSelect = select.next('div.select-styled');
$styledSelect.text(select.find('option:selected').text());
}
var filters = [null];
function saveSearch(class_name){
if(typeof filters != 'undefined'){
var data = {};
data[class_name] = filters;
sessionStorage.setItem('filters', JSON.stringify(data));
}
}
function getSearch(class_name){
if(typeof filters != 'undefined'){
var data = JSON.parse(sessionStorage.getItem('filters'));
return data && data[class_name]?data[class_name]:{filters: {}, searchCols: [null]};
}
}
function removeSearch(){
sessionStorage.removeItem('filters');
}
function setSearchValue(input, index_col){
if(typeof filters != 'undefined'){
if(filters.searchCols && filters.searchCols[index_col]){
if(filters.searchCols[index_col].sSearch){
input.val(filters.searchCols[index_col].sSearch);
}
}
// else if(filters.searchCols[index_col].search){
// input.val(filters.searchCols[index_col].search);
// }
}
}
function setFiltersValues(){
if(typeof filters != 'undefined'){
if(filters.filters){
$.each(filters.filters, function( index, value ) {
if($("select[name='"+index+"']").length){
$("select[name='"+index+"']").val(value);
} else if($("input[name='"+index+"']").length){
$("input[name='"+index+"']").val(value);
}
});
}
}
}
//For internet explorer
Math.trunc = Math.trunc || function(x) {
if (isNaN(x)) {
return NaN;
}
if (x > 0) {
return Math.floor(x);
}
return Math.ceil(x);
};
function time2seconds(time){
time = time.split(':');
return (+time[0]) * 60 * 60 + (+time[1]) * 60 + (+time[2]);
}
String.prototype.toTime = function () {
var sec_num = parseInt(this, 10); // don't forget the second param
var hours = Math.floor(sec_num / 3600);
var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
var seconds = sec_num - (hours * 3600) - (minutes * 60);
if (hours < 10) {hours = "0"+hours;}
if (minutes < 10) {minutes = "0"+minutes;}
if (seconds < 10) {seconds = "0"+seconds;}
return hours+':'+minutes+':'+seconds;
}
String.prototype.toPauseTime = function () {
var sec_num = parseInt(this, 10); // don't forget the second param
var hours = Math.floor(sec_num / 3600);
var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
var str = '';
if(hours > 0){
str+= hours+'h.';
}
if(minutes>0 || str==''){
str+= ' '+minutes+'min.';
}
return str.trim();
}