"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}(function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"==typeof exports?a(jQuery):module.exports=a(require("jquery"))})(function(a){"use strict";var b=function b(c,d){_classCallCheck(this,b),this.defaults={ajax:{},convert:"serialize",debugMode:!1,lang:"en",localization:{en:{errorMinLength:"Please enter at lease 2 characters.",errorValidationUrl:"Web url not valid.",errorValidationEmail:"Email address not valid.",errorValidationPhone:"Phone number not valid."},de:{errorMinLength:"Bitte geben Sie mindestens 2 Zeichen an.",errorValidationUrl:"Web-URL nicht g\xFCltig.",errorValidationEmail:"E-Mail Adresse nicht g\xFCltig.",errorValidationPhone:"Telefonnummer nicht g\xFCltig."}},type:"post",url:null,validation:{minLength:2,displayRequireErrorInfo:!1,displayValidationErrorInfo:!0,submitOnRequireError:!1,submitOnValidationError:!1}},this.parent=c,this.$parent=a(c),this.successCounter=0,this.validationError=!1,this.$validationObject=null,this.options=a.extend({},this.defaults,d),this.init(!0)};b.prototype.ensureParam=function(a,b,c){return("undefined"==typeof a?"undefined":_typeof(a))===b?a:c},b.prototype.out=function(a,b,c){switch(b=this.ensureParam(b,"string",""),c=this.ensureParam(c,"boolean",!1),"string"==typeof a&&(a="[Reform] "+a),b){default:case"log":{(c||this.options.debugMode)&&console.log(a);break}case"warn":{(c||this.options.debugMode)&&console.warn(a);break}case"err":{console.error(a);break}}},b.prototype.outputError=function(b,c){c=this.ensureParam(c,"string",""),a(b).addClass("rf-error"),0"+c+"

")},b.prototype.getLabel=function(a){return a=this.ensureParam(a,"string",""),"object"===_typeof(this.options.localization[this.options.lang])?"string"==typeof this.options.localization[this.options.lang][a]?this.options.localization[this.options.lang][a]:(this.out("Can't find key '"+this.options.lang+"."+a+"'.","err"),"{{ "+a+" }}"):(this.out("Can't find localization '"+this.options.lang+"'.","err"),"{{ "+a+" }}")},b.prototype.callEvent=function(a,b){return this.out("Calling trigger-event 'rf-"+a+"'."),this.$parent.triggerHandler("rf-"+a,b)},b.prototype.validateString=function(a,b,c){switch(b=this.ensureParam(b,"string",""),c=this.ensureParam(c,"string",""),c){case"text":break;case"url":{var d=/^(http(s?)\:\/\/|~\/|\/)?([a-zA-Z]{1}([\w\-]+\.)+([\w]{2,7}))(:[\d]{1,5})?\/?(\w+\.[\w]{3,4})?((\?\w+=\w+)?(&\w+=\w+)*)?/;return d.test(b)}case"email":{var e=/^(([^<>()\[\]\\.,;:\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,}))$/;return e.test(b)}case"phone":{var f=/^(((((((00|\+)[0-9][0-9]{1,2}[ \-/]?)|0)[1-9][0-9]{1,4})[ \-/]?)|((((00|\+)49\()|\(0)[1-9][0-9]{1,4}\)[ \-/]?))[0-9]{1,7}([ \-/]?[0-9]{1,5})?)$/;return f.test(b)}case"date":break;default:return this.callEvent("validate-custom",[b,c,a]);}},b.prototype.init=function(){var b=this.$parent.prop("outerHTML").split(">",1)[0]+">";if(!this.$parent.hasClass("rf-init")){this.$parent.addClass("rf-init"),a(".rf-send",this.parent).length||this.$parent.append(""),a(".rf-send",this.parent).show(),a("input[type=\"submit\"]",this.parent).hide();var c=this;a("button.rf-send",this.parent).click(function(a){return a.stopPropagation(),c.submit(),!1}),this.groupBehavior(),this.selectPlaceholder()}this.callEvent("initialize",[this.parent]),this.out("You are running Reform.js in development mode. We recomend to set 'debugMode' to 'false' when you use this script in production."),this.out("Successfully initialized Reform for "+b)},b.prototype.submit=function(){var a=this;!1!==this.callEvent("send-before",[a.parent])&&!1!==this.callEvent("validation-before",[a.parent])&&this.validate()},b.prototype.validate=function(){var b=this,c=0,d=!1;a(".rf-error",b.parent).removeClass("rf-error"),a(".rf-error-info",b.parent).remove(),a(".rf-group",b.parent).length?a(".rf-group",b.parent).each(function(){c++;var e=!1,f=this,g=a("label",this).length;a("label",this).length==a("label.rf-req",this).length?a("label",this).each(function(h){if(a("input",this).is(":checked"))return e=!0,b.out("Group has selected child. (true)"),a(".rf-group",b.parent).length!=c||(b.validateSingle(d),!0);if(g==h+1&&!e)if(d=!0,a("label",f).each(function(){b.outputError(this)}),b.out("Group has no selected child. (false)"),a(".rf-group",b.parent).length==c)b.validateSingle(d);else return!0}):0"+c+""),b.val("rf-placeholder"))})},a.fn.reform=function(){for(var a=this,c=arguments[0],d=Array.prototype.slice.call(arguments,1),e=0;e