{"version":3,"sources":["plan-validator-defaults.js","PlanValidator.js","PlanSimpleValidator.js","plan-validator-rules.js","dealerLocator.js","iframe.js","script.js","tagging.js"],"names":["_classCallCheck","instance","Constructor","TypeError","planValidGlobalDefaults","lang","market","type","fieldDealer","errorElement","errorClass","errorPlacement","error","element","hasClass","$","append","after","submitHandler","form","submit","texts","es","labels","name","surname1","surname2","cp","phone","email","selfemployed","company","position","companyName","nif","cif","fleetSize","select","errors","required","alphabetical","nifNie","dealer","noConsecutiveLetters","noSpecialCharacters","miniumOneVocal","min3characters","pt","phoneMobile","ccOrBi","nipc","planValidRules","_alphabetical","value","trim","re","RegExp","test","_cpES_AD","_cpPT","_telfES_AD","reES","excluded","reESExcept","reAN","indexOf","_phoneESFixed","reExcept","_phoneESMobile","_telfPT","_phonePTMobile","_emailStrict","encodeURI","_nifNie","controlDigits","nifCorrectFormat","nieCorrectFormat","controlDigitOK","nums","substring","lastLetter","mod","charAt","replace","_ccOrBi","ccCorrectFormat","biCorrectFormat","isCorrectCC","positions","strArray","split","reverse","posArray","map","n","multiplyAndSubstract9","i","m","sum","reduce","a","b","isCorrectBi","multiplyByIndex","_cif","sessionStorage","lang_js","temp","cadenadni","toUpperCase","posicion","letra","letradni","suma","parseInt","temp1","temp2","length","String","fromCharCode","pos","_nipc","controlNumber","multiplyByIndexAndSum","mod11","finalVal","_noConsecutiveLetters","_noSpecialCharacters","_miniumOneVocal","_requiredStrict","wSpace","cpES_AD","cpPT","telfES_AD","telfPT","phoneESFixed","phoneESMobile","phonePTMobile","emailStrict","requiredStrict","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","PlanValidator","values","translations","this","_jQValidator","console","assign","objAssign","prop","_prop","init","translateLabels","controlCPBlock","initjQValidator","controlUserType","$form","hasOwnProperty","$label","find","text","that","setCPValue","addClass","not","remove","on","e","val","trigger","val1","val2","valid","_this","personalDataRules","model","messages","minlength","emailstrict","businessDataRules","userType","city","allRules","each","index","$thisForm","validate","$elemById","rules","validator","addMethod","$fieldCP","$fieldPhone","$fieldPhoneFixed","$fieldPhoneMobile","phoneES_AD","phonePT","businessESRules","businessPTRules","objs","result","r","o","keys","forEach","k","$fieldNif","$fieldCif","$fieldPosition","classToShow","classToHide","removeClass","_this2","changeFields","changeFieldsByUserType","get","PlanSimpleValidator","defaults","agree","validMethods","sevenDigitsArray","odd","filter","sumOdd","even","sumEven","doubledigit","sumEven2","sumOddAndEven2","units","controlChars","controlCharacter","controlCharIndex","lastChar","isNaN","$trigger","$input","mobile-phone","cifnumber","locator","_init","_searchLocation","_getCurrentLocation","event","preventDefault","searchString","_clearSearchMsg","ajax","dataType","url","encodeURIComponent","success","json","status","log","_searchDealers","results","geometry","location","lat","lng","_hideDealersList","_setSearchMsg","requestType","attr","myJson","json_concesiones","instalaciones","_loadDealers","endIndex","arguments","undefined","modelsToLoad","slice","block","clone","empty","_loop","item","last","concesion","id","nombre","direccion","poblacion","selectDealer","idPrincipal","document","getElementById","scrollIntoView","setTimeout","taggingSelectDealer","btnShowList","selectedBlock","click","crd","coords","latitude","longitude","err","warn","code","message","options","enableHighAccuracy","timeout","maximumAge","navigator","geolocation","getCurrentPosition","msg","html","jQuery","ready","window","parent","bodyH","listener","data","height","postMessage","JSON","stringify","domain","scrollTopIframe","referrer","checkForNewHeight","newBodyH","addEventListener","attachEvent","setInterval","app","carsData","_loadEventsData","srcUrl","Date","getTime","getMilliseconds","querySelector","_setAgree","_fillModels","_setDefautls","_taggingEvents","_updateModel","_error","clear","_checkInputValidation","checked","listModels","models","queryString","search","urlParams","URLSearchParams","moi","defaultModel","modelSelected","modelMoi","x","modelName","vehicleCategory","modelImgSrc","thisFormGroup","thisInput","modelDropDown","accordionText","taggingSelectModelDropDown","modelDropDownSelect","selectedIndex","innerText","taggingSelectModel","searchDealerBtn","searchDealerInput","resultsNumber","taggingPostalCode","dealerGeolocator","getItem","setItem","vehicleModel","vehicleId","formIniciated","dataLayer","accordionType","_satellite","track","selectDropdown","selectModel","taggingSelectEngineDropdown","taggingSelectEngine","motor","toggleType","toggleValue","action","searchTerm","searchType","searchResults","dealerAddress","dealerId","dealerName","dealerAction","formType","formName","formCategory","pageType","taggingSelectFleetDropdown","taggingSelectFleet","fleet","taggingSubmitForm","engine","leadId","errorMessage"],"mappings":"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","file":"../scripts.min.js","sourcesContent":["'use strict';\n\nvar planValidGlobalDefaults = {\n // Language ['es' (Español) || 'pt' (Portugués)]\n lang: 'es',\n // Market ['pyb' (Península y Baleares) || 'can' (Canarias) || 'pt' (Portugal)]\n market: 'pyb',\n // Type of form [1 (Private persons) || 2 (Companies and Self-employed)]\n type: 1,\n // Set to true if there is a Dealer field to validate\n fieldDealer: false,\n // Element error tag for jQuery.validator\n errorElement: 'span',\n // Error class for jQuery.validator\n errorClass: 'error',\n // Error Placement for jQuery.validator\n errorPlacement: function errorPlacement(error, element) {\n if (element.hasClass('js-field-userType')) {\n $('#userType-error').append(error);\n } else {\n element.after(error);\n }\n },\n // Event submit handler for jQuery.validator\n submitHandler: function submitHandler(form) {\n form.submit();\n },\n // Texts for translate labels and jQuery.validator error messages\n texts: {\n es: {\n labels: {\n name: 'NOMBRE',\n surname1: 'PRIMER APELLIDO',\n surname2: 'SEGUNDO APELLIDO',\n cp: 'CÓDIGO POSTAL',\n phone: 'TELÉFONO',\n email: 'E-MAIL',\n submit: 'ENVIAR',\n selfemployed: 'AUTÓNOMO',\n company: 'EMPRESA',\n position: 'CARGO EN LA EMPRESA',\n companyName: 'RAZÓN SOCIAL DE LA EMPRESA',\n nif: 'NIF/NIE',\n cif: 'CIF',\n fleetSize: 'TAMAÑO DE LA FLOTA',\n select: 'Selecciona'\n },\n errors: {\n required: 'Campo obligatorio',\n cp: 'Código Postal incorrecto',\n phone: 'Teléfono incorrecto',\n email: 'E-mail incorrecto',\n alphabetical: 'Sólo caracteres alfabéticos',\n nifNie: 'NIF/NIE incorrecto',\n cif: 'CIF incorrecto',\n dealer: 'Selecciona un concesionario',\n noConsecutiveLetters: 'No se permiten 3 letras iguales consecutivas',\n noSpecialCharacters: 'No se permiten caracteres especiales',\n miniumOneVocal: 'Tiene que contener al menos una vocal',\n min3characters: 'Introduzca mínimo 3 caracteres'\n }\n },\n pt: {\n labels: {\n name: 'NOME',\n surname1: 'APELIDO',\n surname2: 'SEGUNDO APELIDO',\n cp: 'CÓDIGO POSTAL',\n phone: 'TELEFONE',\n email: 'E-MAIL',\n submit: 'SOLICITE ESTA OFERTA',\n selfemployed: 'INDEPENDENTE',\n company: 'EMPRESA',\n position: 'CARGO NA EMPRESA',\n companyName: 'RAZÃO SOCIAL DA EMPRESA',\n nif: 'CARTÃO DE CIDADÃO / BILHETE DE IDENTIDADE',\n cif: 'NIPC',\n fleetSize: 'TAMANHO DA FROTA',\n select: 'Seleccione'\n },\n errors: {\n required: 'Campo obrigatório',\n cp: 'Código Postal inválido',\n phone: 'Telefone inválido',\n phoneMobile: 'Telefone celular inválido',\n email: 'E-mail inválido',\n alphabetical: 'Apenas caracteres alfabéticos',\n ccOrBi: 'Cartão de Cidadão inválido',\n nipc: 'NIPC inválido',\n dealer: 'Selecione um concessionário',\n noConsecutiveLetters: '3 cartas consecutivas idênticas não são permitidas',\n noSpecialCharacters: 'Não são permitidos caracteres especiais',\n miniumOneVocal: 'Deve conter pelo menos uma vogal',\n min3characters: 'Introduzir pelo menos 3 caracteres'\n }\n }\n }\n};","'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PlanValidator = function () {\n function PlanValidator(form, values, translations) {\n _classCallCheck(this, PlanValidator);\n\n var _jQValidator = void 0;\n var props = void 0;\n if (typeof form !== 'string') {\n console.error('Enter a valid form\\'s selector as first parameter');\n } else {\n //* Get the default properties from plan-validator-defaults.js\n if (Object.assign) {\n props = Object.assign({}, planValidGlobalDefaults);\n } else {\n //! IE11\n props = this.objAssign({}, planValidGlobalDefaults);\n }\n\n //* Get values if they are provided\n if (values) {\n for (var prop in values) {\n if (prop !== 'texts') props[prop] = values[prop];\n }\n }\n\n //* Get translations object if they are provided\n if (translations) {\n for (var _prop in translations) {\n props.texts[_prop] = translations[_prop];\n }\n }\n\n this.form = form;\n this.props = props;\n this._jQValidator = _jQValidator;\n this.init();\n }\n }\n\n _createClass(PlanValidator, [{\n key: 'init',\n value: function init() {\n this.translateLabels();\n this.controlCPBlock();\n this.initjQValidator();\n if (this.props.type === 2) {\n this.controlUserType();\n }\n }\n\n //* Translate labels of the form. They must have a class called '.js-label-[name of var]'\n\n }, {\n key: 'translateLabels',\n value: function translateLabels() {\n var labels = this.props.texts[this.props.lang].labels;\n var $form = $(this.form);\n for (var prop in labels) {\n if (labels.hasOwnProperty(prop)) {\n var $label = $form.find('.js-label-' + prop);\n if ($label.length > 0) {\n $label.text(labels[prop]);\n }\n }\n }\n }\n\n //* Controls the 2 types of \"Código Postal\" fields block\n\n }, {\n key: 'controlCPBlock',\n value: function controlCPBlock() {\n var that = this;\n var market = this.props.market;\n var $form = $(this.form);\n var setCPValue = this.setCPValue;\n if (market === 'pyb' || market === 'can') {\n market = 'es';\n }\n $form.find('.js-' + market).addClass('visible');\n //! THE CP BLOCK OF THE OTHER MARKETS MUST BE REMOVED TO PREVENT SENDING IT TWICE OR MORE TIMES!!\n $form.find('.js-cp-block').not('.js-' + market).remove();\n if (market === 'pt') {\n $form.find('.js-cp1').on('keyup', function (e) {\n if ($(this).val().length === 4) {\n $form.find('.js-cp2').trigger('focus');\n }\n setCPValue(that);\n });\n $form.find('.js-cp2').on('keyup', function (e) {\n setCPValue(that);\n });\n }\n }\n\n //* Method for setting an CP valid value\n\n }, {\n key: 'setCPValue',\n value: function setCPValue(that) {\n var $form = $(that.form);\n var val1 = $form.find('.js-cp1').val();\n var val2 = $form.find('.js-cp2').val();\n $form.find('.js-field-cp').val(val1 + '-' + val2);\n if ($form.find('.js-field-cp').hasClass('error')) {\n $form.find('.js-field-cp').valid();\n }\n }\n\n //* Instantiating the jQuery validator\n\n }, {\n key: 'initjQValidator',\n value: function initjQValidator() {\n var _this = this;\n\n var $form = $(this.form);\n\n var errors = this.props.texts[this.props.lang].errors;\n\n var errorElement = this.props.errorElement;\n\n var errorClass = this.props.errorClass;\n\n var errorPlacement = this.props.errorPlacement;\n\n var submitHandler = this.props.submitHandler;\n\n // Basic common rules for Simple Person Form\n var personalDataRules = {\n model: {\n required: true,\n messages: {\n required: errors.required\n }\n },\n name: {\n required: true,\n requiredStrict: true,\n alphabetical: true,\n noConsecutiveLetters: true,\n noSpecialCharacters: true,\n miniumOneVocal: true,\n minlength: 3,\n messages: {\n required: errors.required,\n requiredStrict: errors.required,\n alphabetical: errors.alphabetical,\n noConsecutiveLetters: errors.noConsecutiveLetters,\n noSpecialCharacters: errors.noSpecialCharacters,\n miniumOneVocal: errors.miniumOneVocal,\n minlength: errors.min3characters\n }\n },\n surname1: {\n required: true,\n requiredStrict: true,\n alphabetical: true,\n noConsecutiveLetters: true,\n noSpecialCharacters: true,\n miniumOneVocal: true,\n minlength: 3,\n messages: {\n required: errors.required,\n requiredStrict: errors.required,\n alphabetical: errors.alphabetical,\n noConsecutiveLetters: errors.noConsecutiveLetters,\n noSpecialCharacters: errors.noSpecialCharacters,\n miniumOneVocal: errors.miniumOneVocal,\n minlength: errors.min3characters\n }\n },\n surname2: {\n alphabetical: true,\n messages: {\n alphabetical: errors.alphabetical\n }\n },\n email: {\n emailstrict: true,\n required: true,\n requiredStrict: true,\n email: false,\n messages: {\n required: errors.required,\n emailstrict: errors.email,\n requiredStrict: errors.required\n }\n }\n };\n\n // Basic common rules for Companies & Self Employed Form\n var businessDataRules = {\n userType: {\n required: true,\n requiredStrict: true,\n messages: {\n required: errors.required,\n requiredStrict: errors.required\n }\n },\n position: {\n required: true,\n requiredStrict: true,\n messages: {\n required: errors.required,\n requiredStrict: errors.required\n }\n },\n companyName: {\n required: true,\n requiredStrict: true,\n messages: {\n required: errors.required,\n requiredStrict: errors.required\n }\n },\n fleetSize: {\n required: true,\n requiredStrict: true,\n messages: {\n required: errors.required,\n requiredStrict: errors.required\n }\n },\n city: {\n required: true,\n requiredStrict: true,\n messages: {\n required: errors.required,\n requiredStrict: errors.required\n }\n }\n\n // Combining common rules if necessary\n // const allRules = (this.props.type === 2) ? Object.assign({}, personalDataRules, businessDataRules) : Object.assign({}, personalDataRules);\n\n };var allRules = void 0;\n\n if (this.props.type === 2) {\n if (Object.assign) {\n allRules = Object.assign({}, personalDataRules, businessDataRules);\n } else {\n //! IE 11\n allRules = this.objAssign({}, personalDataRules);\n allRules = this.objAssign(allRules, businessDataRules);\n }\n } else {\n if (Object.assign) {\n allRules = Object.assign({}, personalDataRules);\n } else {\n // ! IE 11\n allRules = this.objAssign({}, personalDataRules);\n }\n }\n\n $form.each(function (index, element) {\n var $thisForm = $(element);\n _this._jQValidator = $thisForm.validate({\n errorElement: errorElement,\n errorClass: errorClass,\n errorPlacement: errorPlacement,\n submitHandler: submitHandler\n });\n for (var prop in allRules) {\n var $elemById = $thisForm.find('.js-field-' + prop);\n $elemById.rules('add', allRules[prop]);\n }\n });\n\n if (this.props.fieldDealer) {\n $form.find('.js-field-dealer').rules('add', {\n required: true,\n messages: {\n required: errors.dealer\n }\n });\n }\n\n $.validator.addMethod('alphabetical', planValidRules.alphabetical);\n $.validator.addMethod('requiredStrict', planValidRules.requiredStrict);\n $.validator.addMethod('emailstrict', planValidRules.emailStrict);\n $.validator.addMethod('noConsecutiveLetters', planValidRules.noConsecutiveLetters);\n $.validator.addMethod('noSpecialCharacters', planValidRules.noSpecialCharacters);\n $.validator.addMethod('miniumOneVocal', planValidRules.miniumOneVocal);\n\n var $fieldCP = $form.find('.js-field-cp');\n var $fieldPhone = $form.find('.js-field-phone');\n var $fieldPhoneFixed = $form.find('.js-field-fixed-phone');\n var $fieldPhoneMobile = $form.find('.js-field-mobile-phone');\n\n if (this.props.market === 'pyb' || this.props.market === 'can') {\n $.validator.addMethod('cpES_AD', planValidRules.cpES_AD);\n $.validator.addMethod('phoneES_AD', planValidRules.telfES_AD);\n $.validator.addMethod('phoneESFixed', planValidRules.phoneESFixed);\n $.validator.addMethod('phoneESMobile', planValidRules.phoneESMobile);\n $fieldCP.rules('remove');\n $fieldCP.rules('add', { cpES_AD: true, messages: { required: errors.required, cpES_AD: errors.cp } });\n $fieldPhone.rules('remove');\n $fieldPhone.rules('add', { phoneES_AD: true, messages: { required: errors.required, phoneES_AD: errors.phone } });\n $fieldPhoneFixed.rules('remove');\n $fieldPhoneFixed.rules('add', { phoneESFixed: true, messages: { required: errors.required, phoneESFixed: errors.phone } });\n $fieldPhoneMobile.rules('remove');\n $fieldPhoneMobile.rules('add', { phoneESMobile: true, messages: { required: errors.required, phoneESMobile: errors.phone } });\n }\n\n if (this.props.market === 'pt') {\n $.validator.addMethod('cpPT', planValidRules.cpPT);\n $.validator.addMethod('phonePT', planValidRules.telfPT);\n $.validator.addMethod('phonePTMobile', planValidRules.phonePTMobile);\n $fieldCP.rules('remove');\n $fieldCP.rules('add', { cpPT: true, messages: { required: errors.required, cpPT: errors.cp } });\n $fieldPhone.rules('remove');\n $fieldPhone.rules('add', { phonePT: true, messages: { required: errors.required, phonePT: errors.phone } });\n $fieldPhoneMobile.rules('remove');\n $fieldPhoneMobile.rules('add', { phonePTMobile: true, messages: { required: errors.required, phonePTMobile: errors.phoneMobile } });\n }\n\n // BUSINESS VALIDATION METHODS\n if (this.props.type === 2) {\n if (this.props.market === 'pyb' || this.props.market === 'can') {\n this.businessESRules();\n }\n if (this.props.market === 'pt') {\n this.businessPTRules();\n }\n }\n }\n }, {\n key: 'objAssign',\n value: function objAssign(a, b) {\n var objs = [a, b];\n var result = objs.reduce(function (r, o) {\n Object.keys(o).forEach(function (k) {\n r[k] = o[k];\n });\n return r;\n }, {});\n return result;\n }\n }, {\n key: 'businessESRules',\n value: function businessESRules() {\n var errors = this.props.texts[this.props.lang].errors;\n $.validator.addMethod('nifNie', planValidRules.nifNie);\n $.validator.addMethod('cif', planValidRules.cif);\n // Self-employed\n var $fieldNif = $('.js-field-nif');\n $fieldNif.rules('remove');\n $fieldNif.rules('add', {\n required: true,\n nifNie: true,\n messages: {\n required: errors.required,\n nifNie: errors.nifNie\n }\n });\n // Company\n var $fieldCif = $('.js-field-cif');\n var $fieldPosition = $('.js-field-position');\n $fieldCif.rules('remove');\n $fieldCif.rules('add', {\n required: true,\n cif: true,\n messages: {\n required: errors.required,\n cif: errors.cif\n }\n });\n $fieldPosition.rules('remove');\n $fieldPosition.rules('add', {\n required: true,\n alphabetical: true,\n messages: {\n required: errors.required,\n alphabetical: errors.alphabetical\n }\n });\n // Fleet Size\n /* const $fieldFleetSize = $('.js-field-fleetSize');\r\n $fieldFleetSize.rules('remove');\r\n $fieldFleetSize.rules('add', {\r\n required: true,\r\n messages: {\r\n required: errors.required\r\n }\r\n }) */\n }\n }, {\n key: 'businessPTRules',\n value: function businessPTRules() {\n var errors = this.props.texts[this.props.lang].errors;\n $.validator.addMethod('ccOrBi', planValidRules.ccOrBi);\n $.validator.addMethod('nipc', planValidRules.nipc);\n // Self-employed\n var $fieldNif = $('.js-field-nif');\n $fieldNif.rules('add', {\n ccOrBi: true,\n required: true,\n messages: {\n required: errors.required,\n ccOrBi: errors.ccOrBi\n }\n });\n // Company\n var $fieldCif = $('.js-field-cif');\n var $fieldPosition = $('.js-field-position');\n $fieldCif.rules('add', {\n nipc: true,\n required: true,\n messages: {\n required: errors.required,\n nipc: errors.nipc\n }\n });\n $fieldPosition.rules('remove');\n $fieldPosition.rules('add', {\n required: true,\n alphabetical: true,\n messages: {\n required: errors.required,\n alphabetical: errors.alphabetical\n }\n });\n }\n }, {\n key: 'changeFieldsByUserType',\n value: function changeFieldsByUserType(props) {\n var val = $('.js-field-userType:checked').val();\n\n if (typeof val !== 'undefined') {\n var classToShow = void 0,\n classToHide = void 0;\n switch (val) {\n // SELF-EMPLOYED\n case '1':\n classToShow = '.js-selfemployed';\n classToHide = '.js-company';\n var $fieldCif = $('.js-field-cif');\n var $fieldPosition = $('.js-field-position');\n $fieldCif.val('');\n $fieldPosition.val('');\n break;\n // COMPANY\n case '2':\n classToShow = '.js-company';\n classToHide = '.js-selfemployed';\n var $fieldNif = $('.js-field-nif');\n $fieldNif.val('');\n break;\n }\n $(classToShow).addClass('visible');\n $(classToHide).removeClass('visible');\n }\n }\n }, {\n key: 'controlUserType',\n value: function controlUserType() {\n var _this2 = this;\n\n var changeFields = function changeFields() {\n return _this2.changeFieldsByUserType(_this2.props);\n };\n changeFields();\n $('.js-field-userType').on('change', changeFields);\n }\n }, {\n key: 'jQValidator',\n get: function get() {\n if (typeof this._jQValidator !== 'undefined') {\n return this._jQValidator;\n }\n }\n }]);\n\n return PlanValidator;\n}();","\"use strict\";\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PlanSimpleValidator = function () {\n function PlanSimpleValidator(form, values) {\n _classCallCheck(this, PlanSimpleValidator);\n\n var props = void 0,\n _jQValidator = void 0;\n // Default Properties\n var defaults = {\n lang: \"es\",\n\n market: \"pyb\",\n // Element error tag for jQuery.validator\n errorElement: \"span\",\n // Error class for jQuery.validator\n errorClass: \"h-error\",\n // Error Placement for jQuery.validator\n errorPlacement: function errorPlacement(error, element) {\n if (element.hasClass(\"js-field-userType\")) {\n $(\"#userType-error\").append(error);\n } else {\n element.after(error);\n }\n },\n // Event submit handler for jQuery.validator\n submitHandler: function submitHandler(form) {\n // this.controlAgreement();\n form.submit();\n },\n // Texts for jQuery.validator error messages\n texts: {\n es: {\n errors: {\n required: \"Campo obligatorio\",\n phone: \"Teléfono incorrecto\",\n email: \"E-mail incorrecto\",\n alphabetical: \"Sólo caracteres alfabéticos\"\n }\n },\n pt: {\n errors: {\n required: \"Campo obrigatório\",\n phone: \"Telefone inválido\",\n email: \"E-mail inválido\",\n alphabetical: \"Apenas caracteres alfabéticos\"\n }\n }\n },\n agree: {\n trigger: \".js-trigger-agree\",\n target: \".js-target-agree\"\n }\n };\n\n var validMethods = {\n alphabetical: function alphabetical(value) {\n if (value.trim() !== \"\") {\n var re = new RegExp(/^[A-Za-zÀ-ÿ\\u00f1\\u00d1\\s'-.]+$/g);\n return re.test(value);\n } else {\n return true;\n }\n },\n emailStrict: function emailStrict(value) {\n if (value.trim() !== \"\") {\n var re = new RegExp(/^(([^<>()\\[\\]\\\\.,;:\\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,}))$/);\n return re.test(value) && value === encodeURI(value);\n } else {\n return true;\n }\n },\n phoneESMobile: function phoneESMobile(value) {\n if (value.trim() !== '') {\n var re = new RegExp(\"^[6|7][0-9]{8}$\");\n var excluded = ['600000000', '666555444', '666777888', '666888999', '666111222', '666222333', '666333444', '666444555'];\n return re.test(value) && !(excluded.indexOf(value) >= 0);\n } else {\n return true;\n }\n },\n\n cpES_AD: function cpES_AD(value) {\n var re = new RegExp(\"^([0-4][0-9]{4}|(50|51|52)[0-9]{3}|AD[0-9]{3})$\");\n return re.test(value);\n },\n cif: function cif(value) {\n if (/^[A-Z0-9]{9}$/.test(value)) {\n var sevenDigitsArray = value.substring(1, 8).split(\"\");\n var odd = sevenDigitsArray.filter(function (n, i) {\n if ((i + 1) % 2 === 0) {\n return n;\n }\n });\n var sumOdd = odd.reduce(function (a, b) {\n return parseInt(a) + parseInt(b);\n }, 0);\n var even = sevenDigitsArray.filter(function (n, i) {\n if ((i + 1) % 2 !== 0) {\n return n;\n }\n });\n var sumEven = even.map(function (n) {\n var doubledigit = String(n * 2).split(\"\");\n var sum = doubledigit.reduce(function (a, b) {\n return parseInt(a) + parseInt(b);\n }, 0);\n return sum;\n });\n var sumEven2 = sumEven.reduce(function (a, b) {\n return parseInt(a) + parseInt(b);\n }, 0);\n var sumOddAndEven2 = sumOdd + sumEven2;\n var units = 10 - parseInt(String(sumOddAndEven2).split(\"\")[1]) - 1;\n var controlChars = \"ABCDEFGHIJ\";\n var controlCharacter = controlChars.charAt(units);\n var controlCharIndex = controlChars.indexOf(controlCharacter) + 1;\n var lastChar = value.substring(8, 9);\n if (isNaN(parseInt(lastChar))) {\n return lastChar === controlCharacter;\n } else {\n return parseInt(lastChar) === controlCharIndex;\n }\n } else {\n return false;\n }\n },\n requiredStrict: function requiredStrict(value) {\n var wSpace = new RegExp(/.*\\S.*/); //not only whitespace\n if (wSpace.test(value)) {\n return true;\n } else if (!wSpace.test(value) || value == \"\") {\n return false;\n }\n }\n };\n\n if (typeof form !== \"string\") {\n console.error(\"Enter a valid form's selector as first parameter\");\n } else {\n //* Get the default properties from plan-validator-defaults.js\n if (Object.assign) {\n props = Object.assign({}, defaults);\n } else {\n //! IE11\n props = this.objAssign({}, defaults);\n }\n\n //* Get values if they are provided\n if (values) {\n for (var prop in values) {\n props[prop] = values[prop];\n }\n }\n }\n\n this.form = form;\n this.props = props;\n this.validMethods = validMethods;\n this._jQValidator = _jQValidator;\n this.init();\n }\n\n _createClass(PlanSimpleValidator, [{\n key: \"objAssign\",\n value: function objAssign(a, b) {\n var objs = [a, b];\n var result = objs.reduce(function (r, o) {\n Object.keys(o).forEach(function (k) {\n r[k] = o[k];\n });\n return r;\n }, {});\n return result;\n }\n }, {\n key: \"init\",\n value: function init() {\n this.initjQValidator();\n // this.controlAgreement();\n }\n }, {\n key: \"controlAgreement\",\n value: function controlAgreement() {\n var $trigger = $(this.props.agree.trigger),\n $input = $(this.props.agree.target);\n\n $($trigger).on(\"click\", function () {\n if ($trigger.prop(\"checked\")) {\n $input.val(\"1\");\n } else {\n $input.val(\"0\");\n }\n });\n }\n }, {\n key: \"initjQValidator\",\n value: function initjQValidator() {\n var _this = this;\n\n var $form = $(this.form);\n\n var errors = this.props.texts[this.props.lang].errors;\n\n var errorElement = this.props.errorElement;\n\n var errorClass = this.props.errorClass;\n\n var errorPlacement = this.props.errorPlacement;\n\n var submitHandler = this.props.submitHandler;\n\n var rules = {\n name: {\n required: true,\n requiredStrict: true,\n alphabetical: true,\n messages: {\n required: errors.required,\n requiredStrict: errors.required,\n alphabetical: errors.alphabetical\n }\n },\n surname1: {\n required: true,\n requiredStrict: true,\n alphabetical: true,\n messages: {\n required: errors.required,\n requiredStrict: errors.required,\n alphabetical: errors.alphabetical\n }\n },\n email: {\n required: true,\n emailstrict: true,\n email: false,\n messages: {\n required: errors.required,\n emailstrict: errors.email\n }\n },\n 'mobile-phone': {\n required: true,\n requiredStrict: true,\n phoneESMobile: true,\n messages: {\n required: 'Campo obligatorio',\n requiredStrict: 'Campo obligatorio',\n phoneESMobile: 'Teléfono móvil incorrecto'\n }\n },\n cp: {\n required: true,\n cpES_AD: true,\n messages: {\n required: errors.required,\n cpES_AD: 'Código postal incorrecto'\n\n }\n },\n cif: {\n required: true,\n cifnumber: true,\n messages: {\n required: errors.required,\n cifnumber: 'CIF incorrecto'\n }\n }\n };\n // Combining rules if necessary\n var allRules = void 0;\n if (this.props.rules) {\n if (Object.assign) {\n allRules = Object.assign({}, rules, this.props.rules);\n } else {\n //! IE 11\n allRules = this.objAssign({}, rules);\n allRules = this.objAssign(allRules, this.props.rules);\n }\n } else {\n if (Object.assign) {\n allRules = Object.assign({}, rules);\n } else {\n // ! IE 11\n allRules = this.objAssign({}, rules);\n }\n }\n\n /* */\n $form.each(function (index, element) {\n var $thisForm = $(element);\n _this._jQValidator = $thisForm.validate({\n errorElement: errorElement,\n errorClass: errorClass,\n errorPlacement: errorPlacement,\n submitHandler: submitHandler\n });\n for (var prop in allRules) {\n var $elemById = $thisForm.find(\".js-field-\" + prop);\n $elemById.rules(\"add\", allRules[prop]);\n }\n });\n\n $.validator.addMethod(\"alphabetical\", this.validMethods.alphabetical);\n $.validator.addMethod(\"emailstrict\", this.validMethods.emailStrict);\n $.validator.addMethod(\"phoneESMobile\", this.validMethods.phoneESMobile);\n $.validator.addMethod(\"cpES_AD\", this.validMethods.cpES_AD);\n $.validator.addMethod(\"cifnumber\", this.validMethods.cif);\n $.validator.addMethod(\"requiredStrict\", this.validMethods.requiredStrict);\n }\n }]);\n\n return PlanSimpleValidator;\n}();","'use strict';\n\nvar planValidRules = function () {\n var _alphabetical = function _alphabetical(value) {\n if (value.trim() !== '') {\n var re = new RegExp(/^[A-Za-zÀ-ÿ\\u00f1\\u00d1\\s'-.]+$/g);\n return re.test(value);\n } else {\n return true;\n }\n };\n\n var _cpES_AD = function _cpES_AD(value) {\n var re = new RegExp(\"^([0-4][0-9]{4}|(50|51|52)[0-9]{3}|AD[0-9]{3})$\");\n return re.test(value);\n };\n\n var _cpPT = function _cpPT(value) {\n // var re = new RegExp('^([0-9]{4}-[0-9]{3})$'); // Only 0000-000 format is valid\n var re = new RegExp('^([0-9]{4}-[0-9]{3}|[0-9]{4})$'); // 0000-000 and 0000 formats are valid\n return re.test(value);\n };\n\n var _telfES_AD = function _telfES_AD(value) {\n if (value.trim() !== '') {\n var reES = new RegExp(\"^[6|7|8|9][0-9]{8}$\");\n var excluded = [\"600000000\", \"999999999\", \"666555444\", \"666777888\", \"666888999\", \"666111222\", \"666222333\", \"666333444\", \"666444555\", \"911111111\", \"933333333\", \"922222222\", \"944444444\", \"955555555\", \"966666666\", \"977777777\", \"988888888\", \"999999999\", \"611111111\", \"633333333\", \"622222222\", \"644444444\", \"655555555\", \"666666666\", \"677777777\", \"688888888\", \"699999999\", \"711111111\", \"733333333\", \"722222222\", \"744444444\", \"755555555\", \"766666666\", \"777777777\", \"788888888\", \"799999999\", \"811111111\", \"833333333\", \"822222222\", \"844444444\", \"855555555\", \"866666666\", \"877777777\", \"888888888\", \"899999999\"];\n var reESExcept = new RegExp(/^(90|803|806|807)/);\n var reAN = new RegExp(\"^(00376|376)[0-9]{6}$\");\n return reES.test(value) && !reESExcept.test(value) && !(excluded.indexOf(value) >= 0) || reAN.test(value);\n } else {\n return true;\n }\n };\n\n var _phoneESFixed = function _phoneESFixed(value) {\n if (value.trim() !== '') {\n var re = new RegExp(\"^[8|9][0-9]{8}$\");\n var excluded = [\"600000000\", \"999999999\", \"666555444\", \"666777888\", \"666888999\", \"666111222\", \"666222333\", \"666333444\", \"666444555\", \"911111111\", \"933333333\", \"922222222\", \"944444444\", \"955555555\", \"966666666\", \"977777777\", \"988888888\", \"999999999\", \"611111111\", \"633333333\", \"622222222\", \"644444444\", \"655555555\", \"666666666\", \"677777777\", \"688888888\", \"699999999\", \"711111111\", \"733333333\", \"722222222\", \"744444444\", \"755555555\", \"766666666\", \"777777777\", \"788888888\", \"799999999\", \"811111111\", \"833333333\", \"822222222\", \"844444444\", \"855555555\", \"866666666\", \"877777777\", \"888888888\", \"899999999\"];\n var reExcept = new RegExp(/^(90|803|806|807)/);\n return re.test(value) && !reExcept.test(value) && !(excluded.indexOf(value) >= 0);\n } else {\n return true;\n }\n };\n\n var _phoneESMobile = function _phoneESMobile(value) {\n if (value.trim() !== '') {\n var re = new RegExp(\"^[6|7][0-9]{8}$\");\n var excluded = [\"600000000\", \"999999999\", \"666555444\", \"666777888\", \"666888999\", \"666111222\", \"666222333\", \"666333444\", \"666444555\", \"911111111\", \"933333333\", \"922222222\", \"944444444\", \"955555555\", \"966666666\", \"977777777\", \"988888888\", \"999999999\", \"611111111\", \"633333333\", \"622222222\", \"644444444\", \"655555555\", \"666666666\", \"677777777\", \"688888888\", \"699999999\", \"711111111\", \"733333333\", \"722222222\", \"744444444\", \"755555555\", \"766666666\", \"777777777\", \"788888888\", \"799999999\", \"811111111\", \"833333333\", \"822222222\", \"844444444\", \"855555555\", \"866666666\", \"877777777\", \"888888888\", \"899999999\"];\n return re.test(value) && !(excluded.indexOf(value) >= 0);\n } else {\n return true;\n }\n };\n\n var _telfPT = function _telfPT(value) {\n if (value.trim() !== '') {\n var re = new RegExp(\"^[9,2][0-9]{8}$\");\n var excluded = [\"600000000\", \"999999999\", \"666555444\", \"666777888\", \"666888999\", \"666111222\", \"666222333\", \"666333444\", \"666444555\", \"911111111\", \"933333333\", \"922222222\", \"944444444\", \"955555555\", \"966666666\", \"977777777\", \"988888888\", \"999999999\", \"611111111\", \"633333333\", \"622222222\", \"644444444\", \"655555555\", \"666666666\", \"677777777\", \"688888888\", \"699999999\", \"711111111\", \"733333333\", \"722222222\", \"744444444\", \"755555555\", \"766666666\", \"777777777\", \"788888888\", \"799999999\", \"811111111\", \"833333333\", \"822222222\", \"844444444\", \"855555555\", \"866666666\", \"877777777\", \"888888888\", \"899999999\"];\n return re.test(value) && !(excluded.indexOf(value) >= 0);\n } else {\n return true;\n }\n };\n\n var _phonePTMobile = function _phonePTMobile(value) {\n if (value.trim() !== '') {\n var re = new RegExp(\"^(\\\\+?351)?9\\\\d\\\\d{7}$\");\n var excluded = [\"600000000\", \"999999999\", \"666555444\", \"666777888\", \"666888999\", \"666111222\", \"666222333\", \"666333444\", \"666444555\", \"911111111\", \"933333333\", \"922222222\", \"944444444\", \"955555555\", \"966666666\", \"977777777\", \"988888888\", \"999999999\", \"611111111\", \"633333333\", \"622222222\", \"644444444\", \"655555555\", \"666666666\", \"677777777\", \"688888888\", \"699999999\", \"711111111\", \"733333333\", \"722222222\", \"744444444\", \"755555555\", \"766666666\", \"777777777\", \"788888888\", \"799999999\", \"811111111\", \"833333333\", \"822222222\", \"844444444\", \"855555555\", \"866666666\", \"877777777\", \"888888888\", \"899999999\"];\n return re.test(value) && !(excluded.indexOf(value) >= 0);\n } else {\n return true;\n }\n };\n\n var _emailStrict = function _emailStrict(value) {\n if (value.trim() !== '') {\n var re = new RegExp(/^(([^<>()\\[\\]\\\\.,;:\\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,}))$/);\n return re.test(value) && value === encodeURI(value);\n }\n };\n\n var _nifNie = function _nifNie(value) {\n var controlDigits = 'TRWAGMYFPDXBNJZSQVHLCKE';\n var nifCorrectFormat = function nifCorrectFormat(value) {\n return (/^[0-9]{8}[A-Z]{1}$/.test(value)\n );\n };\n var nieCorrectFormat = function nieCorrectFormat(value) {\n return (/^[A-Z]{1}[0-9]{7}[A-Z]{1}$/.test(value)\n );\n };\n var controlDigitOK = function controlDigitOK(value) {\n var nums = value.substring(8, 0);\n var lastLetter = value.substring(8);\n var mod = nums % 23;\n return lastLetter === controlDigits.charAt(mod);\n };\n\n if (nifCorrectFormat(value)) {\n return controlDigitOK(value);\n } else {\n if (nieCorrectFormat(value)) {\n value = value.replace('X', '0');\n value = value.replace('Y', '1');\n value = value.replace('Z', '2');\n return controlDigitOK(value);\n } else {\n return false;\n }\n }\n };\n\n var _ccOrBi = function _ccOrBi(value) {\n var ccCorrectFormat = function ccCorrectFormat(value) {\n return (/^[0-9A-Z]{12}$/.test(value)\n );\n };\n var biCorrectFormat = function biCorrectFormat(value) {\n return (/^[0-9]{9}$/.test(value)\n );\n };\n\n var isCorrectCC = function isCorrectCC(value) {\n var positions = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n var strArray = value.split('').reverse();\n var posArray = strArray.map(function (n) {\n return positions.indexOf(n);\n });\n var multiplyAndSubstract9 = posArray.map(function (n, i) {\n var m = void 0;\n if ((i + 1) % 2 === 0) {\n m = n * 2;\n if (m > 9) {\n m -= 9;\n }\n return m;\n } else {\n return n;\n }\n });\n var sum = multiplyAndSubstract9.reduce(function (a, b) {\n return a + b;\n }, 0);\n return sum % 10 === 0;\n };\n\n var isCorrectBi = function isCorrectBi(value) {\n var strArray = value.split('').reverse();\n var multiplyByIndex = strArray.map(function (n, i) {\n return n * (i + 1);\n });\n var sum = multiplyByIndex.reduce(function (a, b) {\n return a + b;\n }, 0);\n return sum % 11 === 0;\n };\n\n if (ccCorrectFormat(value)) {\n return isCorrectCC(value);\n } else {\n if (biCorrectFormat(value)) {\n return isCorrectBi(value);\n } else {\n return false;\n }\n }\n };\n\n //OLD VALIDATE CIF FUNCTION\n // const _cif = (value) => {\n // if (/^[A-Z0-9]{9}$/.test(value)){\n // let sevenDigitsArray = value.substring(1,8).split('');\n // let odd = sevenDigitsArray.filter((n, i) => {\n // if ((i+1) % 2 === 0){\n // return n;\n // }\n // });\n // let sumOdd = odd.reduce((a, b) => parseInt(a) + parseInt(b), 0);\n // let even = sevenDigitsArray.filter((n, i) => {\n // if ((i+1) % 2 !== 0){\n // return n;\n // }\n // });\n // let sumEven = even.map((n) => {\n // let doubledigit = String(n * 2).split('');\n // let sum = doubledigit.reduce((a, b) => parseInt(a) + parseInt(b), 0);\n // return sum;\n // });\n // let sumEven2 = sumEven.reduce((a, b) => parseInt(a) + parseInt(b), 0);\n // let sumOddAndEven2 = sumOdd + sumEven2;\n // let units = (10 - parseInt(String(sumOddAndEven2).split('')[1])) - 1;\n // let controlChars = 'ABCDEFGHIJ';\n // let controlCharacter = controlChars.charAt(units);\n // let controlCharIndex = controlChars.indexOf(controlCharacter) + 1;\n // let lastChar = value.substring(8,9)\n // if (isNaN(parseInt(lastChar))){\n // return lastChar === controlCharacter;\n // } else {\n // return parseInt(lastChar) === controlCharIndex;\n // }\n // } else {\n // return false;\n // }\n // }\n var _cif = function _cif(value) {\n if (sessionStorage.lang_js != \"pt\") {\n var temp = value;\n var cadenadni = \"TRWAGMYFPDXBNJZSQVHLCKE\";\n\n if (temp !== \"\") {\n temp = temp.toUpperCase();\n //si no tiene un formato valido devuelve error\n if (!/^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$/.test(temp) && !/^[T]{1}[A-Z0-9]{8}$/.test(temp) && !/^[0-9]{8}[A-Z]{1}$/.test(temp) && !/^[A-Z]{1}[0-9]{8}$/.test(temp)) {\n return false;\n }\n\n //comprobacion de NIFs estandar\n if (/^[0-9]{8}[A-Z]{1}$/.test(temp)) {\n var posicion = value.substring(8, 0) % 23;\n var letra = cadenadni.charAt(posicion);\n var letradni = temp.charAt(8);\n if (letra == letradni) {\n return true;\n } else {\n return false;\n }\n }\n\n //algoritmo para comprobacion de codigos tipo CIF\n //alert(\"a.value::\"+a.value);\n //alert(\"a.value.charAt(2)::\"+a.value.charAt(2));\n //alert(\"parseInt(a.value[2])::\"+parseInt(a.value[2]));\n\n var suma = parseInt(value.charAt(2)) + parseInt(value.charAt(4)) + parseInt(value.charAt(6));\n //alert(\"suma1::\"+suma);\n for (var i = 1; i < 8; i += 2) {\n var temp1 = parseInt(2 * parseInt(value.charAt(i)));\n temp1 += \"\";\n temp1 = temp1.substring(0, 1);\n var temp2 = parseInt(2 * parseInt(value.charAt(i)));\n temp2 += \"\";\n temp2 = temp2.substring(1, 2);\n if (temp2 == \"\") {\n temp2 = \"0\";\n }\n\n suma += parseInt(temp1) + parseInt(temp2);\n //alert(\"temp1::\"+temp1+\"temp2::\"+temp2);\n }\n suma += \"\";\n\n //alert(\"suma2::\"+suma);\n var n = parseInt(10 - parseInt(suma.substring(suma.length - 1, suma.length)));\n\n //comprobacion de NIFs especiales (se calculan como CIFs)\n if (/^[KLM]{1}/.test(temp)) {\n if (value.charAt(8) == String.fromCharCode(64 + n)) {\n return true;\n } else {\n return false;\n }\n }\n\n //comprobacion de CIFs\n if (/^[ABCDEFGHJNPQRSUVW]{1}/.test(temp)) {\n //alert('CIF1');\n temp = n + \"\";\n //if (a.value[8] == String.fromCharCode(64 + n) || a.value[8] == parseInt(temp.substring(temp.length-1, temp.length)))\n //alert(a.value.charAt(8)+\"::\"+n+\"::\"+String.fromCharCode(64 + n)+\"::\"+temp+\"::\"+parseInt(temp.substring(temp.length-1, temp.length)));\n if (value.charAt(8) == String.fromCharCode(64 + n) || value.charAt(8) == parseInt(temp.substring(temp.length - 1, temp.length))) {\n //alert('CIF2');\n return true;\n } else {\n //alert('CIF3');\n return false;\n }\n }\n\n //comprobacion de NIEs\n //T\n if (/^[T]{1}/.test(temp)) {\n if (value.charAt(8) == /^[T]{1}[A-Z0-9]{8}$/.test(temp)) {\n return true;\n } else {\n return false;\n }\n }\n\n //XYZ\n if (/^[XYZ]{1}/.test(temp)) {\n pos = temp.replace(\"X\", \"0\");\n pos = pos.replace(\"Y\", \"1\");\n pos = pos.replace(\"Z\", \"2\");\n pos = pos.substring(0, 8) % 23;\n if (value.charAt(8) == cadenadni.substring(pos, pos + 1)) {\n return true;\n } else {\n return false;\n }\n }\n }\n\n return false;\n } else {\n //return /^(([A-Za-z0-9{10})|([A-Za-z0-9]{9}))$/i.test(a);\n return true;\n }\n };\n\n var _nipc = function _nipc(value) {\n if (/^[0-9]{9}$/.test(value)) {\n var controlNumber = parseInt(value.substring(8, 9));\n var strArray = value.substring(0, 8).split('').reverse();\n var multiplyByIndexAndSum = strArray.map(function (n, i) {\n return n * (i + 2);\n }).reduce(function (a, b) {\n return a + b;\n }, 0);\n var mod11 = multiplyByIndexAndSum % 11;\n var finalVal = mod11 === 1 || mod11 === 0 ? 0 : 11 - mod11;\n return finalVal === controlNumber;\n } else {\n return false;\n }\n };\n\n /* Comprueba 3 letras consecutivas */\n\n var _noConsecutiveLetters = function _noConsecutiveLetters(value) {\n if (value.trim() !== '') {\n var re = new RegExp(/^(?!.*([A-Za-zñÑáéíóúÁÉÍÓÚ\\s])\\1{2}).+$/g);\n return re.test(value);\n } else {\n return true;\n }\n };\n\n /* Valida si hay carcateres especiales */\n\n var _noSpecialCharacters = function _noSpecialCharacters(value) {\n if (value.trim() !== '') {\n var re = new RegExp(/^[a-zA-ZÀ-ÿ\\u00f1\\u00d1]+(\\s*[a-zA-ZÀ-ÿ\\u00f1\\u00d1]*)*[a-zA-ZÀ-ÿ\\u00f1\\u00d1]+$/g);\n return re.test(value);\n } else {\n return true;\n }\n };\n\n /* Comprueba mínimo una vocal */\n\n var _miniumOneVocal = function _miniumOneVocal(value) {\n if (value.trim() !== '') {\n var re = new RegExp(/[aáàâãeéèêiíìïoóòôõuúùüAÁÀÂÃEÉÈÊIÍÌÏOÓÒÔÕUÚÙÜ]/gi);\n return re.test(value);\n } else {\n return true;\n }\n };\n\n /* Comprueba mínimo una vocal */\n\n var _requiredStrict = function _requiredStrict(value) {\n var wSpace = new RegExp(/.*\\S.*/); //not only whitespace\n if (wSpace.test(value)) {\n return true;\n } else if (!wSpace.test(value) || value == \"\") {\n return false;\n }\n };\n\n return {\n alphabetical: _alphabetical,\n cpES_AD: _cpES_AD,\n cpPT: _cpPT,\n telfES_AD: _telfES_AD,\n telfPT: _telfPT,\n phoneESFixed: _phoneESFixed,\n phoneESMobile: _phoneESMobile,\n phonePTMobile: _phonePTMobile,\n emailStrict: _emailStrict,\n nifNie: _nifNie,\n ccOrBi: _ccOrBi,\n cif: _cif,\n nipc: _nipc,\n noConsecutiveLetters: _noConsecutiveLetters,\n noSpecialCharacters: _noSpecialCharacters,\n miniumOneVocal: _miniumOneVocal,\n requiredStrict: _requiredStrict\n };\n}();","'use strict';\n\nvar locator = function () {\n var _init = function _init() {\n _searchLocation();\n _getCurrentLocation();\n };\n\n var _searchLocation = function _searchLocation() {\n $('#js-search-form').on('submit', function (event) {\n event.preventDefault();\n var searchString = $('.js-search-input').val();\n _clearSearchMsg();\n if (searchString.trim() !== '') {\n $.ajax({\n dataType: \"script\",\n url: \"https://serviciosweb.nissan.es/dloc/localizador?value=\" + encodeURIComponent(searchString),\n success: function success() {\n if (json.status === \"OK\") {\n console.log(json);\n _searchDealers(searchString, json.results[0].geometry.location.lat, json.results[0].geometry.location.lng);\n } else {\n // ZERO_RESULTS\n if (json.status === \"ZERO_RESULTS\") {\n _hideDealersList();\n _setSearchMsg('Tu búsqueda no produjo resultados');\n }\n }\n },\n error: function error() {\n _setSearchMsg(\"Se ha producido un error. Inténtalo de nuevo un poco más tarde.\");\n }\n });\n }\n });\n };\n\n var _searchDealers = function _searchDealers(value, lat, lng) {\n var requestType = $(\"#pvPeticion\").val();\n var url = 'https://serviciosweb.nissan.es/dloc/concesionario?pMode=busqueda&pvProvincia=' + encodeURIComponent(value) + '&vlatitud=' + lat + '&vlongitud=' + lng + '&pvPais=ES&pvTipoPeticion=' + requestType;\n\n $.ajax({\n dataType: \"script\",\n url: url,\n success: function success() {\n $('#js-list-concesiones').attr('data-step', 0);\n var myJson = json_concesiones.instalaciones;\n //SAVING VALUE FOR TAGGING\n $('.js-results-number').val(myJson.length);\n if (myJson.length > 0) {\n // Muestra los 6 primeros resultados\n _loadDealers(myJson, 6);\n // Btn \"Mostrar Más\" Muestra todos los resultados\n $(\"#js-load-dealers-btn\").on('click', function () {\n _loadDealers(myJson);\n });\n } else {\n _setSearchMsg('No se encuentran concesionarios en tu ubicación');\n }\n },\n error: function error() {\n _setSearchMsg(\"No se ha podido realizar la búsqueda.\");\n }\n });\n };\n\n var _loadDealers = function _loadDealers(myJson) {\n var endIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : myJson.length;\n\n // let loadStep = $('#js-list-concesiones').attr('data-step');\n // let loadMoreStep = parseInt(loadStep);\n // console.log('Load Step:', loadStep);\n // const modelsPerStep = 6;\n // const endIndex = (loadMoreStep + 1) * modelsPerStep;\n var modelsToLoad = myJson.slice(0, endIndex);\n // console.log(\"Products to load\", modelsToLoad);\n var block = $('.js-item-concesion').removeClass('hidden').clone();\n $('#js-list-concesiones').empty();\n\n var _loop = function _loop(i) {\n var item = block.last().clone();\n var concesion = modelsToLoad[i];\n item.attr('data-id', concesion.id);\n item.find('.js-concesion-name').text(concesion.nombre);\n item.find('.js-concesion-address').text(concesion.direccion);\n item.find(\".js-concesion-locality\").text(concesion.poblacion);\n item.find(\".js-concesion-cp\").text(concesion.cp);\n item.find(\".js-concesion-button\").on('click', function () {\n selectDealer(concesion.idPrincipal, concesion.id);\n document.getElementById('selectedDealer').scrollIntoView();\n //TAGGING EVENT 6:\n\n setTimeout(function () {\n taggingSelectDealer(concesion.direccion, concesion.id, concesion.nombre);\n }, 2000);\n });\n $('#js-list-concesiones').removeClass('hidden').append(item);\n };\n\n for (var i = 0; i < modelsToLoad.length; i++) {\n _loop(i);\n }\n $('.js-search-result').removeClass('hidden');\n // loadMoreStep++;\n // console.log('Step', loadMoreStep);\n // $('#js-list-concesiones').attr('data-step', loadMoreStep);\n // console.log(\"displayed models:\", (endIndex));\n if (myJson.length > endIndex) {\n $('#js-load-dealers-btn').removeClass('hidden');\n } else {\n $('#js-load-dealers-btn').addClass('hidden');\n }\n $(\".js-btn-geolocate\").removeClass('is-loading');\n };\n\n var selectDealer = function selectDealer(idPrincipal, id) {\n $('input[name=\"pvCode\"]').val(idPrincipal);\n $('input[name=\"pvCodhost\"]').val(id);\n var btnShowList = $('');\n var selectedBlock = $(\".js-item-concesion[data-id='\" + id + \"']\").clone();\n selectedBlock.find('.js-concesion-button').remove();\n selectedBlock.append(btnShowList);\n $(btnShowList).on('click', function () {\n $('#js-search-form, .js-search-result').removeClass('hidden');\n $('.js-selected-dealer').addClass('hidden');\n $('.js-selected-dealer-details').empty();\n $('input[name=\"pvCode\"]').val('');\n $('input[name=\"pvCodhost\"]').val('');\n });\n $('.js-selected-dealer-details').append(selectedBlock);\n $('.js-selected-dealer').removeClass('hidden');\n $('#js-search-form, .js-search-result').addClass('hidden');\n };\n\n var _getCurrentLocation = function _getCurrentLocation() {\n $(\".js-btn-geolocate\").click(function () {\n $(\".js-btn-geolocate\").addClass('is-loading');\n var options = {\n enableHighAccuracy: true,\n timeout: 5000,\n maximumAge: 0\n };\n function success(pos) {\n var crd = pos.coords;\n //FILLING INPUT FOR TAGGING\n $('.js-geo-crd').val('Latitude:' + crd.latitude + ',Longitude:' + crd.longitude);\n //\n _searchDealers('', crd.latitude, crd.longitude);\n $('.js-search-input').val('Tu ubicación actual');\n };\n function error(err) {\n console.warn('ERROR(' + err.code + '): ' + err.message);\n $(\".js-btn-geolocate\").removeClass('is-loading');\n };\n navigator.geolocation.getCurrentPosition(success, error, options);\n });\n };\n\n var _setSearchMsg = function _setSearchMsg(msg) {\n _clearSearchMsg();\n $('.js-search-msg').html(msg).removeClass('hidden');\n $('.js-search-result').removeClass('hidden');\n };\n\n var _clearSearchMsg = function _clearSearchMsg() {\n $('.js-search-msg').empty().addClass(\"hidden\");\n };\n\n var _hideDealersList = function _hideDealersList() {\n $('#js-list-concesiones').addClass('hidden');\n $('#js-load-dealers-btn').addClass('hidden');\n };\n\n return {\n init: _init\n };\n}();","\"use strict\";\n\n// JavaScript Document\njQuery(\"body\").ready(function () {\n if (window.location !== window.parent.location) {\n var listener = function listener(event) {\n if (event && event.data === \"need_height\" || !event) {\n message = {\n type: \"resize\",\n /*height: $('body').height() + 5805*/\n height: $(\"body\").height() + 50\n };\n window.parent.postMessage(JSON.stringify(message), domain);\n }\n };\n\n var scrollTopIframe = function scrollTopIframe(event) {\n var message = {\n type: \"scrolltopiframe\"\n };\n window.parent.postMessage(JSON.stringify(message), document.referrer);\n };\n\n var checkForNewHeight = function checkForNewHeight() {\n var newBodyH = $(\"body\").height();\n if (bodyH !== newBodyH) {\n bodyH = newBodyH;\n listener();\n }\n };\n\n var domain = document.referrer,\n bodyH,\n message;\n\n if (window.addEventListener) {\n addEventListener(\"message\", listener, false);\n } else {\n attachEvent(\"onmessage\", listener);\n }\n\n $(\"[data-scrolltop-iframe]\").on(\"click\", scrollTopIframe);\n setInterval(checkForNewHeight, 250);\n }\n});","'use strict';\n\nvar app = function () {\n var carsData = void 0;\n var _loadEventsData = function _loadEventsData(srcUrl) {\n var n = new Date();\n n = n.getTime() + n.getMilliseconds();\n $.ajax({\n dataType: 'json',\n url: srcUrl + 'data/models.json?v=' + n,\n success: function success(data) {\n // console.log(data);\n carsData = data;\n document.querySelector('.js-trigger-agree').addEventListener('change', _setAgree);\n _fillModels();\n _setDefautls();\n _taggingEvents();\n document.querySelector('#sModels').addEventListener('change', _updateModel);\n },\n error: function error(_error) {\n console.error('ERROR MODELS JSON', _error);\n }\n });\n };\n\n /**\n * Initialize data\n */\n var _init = function _init(srcUrl) {\n window.sessionStorage.clear();\n _loadEventsData(srcUrl);\n _checkInputValidation();\n };\n\n /**\n * Set values from data\n * @param {array} elements list of elements for dsiplay\n */\n\n var _setAgree = function _setAgree(e) {\n document.querySelector('.js-target-agree').value = document.querySelector('.js-trigger-agree').checked ? 1 : 0;\n document.querySelector('.js-trigger-agree').checked ? $('.js-trigger-agree').parent('.checkbox-label').addClass('checked') : $('.js-trigger-agree').parent('.checkbox-label').removeClass('checked');\n };\n\n var _fillModels = function _fillModels() {\n if (carsData !== undefined) {\n var listModels = '';\n for (var i = 0; i < carsData.models.length; i++) {\n listModels += \"\";\n }\n $(\"#sModels\").html(listModels);\n }\n };\n\n var _setDefautls = function _setDefautls() {\n if (carsData !== undefined) {\n var queryString = window.location.search;\n var urlParams = new URLSearchParams(queryString);\n var moi = urlParams.get('MOI');\n var defaultModel = carsData.models.find(function (m) {\n return m.moi === moi;\n });\n if (defaultModel) {\n $('#sModels').val(defaultModel.code);\n _updateModel();\n $('.js-default-model').removeClass('hidden');\n } else {\n $('.js-select-model-wrapper').removeClass('hidden');\n }\n }\n };\n\n var _updateModel = function _updateModel() {\n if (carsData !== undefined) {\n $('.model-form-group').addClass('complete');\n // Remove error msg\n $('.js-select-model').removeClass('h-error');\n $('.js-error-select-model').empty();\n var modelSelected = $('#sModels').val();\n //Empty fields\n $('#pvMOI').val('');\n //Update model name in field\n var modelMoi = carsData.models.find(function (x) {\n return x.code === modelSelected;\n }).moi;\n if (modelMoi) {\n $('#pvMOI').val(modelMoi);\n }\n var modelName = carsData.models.find(function (x) {\n return x.code === modelSelected;\n }).name;\n $('#pvOferta, #pvModelo, #pvModeloOferta').val(modelName);\n //Update model name in fake selector\n $('.js-selected-model').text(modelName);\n $('.js-selected-model').text(modelName);\n //Update model name in default box\n $('.js-default-model-name').text(modelName);\n //Save vehicleCategory in input hidden\n var vehicleCategory = carsData.models.find(function (x) {\n return x.code === modelSelected;\n }).vehicleCategory;\n if (vehicleCategory) {\n $('.js-vehicle-category').val(vehicleCategory);\n }\n // Show Model Image\n var modelImgSrc = $('.figure-container img').attr('src');\n modelImgSrc = modelImgSrc.split('models/')[0];\n $('.figure-container img').attr('src', modelImgSrc + 'models/' + modelSelected + '.png');\n $('.figure-container').removeClass('hidden');\n // Update dealer fields\n $('input[name=\"pvCode\"]').val('');\n $('input[name=\"pvCodhost\"]').val('');\n $('.js-search-msg').empty().addClass(\"hidden\");\n }\n };\n\n var _checkInputValidation = function _checkInputValidation() {\n $('.h-input').on('input keyup', function () {\n var thisFormGroup = $(this).parent().parent();\n if ($(this).hasClass('valid') && $.trim(this.value).length != 0) {\n $(thisFormGroup).addClass('valid');\n } else if (!$(this).hasClass('valid') || $.trim(this.value).length === 0) {\n $(thisFormGroup).removeClass('valid');\n }\n });\n $('.h-input').on('focusout', function () {\n var thisInput = $(this);\n var thisFormGroup = $(this).parent().parent();\n setTimeout(function () {\n if (thisInput.hasClass('valid')) {\n $(thisFormGroup).addClass('valid');\n } else {\n $(thisFormGroup).removeClass('valid');\n }\n }, 50);\n });\n };\n\n var _taggingEvents = function _taggingEvents() {\n\n //EVENT 1: Click on Dropdown Arrow \"Selecciona tu modelo\"\n var modelDropDown = document.querySelector('.js-select-model');\n modelDropDown.addEventListener('focus', function (event) {\n event.preventDefault();\n\n var accordionText = \"Selecciona tu modelo\";\n\n return taggingSelectModelDropDown(accordionText);\n });\n\n //EVENT 2: Click of vehicle Model within dropdown from \"Selecciona tu modelo\" \n\n var modelDropDownSelect = document.getElementById('sModels');\n\n modelDropDownSelect.addEventListener('change', function (event) {\n event.preventDefault();\n\n var model = modelDropDownSelect.options[modelDropDownSelect.selectedIndex].innerText;\n\n return taggingSelectModel(model);\n });\n\n //EVENT 3: Click on search after introducing a postal code or user location\n\n //POSTAL CODE\n\n var searchDealerBtn = document.querySelector('.js-search-btn');\n var searchDealerInput = document.querySelector('.js-search-input');\n\n searchDealerBtn.addEventListener('click', function (event) {\n if (searchDealerInput.value) {\n setTimeout(function () {\n var location = document.querySelector('.js-search-input').value;\n var resultsNumber = document.querySelector('.js-results-number').value;\n\n return taggingPostalCode(location, resultsNumber);\n }, 5000);\n }\n });\n\n //USER LOCATION\n\n var dealerGeolocator = document.querySelector('.js-btn-geolocate');\n\n dealerGeolocator.addEventListener('click', function (event) {\n setTimeout(function () {\n var location = document.querySelector('.js-geo-crd').value;\n var resultsNumber = document.querySelector('.js-results-number').value;\n\n return taggingPostalCode(location, resultsNumber);\n });\n });\n\n //EVENT 4: Click on \"SELECCIONA UN CONCESIONARIO\" (Select this dealer)\n //THIS EVENT IS FIRED IN DEALERLOCATOR.JS\n\n //EVENT 5: Form Initiated when clicking on \"Nombre\" (Name) (only once per session\n\n $('.js-field-name').click(function () {\n if (!window.sessionStorage.getItem('formIniciated')) {\n window.sessionStorage.setItem('formIniciated', true);\n\n var vehicleCategory = $('input[name=\"vehicleCategory\"]').val();\n var vehicleModel = modelDropDownSelect.options[modelDropDownSelect.selectedIndex].innerText;\n var vehicleId = $('input[name=\"pvMOI\"]').val();\n formIniciated(vehicleCategory, vehicleModel, vehicleId);\n }\n });\n\n //Save vaules in sessionStorage\n $('.js-label-submit').click(function () {\n\n // window.sessionStorage.setItem('vehicleModel', $('#sModels').text());\n window.sessionStorage.setItem('vehicleModel', modelDropDownSelect.options[modelDropDownSelect.selectedIndex].innerText);\n\n window.sessionStorage.setItem('vehicleCategory', $('.js-vehicle-category').val());\n window.sessionStorage.setItem('vehicleId', $('#pvMOI').val());\n window.sessionStorage.setItem('dealerAddress', $('.js-selected-dealer .js-concesion-address').text());\n window.sessionStorage.setItem('dealerId', $('#pvCodhost').val());\n window.sessionStorage.setItem('dealerName', $('.js-selected-dealer .js-concesion-name').text());\n window.sessionStorage.setItem('fleet', 'no');\n });\n\n //EVENT 6: Click on \"ENVIAR SOLICITUD\" to Submit form.\n //THIS EVENT IS FIRED IN THANKYOU.JSP\n };\n\n return {\n init: _init\n };\n}();","\"use strict\";\n\n//CREATE DATA LAYER\n\nwindow.dataLayer = window.dataLayer || {};\n\n// let dataLayer = {};\n\n\n//EVENTS\n\n//EVENT 1: Click on Dropdown Arrow \"Selecciona tu modelo\"\n\nvar taggingSelectModelDropDown = function taggingSelectModelDropDown(accordionText) {\n\n dataLayer = {};\n\n dataLayer.accordionType = \"model selections dropdown\";\n dataLayer.accordionText = accordionText;\n _satellite.track(\"accordionExpansion\");\n\n console.log(\"accordionExpansion\", dataLayer);\n\n return dataLayer;\n};\n\n//EVENT 2: Click of vehicle Model within dropdown from \"Selecciona tu modelo\" \n\nvar taggingSelectModel = function taggingSelectModel(model) {\n\n dataLayer = {};\n\n dataLayer.selectDropdown = \"model\";\n dataLayer.selectModel = model;\n _satellite.track(\"vehicleSelector\");\n\n console.log(\"vehicleSelector\", dataLayer);\n\n // return dataLayer \n};\n\n//EVENT 3: Click on Dropdown Arrow \"Selecciona tu motor\"\n\nvar taggingSelectEngineDropdown = function taggingSelectEngineDropdown(accordionText) {\n\n dataLayer = {};\n\n dataLayer.accordionType = \"engine selections dropdown\";\n dataLayer.accordionText = accordionText;\n _satellite.track(\"accordionExpansion\");\n\n console.log(\"accordionExpansion\", dataLayer);\n\n return dataLayer;\n};\n\n//EVENT 4: Click of engine within dropdown from \"Selecciona tu motor\"\n\nvar taggingSelectEngine = function taggingSelectEngine(motor) {\n\n dataLayer = {};\n\n dataLayer.toggleType = \"engines\";\n dataLayer.toggleValue = motor;\n _satellite.track(\"toggle\");\n\n console.log(\"toggle\", dataLayer);\n\n return dataLayer;\n};\n\n//EVENT 5: Click on search after introducing a postal code\n\nvar taggingPostalCode = function taggingPostalCode(location, resultsNumber) {\n\n dataLayer = {};\n\n dataLayer.action = \"search\";\n dataLayer.searchTerm = location;\n dataLayer.searchType = \"dealer locator\";\n dataLayer.searchResults = resultsNumber;\n _satellite.track(\"search\");\n\n console.log(\"search\", dataLayer);\n\n return dataLayer;\n};\n\n//EVENT 6: Click on \"SELECCIONA UN CONCESIONARIO\" (Select this dealer)\n\nvar taggingSelectDealer = function taggingSelectDealer(dealerAddress, dealerId, dealerName) {\n\n dataLayer = {};\n\n dataLayer.dealerAction = \"list\";\n dataLayer.dealerAddress = dealerAddress;\n dataLayer.dealerId = dealerId;\n dataLayer.dealerName = dealerName;\n _satellite.track(\"dealerInteraction\");\n\n console.log(\"dealerInteraction\", dataLayer);\n\n return dataLayer;\n};\n\n//EVENT 7: Form Initiated when clicking on \"Nombre\" (Name) (only once per session\n\nvar formIniciated = function formIniciated(vehicleCategory, vehicleModel, vehicleId) {\n dataLayer = {};\n\n dataLayer.vehicleCategory = vehicleCategory;\n dataLayer.vehicleModel = vehicleModel;\n dataLayer.vehicleId = vehicleId;\n dataLayer.formType = \"nissan ventus camper\";\n dataLayer.formName = \"nissan-ventus-camper\";\n dataLayer.formCategory = \"lead\";\n dataLayer.pageType = \"form\";\n _satellite.track(\"formStart\");\n\n console.log(\"formStart\", dataLayer);\n\n return dataLayer;\n};\n\n//EVENT 8: Click on Dropdown Arrow \"TAMAÑO DE LA FLOTA\"\n\nvar taggingSelectFleetDropdown = function taggingSelectFleetDropdown(accordionText) {\n\n dataLayer = {};\n\n dataLayer.accordionType = \"fleet size selections\";\n dataLayer.accordionText = accordionText;\n _satellite.track(\"accordionExpansion\");\n\n console.log(\"accordionExpansion\", dataLayer);\n\n return dataLayer;\n};\n\n//EVENT 9: Click of fleet size within dropdown from \"TAMAÑO DE LA FLOTA\"\n\nvar taggingSelectFleet = function taggingSelectFleet(fleet) {\n\n dataLayer = {};\n\n dataLayer.toggleType = \"fleet size\";\n dataLayer.toggleValue = fleet;\n _satellite.track(\"toggle\");\n\n console.log(\"toggle\", dataLayer);\n\n return dataLayer;\n};\n\n//EVENT 10: Click on \"ENVIAR SOLICITUD\" to Submit form.\n\nvar taggingSubmitForm = function taggingSubmitForm(vehicleCategory, vehicleModel, vehicleId, dealerAddress, dealerId, dealerName, fleet, engine, leadId, errorMessage, success) {\n\n dataLayer = {};\n\n dataLayer.vehicleCategory = vehicleCategory;\n dataLayer.vehicleModel = vehicleModel;\n dataLayer.vehicleId = vehicleId;\n dataLayer.dealerAddress = dealerAddress;\n dataLayer.dealerId = dealerId;\n dataLayer.dealerName = dealerName;\n dataLayer.fleet = fleet;\n dataLayer.engine = engine, dataLayer.formType = \"nissan ventus camper\";\n dataLayer.formName = \"nissan-ventus-camper\";\n dataLayer.formCategory = \"lead\";\n dataLayer.leadId = leadId;\n dataLayer.errorMessage = errorMessage;\n dataLayer.pageType = \"confirmation\";\n dataLayer.success = success;\n _satellite.track(\"formSubmit\");\n\n console.log(\"formSubmit\", dataLayer);\n\n return dataLayer;\n};"]}