{"version":3,"sources":["../../../../dev/j/v2/components/forms-fetch.js"],"names":["initAvastForm","callback","getPlaceHolder","el","getAttribute","$","attr","setPlaceHolder","value","removePlaceHolder","replace","detectIE","avastGlobals","detect","browser","isInternetExplorer","window","location","href","each","this","val","data","closest","hide","formSubmitTracking","avastFormSubmitTracking","phs","document","documentMode","i","length","on","e","k","keyCode","AvastForm","hideConditionInputs","addHelp","form","hasClass","avastFormStartTracking","id","split","pop","addClass","type","validate","off","avastForm","isValid","isAjax","ajaxSubmit","formDiv","offset","parseInt","top","scrollTop","animate","ajaxUpdate","datepicker","dateFormat","changeYear","changeMonth","call","globalErrorSelector","formName","prototype","trErrorClassName","helpDivSelector","errorSelector","formDivSelector","globalNoErrorSelector","globalErrorClassName","globalNoErrorClassName","ajaxHandlerInput","ajaxErrorInput","globalErrorInput","that","validationError","elem","name","get","result","checkControl","removeErrorMessage","addErrorMessage","rules","noError","getElementRules","ruleName","userRule","arg","isCondition","negRule","key","rule","op","match","control","getElementValue","success","validators","msg","checkedRadio","Function","html","append","showGlobalErrorMessage","removeClass","find","remove","filled","email","test","url","regexp","parts","RegExp","pattern","integer","float","range","isArray","parseFloat","minLength","maxLength","equal","undefined","len","elements","ajaxHandler","values","FormData","options","cache","URLSearchParams","dataFilter","trim","dataType","submit","after","fetch","headers","Accept","X-Requested-With","method","body","then","response","json","dataLayer","setTimeout","event","push","trigger","show","processResult","err","isPlainObject","errors","customErrors","replaces","indexOf","text","replaceWith","help","parEl","parent","selector","checkConditionInput","checkEl","showEl","thisEl","_tagUpdate","destEl","prop","toLowerCase","firstEl","empty","elVal","elName","elText","definitions","def","parseJSON","condition","AvastFormAjax","doAjax","u","ajaxResponseStorage","ajaxExpirationDelay","_onSuccess","_onError","respOptions","makeKeyFromUrl","isExpired","ajax","encodeURI","writeToStorage","error","readFromStorage","expire","curr","Date","getTime"],"mappings":"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","file":"forms-fetch.js","sourcesContent":["/**\n * Avast form JS\n */\n\n//$_ refers to jQuery added into Text file (WEBSITE-3647)\n\n$(initAvastForm);\n\nfunction initAvastForm( callback ) {\n\tvar detectIE = avastGlobals.detect.browser.isInternetExplorer;\n\t// Set page URL for tracking purposes\n\t$('#AVform [name*=\"url\"]').attr('value', window.location.href);\n\n\t$('form.avast-form input[data-set-hide]').each(function() {\n $(this).val($(this).data('set-hide')).closest('div.form-group').hide();\n });\n\n if (typeof formSubmitTracking !== 'undefined') {\n avastFormSubmitTracking(formSubmitTracking);\n }\n\n\t//patch IE placeholders\n\tif (detectIE === true) {\n\t\tfunction getPlaceHolder(el) {\n\t\t\treturn el.getAttribute('placeholder') || $(el).attr('placeholder');\n\t\t}\n\n\t\tfunction setPlaceHolder(el) {\n\t\t\tel.value = getPlaceHolder(el);\n\t\t}\n\n\t\tfunction removePlaceHolder(el) {\n\t\t\tel.value = el.value.replace(getPlaceHolder(el), '');\n\t\t}\n\n\t\tvar phs = $('input[placeholder]');\n\n\t\tif (document.documentMode < 10) {\n\t\t\tphs.each(function (i, el) {\n\t\t\t\tif (el.value.length == 0) {\n\t\t\t\t\tsetPlaceHolder(el);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tphs.on('click focus blur', function () {\n\t\t\tif (this.value.length == 0) {\n\t\t\t\tsetPlaceHolder(this);\n\t\t\t}\n\t\t});\n\n\t\tphs.on('keydown', function () {\n\t\t\tremovePlaceHolder(this);\n\t\t});\n\n\t\tphs.on('keyup', function (e) {\n\t\t\tvar k = e.keyCode;\n\t\t\tif (this.value.length == 0 && k != 8 && k != 46) {\n\t\t\t\tsetPlaceHolder(this);\n\t\t\t}\n\t\t});\n\t}\n\n\t// focus the first input\n/* \tif ($('form.avast-form div.form-group.alert').length) {\n\t\tdocument.querySelectorAll('form.avast-form div.form-group.alert input[type=text]:not(.nofocus)').forEach(function(el) {\n\t\t\tif (el.closest('.form-group').style.display !== 'none') {\n\t\t\t\tel.focus()\n\t\t\t}\n\t\t})\n\t}\n\telse {\n\t\tdocument.querySelectorAll('form.avast-form input[type=text]:not(.nofocus)').forEach(function(el) {\n\t\t\tif (el.closest('.form-group').style.display !== 'none') {\n\t\t\t\tel.focus()\n\t\t\t}\n\t\t})\n\t} */\n\n\t// disable html 5 validation\n\t// try/catch because of IE 7\n\ttry {\n\t\t$('form.avast-form').attr('novalidate', 'novalidate');\n\t} catch (e) {\n\t}\n\n\t// hide elements with display conditions\n\t$('form.avast-form.live-validation').each(function () {\n\t\tvar avastForm = new AvastForm(this);\n\t\tavastForm.hideConditionInputs();\n\t});\n\n\t// add help hints next to inputs\n\t$('form.avast-form input[data-help]').each(function () {\n\t\tvar avastForm = new AvastForm(this);\n\t\tavastForm.addHelp(this);\n\t});\n\n\t// start tracking\n\t$('form.avast-form').on('change', 'input', function (e) {\n\t\tif (!$(this.form).hasClass('tracking-started')) {\n\t\t\tvar formName = this.form.id.split('\\\\');\n\t\t\tavastFormStartTracking(formName.pop());\n\t\t\t$(this.form).addClass('tracking-started');\n\t\t}\n\t});\n\n\t// add live onchange validation\n\t$('form.avast-form.live-validation').on('change keyup click', 'input', function (e) {\n\t\tif (e.type == 'change') {\n\t\t\t$(this).data('changed', 1);\n\t\t}\n\t\tif ($(this).data('changed') || $(this.form).data('submitted')) {\n\t\t\tvar avastForm = new AvastForm(this.form);\n\t\t\tavastForm.validate(this);\n\t\t}\n\t});\n\n\t// add onsubmit validation (unbind first - can be called more times)\n\t$('form.avast-form.live-validation').off('submit').on('submit', function () {\n\t\t$(this).data('submitted', true);\n\t\tvar avastForm = new AvastForm(this);\n\t\tvar isValid = avastForm.validate();\n\t\tvar isAjax = $(this).hasClass('ajax-form');\n\n\t\tif (isValid && isAjax) {\n\t\t\treturn avastForm.ajaxSubmit();\n\t\t}\n\t\tvar formDiv = $(this).closest('div.AVsizer');\n\t\tif (!isValid && formDiv.length) {\n\t\t\tvar offset = parseInt(formDiv.offset().top);\n\t\t\tif (parseInt($(window).scrollTop()) > offset) {\n\t\t\t\t$('html,body').animate({scrollTop: offset}, 200);\n\t\t\t}\n\t\t}\n\t\treturn isValid;\n\t});\n\n\t// add onChange event for any [data-ajax=] tag to process ajax call for new data and destination tag update\n\t$('form.avast-form [data-ajax]')\n\t\t.on('change', function () {\n\t\t\tvar avastForm = new AvastForm(this);\n\t\t\tavastForm.ajaxUpdate($(this));\n\t\t});\n\n\tif ($.datepicker) {\n\t\t$('input.datepicker').datepicker({\n\t\t\tdateFormat: 'dd.mm.yy',\n\t\t\tchangeYear: true,\n\t\t\tchangeMonth: true\n\t\t});\n\t}\n\n\tif( typeof callback === 'function' ){\n\t\tcallback.call();\n\t}\n}\n\n/**\n * AvastForm\n */\nfunction AvastForm(form) {\n\tthis.form = form;\n\tif ($(this.globalErrorSelector).length) {\n\t\t$(this.form).data('submitted', true);\n\t}\n}\n\nAvastForm.prototype =\n{\n\n\ttrErrorClassName: 'alert',\n\thelpDivSelector: 'div.bundle-popup',\n\terrorSelector: 'ul.errors',\n\tformDivSelector: 'div.AVsizer',\n\tglobalErrorSelector: 'div.bubble.error',\n\tglobalNoErrorSelector: 'div.form-top',\n\tglobalErrorClassName: 'bubble error',\n\tglobalNoErrorClassName: 'form-top',\n\n\tajaxHandlerInput: '_ajax_handler_',\n\tajaxErrorInput: '_ajax_error_',\n\tglobalErrorInput: '_global_error_',\n\n\n\t/**\n\t * validate whole form or one element\n\t * @return bool\n\t */\n\tvalidate: function (el) {\n\t\tvar that = this;\n\t\tvar validationError = false;\n\t\tel = el || 'input';\n\n\t\t$(el, this.form).each(function () {\n\n\t\t\t// if is radio, test the first input\n\t\t\tvar elem = (this.type == 'radio') ? $('input[name=' + this.name + ']:first', that.form).get(0) : this;\n\n\t\t\tvar result = that.checkControl(elem);\n\t\t\tif (result === true) {\n\t\t\t\tthat.removeErrorMessage(elem);\n\t\t\t}\n\t\t\telse if (result) {\n\t\t\t\tthat.addErrorMessage(elem, result);\n\t\t\t\tvalidationError = true;\n\t\t\t}\n\t\t});\n\t\treturn !validationError;\n\t},\n\n\t/**\n\t * @return mixed true or error message\n\t */\n\tcheckControl: function (el, rules) {\n\t\tvar noError = true;\n\n\t\tif (rules || $(el).data('nette-rules')) {\n\t\t\trules = rules || this.getElementRules(el);\n\t\t\tvar that = this;\n\t\t\tvar ruleName, userRule, arg, isCondition, result, negRule;\n\n\t\t\t// check the rules\n\t\t\tif (rules && rules.length) {\n\n\t\t\t\t$.each(rules, function (key, rule) {\n\n\t\t\t\t\truleName = rule.op.replace(/^.*:(.*)$/, '$1');\n\t\t\t\t\tnegRule = rule.op.match(/^~:.*$/);\n\t\t\t\t\tisCondition = !!rule.rules;\n\t\t\t\t\targ = rule.arg || null;\n\t\t\t\t\telem = rule.control ? that.form[rule.control] : el;\n\t\t\t\t\tuserRule = $(elem).data('validator');\n\t\t\t\t\tval = that.getElementValue(elem);\n\n\t\t\t\t\tvar success = true;\n\t\t\t\t\tif (ruleName && ruleName in that.validators) {\n\t\t\t\t\t\tsuccess = that.validators[ruleName](val, that.form, arg);\n\t\t\t\t\t}\n\t\t\t\t\tif (userRule && userRule in window) {\n\t\t\t\t\t\tsuccess = window[userRule](val, that.form, arg);\n\t\t\t\t\t}\n\t\t\t\t\tif (negRule) {\n\t\t\t\t\t\tsuccess = !success;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!success && !isCondition) {\n\t\t\t\t\t\tnoError = rule.msg;\n\t\t\t\t\t}\n\t\t\t\t\telse if (success && isCondition) {\n\t\t\t\t\t\tnoError = that.checkControl(el, rule.rules);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn noError;\n\t},\n\n\tgetElementValue: function (elem) {\n\t\tvar val = $(elem).val();\n\t\t// radio\n\t\tif (!elem.name || elem.type == 'radio') {\n\t\t\tvar name = elem.name ? elem.name : elem[0].name;\n\t\t\tvar checkedRadio = $('input[name=' + name + ']:checked');\n\t\t\tval = (checkedRadio.length) ? $(checkedRadio).val() : '';\n\t\t}\n\t\telse if (elem.type == 'checkbox') {\n\t\t\t// it can be checkboxList\n\t\t\tval = !!$('input[name=\"' + elem.name + '\"]:checked').length;\n\t\t}\n\n\t\tif (val === $(elem).data('nette-empty-value')) {\n\t\t\tval = '';\n\t\t}\n\t\treturn val;\n\t},\n\n\tgetElementRules: function (el) {\n return (new Function('return ' + $(el).attr('data-nette-rules')))();\n\t},\n\n\taddErrorMessage: function (el, msg) {\n\t\tthis.removeErrorMessage(el);\n\t\t$(el).closest('div.form-group').addClass(this.trErrorClassName);\n\t\tvar html = '';\n\t\t$(el).closest('div.form-item').append(html);\n\t\tthis.showGlobalErrorMessage();\n\t},\n\n\tremoveErrorMessage: function (el) {\n\t\t$(el).closest('div.form-group, div.captcha').removeClass(this.trErrorClassName).find(this.errorSelector).remove();\n\t\tthis.showGlobalErrorMessage();\n\t},\n\n\tshowGlobalErrorMessage: function () {\n\t\tif ($(this.form).data('submitted')) {\n\t\t\tvar formDiv = $(this.form).closest(this.formDivSelector);\n\t\t\tif (formDiv.find(this.errorSelector).length && this.form[this.globalErrorInput]) {\n\t\t\t\tformDiv.find(this.globalNoErrorSelector)\n\t\t\t\t\t.data('oldhtml', $(this.globalNoErrorSelector).html())\n\t\t\t\t\t.removeClass(this.globalNoErrorClassName)\n\t\t\t\t\t.addClass(this.globalErrorClassName)\n\t\t\t\t\t.append(this.form[this.globalErrorInput].value);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tformDiv.find(this.globalErrorSelector)\n\t\t\t\t\t.html($(this.globalErrorSelector).data('oldhtml'))\n\t\t\t\t\t.removeClass(this.globalErrorClassName)\n\t\t\t\t\t.addClass(this.globalNoErrorClassName);\n\t\t\t}\n\t\t}\n\t},\n\n\tvalidators: {\n\t\t'filled': function (val) {\n\t\t\treturn val !== '' && val !== false && val !== null;\n\t\t},\n\n\t\t'email': function (val) {\n\t\t\treturn (/^(\"([ !\\x23-\\x5B\\x5D-\\x7E]*|\\\\[ -~])+\"|[-a-z0-9!#$%&'*+\\/=?^_`{|}~]+(\\.[-a-z0-9!#$%&'*+\\/=?^_`{|}~]+)*)@([0-9a-z\\u00C0-\\u02FF\\u0370-\\u1EFF]([-0-9a-z\\u00C0-\\u02FF\\u0370-\\u1EFF]{0,61}[0-9a-z\\u00C0-\\u02FF\\u0370-\\u1EFF])?\\.)+[a-z\\u00C0-\\u02FF\\u0370-\\u1EFF][-0-9a-z\\u00C0-\\u02FF\\u0370-\\u1EFF]{0,17}[a-z\\u00C0-\\u02FF\\u0370-\\u1EFF]$/i).test(val);\n\t\t},\n\n\t\t'url': function (val) {\n\t\t\treturn (/^(https?:\\/\\/|(?=.*\\.))([0-9a-z\\u00C0-\\u02FF\\u0370-\\u1EFF](([-0-9a-z\\u00C0-\\u02FF\\u0370-\\u1EFF]{0,61}[0-9a-z\\u00C0-\\u02FF\\u0370-\\u1EFF])?\\.)*[a-z\\u00C0-\\u02FF\\u0370-\\u1EFF][-0-9a-z\\u00C0-\\u02FF\\u0370-\\u1EFF]{0,17}[a-z\\u00C0-\\u02FF\\u0370-\\u1EFF]|\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})(:\\d{1,5})?(\\/\\S*)?$/i).test(val);\n\t\t},\n\n\t\t'regexp': function (val, form, arg) {\n\t\t\tvar parts = typeof arg === 'string' ? arg.match(/^\\/(.*)\\/([imu]*)$/) : false;\n\t\t\tif (parts) {\n\t\t\t\ttry {\n\t\t\t\t\treturn (new RegExp(parts[1], parts[2].replace('u', ''))).test(val);\n\t\t\t\t} catch (e) {\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t'pattern': function (val, form, arg) {\n\t\t\ttry {\n\t\t\t\treturn typeof arg === 'string' ? (new RegExp('^(' + arg + ')$')).test(val) : null;\n\t\t\t} catch (e) {\n\t\t\t}\n\t\t},\n\n\t\t'integer': function (val) {\n\t\t\treturn (/^-?[0-9]+$/).test(val);\n\t\t},\n\n\t\t'float': function (val) {\n\t\t\treturn (/^-?[0-9]*[.,]?[0-9]+$/).test(val);\n\t\t},\n\n\t\t'range': function (val, form, arg) {\n\t\t\treturn $.isArray(arg) ?\n\t\t\t\t((arg[0] === null || parseFloat(val) >= arg[0]) && (arg[1] === null || parseFloat(val) <= arg[1])) : null;\n\t\t},\n\n\t\t'minLength': function (val, form, arg) {\n\t\t\treturn val.length >= arg;\n\t\t},\n\n\t\t'maxLength': function (val, form, arg) {\n\t\t\treturn val.length <= arg;\n\t\t},\n\n\t\t'length': function (val, form, arg) {\n\t\t\targ = $.isArray(arg) ? arg : [arg, arg];\n\t\t\treturn (arg[0] === null || val.length >= arg[0]) && (arg[1] === null || val.length <= arg[1]);\n\t\t},\n\n\t\t'equal': function (val, form, arg) {\n\t\t\tif (arg === undefined) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\targ = $.isArray(arg) ? arg : [arg];\n\t\t\tfor (var i = 0, len = arg.length; i < len; i++) {\n\t\t\t\tif (val == (arg[i].control ? $(form.elements[arg[i].control]).val() : arg[i])) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t},\n\n\t/*addValidator: function(name, func)\n\t {\n\t this.validators[name] = func;\n\t },*/\n\n\tajaxSubmit: function () {\n\t\tvar form = this.form,\n\t\t\tthat = this,\n\t\t\tajaxHandler = (this.ajaxHandlerInput in form && form[this.ajaxHandlerInput].value in window) ? window[form[this.ajaxHandlerInput].value] : null,\n\t\t\tvalues = new FormData(this.form),\n\t\t\toptions = {\n\t\t\t\turl: $(form).attr('action') || document.location.href,\n\t\t\t\tcache: false,\n\t\t\t\tdata: new URLSearchParams(values),\n\t\t\t\tdataFilter: function (data) {\n\t\t\t\t\treturn $.trim(data);\n\t\t\t\t},\n\t\t\t\tdataType: 'json',\n\t\t\t\ttype: $(form).attr('method') || 'get'\n\t\t\t};\n\n\t\tvar submit = $('input[type=submit].ajax');\n\t\tif (submit.length && !$('img.form-ajax-loader').length) {\n\t\t\tsubmit.hide().after('\"\"');\n\t\t}\n\n fetch(options.url + '?projectId[]=25459', {\n headers: {\n 'Accept': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest'\n },\n method: options.type,\n body: options.data\n }).then(function (response) {\n\t\t\treturn response.json();\n\t\t}).then(function (data) {\n\t\t\tif (typeof dataLayer !== 'undefined' && dataLayer.length > 0) {\n\t\t\t\t// There may be script which pushes to dataLayer 'formCompleted'. Timeout set to wait for final push.\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tfor (var i = 0; i < dataLayer.length; i++) {\n\t\t\t\t\t\tif (typeof dataLayer[i].event !== 'undefined' && dataLayer[i].event === 'formCompleted') {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataLayer.push({'event': 'formCompleted'});\n\t\t\t\t}, 10);\n\t\t\t}\n\t\t\t$(document).trigger('avastform-linear-success');\n\t\t\t$('input[type=submit].ajax').show();\n\t\t\t$('img.form-ajax-loader').remove();\n\t\t\tajaxHandler ? ajaxHandler(data, form) : that.processResult(data);\n }).catch(function (err) {\n $('img.form-ajax-loader').remove();\n\t\t\t$('input[type=submit].ajax').show();\n });\n\n\t\treturn false;\n\t},\n\n\t/**\n\t * default ajax handler\n\t */\n\tprocessResult: function (data) {\n\t\tif ($.isPlainObject(data)) {\n\n\t\t\tif ('errors' in data) {\n\t\t\t\tfor (var name in data.errors) {\n\t\t\t\t\tif (name in this.form) {\n\t\t\t\t\t\tthis.addErrorMessage(this.form[name], data.errors[name]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ('customErrors' in data && $('.formCustomErrorMessage').length > 0) {\n\t\t\t\t$('.formCustomErrorMessage').html(data.customErrors).removeClass('hidden');\n\t\t\t}\n\n\t\t\tif ('replaces' in data) {\n\t\t\t\tfor (var replace in data.replaces) {\n\t\t\t\t\t// convert entities to html if needed\n\t\t\t\t\tif (data.replaces[replace].indexOf('<') > -1) {\n\t\t\t\t\t\tvar html = $('
').html(data.replaces[replace]).text();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar html = data.replaces[replace];\n\t\t\t\t\t}\n\t\t\t\t\tif (replace == 'form') {\n\t\t\t\t\t\t$(this.form).replaceWith(html);\n\t\t\t\t\t}\n\t\t\t\t\telse if (replace.indexOf('#') === 0) {\n\t\t\t\t\t\t$(replace).replaceWith(html);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\n\t/**\n\t * adds help icons next to inputs\n\t *\n\t * @param object el element with help text\n\t */\n\taddHelp: function (el) {\n\t\tvar help = $(el).data('help'),\n\t\t\tparEl = $(el).parent();\n\t\tif (help) {\n\t\t\tif (!$(this.helpDivSelector, parEl).length) {\n\t\t\t\t$(el).after('' +\n\t\t\t\t\t'
' +\n\t\t\t\t\t'
' + help + '
');\n\t\t\t}\n\t\t}\n\t},\n\n\thideConditionInputs: function () {\n var that = this;\n\n $('input[data-display-condition][data-nette-rules]', this.form).each(function () {\n\n\t\t\tvar el = this;\n\t\t\tvar rules = that.getElementRules(el);\n\n\t\t\t$.each(rules, function (key, rule) {\n\t\t\t\tvar selector = that.form[rule.control];\n\t\t\t\t// radio\n\t\t\t\tif ($.isArray(selector)) {\n\t\t\t\t\tselector = $('input[name=' + selector[0].name + ']', that.form);\n\t\t\t\t}\n\t\t\t\tthat.checkConditionInput(selector, rule, el);\n\t\t\t\t$(selector).on('change keyup click', function () {\n\t\t\t\t\tthat.checkConditionInput(this, rule, el);\n\t\t\t\t});\n\t\t\t});\n });\n\t},\n\n\tcheckConditionInput: function (checkEl, rules, showEl) {\n\t\trules.rules = null;\n\t\trules.control = null;\n\t\tif (this.checkControl(checkEl, [rules]) === true) {\n\t\t\t$(showEl).closest('div.form-group').show();\n\t\t}\n\t\telse {\n\t\t\t$(showEl).closest('div.form-group').hide();\n\t\t\tthis.removeErrorMessage(showEl);\n\t\t}\n\t},\n\n\n\t/*\n\t * Method will update elements values form given data from ajax\n\t * @method ajaxUpdate\n\t * @param object thisEl - current element properties - attribute [data-ajax] needed\n\t * @return boolean\n\t */\n\tajaxUpdate: function (thisEl) {\n\t\t//fix for chars like ''\n\t\tvar definitions = thisEl\n\t\t\t.attr('data-ajax')\n\t\t\t.replace(/\\'/g, \"\\\"\");\n\n\t\tvar thisVal = thisEl.val();\n\n\t\t//read and instance definition object\n\t\tvar def = $.parseJSON(definitions);\n\n\t\t//check if necessary params exists in given definition object\n\t\tif (typeof def.destEl === 'undefined' && ( typeof def.url === 'undefined' || typeof def.condition === 'undefined' )) {\n\t\t\treturn false;\n\t\t}\n\n\n\t\t/*\n\t\t * Function will update html tag from values form given data from ajax\n\t\t * @function tagUpdate\n\t\t * @param object data - object wit data from ajax or ajaxResponseStorage\n\t\t * @param string destEl - destination element\n\t\t * @return boolean\n\t\t */\n\t\tfunction _tagUpdate(data, destEl) {\n\t\t\t//set working element\n\t\t\tvar el = $('form.avast-form [name=' + destEl + ']');\n\n\t\t\tswitch ($(el).prop('tagName').toLowerCase()) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tvar firstEl = $(el).find('option:first');\n\t\t\t\t\t$(el)\n\t\t\t\t\t\t.empty()\n\t\t\t\t\t\t.append(firstEl);\n\t\t\t\t\t//fill select\n\t\t\t\t\t$.each(data, function (key, val) {\n\t\t\t\t\t\t$(el).append(\"\");\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'input':\n\t\t\t\t\t$(el)\n\t\t\t\t\t\t.empty()\n\t\t\t\t\t\t.val(data.elVal)\n\t\t\t\t\t\t.text(data.elText);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\t$(el)\n\t\t\t\t\t\t.empty()\n\t\t\t\t\t\t.text(data.elText);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar url = typeof def.url === 'undefined' ? false : def.url;\n\n\t\t//Process update\n\t\tif (typeof def.condition === 'undefined') {\n\t\t\t//execure ajax\n\t\t\tif (url) {\n\t\t\t\tAvastFormAjax.doAjax(url, _tagUpdate, false, def.destEl);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\t//apply conditions and check if all ok\n\t\t\t$.each(def.condition, function (key, val) {\n\t\t\t\t//test condition\n\t\t\t\tif (thisEl.val() === val.id) {\n\t\t\t\t\t//select correct URL\n\t\t\t\t\tvar u = typeof val.url === 'undefined' ? url : val.url;\n\t\t\t\t\t//execure ajax\n\t\t\t\t\tAvastFormAjax.doAjax(u, _tagUpdate, false, val.destEl);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t}\n\n};\n\n\n/*\n * AvastForm Ajax provide functionality for getting data from ajax call and store it in to array\n * @class AvastForm.ajax\n */\nvar AvastFormAjax = {\n\tajaxResponseStorage: [],\n\tajaxExpirationDelay: 60000, //miliseconds\n\n\t/*\n\t * Method will do ajax call on given URL when previous response not exists in ajaxResponseStorage object or the record expired in ajaxResponseStorage\n\t * @function doAjax\n\t * @param string url - url to call\n\t * @param function _onSuccess - function that will be executed after successed ajax\n\t * @param function _onError - function that will be executed on error\n\t * @param object respOptions - options that will be delivered to final functions (on succes, etc)\n\t * @return boolean\n\t */\n\tdoAjax: function (url, _onSuccess, _onError, respOptions) {\n\t\t//make key from url to store data properly in ajaxResponseStorage\n\t\tvar key = AvastFormAjax.makeKeyFromUrl(url);\n\n\t\tif (AvastFormAjax.isExpired(key)) {\n\t\t\t//do ajax for data\n\t\t\t$.ajax({\n\t\t\t\turl: encodeURI(url),\n\t\t\t\tsuccess: function (data) {\n\t\t\t\t\t//write to storage\n\t\t\t\t\tAvastFormAjax.writeToStorage(key, data);\n\n\t\t\t\t\tif (typeof _onSuccess === 'function') {\n\t\t\t\t\t\t_onSuccess(data, respOptions);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: function (data) {\n\t\t\t\t\tif (typeof _onError === 'function') {\n\t\t\t\t\t\t_onError(data, respOptions);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\t_onSuccess(AvastFormAjax.readFromStorage(key), respOptions);\n\t\t}\n\t},\n\n\n\t/*\n\t * Method will create key from given url\n\t * @function makeKeyFromUrl\n\t * @param string url - url to change to key\n\t * @return string\n\t */\n\tmakeKeyFromUrl: function (url) {\n\t\treturn url\n\t\t\t.replace(/\\//gi, \"-\")\n\t\t\t.replace(/\\&/gi, \"----\")\n\t\t\t.replace(/\\=/gi, \"---\")\n\t\t\t.replace(/\\?/gi, \"--\")\n\t\t\t.replace(/\\%/gi, \"-----\")\n\t\t\t.replace(/\\;/gi, \"------\")\n\t\t\t.replace(/\\:/gi, \"-\");\n\t},\n\n\n\t/*\n\t * Method will write data to ajaxResponseStorage\n\t * @function writeToStorage\n\t * @param string key - key in ajaxResponseStorage\n\t * @param object data - data to write\n\t * @param int expire - expiration timestamp\n\t * @return boolean\n\t */\n\twriteToStorage: function (key, data, expire) {\n\t\tvar curr = new Date().getTime();\n\n\t\tAvastFormAjax.ajaxResponseStorage[ key ] = {\n\t\t\texpire: curr + (typeof expire !== 'undefined' ? expire : AvastFormAjax.ajaxExpirationDelay),\n\t\t\tdata: data\n\t\t};\n\t},\n\n\n\t/*\n\t * Method will read data from ajaxResponseStorage\n\t * @function writeToStorage\n\t * @param string key - key in ajaxResponseStorage\n\t * @return object\n\t */\n\treadFromStorage: function (key) {\n\t\tif (typeof AvastFormAjax.ajaxResponseStorage[ key ] !== 'undefined' && typeof AvastFormAjax.ajaxResponseStorage[ key ].data !== 'undefined') {\n\t\t\treturn AvastFormAjax.ajaxResponseStorage[ key ].data;\n\t\t}\n\t\telse {\n\t\t\treturn false;\n\t\t}\n\t},\n\n\t/*\n\t * Method will check if the key in ajaxResponseStorage expired\n\t * @function writeToStorage\n\t * @param string key - key in ajaxResponseStorage\n\t * @return object\n\t */\n\tisExpired: function (key) {\n\t\tvar curr = new Date().getTime();\n\n\t\t//check if key exists in ajaxResponseStorage\n\t\tif (typeof AvastFormAjax.ajaxResponseStorage[ key ] !== 'undefined') {\n\t\t\t//check if record expired\n\t\t\tif (AvastFormAjax.ajaxResponseStorage[ key ].expire < curr) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\treturn true;\n\t\t}\n\t}\n\n};\n\n\n/**\n * success form submit tracking\n *\n * @param string formName\n */\nfunction avastFormSubmitTracking(formName) {}\n\n/**\n * form - start of filling tracking\n *\n * @param string formName\n */\nfunction avastFormStartTracking(formName) {}\n"]}