$(function(){ 'use strict'; var carousel = function() { $('.owl-carousel').owlCarousel({ loop: true, margin: 10, nav: true, stagePadding: 5, navText: ['', ''], responsive:{ 0:{ items: 1 }, 600:{ items: 2 }, 1000:{ items: 3 } } }); } carousel(); var toggleMenu = function() { var aside = $('.js-probootstrap-aside'), main = $('.js-probootstrap-main'); $('.js-probootstrap-toggle').on('click', function(e) { aside.addClass('active'); main.addClass('mobile-open'); e.preventDefault(); }); $('.js-probootstrap-close-menu').on('click', function(e) { aside.removeClass('active'); main.removeClass('mobile-open'); e.preventDefault(); }); $(document).mouseup(function(e) { var container = $(".probootstrap-aside"); if (!container.is(e.target) && container.has(e.target).length === 0) { aside.removeClass('active'); main.removeClass('mobile-open'); } }); }; toggleMenu(); var contentWayPoint = function() { var i = 0; jQuery('.probootstrap-animate').waypoint( function( direction ) { if( direction === 'down' && !jQuery(this.element).hasClass('probootstrap-animated') ) { i++; jQuery(this.element).addClass('item-animate'); setTimeout(function(){ jQuery('body .probootstrap-animate.item-animate').each(function(k){ var el = jQuery(this); setTimeout( function () { var effect = el.data('animate-effect'); if ( effect === 'fadeIn') { el.addClass('fadeIn probootstrap-animated'); } else if ( effect === 'fadeInLeft') { el.addClass('fadeInLeft probootstrap-animated'); } else if ( effect === 'fadeInRight') { el.addClass('fadeInRight probootstrap-animated'); } else { el.addClass('fadeInUp probootstrap-animated'); } el.removeClass('item-animate'); }, k * 50, 'easeInOutExpo' ); }); }, 100); } } , { offset: '95%' } ); }; contentWayPoint(); if ($('.probootstrap-main').length > 0 ) { $('.probootstrap-main').imagesLoaded( { }, function() { if ($('.card').length > 0 ) { $('.card').addClass('img-loaded'); } } ); } }); var url = location.href; var lang_result = String(url.match(/\/[a-z]{2}\//ig)); var lang = lang_result.substr(1, 2); function changeSiteLanguage(newLang){ let newLVar = '/' + newLang + '/'; let url_result = url.replace(/\/[a-z]{2}\//g, newLVar); location.href = url_result; } function sendRegister(){ var remail = document.getElementById("remail").value; var rpass = document.getElementById("rpass").value; var ranrede_index = document.getElementById("ranrede").selectedIndex; var ranrede = document.getElementById("ranrede").options[ranrede_index].value; var rfirst = document.getElementById("rfirst").value; var rlast = document.getElementById("rlast").value; var rplz = document.getElementById("rplz").value; var rland_index = document.getElementById("rland").selectedIndex; var rland = document.getElementById("rland").options[rland_index].value; var rgeschmack = document.getElementById("rgeschmack").value; var rburdealer_index = document.getElementById("rburdealer").selectedIndex; var rburdealer = document.getElementById("rburdealer").options[rburdealer_index].value; var rkundenprods = document.getElementById("rkundenprods").value; if(document.getElementById("rprivacy_accept").checked){ var rprivacy_accept = 1; }else{ var rprivacy_accept = 0; } if(document.getElementById("rcontact_accept").checked){ var rcontact_accept = 1; }else{ var rcontact_accept = 0; } //console.log('-->'+remail+'<-->'+rpass+'<-->'+ranrede+'<-->'+rfirst+'<-->'+rlast+'<-->'+rland+'<-->'+rgeschmack+'<-->'+rburdealer+'<-->'+rkundenprods+'<-'); var cerrors = 0; if(!checkEmailAdress(remail)){ document.getElementById("remail").style.borderColor = "#FF0000"; document.getElementById("remail").style.borderWidth = "2px"; document.getElementById("remail_error").innerHTML = 'Bitte geben Sie eine gültige Email Adresse ein!'; cerrors++; }else{ document.getElementById("remail").style.borderColor = "#B5B5B5"; document.getElementById("remail").style.borderWidth = "1px"; document.getElementById("remail_error").innerHTML = ''; } if(!checkPassword(rpass)){ document.getElementById("rpass").style.borderColor = "#FF0000"; document.getElementById("rpass").style.borderWidth = "2px"; document.getElementById("rpass_error").innerHTML = 'Das Passwort erfordert mindestens 8 Zeichen, Groß- und Kleinschreibung, mindestens 1 Zahl sowie mindestens 1 Sonderzeichen!'; cerrors++; }else{ document.getElementById("rpass").style.borderColor = "#B5B5B5"; document.getElementById("rpass").style.borderWidth = "1px"; document.getElementById("rpass_error").innerHTML = ''; } emptyCheck('rfirst', 'rfirst_error', rfirst, true); emptyCheck('rlast', 'rlast_error', rlast, true); emptyCheck('rplz', 'rplz_error', rplz, true); if(document.getElementById('rfirst_error').innerHTML != ''){ cerrors++; } if(document.getElementById('rlast_error').innerHTML != ''){ cerrors++; } if(document.getElementById('rplz_error').innerHTML != ''){ cerrors++; } if(rprivacy_accept == 0){ document.getElementById("rprivacy_error").innerHTML = 'Bestätigen Sie zumindest die Datenschutzbestimmungen.'; cerrors++; }else{ document.getElementById("rprivacy_error").innerHTML = ''; } if(cerrors == 0){ document.getElementById("registerme").submit(); } } function sendProfile(){ var remail = document.getElementById("remail").value; var rpass = document.getElementById("rpass").value; var ranrede_index = document.getElementById("ranrede").selectedIndex; var ranrede = document.getElementById("ranrede").options[ranrede_index].value; var rfirst = document.getElementById("rfirst").value; var rlast = document.getElementById("rlast").value; var rplz = document.getElementById("rplz").value; var rland_index = document.getElementById("rland").selectedIndex; var rland = document.getElementById("rland").options[rland_index].value; var rgeschmack = document.getElementById("rgeschmack").value; var rburdealer_index = document.getElementById("rburdealer").selectedIndex; var rburdealer = document.getElementById("rburdealer").options[rburdealer_index].value; var rkundenprods = document.getElementById("rkundenprods").value; if(document.getElementById("rprivacy_accept").checked || document.getElementById("rprivacy_accept").disabled == disabled){ var rprivacy_accept = 1; }else{ var rprivacy_accept = 0; } if(document.getElementById("rcontact_accept").checked){ var rcontact_accept = 1; }else{ var rcontact_accept = 0; } //console.log('-->'+remail+'<-->'+rpass+'<-->'+ranrede+'<-->'+rfirst+'<-->'+rlast+'<-->'+rland+'<-->'+rgeschmack+'<-->'+rburdealer+'<-->'+rkundenprods+'<-'); var cerrors = 0; if(!checkEmailAdress(remail)){ document.getElementById("remail").style.borderColor = "#FF0000"; document.getElementById("remail").style.borderWidth = "2px"; document.getElementById("remail_error").innerHTML = 'Bitte geben Sie eine gültige Email Adresse ein!'; cerrors++; }else{ document.getElementById("remail").style.borderColor = "#B5B5B5"; document.getElementById("remail").style.borderWidth = "1px"; document.getElementById("remail_error").innerHTML = ''; } if(rpass && !checkPassword(rpass)){ document.getElementById("rpass").style.borderColor = "#FF0000"; document.getElementById("rpass").style.borderWidth = "2px"; document.getElementById("rpass_error").innerHTML = 'Das Passwort erfordert mindestens 8 Zeichen, Groß- und Kleinschreibung, mindestens 1 Zahl sowie mindestens 1 Sonderzeichen!'; cerrors++; }else{ document.getElementById("rpass").style.borderColor = "#B5B5B5"; document.getElementById("rpass").style.borderWidth = "1px"; document.getElementById("rpass_error").innerHTML = ''; } if(rprivacy_accept == 0){ document.getElementById("rprivacy_error").innerHTML = 'Bestätigen Sie zumindest die Datenschutzbestimmungen.'; cerrors++; }else{ document.getElementById("rprivacy_error").innerHTML = ''; } emptyCheck('rfirst', 'rfirst_error', rfirst, true); emptyCheck('rlast', 'rlast_error', rlast, true); emptyCheck('rplz', 'rplz_error', rplz, true); if(document.getElementById('rfirst_error').innerHTML != ''){ cerrors++; } if(document.getElementById('rlast_error').innerHTML != ''){ cerrors++; } if(document.getElementById('rplz_error').innerHTML != ''){ cerrors++; } if(cerrors == 0){ document.getElementById("registerme").submit(); } } function sendNewpW(){ var remail = document.getElementById("remail").value; var cerrors = 0; if(!checkEmailAdress(remail)){ document.getElementById("remail").style.borderColor = "#FF0000"; document.getElementById("remail").style.borderWidth = "2px"; document.getElementById("remail_error").innerHTML = 'Bitte geben Sie eine gültige Email Adresse ein!'; cerrors++; }else{ document.getElementById("remail").style.borderColor = "#B5B5B5"; document.getElementById("remail").style.borderWidth = "1px"; document.getElementById("remail_error").innerHTML = ''; } if(cerrors == 0){ document.getElementById("registerme").submit(); } } function sendNewPw2(){ var rpass = document.getElementById("rpass").value; var cerrors = 0; if(!checkPassword(rpass)){ document.getElementById("rpass").style.borderColor = "#FF0000"; document.getElementById("rpass").style.borderWidth = "2px"; document.getElementById("rpass_error").innerHTML = 'Das Passwort erfordert mindestens 8 Zeichen, Groß- und Kleinschreibung, mindestens 1 Zahl sowie mindestens 1 Sonderzeichen!'; cerrors++; }else{ document.getElementById("rpass").style.borderColor = "#B5B5B5"; document.getElementById("rpass").style.borderWidth = "1px"; document.getElementById("rpass_error").innerHTML = ''; } if(cerrors == 0){ document.getElementById("registerme").submit(); } } function addProduct(){ var ptype_index = document.getElementById("ptype").selectedIndex; var ptype = document.getElementById("ptype").options[ptype_index].value; var pserial = document.getElementById("pserial").value; var pcode = document.getElementById("pcode").value; var cerrors = 0; if(!checkSerial(pserial)){ document.getElementById("pserial").style.borderColor = "#FF0000"; document.getElementById("pserial").style.borderWidth = "2px"; document.getElementById("pserial_error").innerHTML = 'Die Seriennummer hat 7 Stellen'; cerrors++; }else{ document.getElementById("pserial").style.borderColor = "#B5B5B5"; document.getElementById("pserial").style.borderWidth = "1px"; document.getElementById("pserial_error").innerHTML = ''; } if(cdevs && in_array(ptype, cdevs)){ emptyCheck('pcode', 'pcode_error', pcode, true); if(document.getElementById('pcode_error').innerHTML != ''){ cerrors++; } } if(cerrors == 0){ document.getElementById("registerme").submit(); } } function vehicleRequest(method, parameters){ var requestData = { Media_Obj: 'Vehicle', Method: method, Parameters: parameters }; var requestUrl = vehicleFormConfig.endpoint + '?lang=' + encodeURIComponent(vehicleFormConfig.language) + '&Json=' + encodeURIComponent(JSON.stringify(requestData)); return fetch(requestUrl, { credentials: 'same-origin', headers: { 'Accept': 'application/json' } }).then(function(response){ if(!response.ok){ throw new Error('request_failed'); } return response.json(); }).then(function(responseData){ if(responseData.Result !== 'OK'){ throw new Error(responseData.Reason || 'request_failed'); } return responseData.Items || []; }); } function vehicleResetSelect(selectId){ var select = document.getElementById(selectId); if(!select){ return; } select.innerHTML = ''; var option = document.createElement('option'); option.value = ''; option.innerHTML = vehicleFormConfig.placeholder; select.appendChild(option); select.disabled = true; } function vehicleFillSelect(selectId, items, selectedValue){ var select = document.getElementById(selectId); vehicleResetSelect(selectId); for(var i = 0; i < items.length; i++){ var option = document.createElement('option'); option.value = items[i].id; option.text = items[i].name; if(String(items[i].id) === String(selectedValue)){ option.selected = true; } select.appendChild(option); } select.disabled = items.length === 0; } function vehicleShowError(message){ var errorField = document.getElementById('vehicle_error'); if(errorField){ errorField.innerHTML = message || ''; } } function vehicleManufacturerChanged(selectedModel){ var manufacturerId = document.getElementById('vehicle_manufacturer_id').value; vehicleResetSelect('vehicle_model_id'); vehicleResetSelect('vehicle_model_type_id'); vehicleResetSelect('vehicle_configuration_id'); vehicleResetSelect('construction_year'); vehicleShowError(''); if(!manufacturerId){ return Promise.resolve(); } return vehicleRequest('GetModels', { manufacturer_id: manufacturerId }).then(function(items){ vehicleFillSelect('vehicle_model_id', items, selectedModel); }).catch(function(){ vehicleShowError(vehicleFormConfig.loadError); }); } function vehicleModelChanged(selectedModelType){ var modelId = document.getElementById('vehicle_model_id').value; vehicleResetSelect('vehicle_model_type_id'); vehicleResetSelect('vehicle_configuration_id'); vehicleResetSelect('construction_year'); vehicleShowError(''); if(!modelId){ return Promise.resolve(); } return vehicleRequest('GetTypes', { model_id: modelId }).then(function(items){ vehicleFillSelect('vehicle_model_type_id', items, selectedModelType); }).catch(function(){ vehicleShowError(vehicleFormConfig.loadError); }); } function vehicleTypeChanged(selectedConfiguration){ var modelTypeId = document.getElementById('vehicle_model_type_id').value; vehicleResetSelect('vehicle_configuration_id'); vehicleResetSelect('construction_year'); vehicleShowError(''); console.log('--' + modelTypeId); if(!modelTypeId){ return Promise.resolve(); } return vehicleRequest('GetSoundSystems', { model_type_id: modelTypeId }).then(function(items){ vehicleFillSelect('vehicle_configuration_id', items, selectedConfiguration); }).catch(function(){ vehicleShowError(vehicleFormConfig.loadError); }); } function vehicleSoundSystemChanged(selectedConstructionYear){ var modelId = document.getElementById('vehicle_model_id').value; var configurationId = document.getElementById('vehicle_configuration_id').value; vehicleResetSelect('construction_year'); vehicleShowError(''); if(!modelId || !configurationId){ return Promise.resolve(); } return vehicleRequest('GetYears', { model_id: modelId }).then(function(items){ vehicleFillSelect('construction_year', items, selectedConstructionYear); }).catch(function(){ vehicleShowError(vehicleFormConfig.loadError); }); } function addVehicle(){ var requiredFields = [ 'vehicle_manufacturer_id', 'vehicle_model_id', 'vehicle_model_type_id', 'vehicle_configuration_id', 'construction_year' ]; for(var i = 0; i < requiredFields.length; i++){ if(!document.getElementById(requiredFields[i]).value){ vehicleShowError(vehicleFormConfig.requiredError); return; } } vehicleShowError(''); document.getElementById('addvehicle').submit(); } function initializeVehicleForm(){ if(typeof vehicleFormConfig === 'undefined' || !document.getElementById('addvehicle')){ return; } if(!document.getElementById('vehicle_manufacturer_id').value){ return; } vehicleManufacturerChanged(vehicleFormConfig.selectedModel).then(function(){ if(!document.getElementById('vehicle_model_id').value){ return; } return vehicleModelChanged(vehicleFormConfig.selectedModelType); }).then(function(){ if(!document.getElementById('vehicle_model_type_id').value){ return; } return vehicleTypeChanged(vehicleFormConfig.selectedConfiguration); }).then(function(){ if(!document.getElementById('vehicle_configuration_id').value){ return; } return vehicleSoundSystemChanged(vehicleFormConfig.selectedConstructionYear); }); } if(document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', initializeVehicleForm); }else{ initializeVehicleForm(); } function in_array(needle, haystack) { for(var i in haystack) { if(haystack[i] == needle) return true; } return false; } function quicklogin(myfield,e){ var keycode; if (window.event) keycode = window.event.keyCode; else if (e) keycode = e.which; else return true; if (keycode == 13){ document.getElementById("registerme").submit(); return false; } else return true; } function secondCheck(valField, errField, valToCheck){ switch(valField){ case 'remail': if(document.getElementById(errField).innerHTML != ''){ if(!checkEmailAdress(valToCheck)){ document.getElementById("remail").style.borderColor = "#FF0000"; document.getElementById("remail").style.borderWidth = "2px"; document.getElementById("remail_error").innerHTML = 'Bitte geben Sie eine gültige Email Adresse ein!'; }else{ document.getElementById("remail").style.borderColor = "#B5B5B5"; document.getElementById("remail").style.borderWidth = "1px"; document.getElementById("remail_error").innerHTML = ''; } } break; case 'rpass': if(document.getElementById(errField).innerHTML != ''){ if(!checkPassword(valToCheck)){ document.getElementById("rpass").style.borderColor = "#FF0000"; document.getElementById("rpass").style.borderWidth = "2px"; document.getElementById("rpass_error").innerHTML = 'Das Passwort erfordert mindestens 8 Zeichen, Groß- und Kleinschreibung, mindestens 1 Zahl sowie mindestens 1 Sonderzeichen!'; }else{ document.getElementById("rpass").style.borderColor = "#B5B5B5"; document.getElementById("rpass").style.borderWidth = "1px"; document.getElementById("rpass_error").innerHTML = ''; } } break; case 'pserial': if(document.getElementById(errField).innerHTML != ''){ if(!checkSerial(pserial)){ document.getElementById("pserial").style.borderColor = "#FF0000"; document.getElementById("pserial").style.borderWidth = "2px"; document.getElementById("pserial_error").innerHTML = 'Die Seriennummer hat 7 Stellen'; }else{ document.getElementById("pserial").style.borderColor = "#B5B5B5"; document.getElementById("pserial").style.borderWidth = "1px"; document.getElementById("pserial_error").innerHTML = ''; } } break; } } function loginUser(){ document.getElementById("registerme").submit(); } function emptyCheck(valField, errField, valToCheck, initial){ if(document.getElementById(errField).innerHTML != '' || initial){ if(!valToCheck || valToCheck == ''){ document.getElementById(valField).style.borderColor = "#FF0000"; document.getElementById(valField).style.borderWidth = "2px"; document.getElementById(errField).innerHTML = 'Diese Informationen sind Pflichtfelder!'; }else{ document.getElementById(valField).style.borderColor = "#B5B5B5"; document.getElementById(valField).style.borderWidth = "1px"; document.getElementById(errField).innerHTML = ''; } } } function checkEmailAdress(valToCheck){ var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; if(valToCheck.match(validRegex)){ return true; }else{ return false; } } function checkPassword(valToCheck){ var validRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@.#$_!+%*?&])[A-Za-z\d@.#$_!+%*?&]{8,15}$/; if(validRegex.test(valToCheck)){ return true; }else{ return false; } } function checkSerial(valToCheck){ var validRegex = /[\d]{7}/; if(validRegex.test(valToCheck)){ return true; }else{ return false; } } function testForCodeDev(valToCheck){ //cdevsif(valToCheck){ if(cdevs && in_array(valToCheck, cdevs)){ document.getElementById('pcode_block').style.display = 'block'; }else{ document.getElementById('pcode_block').style.display = 'none'; } } function goToURL(destination, target){ var link = document.createElement("a"); link.href = destination; link.target = target; link.click(); } function toggleVehicleMenu(){ var entries = document.getElementsByClassName('myvehicles-submenu-entry'); var icon = document.getElementById('myvehicles-menu-icon'); var showEntries = entries.length > 0 && entries[0].style.display == 'none'; for(var i = 0; i < entries.length; i++){ entries[i].style.display = showEntries ? 'block' : 'none'; if(showEntries){ entries[i].style.opacity = '1'; entries[i].style.visibility = 'visible'; } } if(icon){ icon.classList.remove(showEntries ? 'icon-string-plus' : 'icon-string-minus'); icon.classList.add(showEntries ? 'icon-string-minus' : 'icon-string-plus'); } } function toggleHideBox(boxName, btnName){ var elem = document.getElementById(boxName); //console.log('-->' + elem.style.height); if(!elem.style.display || elem.style.display == 'none'){ document.getElementById(btnName).classList.remove('icon-string-plus'); document.getElementById(btnName).classList.add('icon-string-minus'); elem.style.display = "block"; }else{ document.getElementById(btnName).classList.remove('icon-string-minus'); document.getElementById(btnName).classList.add('icon-string-plus'); elem.style.display = "none"; } } function switch_boxdivs(activeDiv) { if(document.getElementById('implemented_div') && activeDiv != 'implemented'){ document.getElementById('implemented_div').style.display = 'none'; document.getElementById('btn_implemented').classList.remove('pbox-active'); } if(document.getElementById('ontrack_div') && activeDiv != 'ontrack'){ document.getElementById('ontrack_div').style.display = 'none'; document.getElementById('btn_ontrack').classList.remove('pbox-active'); } if(document.getElementById('inwork_div') && activeDiv != 'inwork'){ document.getElementById('inwork_div').style.display = 'none'; document.getElementById('btn_inwork').classList.remove('pbox-active'); } if(document.getElementById('planning_div') && activeDiv != 'planned'){ document.getElementById('planning_div').style.display = 'none'; document.getElementById('btn_planning').classList.remove('pbox-active'); } if(document.getElementById(activeDiv + '_div')){ document.getElementById(activeDiv + '_div').style.display = 'block'; document.getElementById('btn_' + activeDiv).classList.add('pbox-active'); } }