(function ($) { $.each(['show', 'hide'], function (i, ev) { var el = $.fn[ev]; $.fn[ev] = function () { this.trigger(ev); return el.apply(this, arguments); }; }); })(jQuery); var idopontok = {}; idopontok.zarva = new Array(); idopontok.nyitva = {}; var imgData; $(document).ready(function () { var szolgok = { url: "ajax.php?mod=szolglista&groupid=6&langid=1", datatype: "json", data: { lang: 1 }, datafields: [ { name: 'id' }, { name: 'label' }, { name: 'note' } ], async: false }; var dataAdapter_szolgok = new $.jqx.dataAdapter(szolgok); $('#szolg').jqxDropDownList({ source: dataAdapter_szolgok, displayMember: "label", valueMember: "id", selectedIndex: 0, width: '100%', height: 2*18, filterable: true, searchMode: 'containsignorecase', filterPlaceHolder: 'Válassza ki vagy kezdje el begépelni a kívánt szolgáltatás nevét!' }); var dataAdapter_vszolgok; var vszolgok = function(szid, langid) { var vszolg_adapter = { url: "ajax.php?mod=vszolglista&groupid=6&langid=1", datatype: "json", data: { lang: langid, szszid: szid }, datafields: [ { name: 'id' }, { name: 'label' }, { name: 'note' } ], async: false }; dataAdapter_vszolgok = new $.jqx.dataAdapter(vszolg_adapter); return dataAdapter_vszolgok; } $('#vszolg').jqxDropDownList({ source: vszolgok(0,1), displayMember: "label", valueMember: "id", selectedIndex: 0, width: '100%', height: 2*18, filterable: true, searchMode: 'containsignorecase', filterPlaceHolder: 'Válassza ki vagy kezdje el begépelni a közterület nevét!' }); $("#naptar").jqxCalendar({ width: '100%', height: 220, culture: 'hu-HU', dayNameFormat: 'default', titleFormat: ['yyyy MMMM','yyyy','yyyy','yyyy'], restrictedDates: idopontok.zarva, disabled: true }); $('#naptar').on('change', function(e) { $('#idopont_keret').hide(); $('#nincsidopont_keret').hide(); $('#loader').show(); idopontAjax(); }); $('#idopont_keret').on('show', function(e) { $('#loader').hide(); }); $('#nincsidopont_keret').on('show', function(e) { $('#loader').hide(); }); $('#szolg').on('change', function(e) { $('#loader').show(); var args = e.args; $('#kiad_szolg').html(args.item.label); dataAdapter_vszolgok = null; var szolgmagassag = (args.item.label.match(/
x.id === args.item.value).note); //$('#szolgmegj_keret').show(); var s = vszolgok( args.item.value, 1); $('#vszolg').jqxDropDownList({ source: s }); console.log( s ); if ( $('#vszolg').jqxDropDownList('getItems').length > 0 ) { $('#vszolg').jqxDropDownList('selectIndex',0); $('#vszolg').jqxDropDownList('filterPlaceHolder', s.records[0].note ); if ( s.records[0].note == 'DISABLED' ) { $('#vszolg').jqxDropDownList('filterable', false ); } else { $('#vszolg').jqxDropDownList('filterable', true ); } $('#vszolg_keret').show(); $('#idopont_keret').hide(); $('#naptar_keret').hide(); $('#idopontok').empty(); $('#naptar').jqxCalendar('specialDates', []); $('#naptar').jqxCalendar({'disabled': true}); $('#naptar_keret').hide(); return 1; } else { $('#vszolg').jqxDropDownList('clear'); $('#vszolg_keret').hide(); $('#kiad_vszolg').empty(); $('#naptar_keret').hide(); $('#idopont_keret').hide(); $('#nincsidopont_keret').hide(); $('#idopontok').empty(); $.ajax({ url: 'ajax.php?mod=naptar&groupid=6&langid=1', type: 'POST', data: { szid: args.item.value },beforeSend: function() { $('#naptar_keret').hide(); $('#naptar').jqxCalendar({'disabled': true}); $('#loader').show(); } }).done( function(data) { var jsonArr = $.parseJSON(data); naptarUpdate( jsonArr ); idopontokUpdate( $('#naptar').jqxCalendar().val() ); $('#loader').hide(); $('#naptar_keret').show(); }).fail( function() { notify('Kapcsolati hiba...','fail',1200,0); }); } } $('#loader').hide(); }); $('#vszolg').on('change', function(e) { $('#loader').show(); var args = e.args; $('#kiad_vszolg').html(args.item.label); var szolgmagassag = (args.item.label.match(/
x.id === args.item.value).note); //$('#vszolgmegj_keret').show(); $('#vszolg_szoveg').hide(); $.ajax({ url: 'ajax.php?mod=naptar&groupid=6&langid=1', type: 'POST', data: { szid: args.item.value },beforeSend: function() { $('#naptar_keret').hide(); $('#naptar').jqxCalendar({'disabled': true}); $('#loader').show(); } }).done( function(data) { var jsonArr = $.parseJSON(data); naptarUpdate( jsonArr ); idopontokUpdate( $('#naptar').jqxCalendar().val() ); $('#loader').hide(); $('#naptar_keret').show(); }).fail( function() { notify('Kapcsolati hiba...','fail',1200,0); }); } $('#loader').hide(); }); $(document).on( 'click', '.idopont_gomb_szabad', function(e) { var szid = $('#szolg').val(); if ( $('#vszolg_keret').is(':visible') ) { szid = $('#vszolg').val(); } if ( document.getElementById('email') !== null ) { if ( validateEmail($('#email').val()) ) { idopontfoglalas(this, szid); } } else { idopontfoglalas(this, szid); } }); var intervalIdopontAjax = setInterval( function() { idopontAjax(); }, 7000 ); $('#loader').hide(); $('#foglal').show(); $('#naptar_keret').hide(); $('#idopont_keret').hide(); $('#kiad_keret').hide(); $('#vszolg_keret').hide(); $('#szolgmegj_keret').hide(); $('#nincsidopont_keret').hide(); $('#naptar_keret').on('hide', function() { $('#idopont_keret').hide(); $('#idopontok').empty(); }); $('#kiad_keret').on('show', function() { clearInterval(intervalIdopontAjax); }); $('#prn').jqxButton(); $('#prn').on('click', function() { $('#prn').hide(); $('#png').hide(); window.print(); $('#prn').show(); $('#png').show(); }); $('#png').jqxButton(); $('#png').on('click', function() { html2canvas($('#kiad_pngexport')[0]).then( function(canvas) { imgData = canvas.toDataURL(); saveAs(imgData, 'jegy.png'); }); }); }); function saveAs(uri, filename) { var link = document.createElement('a'); if (typeof link.download === 'string') { link.href = uri; link.download = filename; //Firefox requires the link to be in the body document.body.appendChild(link); //simulate click link.click(); //remove the link when done document.body.removeChild(link); } else { window.open(uri); } } function validateEmail(email) { if ( email.length > 8 && email.search('[\.]') > 0 && email.search('[\@]') > 0 ) { $('#email_need').css('border', 'none'); return (true); } $('#email_need').css('border', '2px solid red'); return (false); } function naptarUpdate( jsonArr ) { idopontok.zarva = []; idopontok.nyitva = []; idopontok.dttol = new Date(jsonArr.dttol[0], jsonArr.dttol[1], jsonArr.dttol[2]); idopontok.dtig = new Date(jsonArr.dtig[0], jsonArr.dtig[1], jsonArr.dtig[2]); if ( jsonArr.racs.length === 0 ) { $('#naptar_keret').hide(); $('#naptar').jqxCalendar({'disabled': true}); $('#nincsidopont_keret').show(); return true; } $('#naptar').jqxCalendar('specialDates', []); $.each( jsonArr.racs, function(datum, idok) { if ( idok.length == 0 ) { idopontok.zarva.push(new Date(datum)); } else { var foglalt = 1; $.each( idok, function(key, value) { if ( value[1] > 0 && value[2] > 0 ) { foglalt = 0; } }); if ( foglalt <= 0 ) { idopontok.nyitva[datum] = idok; $('#naptar').jqxCalendar('addSpecialDate', new Date(datum)); } else { idopontok.zarva.push(new Date(datum)); } } }); $('#naptar').jqxCalendar('setMinDate', idopontok.dttol); $('#naptar').jqxCalendar('setMaxDate', idopontok.dtig); $('#naptar').jqxCalendar({'disabled': false}); $('#naptar_keret').show(); } function idopontokUpdate( onDate ) { var y = new Date(onDate).getFullYear(); var m = new Date(onDate).getMonth()+1; var d = new Date(onDate).getDate(); if ( m < 10 ) m = "0"+m; if ( d < 10 ) d = "0"+d; var onDateStr = y + "-" + m + "-" + d; var appointments = idopontok.nyitva[onDateStr]; $('#idopont_keret').hide(); $('#nincsidopont_datum').empty(); $('#nincsidopont_keret').hide(); $('#idopontok').empty(); if ( typeof appointments !== 'undefined' ) { //notify('Időpontok frissítve!','info',1000,0); $.each( appointments, function(key,value) { if ( value[1] > 0 && value[2] > 0 ) { $('#idopontok').append("
"); $('#idopont_'+ key).append("
" + y + "." + m + "." + d + "." + "
"); $('#idopont_'+ key + ' #d').css('font-weight', 'bold'); $('#idopont_'+ key).append("
" + value[0] + "
"); $('#idopont_'+ key + ' #i').css('font-weight', 'bold'); $('#idopont_'+ key).append("
FOGLALHATÓ
"); $('#idopont_'+ key + ' #s').css('font-weight', 'bold'); $('#idopont_'+ key).jqxButton(); $('#idopont_'+ key).addClass('idopont_gomb_szabad'); } else { $('#idopontok').append("
"); $('#idopont_'+ key).append("
" + y + "." + m + "." + d + "." + "
"); $('#idopont_'+ key + ' #d').css('font-weight', 'bold'); $('#idopont_'+ key).append("
" + value[0] + "
"); $('#idopont_'+ key + ' #i').css('font-weight', 'bold'); $('#idopont_'+ key).append("
FOGLALHATÓ
"); $('#idopont_'+ key + ' #s').css('font-weight', 'bold'); $('#idopont_'+ key + ' #s').css('color', 'transparent'); $('#idopont_'+ key).jqxButton(); $('#idopont_'+ key).addClass('idopont_gomb_foglalt'); $('#idopont_'+ key).jqxButton({ 'disabled': true }); } }); $('#idopont_keret').show(); } else { $('#nincsidopont_datum').html(y + "." + m + "." + d + "."); $('#nincsidopont_keret').show(); //notify('Nincs szabad időpont, vagy frissítési hiba történt!','fail',3000,0); } } function idopontAjax() { if ( $('#szolg').val() == 0 ) { return true; } if ( $('#vszolg_keret').is(':visible') ) { if ( $('#vszolg').val() == 0 ) { return true; } } var szid = $('#szolg').val(); if ( $('#vszolg_keret').is(':visible') ) { szid = $('#vszolg').val(); } $.ajax({ url: 'ajax.php?mod=naptar&groupid=6&langid=1', type: 'POST', data: { szid: szid } }).done( function(data) { var jsonArr = $.parseJSON(data); naptarUpdate( jsonArr ); idopontokUpdate( $('#naptar').jqxCalendar().val() ); }).fail( function() { notify('Kapcsolati hiba...','fail',1200,0); }); } function idopontfoglalas( elem, szid ) { var y = new Date($('#naptar').val()).getFullYear(); var m = new Date($('#naptar').val()).getMonth()+1; var d = new Date($('#naptar').val()).getDate(); if ( m < 10 ) m = "0"+m; if ( d < 10 ) d = "0"+d; var onDateStr = y + "-" + m + "-" + d; var id = elem.id.split("_"); if ( document.getElementById('email') !== null ) { idopontfoglalasAjax($('#email').val(),szid,onDateStr,id[1]); } else { idopontfoglalasAjax(null,szid,onDateStr,id[1]); } } function idopontfoglalasAjax( email, szolg, date, id ) { $.ajax({ url: 'ajax.php?mod=foglal&groupid=6&langid=1', type: 'POST', data: { szid: szolg, addr: email, dt: date, apoi: idopontok.nyitva[date][id][0] } }).done( function(data) { var jsonArr = $.parseJSON(data); if ( jsonArr.status == -1 ) { notify('E-mail cím hibás','fail',2000,0); } if ( jsonArr.status == 1 ) { notify('Sikeres foglalás!','success',2000,0); $('#foglal').hide(); $('#kiad_keret').show(); $('#kiad_datum').html(jsonArr.dt); $('#kiad_idopont').html(jsonArr.time); $('#kiad_kod').html(jsonArr.kod); idopontAjax(); } else { notify('A kért időpontot időközben lefoglalták!','fail',2000,0); idopontAjax(); } }).fail( function() { notify('Kapcsolati hiba...
Kérem próbálja újból!','fail',1200,0); }); }