(function(){ // 0 : organisationsnr, 1: epost, 2: namn (alfabetisk), 3: anvandarnamn , 4: telefon const rx = [/^(\d{1})(\d{5})\-(\d{4})$/, /^.+@.+\.[A-Za-z]{2}[A-Za-z]*$/, /^[A-ZÅÄÖa-zåäö\u00E0-\u00FC\s\-]+$/, /^[0-9A-ZÅÄÖa-zåäö\.\_\-]+$/, /^[0-9\s-]+$/, /^![0-9A-ZÅÄÖa-zåäö\.\_\-]$/g], rx12 = /^(\d{12})$/, rx10 = /^(\d{10})$/, s_rx = / |-/g, jqa = [['addClass', 'removeClass'], ['attr','removeAttr'],['inget',''],['none', 'block', 'inline-block']], sz_loc = '/srv/upl/', jqxht = {bildfil: {type:'POST', cache:false, contentType: false, processData: false, dataType: 'json'}}, orgno = function(ono){ var grp, tot, t, chk = 0, i = 9, form = rx[0].test(ono), val = false; if(form){ grp = ono.match(rx[0]); tot = grp[1] + grp[2] + grp[3]; while(--i >=0){ t = tot.charAt(i) | 0;chk += (t *= ((i + 1) % 2) + 1) > 9 ? t - 9 : t; }val = (chk + (grp[3].charAt(3) | 0)) % 10 === 0;} return val;}, GLF_webbformular_ansok = function(){ const GLF = { rx : { }, func : { validera : function(){ var onval = orgno(GLF.curus.orgnr), ftnval = GLF.curus.ftnom.length > 0, fnval = rx[2].test(GLF.curus.fnamn), pnval = orgno(GLF.curus.pnr), enval = rx[2].test(GLF.curus.enamn), epval = rx[1].test(GLF.curus.epost) && (GLF.curus.epost).trim().length > 0, telval = rx[4].test(GLF.curus.tele) && (GLF.curus.tele).trim().length > 0, unval = rx[3].test(GLF.curus.unom), unval2 = unval ? GLF.func.chkun() : true, unval3 = GLF.curus.unom !== '', mfval = (((epval || telval)) && pnval && fnval && enval && unval && unval2), ffval = (onval && fnval) || !GLF.curus.hasftg || (vald_typ & 1) !== 1; if(!mfval){ $('.chg')[1].click(); if(!pnval){ $('#pnr').val(''); } } $('#u_namn')[jqa[0][+(unval && unval2 && unval3)]]('fel'); $('#pnr')[jqa[0][+pnval]]('fel'); $('#pnrcon')[jqa[0][+pnval]]('fel'); $('#fnamn')[jqa[0][+fnval]]('fel'); $('#enamn')[jqa[0][+enval]]('fel'); $('#epost')[jqa[0][+epval]]('fel'); $('#tfn')[jqa[0][+telval]]('fel'); $('#orgnr')[jqa[0][+(onval || ffval)]]('fel') ; $('#ftgnamn')[jqa[0][+(ftnval || ffval)]]('fel'); return mfval && ffval; }, usob : function(){ let un = $('#u_namn').val().trim(), fn = $('#fnamn').val().trim(), en = $('#enamn').val().trim(); un = un === '' ? fn + en === '' ? '' : GLF.func.rensa(fn + '.' + en).toLowerCase() : GLF.func.rensa(un).toLowerCase(); $('#u_namn').val(un); GLF.curus = {unom: un, fnamn: fn, enamn: en, pnr: $('#pnr').val().trim(), tele: $('#tfn').val().trim(), epost: $('#epost').val().trim(), web: $('#web').val().trim(), ftnom: $('#ftgnamn').val().trim(), orgnr: $('#orgnr').val().trim(), utyp: GLF.cont.atyp[vald_typ - 1], bild: picurl, hasftg : $('#ftg_b').hasClass('vald')}; }, rensa : function(s){ let sl = _diac.length; while(sl-- > 0){s = s.replace(_diac[sl].l, _diac[sl].b);} return s.replace(rx[5], s); }, ansok : function(){ var sob = $.extend({}, GLF.curus); sob.orgnr = GLF.curus.orgnr.replace('-', ''); sob.pnr = GLF.curus.pnr.replace('-', ''); sob.hasftg = +GLF.curus.hasftg + ''; sob.utyp = vald_typ * 2; $.ajax({ url: '/srv/ansokan.php', type: 'post', cache: false, data: sob, dataType: 'html', success: function () { var tack = '

Tack ' + GLF.curus.fnamn + ' ' + GLF.curus.enamn + '!

Vi har mottagit din ansökan om att delta i Gotlands Lokalfinansierings nätverk som ' + GLF.curus.utyp + '.

Inom kort har vi behandlat din ansökan och du kommer då att meddelas vad som händer härnäst.

', ndata = {fnamn: sob.fnamn, enamn: sob.enamn, utyp: sob.utyp}; $('#formular_svep').empty().append(tack); if(GLF.curus.hasftg){ ndata.ftgnamn = sob.ftnom; ndata.orgid = GLF.curus.orgnr; } $.ajax({url: '/srv/notifiera.php', type: 'post', cache: false, data: ndata}); } }); }, beskar_bild : function(fn, url, bredd, hojd){ let ruta; GLF.elm.beskar_ol.css('display', 'block'); ruta = new ICropper('beskarbild',{ratio:1, image:url, minWidth: 300, minHeight: 300, initialSize: 304}); GLF.elm.beskar_ok.on('click', function () { $.ajax({ url: sz_loc + 'resizer.php', type:'POST', cache: false, data: $.extend({fn: fn}, ruta.getInfo()), success: function (r) { GLF.elm.beskar_ol.css('display', 'none'); $('#beskarbild').empty(); GLF.func.bild_klar(sz_loc + 'raw/RES_' + fn); GLF.elm.beskar_ok.off(); } }); }); }, bild_klar : function(url){ picset = true; picurl = url; GLF.elm.anvbild.attr('src', url).css('display', 'block'); $('.ram_ui').remove(); }, bild_resp : function(r){ if (parseInt(r.succ, 10) === 1) { if(r.nores){ GLF.func.bild_klar(sz_loc + 'raw/' + r.fn); } else { GLF.func.beskar_bild(r.fn, sz_loc + 'raw/' + r.fn, r.b, r.h); } } $('#bform')[0].reset(); }, bild_upl : function(b_ref){ let rq = {data : new FormData(), success: GLF.func.bild_resp, url: sz_loc + 'sizer.php'}; rq.data.append('upl', b_ref); $.extend(rq, jqxht.bildfil); $.ajax(rq); }, valj_atyp : function(atyp){ vald_typ = atyp; GLF.elm.atyp_knapp[0].className = 'anvtyp val' + ((atyp & 1) === 1 ? ' vald' : ''); GLF.elm.atyp_knapp[1].className = 'anvtyp val' + ((atyp & 2) === 2 ? ' vald' : ''); GLF.elm.atyp_knapp[2].className = 'anvtyp val' + ((atyp & 3) === 3 ? ' vald' : ''); //GLF.elm.granska_knapp[jqa[0][+((atyp & 1) === 1)]]('fbot'); //GLF.elm.skicka_knapp[jqa[0][+((atyp & 1) === 1)]]('fbot'); //GLF.elm.ftg_knapp.css('display', jqa[3][+((atyp & 1) === 1)*2]); //GLF.elm.orgbox.css('display', jqa[3][+((atyp & 1) === 1)]); GLF.elm.anvrubrik.html(GLF.cont.atyp[atyp - 1]); GLF.elm.anvtxt.html(GLF.cont.anvtxt[atyp - 1]); }, swp_form : function(){ GLF.elm.uppgifter[formpg].className = 'uppgifter transit'; GLF.elm.uppgifter[(formpg + 1) % 2].className = 'uppgifter off_screen'; setTimeout(function(){ GLF.elm.uppgifter[formpg].className = 'uppgifter'; }, 400); }, swp_ftg : function(val){ ftg = val === 'ftg_b'; GLF.elm.orgbox[jqa[0][+ftg]](jqa[2][0]); GLF.elm.orginfo[jqa[1][+ftg]]('disabled', 'disabled'); GLF.elm.ftg_knapp[+ftg].className = 'foretag val vald'; GLF.elm.ftg_knapp[+!ftg].className = 'foretag val' }, auto_fmt_pnr : function(){ var tmp = this.value.replace(s_rx, ''); if(rx12.test(tmp)){ this.value = tmp.substr(2,6) + '-' + tmp.substr(8); } if(rx10.test(tmp)){ this.value = tmp.substr(0,6) + '-' + tmp.substr(6); } $('#pnrcon').removeClass('fel'); }, chkun: function () { var ret = false; $.ajax({ url: '/srv/chkun.php', type: 'post', cache: false, async: false, dataType: 'json', data: { qtyp:'uid', un: GLF.curus.unom }, success: function (r) { ret = r.took === false; } }); return ret; }, gdpr_msg : function(){ $('#modal_lager').remove(); $(document.body).prepend(vkform); $('#vkok').on('change', function(){ $('#confirm_knapp')[jqa[0][+this.checked]]('disabled'); }); $('#confirm_knapp').on('click', function(){ if($('#vkok')[0].checked){ $('#modal_lager').remove(); GLF.func.ansok(); } }); $('#decline_knapp').on('click', function(){ $('#modal_lager').remove(); }); } }, cont : { atyp : ['Entreprenör', 'Investor', 'Entreprenör + Investor'], anvtxt : ['Välj entreprenör om du har ett eget projekt som du vill ha finansiering till.', 'Välj investor om du vill investera i spännande lokala projekt.', 'Ansök med båda rollerna endast om du både avser att investera och söker finansiering till ditt företag.'] }, elm : { atyp_knapp : $('.anvtyp'), ftg_knapp : $('.foretag'), orgbox : $('#organisation'), orginfo : $('#organisation input'), anvrubrik : $('#atyp'), anvtxt : $('#atyp_text'), uppgifter : $('.uppgifter'), granska_knapp : $('#granska'), skicka_knapp : $('#sand_ansokan'), bildram : $('#ram_anvbild'), bildfup : $('#bild_fup'), anvbild : $('#anvbild'), beskar_ol : $('#beskar'), beskar_ok : $('#besk_ok') } }; GLF.elm.atyp_knapp.on('click', function(){ GLF.func.valj_atyp(this.id === 'ent' ? 1 : this.id === 'inv' ? 2 : 3); }); GLF.elm.ftg_knapp.on('click', function(){ GLF.func.swp_ftg(this.id); }); GLF.elm.granska_knapp.on('click', function(){ GLF.func.usob(); if(GLF.func.validera()){ GLF.elm.granska_knapp.addClass('grn') GLF.elm.skicka_knapp.css('display', 'inline-block'); } }); GLF.elm.skicka_knapp.on('click', function(){ if(GLF.func.validera()){ GLF.func.gdpr_msg(); } }); GLF.elm.bildfup.on('change', function(){ let files = GLF.elm.bildfup.prop('files'); if(files.length > 0){ GLF.func.bild_upl(files[0]); } }); GLF.elm.bildram.on('click', function(){ GLF.elm.bildfup.click(); }); $('.chg').on('click', function(){ formpg = +!(this.id === 'back'); GLF.func.swp_form(); }); $('input').on('input', function(){ this.className = ''; GLF.elm.granska_knapp.removeClass('grn'); GLF.elm.skicka_knapp.css('display', 'none'); }); $('#pnr').on('change blur', GLF.func.auto_fmt_pnr); }; var vald_typ = 1, formpg = 0, ftg = false, picset = false, picurl = 'stil/bilder/anvandare.svg', vkform = ''; fetch('res/gdpr.dialog.htm?v=1.1').then(function(r) { r.text().then(function(form) { vkform = form; }); }); window.addEventListener('load', GLF_webbformular_ansok); })();