(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 Lokalfinansiering Jämtland-Härjedalens 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 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 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.6').then(function(r) {
r.text().then(function(form) { vkform = form; });
});
window.addEventListener('load', GLF_webbformular_ansok);
})();