var Language; $(document).ready(function() { SubmitEventHandlers(); var domain = window.location.hostname; if(domain.indexOf(".com") !== -1) { Language = "en"; } else if(domain.indexOf(".eu") !== -1) { Language = "en"; } else { Language = "nl"; } }); function SubmitEventHandlers() { $("#FormWachtwoordHerstellen").on("submit.SEH", function( event ) { event.preventDefault(); $('.error').remove(); CheckFormWachtwoordHerstellen(); }); $("#FormAanbieden").on("submit.SEH", function( event ) { event.preventDefault(); $('.error').remove(); CheckFormAanbieden(); }); $("#FormGezocht").on("submit.SEH", function( event ) { event.preventDefault(); $('.error').remove(); CheckFormGezocht(); }); $("#FormToevoegen").on("submit.SEH", function( event ) { event.preventDefault(); $('.error').remove(); CheckFormToevoegen(); }); $("#FormWijzigen").on("submit.SEH", function( event ) { event.preventDefault(); $('.error').remove(); CheckFormWijzigen(); }); $("#FormConfirmVerwijderen").on("submit.SEH", function( event ) { event.preventDefault(); $('.error').remove(); CheckFormConfirmVerwijderen(); }); $("#FormInstellingen").on("submit.SEH", function( event ) { event.preventDefault(); $('.error').remove(); CheckFormInstellingen(); }); $("#FormStart").on("submit.SEH", function( event ) { event.preventDefault(); $('.error').remove(); CheckStart(); }); } function CheckFormWachtwoordHerstellen (boolArray = []) { var formID = "#FormWachtwoordHerstellen"; boolArray.push(PassStrength('input', 0)); boolArray.push(PassSame('input', 1)); boolArray.push(Empty('input', 2)); boolArray.push(Empty('input', 3)); var check = boolArray.indexOf(false); if (check != -1) { return false; } else { var submitBUTTON = $(formID).find('button[type="submit"]'); var submitVALUE = $(submitBUTTON).attr('value'); var hiddenINPUT = $(submitBUTTON).prevAll('input[type="hidden"]').first(); $(hiddenINPUT).val(submitVALUE); $(formID).off('.SEH').submit(); return true; } } function CheckFormAanbieden() { var formID = "#FormAanbieden"; var boolArray = []; boolArray.push(Empty('input', 0)); boolArray.push(Char('input', 0)); boolArray.push(Empty('input', 1)); boolArray.push(Char('input', 1)); boolArray.push(Empty('input', 2)); boolArray.push(Char('input', 2)); boolArray.push(Float('input', 3)); boolArray.push(Char('input', 4)); boolArray.push(Char('input', 5)); boolArray.push(Empty('input', 6)); boolArray.push(Char('input', 6)); boolArray.push(Empty('input', 7)); boolArray.push(Char('input', 7)); boolArray.push(Radio('klinisch')); boolArray.push(Radio('rontgenologisch')); boolArray.push(Char('input', 8)); boolArray.push(Char('input', 9)); boolArray.push(Char('input', 10)); boolArray.push(Char('input', 11)); boolArray.push(CharT('input', 12)); if($(".checkbox").eq(0).prop("checked")) { boolArray.push(CharP('file', 0)); boolArray.push(Img('file', 0)); boolArray.push(CharP('file', 1)); boolArray.push(Img('file', 1)); boolArray.push(CharP('file', 2)); boolArray.push(Img('file', 2)); } if($(".checkbox").eq(1).prop("checked")) { boolArray.push(CharP('file', 3)); boolArray.push(Vid('file', 3)); boolArray.push(CharP('file', 4)); boolArray.push(Vid('file', 4)); boolArray.push(CharP('file', 5)); boolArray.push(Vid('file', 5)); } boolArray.push(CharP('input', 13)); boolArray.push(CharP('input', 14)); boolArray.push(CharP('input', 15)); boolArray.push(FileSize()); boolArray.push(Empty('input', 16)); boolArray.push(Char('input', 16)); boolArray.push(Empty('input', 17)); boolArray.push(Char('input', 17)); boolArray.push(Char('input', 18)); boolArray.push(Char('input', 19)); boolArray.push(Char('input', 20)); boolArray.push(Char('input', 21)); boolArray.push(Char('input', 22)); boolArray.push(Char('input', 23)); boolArray.push(Phone('input', 24, false)); boolArray.push(Char('input', 25)); boolArray.push(Email('input', 25)); boolArray.push(ReCaptcha('g-recaptcha', 0)); var check = boolArray.indexOf(false); if (check !== -1) { return false; } else { var submitBUTTON = $(formID).find('button[type="submit"]'); var submitVALUE = $(submitBUTTON).attr('value'); var hiddenINPUT = $(submitBUTTON).prevAll('input[type="hidden"]').first(); $(hiddenINPUT).val(submitVALUE); $(formID).off('.SEH').submit(); return true; } } function CheckFormGezocht() { var formID = "#FormGezocht"; var boolArray = []; boolArray.push(Empty('input', 0)); boolArray.push(Char('input', 0)); boolArray.push(Empty('input', 1)); boolArray.push(Char('input', 1)); boolArray.push(Empty('input', 2)); boolArray.push(Char('input', 2)); boolArray.push(Empty('input', 3)); boolArray.push(Char('input', 3)); boolArray.push(Empty('input', 4)); boolArray.push(Char('input', 4)); boolArray.push(Char('input', 5)); boolArray.push(Char('input', 6)); boolArray.push(CharT('input', 7)); boolArray.push(Empty('input', 8)); boolArray.push(Char('input', 8)); boolArray.push(Empty('input', 9)); boolArray.push(Char('input', 9)); boolArray.push(Empty('input', 10)); boolArray.push(Char('input', 10)); boolArray.push(Char('input', 11)); boolArray.push(Char('input', 12)); boolArray.push(Char('input', 13)); boolArray.push(Char('input', 14)); boolArray.push(Char('input', 15)); boolArray.push(Char('input', 16)); boolArray.push(Phone('input', 17, false)); boolArray.push(Char('input', 18)); boolArray.push(Email('input', 18)); boolArray.push(ReCaptcha('g-recaptcha', 0)); var check = boolArray.indexOf(false); if (check !== -1) { return false; } else { var submitBUTTON = $(formID).find('button[type="submit"]'); var submitVALUE = $(submitBUTTON).attr('value'); var hiddenINPUT = $(submitBUTTON).prevAll('input[type="hidden"]').first(); $(hiddenINPUT).val(submitVALUE); $(formID).off('.SEH').submit(); return true; } } function CheckFormToevoegen() { var formID = "#FormToevoegen"; var boolArray = []; boolArray.push(Empty('input', 0)); boolArray.push(Char('input', 0)); boolArray.push(Empty('input', 1)); boolArray.push(Char('input', 1)); boolArray.push(Empty('input', 2)); boolArray.push(Char('input', 2)); boolArray.push(Empty('input', 3)); boolArray.push(Char('input', 3)); boolArray.push(Char('input', 4)); boolArray.push($(".checkbox").eq(0).prop("checked") ? Img('file', 0) : true); boolArray.push($(".checkbox").eq(0).prop("checked") ? CharP('file', 0) : true); boolArray.push(FileSize()); boolArray.push($(".checkbox").eq(1).prop("checked") ? Youtube('input', 5) : true); boolArray.push($(".checkbox").eq(1).prop("checked") ? CharP('input', 5) : true); boolArray.push(ReCaptcha('g-recaptcha', 0)); var check = boolArray.indexOf(false); if (check !== -1) { return false; } else { var submitBUTTON = $(formID).find('button[type="submit"]'); var submitVALUE = $(submitBUTTON).attr('value'); var hiddenINPUT = $(submitBUTTON).prevAll('input[type="hidden"]').first(); $(hiddenINPUT).val(submitVALUE); $(formID).off('.SEH').submit(); return true; } } function CheckFormWijzigen() { var formID = "#FormWijzigen"; var boolArray = []; boolArray.push(Empty('input', 0)); boolArray.push(Char('input', 0)); boolArray.push(Empty('input', 1)); boolArray.push(Char('input', 1)); boolArray.push(Empty('input', 2)); boolArray.push(Char('input', 2)); boolArray.push(Empty('input', 3)); boolArray.push(Char('input', 3)); boolArray.push(Char('input', 4)); boolArray.push($(".checkbox").eq(0).prop("checked") ? Img('file', 0) : true); boolArray.push($(".checkbox").eq(0).prop("checked") ? CharP('file', 0) : true); boolArray.push(FileSize()); boolArray.push($(".checkbox").eq(1).prop("checked") ? Youtube('input', 5) : true); boolArray.push($(".checkbox").eq(1).prop("checked") ? CharP('input', 5) : true); boolArray.push(ReCaptcha('g-recaptcha', 0)); var check = boolArray.indexOf(false); if (check !== -1) { return false; } else { var submitBUTTON = $(formID).find('button[type="submit"]'); var submitVALUE = $(submitBUTTON).attr('value'); var hiddenINPUT = $(submitBUTTON).prevAll('input[type="hidden"]').first(); $(hiddenINPUT).val(submitVALUE); $(formID).off('.SEH').submit(); return true; } } function CheckFormConfirmVerwijderen() { var formID = "#FormConfirmVerwijderen"; var boolArray = []; boolArray.push(Empty('input', 0)); boolArray.push(Char('input', 0)); var check = boolArray.indexOf(false); if (check !== -1) { return false; } else { var submitBUTTON = $(formID).find('button[type="submit"]'); var submitVALUE = $(submitBUTTON).attr('value'); var hiddenINPUT = $(submitBUTTON).prevAll('input[type="hidden"]').first(); $(hiddenINPUT).val(submitVALUE); $(formID).off('.SEH').submit(); return true; } } function CheckFormInstellingen(boolArray = []) { var formID = "#FormInstellingen"; boolArray.push(Empty('input', 0)); boolArray.push(Char('input', 0)); boolArray.push(PassStrength('input', 1)); boolArray.push(PassSame('input', 2)); var check = boolArray.indexOf(false); if (check != -1) { return false; } else { var submitBUTTON = $(formID).find('button[type="submit"]'); var submitVALUE = $(submitBUTTON).attr('value'); var hiddenINPUT = $(submitBUTTON).prevAll('input[type="hidden"]').first(); $(hiddenINPUT).val(submitVALUE); $(formID).off('.SEH').submit(); return true; } } function CheckFormStart(boolArray = []) { var formID = "#FormStart"; boolArray.push(Char('input', 0)); boolArray.push(Int('input', 0)); var check = boolArray.indexOf(false); if (check != -1) { return false; } else { var submitBUTTON = $(formID).find('button[type="submit"]'); var submitVALUE = $(submitBUTTON).attr('value'); var hiddenINPUT = $(submitBUTTON).prevAll('input[type="hidden"]').first(); $(hiddenINPUT).val(submitVALUE); $(formID).off('.SEH').submit(); return true; } } //tests// function GetError(test, name = "", nr = null, paraObj = null) { if(paraObj === null) { paraObj = [null, null, null, null, null, null, null, null, null, null]; } Error = { "nl" : { "Empty" : "U heeft " + name + " niet ingevuld!", "Char" : "Invoerveld (" + name + ") mag geen quotes (dubbele of enkele), slashes en $ bevatten!", "CharP" : "Invoerveld (" + name + ") mag geen quotes (dubbele of enkele) en $ bevatten!", "CharT" : "Invoerveld (" + name + ") mag geen $ bevatten!", "Float" : [ "U heeft " + name + " niet ingevuld!", "U heeft bij " + name + " een ongeldig getal ingevuld.", "U heeft bij " + name + " een ongeldig getal ingevuld. U moet een getal invoeren vanaf "+paraObj[0]+" tot en met "+paraObj[1]+"!", "U heeft bij " + name + " een ongeldig getal ingevuld. U moet een getal invoeren dat "+paraObj[0]+" tot en met "+paraObj[1]+" tekens bevat!" ], "Radio" : "U heeft geen keuze gemaakt bij " + name + "!", "Img" : "U heeft een ongeldig bestand gekozen! Alleen .gif .jpeg .jpg .bmp en .png afbeeldingen zijn toegestaan.", "Vid" : "U heeft een ongeldig bestand gekozen! Alleen .m4v .avi .mpg en .mp4 video's zijn toegestaan.", "FileSize" : [ "Uw toegevoegde bestanden (Foto's en Video's uit bestand) hebben gezamenlijk de maximale toelaatbare grootte van "+paraObj[0]+"Mb overschreden (Totale grootte: "+paraObj[1]+" Mb). Verwijder één of meer bestanden om onder de "+paraObj[0]+"Mb te komen. Als u toch graag alle bestanden wilt meesturen raden we u aan om uw bestanden (voornamelijk video's) te comprimeren. Door op de volgende link te klikken, komt u op een pagina met informatie over hoe u zelf uw video's kunt comprimeren: Hoe u video's kunt comprimeren?", "Uw toegevoegde foto heeft de maximale toelaatbare grootte van "+paraObj[0]+"Mb overschreden (Totale grootte: "+paraObj[1]+" Mb). Verwijder de foto of kies een andere om onder de "+paraObj[0]+"Mb te komen. Als u toch graag deze foto wilt meesturen raden we u aan om uw foto te comprimeren. Door op de volgende link te klikken, komt u op een pagina met informatie over hoe u zelf uw foto kunt comprimeren: Hoe u foto's kunt comprimeren?" ], "Phone" : "Telefoonnummer is niet geldig!", "Email" : "E-mailadres is niet geldig!", "ReCaptcha" : "U heeft het reCAPTCHA formulier nog niet aangevinkt!" }, "en" : { "Empty" : "You have not entered " + name + "!", "Char" : "Field (" + name + ") may not contain quotes (dubble or single), hashes and $ !", "CharP" : "Field (" + name + ") may not contain quotes (dubble or single) and $ !", "CharT" : "Field (" + name + ") may not contain $ !", "Float" : [ "You have not entered " + name + "!", "You have entered an invalid number at "+ name +".", "You have entered an invalid number at "+ name +". You must enter a number from "+ paraObj [0] +" to "+ paraObj [1] +"!", "You have entered an invalid number at "+ name +". You must enter a number that contains "+ paraObj [0] +" to "+ paraObj [1] +" characters!" ], "Radio" : "You have not made a choice at "+ name +"!", "Img" : "You have chosen an invalid file! Only .gif .jpeg .jpg .bmp and .png images are allowed.", "Vid" : "You have chosen an invalid file! Only .m4v .avi .mpg and .mp4 videos are allowed.", "FileSize" : [ "Your added files (Photos and Videos) together have exceeded the maximum permissible size of "+paraObj[0]+"Mb (Total size: "+paraObj[1]+" Mb). Delete one or more files to get below "+paraObj[0]+"Mb. If you still want to send all files, we advise you to compress your files (mainly videos). Clicking on the following link will take you to a page with information on how to compress your videos yourself: How to compress videos?", "Your added photo has exceeded the maximum allowable size of "+paraObj[0]+"Mb (Total size: "+paraObj[1]+" Mb). Delete the photo or choose another to get under the "+paraObj[0]+"Mb. If you still want to send this photo, we recommend you compress your photo. Clicking on the following link will take you to a page with information about how you can compress your photo yourself: How to compress photos?" ], "Phone" : "Phonenumber is not valid!", "Email" : "E-mail adress is not valid!", "ReCaptcha" : "You have not yet selected the reCAPTCHA form!" }, "de" : { "Empty" : "", "Char" : "", "CharP" : "", "CharT" : "", "Float" : [ "", "", "", "" ], "Radio" : "", "Img" : "", "Vid" : "", "FileSize" : [ "", "", ], "Phone" : "", "Email" : "", "ReCaptcha" : "" } }; if(nr !== null) { return Error[Language][test][nr]; } else { return Error[Language][test]; } } var PHP_INT_MIN = -2147483648; // 32-bit systeem var PHP_INT_MAX = 2147483647; // 32-bit systeem var PHP_UPLOAD_MAX_FILESIZE = 64000000; function Empty(vclass, i) { var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i].value.replace(/\s+/g, ''); if (value == "") { var name = document.getElementsByClassName(vclass)[i].getAttribute("data-name"); var error = "
" + GetError('Empty', name) + "
"; $(error).insertAfter($(qclass)[i]); return false; } else { return true; } } function Char(vclass, i) { var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i].value.replace(/\s+/g, ''); var a = value.indexOf("\""); var b = value.indexOf("\'"); var c = value.indexOf("\\"); var d = value.indexOf("/"); var e = value.indexOf("$"); var total = a + b + c + d + e; if (total != -5) { var name = document.getElementsByClassName(vclass)[i].getAttribute("data-name"); var error = "
" + GetError('Char', name) + "
"; $(error).insertAfter($(qclass)[i]); return false; } else { return true; } } function CharP(vclass, i) { var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i].value.replace(/\s+/g, ''); var a = value.indexOf("\""); var b = value.indexOf("\'"); var c = value.indexOf("$"); var total = a + b + c; if (total != -3) { var name = document.getElementsByClassName(vclass)[i].getAttribute("data-name"); var error = "
" + GetError('CharP', name) + "
"; $(error).insertAfter($(qclass)[i]); return false; } else { return true; } } function CharT(vclass, i) { var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i].value.replace(/\s+/g, ''); var a = value.indexOf("$"); var total = a; if (total != -1) { var name = document.getElementsByClassName(vclass)[i].getAttribute("data-name"); var error = "
" + GetError('CharT', name) + "
"; $(error).insertAfter($(qclass)[i]); return false; } else { return true; } } function Int(vclass, i, MINint = PHP_INT_MIN, MAXint = PHP_INT_MAX, MINlength = 0, MAXlength = PHP_INT_MAX, empty = false) { var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i].value.replace(/\s+/g, ''); var name = document.getElementsByClassName(vclass)[i].getAttribute("data-name"); if (empty === true && value == "") { return true; } else if (empty === false && value == "") { var error = "
U heeft " + name + " niet ingevuld!
"; } else if (isNaN(value) || (parseInt(Number(value)) != value) || isNaN(parseInt(value, 10)) || value.indexOf(".") !== -1) { var error = "
U heeft bij " + name + " een ongeldig getal ingevuld, decimalen zijn niet toegestaan!
"; } else if (MINint > parseInt(Number(value)) || MAXint < parseInt(Number(value))) { var error = "
U heeft bij " + name + " een ongeldig getal ingevuld. U moet een getal invoeren vanaf "+MINint+" tot en met "+MAXint+"!
"; } else if (MINlength > value.length || MAXlength < value.length) { var error = "
U heeft bij " + name + " een ongeldig getal ingevuld. U moet een getal invoeren dat "+MINlength+" tot en met "+MAXlength+" tekens bevat!
"; } else { return true; } $(error).insertAfter($(qclass)[i]); return false; } function Float(vclass, i, MINint = PHP_INT_MIN, MAXint = PHP_INT_MAX, MINlength = 0, MAXlength = PHP_INT_MAX, empty = false) { var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i].value.replace(/\s+/g, ''); var name = document.getElementsByClassName(vclass)[i].getAttribute("data-name"); if (empty === true && value == "") { return true; } else if (empty === false && value == "") { var error = "
" + GetError('Float', name, 0) + "
"; } else if (isNaN(value) || (parseFloat(Number(value)) != value) || isNaN(parseFloat(value))) { var error = "
" + GetError('Float', name, 1) + "
"; } else if (MINint > parseFloat(Number(value)) || MAXint < parseFloat(Number(value))) { var error = "
" + GetError('Float', name, 2, [MINint, MAXint]) + "
"; } else if (MINlength > value.length || MAXlength < value.length) { var error = "
" + GetError('Float', name, 3, [MINlength, MAXlength]) + "
"; } else { return true; } $(error).insertAfter($(qclass)[i]); return false; } function Radio(vname) { var qname = "input[name=" + vname + "]:checked"; var iname = "input[name=" + vname + "]"; var value = $(qname).val(); var name = document.getElementsByName(vname)[0].getAttribute("data-name"); if (value == "" || value == null) { var error = "
" + GetError('Radio', name) + "
"; $(error).insertAfter($(iname).last()); return false; } else { return true; } } function Img(vclass, i) { var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i].value.replace(/\s+/g, ''); if (value == "") { return true; } else { var Ext = $($(qclass)[i]).val().split('.').pop().toLowerCase(); var ValidImageExt = ['gif','png','jpg','jpeg','bmp']; if ($.inArray(Ext, ValidImageExt) < 0) { var error = "
" + GetError('Img') + "
"; $(error).insertAfter($(qclass)[i]); return false; } else { return true; } } } function Vid(vclass, i) { var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i].value.replace(/\s+/g, ''); if (value == "") { return true; } else { var Ext = $($(qclass)[i]).val().split('.').pop().toLowerCase(); var ValidVideoExt = ['m4v', 'avi','mpg','mp4']; if ($.inArray(Ext, ValidVideoExt) < 0) { var error = "
" + GetError('Vid') + "
"; $(error).insertAfter($(qclass)[i]); return false; } else { return true; } } } function FileSize() { $('.mediaError').remove(); var errorNr = (document.getElementsByClassName("file")[0].hasAttribute("data-errorNr") ? parseInt(document.getElementsByClassName("file")[0].getAttribute("data-errorNr")) : 0); var maxAllowedSizePHP = PHP_UPLOAD_MAX_FILESIZE; var maxAllowedSizeATR = 0; var totalSize = 0; $(".file").each(function() { for (var i = 0; i < this.files.length; i++) { totalSize += this.files[i].size; if(this.hasAttribute("data-size")) { maxAllowedSizeATR = maxAllowedSizeATR + parseInt(this.getAttribute("data-size")); } else { maxAllowedSizeATR = maxAllowedSizeATR + maxAllowedSizePHP; } } }); var maxAllowedSize = (maxAllowedSizeATR > maxAllowedSizePHP) ? maxAllowedSizePHP : maxAllowedSizeATR; if (totalSize > maxAllowedSize) { var Total = totalSize / 1000000; var echoTotalSize = Total.toString(); var echoMaxAllowedSize = (maxAllowedSize / 1000000).toString(); var error = "
" + GetError('FileSize', null, errorNr, [echoMaxAllowedSize, echoTotalSize]) + "
"; $(error).insertAfter($(".bied-page-blok-input-media").last()); return false; } else { return true; } } function Phone(vclass, i, empty = false) { var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i].value.replace(/\s+|\-|/g, ""); if (empty === true && value == "") { return true; } else { var phonenumber = new RegExp("^([0-9]{7,10})$"); var checkPhonenumber = phonenumber.test(value); var phonenumberland = new RegExp("^(00[0-9]{9,11})$"); var checkPhonenumberland = phonenumberland.test(value); var phonenumberlandPlus = new RegExp("^(\\+[0-9]{9,11})$"); var checkPhonenumberlandPlus = phonenumberlandPlus.test(value); if (checkPhonenumber == false && checkPhonenumberland == false && checkPhonenumberlandPlus == false) { var error = "
" + GetError('Phone') + "
"; $(error).insertAfter($(qclass)[i]); return false; } else { return true; } } } function Email(vclass, i) { var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i].value.replace(/\s+/g, ''); var email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; var checkEmail = email.test(value); if (checkEmail == false) { var error = "
" + GetError('Email') + "
"; $(error).insertAfter($(qclass)[i]); return false; } else { return true; } } function Youtube(vclass, i) { //Variables var APIkey = "AIzaSyCNCfzCCD6RKyw4xPP_he2oIcI1pN-c4zw"; var qclass = "." + vclass; var linkPRE = $(qclass).eq(i).val(); var link = $.trim(linkPRE); //Dynamic variables var listSPLIT = link.split('list='); var videoSPLIT = link.split('v='); var urlSPLIT = link.split('https://youtu.be/'); var embedSPLIT = link.split('https://www.youtube.com/embed/'); var list = (listSPLIT[1] !== undefined) ? listSPLIT[1].split('&')[0] : false; var video = (videoSPLIT[1] !== undefined) ? videoSPLIT[1].split('&')[0] : false; var url = (urlSPLIT[1] !== undefined) ? urlSPLIT[1].split('/')[0] : false; var embed = (embedSPLIT[1] !== undefined) ? embedSPLIT[1].split('/')[0] : false; var empty = (link === "") ? true : false; //Execute check $('.linkError').remove(); if (empty === true) { return true; } else if (list !== false) { getURL = "https://www.googleapis.com/youtube/v3/playlists"; getValue = list; getType = "playlist"; } else if (video !== false) { getURL = "https://www.googleapis.com/youtube/v3/videos"; getValue = video; getType = "video"; } else if (url !== false) { getURL = "https://www.googleapis.com/youtube/v3/videos"; getValue = url; getType = "url"; } else if (embed !== false) { getURL = "https://www.googleapis.com/youtube/v3/videos"; getValue = embed; getType = "embeded video"; } else { var error = "
U heeft een ongeldige youtube url ingevoerd!
"; $(error).insertAfter($(".link")); return false; } //AJAX GET_REQUEST $.get(getURL, {part: "id", id: getValue, key: APIkey }) .done(function(data) { console.log(data); if (data.pageInfo.totalResults > 0) { return true; } else { var error = "
De ingevoerde youtube url ("+getType+") bestaat niet!
"; $(error).insertAfter($(".link")); return false; } }) .fail(function(xhr){ console.log(xhr.responseText); alert('GET error: ' + xhr + ' (' + xhr.status + '). De controle van uw youtube url ('+getType+') is niet gelukt.'); return false; }) ; } function ReCaptcha (vclass, i) { var qclass = "." + vclass; if (grecaptcha.getResponse() == "") { var error = "
" + GetError('ReCaptcha') + "
"; $(error).insertAfter($(qclass)[i]); return false; } else { return true; } } function PassStrength(vclass, i, submit = true) { //Wachtwoord vereisten // - Minimaal 8 chars lang // - Minimaal 3/4 volgende punten // - Minimaal 1 lowercase char // - Minimaal 1 uppercase char // - Minimaal 1 cijfer // - Minimaal 1 symbool var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i].value; //Variabelen aanmaken if (1===1) { var bUnvalid = false; var nLength = 0; var v1 = 0; var v2 = 0; var v3 = 0; var v4 = 0; var v5 = 0; var nReq = 0; var cReq = 0; var bReq = false; var nLC = 0; var cConsecLC; var nConsecLC = 0; var nUC = 0; var cConsecUC; var nConsecUC = 0; var nMidCH = 0; var nNR = 0; var cConsecNR; var nConsecNR = 0; var nSY = 0; var cConsecSY; var nConsecSY = 0; var nRepeatCH = 0; var nUniqueCH = 0; var vRepeatCH = 0; var sequenceABC = "abcdefghijklmnopqrstuvwxyz"; var sequenceNR = "0123456789"; var sequenceSY = ")!@#$%^&*()"; var nSequenceABC = 0; var nSequenceNR = 0; var nSequenceSY = 0; var score = 0; } //Waardes berekenen if (1===1) { //bUnvalid (Bool) var a = value.indexOf(" "); // Spatie var b = value.indexOf("\"");// " var c = value.indexOf("\'");// ' var d = value.indexOf("\\");// \ var e = value.indexOf("/"); // / var f = value.indexOf("$"); // $ var cUnvalid = a + b + c + d + e + f; if (cUnvalid != -6){bUnvalid = true;}else{bUnvalid = false;} //nLength (INT) var nLength = value.length; for (var x=0; x < nLength; x++) { stringArray = value.split(""); //nLC (INT) if (stringArray[x].match(/[a-z]/gm)) { nLC = nLC + 1; //nConsecutiveLC if (cConsecLC !== "") { if ((cConsecLC + 1) == x){nConsecLC = nConsecLC + 1;} } cConsecLC = x; } //nUC (INT) else if (stringArray[x].match(/[A-Z]/gm)) { nUC = nUC + 1; //nConsecutiveUC if (cConsecUC !== "") { if ((cConsecUC + 1) == x){nConsecUC = nConsecUC + 1;} } cConsecUC = x; } //nNR (INT) else if (stringArray[x].match(/[0-9]/gm)) { nNR = nNR + 1; //nMidCH (INT) if (x > 0 && x < (nLength - 1)){nMidCH = nMidCH + 1;} //nConsecutiveNR if (cConsecNR !== "") { if ((cConsecNR + 1) == x){nConsecNR = nConsecNR + 1;} } cConsecNR = x; } //nSY (INT) else if (stringArray[x].match(/[^a-zA-Z0-9_]/gm)) { nSY = nSY + 1; //nMidCH (INT) if (x > 0 && x < (nLength - 1)){nMidCH = nMidCH + 1;} //nConsecutiveSY if (cConsecSY !== "") { if ((cConsecSY + 1) == x){nConsecSY = nConsecSY + 1;} } cConsecSY = x; } //nRepeatCH & vRepeatCH (INT) var bRepeatCH = false; for (var y=0; y < nLength; y++) { if (stringArray[i] == stringArray[y] && x != y) { bRepeatCH = true; //Reductie bepaald door totale password lengte gedeeld door de afstand tussen de herhaalde char vRepeatCH = vRepeatCH + Math.abs(nLength/(y-x)); } } if (bRepeatCH) { nRepeatCH = nRepeatCH + 1; nUniqueCH = nLength - nRepeatCH; vRepeatCH = (nUniqueCH) ? Math.ceil(vRepeatCH/nUniqueCH) : Math.ceil(vRepeatCH); } } //nSequenceABC (INT) Minimaal 3 op- of afloppende chars for (var z=0; z < 23; z++) { var sequenceFwd = sequenceABC.substring(z,parseInt(z+3)); var sequenceSplit = sequenceFwd.split(""); var sequenceRev = sequenceSplit[0] + sequenceSplit[1] + sequenceSplit [2]; if (value.toLowerCase().indexOf(sequenceFwd) != -1 || value.toLowerCase().indexOf(sequenceRev) != -1){nSequenceABC = nSequenceABC + 1;} } //nSequenceNR (INT) Minimaal 3 op- of afloppende chars for (var z=0; z < 7; z++) { var sequenceFwd = sequenceNR.substring(z,parseInt(z+3)); var sequenceSplit = sequenceFwd.split(""); var sequenceRev = sequenceSplit[0] + sequenceSplit[1] + sequenceSplit [2]; if (value.toLowerCase().indexOf(sequenceFwd) != -1 || value.toLowerCase().indexOf(sequenceRev) != -1){nSequenceNR = nSequenceNR + 1;} } //nSequenceSY (INT) Minimaal 3 op- of afloppende chars for (var z=0; z < 8; z++) { var sequenceFwd = sequenceSY.substring(z,parseInt(z+3)); var sequenceSplit = sequenceFwd.split(""); var sequenceRev = sequenceSplit[0] + sequenceSplit[1] + sequenceSplit [2]; if (value.toLowerCase().indexOf(sequenceFwd) != -1 || value.toLowerCase().indexOf(sequenceRev) != -1){nSequenceSY = nSequenceSY + 1;} } //nReq (INT) if (nLength >= 8){v1 = 1;} else{v1 = 0;} if (nLC >= 1){v2 = 1;} else{v2 = 0;} if (nUC >= 1){v3 = 1;} else{v3 = 0;} if (nNR >= 1){v4 = 1;} else{v4 = 0;} if (nSY >= 1){v5 = 1;} else{v5 = 0;} nReq = v1 + v2 + v3 + v4 + v5; cReq = v2 + v3 + v4 + v5; //bReq (Bool) if (v1 === 1 && cReq >= 3){bReq = true;} } //Score berekenen if (1===1) { //+++ //nLength score = parseInt(score + (nLength * 4)); //nLC score = parseInt(score + ((nLength - nLC) * 2)); //nUC score = parseInt(score + ((nLength - nUC) * 2)); //nNR score = parseInt(score + (nNR * 4)); //nSY score = parseInt(score + (nSY * 6)); //nMidCH score = parseInt(score + (nMidCH * 2)); //nReq score = parseInt(score + (nReq * 2)); //--- //Only Letters if ((nLC + nUC) === nLength){score = parseInt(score - nLength);} //Only Numbers if (nNR === nLength){score = parseInt(score - nLength);} //vRepeatCH if (nRepeatCH > 0){score = parseInt(score - vRepeatCH);} //nConsecLC score = parseInt(score - (nConsecLC * 2)); //nConsecUC score = parseInt(score - (nConsecUC * 2)); //nConsecNR score = parseInt(score - (nConsecNR * 2)); //nConsecSY score = parseInt(score - (nConsecSY * 2)); //nSequenceABC score = parseInt(score - (nSequenceABC * 3)); //nSequenceNR score = parseInt(score - (nSequenceNR * 3)); //nSequenceSY score = parseInt(score - (nSequenceSY * 3)); //Correctie //bUnvalid if (bUnvalid === true){score = 0;} //bReq if (bReq === false && score >= 40){score = 39;} //<0 if (score <= 0){score = 0;} //>100 if (score >= 100){score = 100;} } //Visualisatie if (1===1) { var wachtwoordbar = $($(qclass)[i]).nextAll('.wachtwoordbar').first(); var wachtwoordbarLines = $(wachtwoordbar).children('.wachtwoordbar-line'); var wachtwoordbarSpan = $(wachtwoordbar).children('.wachtwoordbar-span').first(); if (nLength <= 0) { $(wachtwoordbarLines).eq(0).removeClass('barrood'); $(wachtwoordbarLines).eq(1).removeClass('baroranje'); $(wachtwoordbarLines).eq(2).removeClass('bargroen'); $(wachtwoordbarSpan).html('Wachtwoord is leeg'); } else { if (score <= 39) { $(wachtwoordbarLines).eq(0).addClass('barrood'); $(wachtwoordbarLines).eq(1).removeClass('baroranje'); $(wachtwoordbarLines).eq(2).removeClass('bargroen'); $(wachtwoordbarSpan).html('Zwak'); } else if (40 <= score && score <= 69) { $(wachtwoordbarLines).eq(0).addClass('barrood'); $(wachtwoordbarLines).eq(1).addClass('baroranje'); $(wachtwoordbarLines).eq(2).removeClass('bargroen'); $(wachtwoordbarSpan).html('Goed'); } else if (score >= 70) { $(wachtwoordbarLines).eq(0).addClass('barrood'); $(wachtwoordbarLines).eq(1).addClass('baroranje'); $(wachtwoordbarLines).eq(2).addClass('bargroen'); $(wachtwoordbarSpan).html('Sterk'); } } } //Return if (submit === true) { if (bUnvalid === true) { var error = "
Uw wachtwoord is ongeldig! Spaties, \", ', \\, / en $ mogen niet gebruikt worden
"; $(error).insertAfter($(qclass)[i]); return false; } else if (bReq === false) { var error = "
Uw wachtwoord voldoet niet aan de vereisten! Het wachtwoord moet minimaal 8 tekens lang zijn en 3 van de 4 volgende punten bevatten: kleineletter, hoofdletter, cijfer of een symbool.
"; $(error).insertAfter($(qclass)[i]); return false; } else if (score <= 39) { var error = "
Uw wachtwoord is te zwak!
"; $(error).insertAfter($(qclass)[i]); return false; } else { return true; } } else { $('#errorPASS').remove(); if (bUnvalid === true) { var error = "
Uw wachtwoord is ongeldig! Spaties, \", ', \\, / en $ mogen niet gebruikt worden
"; $(error).insertAfter($(qclass)[i]); return false; } else if (bReq === false){return false;} else if (score <= 39){return false;} else{return true;} } } function PassSame(vclass, i) { var qclass = "." + vclass; var value = document.getElementsByClassName(vclass)[i-1].value; var value1 = document.getElementsByClassName(vclass)[i].value; $('#errorSAME').remove(); if (value !== value1) { var error = "
Uw wachtwoorden komen niet overeen!
"; $(error).insertAfter($(qclass)[i]); return false; } else { return true; } }