/*global window,jQuery*/ window.SolApi = window.SolApi || {}; window.SolApi.baseConfig = { host: "", customerApiHost: "", agreements: { AG_CONSENT_E_SIGN: { html: "", formRenderedCallback: null }, INFO_AUTH_E_SIGN: { html: "", formRenderedCallback: null } } }; window.SolApi.Agreement = (function ($, SolApi) { "use strict"; function agreement(config) { var pub = {}, agreementType = config.agreementType, agreementConfig = config.agreementConfig || {}, renderHere = config.formContainerSelector, signatoryRef = config.signatoryRef, successCallback = config.eventHandlers.success, pollBankIdCallback = config.eventHandlers.signStatusUpdate || defaultBankIdCallback, unexpectedErrorCallback = config.eventHandlers.unexpectedError || defaultUnexpectedErrorCallback, invalidAuthTokenCallback = config.eventHandlers.invalidAuthToken || defaultInvalidAuthTokenCallback, fieldValidationCallback = config.eventHandlers.fieldValidation || defaultFieldValidationCallback, totalValidationCallback = config.eventHandlers.totalValidation || defaultTotalValidationCallback, signatureAbortedCallback = config.eventHandlers.signatureAborted || defaultSignatureAborted, useDefaultForm = config.useDefaultForm, agreementGuid, displayBankIdFeedback = config.displayBankIdFeedback || false, pollSignatureStatusTimer, bankIdFeedbackDialog = new SolApi.BankIdFeedbackDialog({ title: "Signera med BankID", abort: function() { pub.abortSignature(); } }), host = SolApi.baseConfig.host, $formContainer; function defaultTotalValidationCallback(allFieldsAreValid, code, message) { var $messageElement = $formContainer.find(".signing-progress"); if (allFieldsAreValid) { if (message) { $messageElement.text(""); } $messageElement.closest(".form-group").removeClass("has-error"); } else { $messageElement .text(message) .closest(".form-group").removeClass("has-success").addClass("has-error"); } } function defaultSignatureAborted() { var $messageElement = $formContainer.find(".signing-progress"); $messageElement.closest(".form-group").addClass("has-error"); $messageElement.closest(".form-group").removeClass("has-success"); $messageElement.text("Signeringen avbröts"); } function defaultUnexpectedErrorCallback(message) { window.alert("Ett oväntat fel inträffade. Prova igen senare."); throw "Unexpected error:" + message; } function defaultInvalidAuthTokenCallback() { window.alert("Ett tekniskt fel inträffade. Felkod 401."); } function defaultBankIdCallback(status) { var message = { "START": "Ansluter till BankID", "PENDING": "Väntar på signatur via BankID", "FAIL": "Signering misslyckades" }[status] || status; $formContainer.find(".signing-progress") .text(message) .closest(".form-group").addClass(status === "FAIL" ? "has-error" : "has-success"); } function defaultFieldValidationCallback(fieldName, isOk, errorCodes, errorMessages) { var formGroup = $formContainer.find("[name=" + fieldName + "]").closest(".form-group"), fieldValidationError = formGroup.find(".field-validation-error"); if (isOk) { fieldValidationError.text(""); formGroup.removeClass("has-error"); formGroup.addClass("has-success"); } else { fieldValidationError.text(errorMessages.join(", ")); formGroup.addClass("has-error"); formGroup.removeClass("has-success"); } } function getErrorMessage(agreementType, fieldName, errorCode) { return ((({ AG_CONSENT_E_SIGN: { clearingNumber: { MISSING_CLEARING_NUMBER: "Clearingnummer saknas", INVALID_FORMAT_CLEARING_NUMBER: "Felformaterat clearingnummer", INVALID_CLEARING_NUMBER: "Okänt clearingnummer" }, serialNumber: { MISSING_SERIAL_NUMBER: "Kontonummer saknas", INVALID_FORMAT_SERIAL_NUMBER: "Felformaterat kontonummer", SERIAL_NUMBER_NOT_ELEVEN_DIGITS: "Angivet clearingnummer kräver elvasiffrigt kontonummer", INVALID_CHECKSUM: "Kontonummer ej godkänt för bank associerad med clearingnummer", SERIAL_NUMBER_NOT_TEN_DIGITS: "Angivet clearingnummer kräver tiosiffrigt kontonummer", SERIAL_NUMBER_NOT_NINE_DIGITS: "Angivet clearingnummer kräver niosiffrigt kontonummer", SERIAL_NUMBER_NOT_BETWEEN_ONE_AND_TEN_DIGITS: "Angivet clearingnummer kräver kontonummer med en till tio siffror", MISSING_CLEARING_IN_SERIAL_NUMBER: "Kontonummer ej godkänt för bank associerad med clearingnumret" }, agreeToTerms: { TERMS_NOT_APPROVED: "Villkor ej godkänt" }, general: { AUTOGIRO_CONSENT_EXISTS: "Autogiromedgivande finns redan.", FIELDS_NOT_VALID: "Ett eller flera fält är felaktigt ifyllda" } }, INFO_AUTH_E_SIGN: { validTo: { INVALID_VALID_TO_DATE: "Angivet datum ej giltigt" }, emailField: { MISSING_EMAIL: "E-postadress saknas", INVALID_EMAIL: "E-postadressen är ogiltig" } } }[agreementType]||{})[fieldName]||{})[errorCode] || null); } function formSubmitAction() { /** * @param {Object} data * @param {string} data.agreementGuid */ function createAgreementSuccess(data) { agreementGuid = data.agreementGuid; updateAgreement(); } function createAgreementFail(jqXHR) { var data; if (jqXHR.status === 401) { invalidAuthTokenCallback(); return; } if (jqXHR.status >= 500) { handleUnexpectedError("UNKNOWN_CREATE_AGREEMENT_ERROR"); return; } data = $.parseJSON(jqXHR.responseText); handleUnexpectedError(data.error.code); } function createAgreement() { var xhrParams = { type: "POST", url: host + "/createAgreement/", beforeSend: function(jqXHR){ jqXHR.setRequestHeader("Authorization", "Bearer " + signatoryRef); }, data: { "agreementType": agreementType }, dataType: "JSON" }; $.ajax(xhrParams) .done(createAgreementSuccess) .fail(createAgreementFail); } function updateAgreement() { function updateAgreementSuccess() { validateAgreement({onSuccess: function () { triggerEvent("validated"); signAgreement(); }}); } function updateAgreementFail(jqXHR) { if (jqXHR.status === 401) { invalidAuthTokenCallback(); return; } enableSubmit(); handleUnexpectedError("UNEXPECTED_UPDATE_AGREEMENT_ERROR"); } function doRequest() { var patchData = []; if (agreementType === "AG_CONSENT_E_SIGN") { patchData.push({ "op": "replace", "path": "/clearingNumber", "value": $formContainer.find("input[name=clearingNumber]").val() }); patchData.push({ "op": "replace", "path": "/serialNumber", "value": $formContainer.find("input[name=serialNumber]").val() }); patchData.push({ "op": "replace", "path": "/agreeToTerms", "value": $formContainer.find("input[name=agreeToTerms]").is(":checked") }); } else if (agreementType === "INFO_AUTH_E_SIGN") { patchData.push({ "op": "replace", "path": "/validityType", "value": $formContainer.find("input[name=validityType]:checked").val() }); patchData.push({ "op": "replace", "path": "/validTo", "value": $formContainer.find("input[name=validTo]").val() }); patchData.push({ "op": "replace", "path": "/emailField", "value": $formContainer.find("input[name=emailField]").val() }); } $.ajax({ type: "PATCH", url: host + "/agreement/" + agreementGuid, data: JSON.stringify(patchData), contentType: "application/json", dataType: "JSON" }) .done(updateAgreementSuccess) .fail(updateAgreementFail); } doRequest(); } function validateAgreement(param) { function doValidationRequest() { $.ajax({ type: "GET", url: host + "/agreement/" + agreementGuid + "/", dataType: "JSON" }) .done(validationCallbackSuccess) .fail(validationCallbackFail); } function validationCallbackSuccess(agreementData) { var generalErrorMessages = []; $.each(agreementData.fields, function(fieldName, field) { var fieldErrorCodes = field.errorCodes, fieldErrorMessages = []; if (fieldErrorCodes && fieldErrorCodes.length) { $.each(fieldErrorCodes, function(i, errorCode) { var message = getErrorMessage(agreementType, fieldName, errorCode) || errorCode; if (errorCode !== "SUBTLE_WARNING") { fieldErrorMessages.push(message); } }); fieldValidationCallback(fieldName, false, fieldErrorCodes, fieldErrorMessages); } else { fieldValidationCallback(fieldName, true); } }); if (agreementData.everythingOk) { totalValidationCallback(true); if (typeof param.onSuccess === "function") { param.onSuccess(); //start signing process } } else { $.each(agreementData.generalErrorCodes, function(i, errorCode) { var message = getErrorMessage(agreementType, "general", errorCode) || errorCode; generalErrorMessages.push(message); }); totalValidationCallback(false, agreementData.generalErrorCodes, generalErrorMessages); enableSubmit(); } } function validationCallbackFail(jqXhr) { if (jqXhr.status === 401) { invalidAuthTokenCallback(); } else { handleUnexpectedError("UNKNOWN_VALIDATION_ERROR"); } } doValidationRequest(); } function signAgreement() { function doInitRequest() { $.ajax({ type: "POST", url: host + "/agreement/" + agreementGuid + "/bankIdSignature/init/", dataType: "JSON" }) .done(function () { triggerEvent("signatureInitiated"); pollSignatureStatus(); }) .fail(signatureInitFail); } function signatureInitFail(jqXhr) { var data; if (jqXhr.status === 400) { enableSubmit(); data = jqXhr.responseJSON; totalValidationCallback( false, [data.error.code], [getErrorMessage(agreementType, "general", data.error.code) || data.error.code] ); } else if (jqXhr.status === 401) { invalidAuthTokenCallback(); } else { handleUnexpectedError("BANKID_INIT_FAIL"); } } function pollSignatureStatus() { pollSignatureStatusTimer = setTimeout(doRequest, 1000); function doRequest() { if (!agreementGuid) { return; } $.ajax({ type: "GET", url: host + "/agreement/" + agreementGuid + "/bankIdSignature/status/", dataType: "JSON", statusCode: { "200": signatureSuccess, "202": pollSignatureStatus } }) .fail(signatureFail); pollBankIdCallback("PENDING"); } } function signatureFail(jqXhr) { if (jqXhr.status === 403) { triggerEvent("abortedByBankId"); pub.abortSignature(); } else if (jqXhr.status === 401) { invalidAuthTokenCallback(); } else { handleUnexpectedError("UNKNOWN_SIGNATURE_FAILURE"); } } function signatureSuccess() { if (useDefaultForm) { $formContainer.find(".signing-progress").text(""); } triggerEvent("success"); successCallback(); } pollBankIdCallback("START"); doInitRequest(); // setTimeout(signatureSuccess, 2000); } disableSubmit(); if (agreementGuid) { updateAgreement(); } else { createAgreement(); } return false; } function enableSubmit() { $formContainer.find(":submit").removeAttr("disabled"); } function disableSubmit() { $formContainer.find(":submit").prop("disabled", true); } function renderForm() { var form = SolApi.baseConfig.agreements[agreementType].html, $form; $formContainer.html(form); if (SolApi.baseConfig.agreements[agreementType].formRenderedCallback) { if ($formContainer[0].nodeName == 'FORM') { throw new Error('Form container can not be a form element.'); } $form = $formContainer.find("form").length ? $formContainer.find("form") : $formContainer; $formContainer[0].addEventListener('SolApi:Agreement:unexpectedError', function () { handleUnexpectedError('Unexpected error'); }); $formContainer[0].addEventListener('SolApi:Agreement:invalidAuthToken', function () { invalidAuthTokenCallback(); }); SolApi.baseConfig.agreements[agreementType].formRenderedCallback( $form, signatoryRef, agreementConfig, renderFailCallback ); } } function renderFailCallback(httpStatusCode, message) { if (httpStatusCode === 401) { invalidAuthTokenCallback(); } else { handleUnexpectedError(message); } } function triggerEvent(event, extraParameters) { $formContainer.trigger("SolApi.Agreement." + event, extraParameters); } function onEvent(event, callback) { $formContainer.on("SolApi.Agreement." + event, callback); } function handleUnexpectedError(message) { triggerEvent("unexpectedError"); unexpectedErrorCallback(message); } pub.run = function () { $formContainer = $(renderHere); if (useDefaultForm) { if ($formContainer.length === 0) { handleUnexpectedError("FORM_CONTAINER_NOT_FOUND"); } renderForm(); } else { if ($formContainer.find("form").length === 0) { handleUnexpectedError("CUSTOM_FORM_NOT_FOUND"); } } $formContainer.find("form").submit(formSubmitAction); if (displayBankIdFeedback) { $formContainer.find(".signing-progress").hide(); onEvent("validated", function () { bankIdFeedbackDialog.show(); }); onEvent("signatureInitiated", function () { bankIdFeedbackDialog.setState( bankIdFeedbackDialog.STATE_AWAITING_CLIENT, "Väntar på signering via BankID" ); }); onEvent("abortedByBankId", function () { bankIdFeedbackDialog.setState( bankIdFeedbackDialog.STATE_CANCELED_BY_BANK_ID_CLIENT, "Signering avbruten" ); }); onEvent("success", bankIdFeedbackDialog.remove); onEvent("unexpectedError", bankIdFeedbackDialog.remove); } return pub; }; pub.abortSignature = function () { if (agreementGuid) { agreementGuid = null; clearTimeout(pollSignatureStatusTimer); enableSubmit(); signatureAbortedCallback(); } return pub; }; pub.getEventEmitter = function() { return $(renderHere); }; return pub; } return function constructor(config) { return agreement(config); }; }(jQuery, window.SolApi)); /** * @param {AgreementFormBase} agreementFormBase */ SolApi.Agreement.addForm = function (agreementFormBase) { SolApi.baseConfig.agreements[agreementFormBase.agreementType] = agreementFormBase; }; /*global window,jQuery*/ window.SolApi = window.SolApi || {}; window.SolApi.bankIdFeedbackDialogConfig = { html: "" }; window.SolApi.BankIdFeedbackDialog = (function ($, SolApi, window) { "use strict"; function bankIdFeedbackDialog(config) { var pub = { STATE_AWAITING_CLIENT: "STATE_AWAITING_CLIENT", STATE_CANCELED_BY_BANK_ID_CLIENT: "STATE_CANCELED_BY_BANK_ID_CLIENT", STATE_CLOSED: "STATE_CLOSED", STATE_ALREADY_IN_PROGRESS: "STATE_ALREADY_IN_PROGRESS", STATE_TERMINATED_BY_NEW_REQUEST: "STATE_TERMINATED_BY_NEW_REQUEST" }, $dimmer, $dialog, $feedbackText, $spinner, currentState = pub.STATE_CLOSED, abortCallback = config.abort, modalTitle = config.title, visible = false, $openBankIdButton; pub.show = function() { $("body").append(SolApi.bankIdFeedbackDialogConfig.html); $dialog = $("#SolApi_Bankid_feedback"); $dimmer = $("#SolApi_Dimmer"); $feedbackText = $dialog.find(".feedback"); $spinner = $dialog.find(".spinner"); $openBankIdButton = $dialog.find(".open-bankid"); $dialog.find(".modal-title").text(modalTitle); $dialog.find("button.abort").click(function() { abortCallback(); pub.remove(); }); if (!isDesktop()) { $openBankIdButton.removeAttr('target'); } $dialog.fadeIn(); visible = true; }; pub.isVisible = function () { return visible; }; pub.setState = function (state, message) { if (currentState === state) { return; } if (state === pub.STATE_AWAITING_CLIENT) { $feedbackText.text(message); // shebang important, otherwise the page will reload var bankIdUri = "bankid:///?redirect="+encodeURIComponent(window.location.href) + '#'; if (isAndroid()) { bankIdUri = "bankid://redirect=null"; } $dialog.find("button.abort") .removeAttr('disabled') .removeClass('disabled'); $openBankIdButton .removeClass("disabled") .attr("href", bankIdUri); } else if (state === pub.STATE_CANCELED_BY_BANK_ID_CLIENT) { $feedbackText .text(message) .addClass("text-danger") .removeClass("help-block"); $spinner.hide(); $openBankIdButton .addClass("disabled") .attr("href", "#"); } else if (state === pub.STATE_ALREADY_IN_PROGRESS || state === pub.STATE_TERMINATED_BY_NEW_REQUEST) { $feedbackText .text(message) .addClass("text-danger") .removeClass("help-block"); $dialog.find("button.abort") .removeAttr('disabled') .removeClass('disabled'); $spinner.hide(); $openBankIdButton .addClass("disabled") .attr("href", "#"); } }; pub.updateMessage = function(message){ $feedbackText.text(message); }; pub.remove = function() { if (pub.isVisible()) { $dialog.fadeOut("fast", function () { $dialog.remove(); }); $dimmer.fadeOut("normal", function () { $dimmer.remove(); }); currentState = pub.STATE_CLOSED; visible = false; } }; return pub; } function isDesktop() { var iOS = /iPad|iPhone|iPod/.test(window.navigator.userAgent) && !window.MSStream; return !iOS && !isAndroid(); } function isAndroid() { return /(android)/i.test(window.navigator.userAgent); } return function constructor(config) { return bankIdFeedbackDialog(config); }; }(jQuery, window.SolApi, window)); /** * Minified by jsDelivr using UglifyJS v3.0.24. * Original file: /npm/custom-event-polyfill@0.3.0/custom-event-polyfill.js */ try{var ce=new window.CustomEvent("test");if(ce.preventDefault(),!0!==ce.defaultPrevented)throw new Error("Could not prevent default")}catch(e){var CustomEvent=function(e,t){var n,r;return t=t||{bubbles:!1,cancelable:!1,detail:void 0},(n=document.createEvent("CustomEvent")).initCustomEvent(e,t.bubbles,t.cancelable,t.detail),r=n.preventDefault,n.preventDefault=function(){r.call(this);try{Object.defineProperty(this,"defaultPrevented",{get:function(){return!0}})}catch(e){this.defaultPrevented=!0}},n};CustomEvent.prototype=window.Event.prototype,window.CustomEvent=CustomEvent} //# sourceMappingURL=/sm/68cd7389af3059648e37181eec289eb67eb954f246e79e3437f7f63a49288b04.map /*! * Datepicker for Bootstrap v1.6.4 (https://github.com/eternicode/bootstrap-datepicker) * * Copyright 2012 Stefan Petre * Improvements by Andrew Rowls * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) */ !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(a){return function(){return this[a].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp("^"+c.toLowerCase()+"([A-Z])");c=new RegExp("^"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split("-")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;d>c;c++)if(this[c].valueOf()===b)return c;return-1},remove:function(a){this.splice(a,1)},replace:function(b){b&&(a.isArray(b)||(b=[b]),this.clear(),this.push.apply(this,b))},clear:function(){this.length=0},copy:function(){var a=new j;return a.replace(this),a}};return function(){var c=[];return c.push.apply(c,arguments),a.extend(c,b),c}}(),k=function(b,c){a(b).data("datepicker",this),this._process_options(c),this.dates=new j,this.viewDate=this.o.defaultViewDate,this.focusDate=null,this.element=a(b),this.isInput=this.element.is("input"),this.inputField=this.isInput?this.element:this.element.find("input"),this.component=this.element.hasClass("date")?this.element.find(".add-on, .input-group-addon, .btn"):!1,this.hasInput=this.component&&this.inputField.length,this.component&&0===this.component.length&&(this.component=!1),this.isInline=!this.component&&this.element.is("div"),this.picker=a(r.template),this._check_template(this.o.templates.leftArrow)&&this.picker.find(".prev").html(this.o.templates.leftArrow),this._check_template(this.o.templates.rightArrow)&&this.picker.find(".next").html(this.o.templates.rightArrow),this._buildEvents(),this._attachEvents(),this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown dropdown-menu"),this.o.rtl&&this.picker.addClass("datepicker-rtl"),this.viewMode=this.o.startView,this.o.calendarWeeks&&this.picker.find("thead .datepicker-title, tfoot .today, tfoot .clear").attr("colspan",function(a,b){return parseInt(b)+1}),this._allow_update=!1,this.setStartDate(this._o.startDate),this.setEndDate(this._o.endDate),this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled),this.setDaysOfWeekHighlighted(this.o.daysOfWeekHighlighted),this.setDatesDisabled(this.o.datesDisabled),this.fillDow(),this.fillMonths(),this._allow_update=!0,this.update(),this.showMode(),this.isInline&&this.show()};k.prototype={constructor:k,_resolveViewName:function(a,c){return 0===a||"days"===a||"month"===a?0:1===a||"months"===a||"year"===a?1:2===a||"years"===a||"decade"===a?2:3===a||"decades"===a||"century"===a?3:4===a||"centuries"===a||"millennium"===a?4:c===b?!1:c},_check_template:function(c){try{if(c===b||""===c)return!1;if((c.match(/[<>]/g)||[]).length<=0)return!0;var d=a(c);return d.length>0}catch(e){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split("-")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView,0),e.minViewMode=this._resolveViewName(e.minViewMode,0),e.maxViewMode=this._resolveViewName(e.maxViewMode,4),e.startView=Math.min(e.startView,e.maxViewMode),e.startView=Math.max(e.startView,e.minViewMode),e.multidate!==!0&&(e.multidate=Number(e.multidate)||!1,e.multidate!==!1&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-(1/0)&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-(1/0)),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=e.daysOfWeekDisabled||[],a.isArray(e.daysOfWeekDisabled)||(e.daysOfWeekDisabled=e.daysOfWeekDisabled.split(/[,\s]*/)),e.daysOfWeekDisabled=a.map(e.daysOfWeekDisabled,function(a){return parseInt(a,10)}),e.daysOfWeekHighlighted=e.daysOfWeekHighlighted||[],a.isArray(e.daysOfWeekHighlighted)||(e.daysOfWeekHighlighted=e.daysOfWeekHighlighted.split(/[,\s]*/)),e.daysOfWeekHighlighted=a.map(e.daysOfWeekHighlighted,function(a){return parseInt(a,10)}),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=[e.datesDisabled]),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:"auto",y:"auto"},i&&"auto"!==i)if(1===h.length)switch(h[0]){case"top":case"bottom":e.orientation.y=h[0];break;case"left":case"right":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||"auto",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||"auto";else;if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_events:[],_secondaryEvents:[],_applyEvents:function(a){for(var c,d,e,f=0;ff?(this.picker.addClass("datepicker-orient-right"),n+=m-b):this.picker.addClass("datepicker-orient-left");var p,q=this.o.orientation.y;if("auto"===q&&(p=-g+o-c,q=0>p?"bottom":"top"),this.picker.addClass("datepicker-orient-"+q),"top"===q?o-=c+parseInt(this.picker.css("padding-top")):o+=l,this.o.rtl){var r=f-(n+m);this.picker.css({top:o,right:r,zIndex:j})}else this.picker.css({top:o,left:n,zIndex:j});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data("date")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDatethis.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate,d?this.setValue():c.length&&String(b)!==String(this.dates)&&this._trigger("changeDate"),!this.dates.length&&b.length&&this._trigger("clearDate"),this.fill(),this.element.change(),this},fillDow:function(){var b=this.o.weekStart,c="";for(this.o.calendarWeeks&&(this.picker.find(".datepicker-days .datepicker-switch").attr("colspan",function(a,b){return parseInt(b)+1}),c+=' ');b";c+="",this.picker.find(".datepicker-days thead").append(c)},fillMonths:function(){for(var a=this._utc_to_local(this.viewDate),b="",c=0;12>c;){var d=a&&a.getMonth()===c?" focused":"";b+=''+q[this.o.language].monthsShort[c++]+""}this.picker.find(".datepicker-months td").html(b)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],d=this.viewDate.getUTCFullYear(),e=this.viewDate.getUTCMonth(),f=new Date;return b.getUTCFullYear()d||b.getUTCFullYear()===d&&b.getUTCMonth()>e)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&b.getUTCFullYear()===f.getFullYear()&&b.getUTCMonth()===f.getMonth()&&b.getUTCDate()===f.getDate()&&c.push("today"),-1!==this.dates.contains(b)&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)&&c.push("highlighted"),this.range&&(b>this.range[0]&&br;r+=1)s=[d],t=null,-1===r?s.push("old"):10===r&&s.push("new"),-1!==a.inArray(q,n)&&s.push("active"),(o>q||q>p)&&s.push("disabled"),q===this.viewDate.getFullYear()&&s.push("focused"),j!==a.noop&&(u=j(new Date(q,0,1)),u===b?u={}:"boolean"==typeof u?u={enabled:u}:"string"==typeof u&&(u={classes:u}),u.enabled===!1&&s.push("disabled"),u.classes&&(s=s.concat(u.classes.split(/\s+/))),u.tooltip&&(t=u.tooltip)),k+='"+q+"",q+=f;l.find("td").html(k)},fill:function(){var d,e,f=new Date(this.viewDate),g=f.getUTCFullYear(),h=f.getUTCMonth(),i=this.o.startDate!==-(1/0)?this.o.startDate.getUTCFullYear():-(1/0),j=this.o.startDate!==-(1/0)?this.o.startDate.getUTCMonth():-(1/0),k=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,m=q[this.o.language].today||q.en.today||"",n=q[this.o.language].clear||q.en.clear||"",o=q[this.o.language].titleFormat||q.en.titleFormat;if(!isNaN(g)&&!isNaN(h)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(f,o,this.o.language)),this.picker.find("tfoot .today").text(m).toggle(this.o.todayBtn!==!1),this.picker.find("tfoot .clear").text(n).toggle(this.o.clearBtn!==!1),this.picker.find("thead .datepicker-title").text(this.o.title).toggle(""!==this.o.title),this.updateNavArrows(),this.fillMonths();var p=c(g,h-1,28),s=r.getDaysInMonth(p.getUTCFullYear(),p.getUTCMonth());p.setUTCDate(s),p.setUTCDate(s-(p.getUTCDay()-this.o.weekStart+7)%7);var t=new Date(p);p.getUTCFullYear()<100&&t.setUTCFullYear(p.getUTCFullYear()),t.setUTCDate(t.getUTCDate()+42),t=t.valueOf();for(var u,v=[];p.valueOf()"),this.o.calendarWeeks)){var w=new Date(+p+(this.o.weekStart-p.getUTCDay()-7)%7*864e5),x=new Date(Number(w)+(11-w.getUTCDay())%7*864e5),y=new Date(Number(y=c(x.getUTCFullYear(),0,1))+(11-y.getUTCDay())%7*864e5),z=(x-y)/864e5/7+1;v.push(''+z+"")}u=this.getClassNames(p),u.push("day"),this.o.beforeShowDay!==a.noop&&(e=this.o.beforeShowDay(this._utc_to_local(p)),e===b?e={}:"boolean"==typeof e?e={enabled:e}:"string"==typeof e&&(e={classes:e}),e.enabled===!1&&u.push("disabled"),e.classes&&(u=u.concat(e.classes.split(/\s+/))),e.tooltip&&(d=e.tooltip)),u=a.isFunction(a.uniqueSort)?a.uniqueSort(u):a.unique(u),v.push('"+p.getUTCDate()+""),d=null,p.getUTCDay()===this.o.weekEnd&&v.push(""),p.setUTCDate(p.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(v.join(""));var A=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",B=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?A:g).end().find("span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===g&&B.eq(b.getUTCMonth()).addClass("active")}),(i>g||g>k)&&B.addClass("disabled"),g===i&&B.slice(0,j).addClass("disabled"),g===k&&B.slice(l+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var C=this;a.each(B,function(c,d){var e=new Date(g,c,1),f=C.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),f.enabled!==!1||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,1,g,i,k,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,10,g,i,k,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,100,g,i,k,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a=new Date(this.viewDate),b=a.getUTCFullYear(),c=a.getUTCMonth();switch(this.viewMode){case 0:this.o.startDate!==-(1/0)&&b<=this.o.startDate.getUTCFullYear()&&c<=this.o.startDate.getUTCMonth()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==1/0&&b>=this.o.endDate.getUTCFullYear()&&c>=this.o.endDate.getUTCMonth()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case 1:case 2:case 3:case 4:this.o.startDate!==-(1/0)&&b<=this.o.startDate.getUTCFullYear()||this.o.maxViewMode<2?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==1/0&&b>=this.o.endDate.getUTCFullYear()||this.o.maxViewMode<2?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"})}}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h,i,j,k;e=a(b.target),e.hasClass("datepicker-switch")&&this.showMode(1);var l=e.closest(".prev, .next");l.length>0&&(f=r.modes[this.viewMode].navStep*(l.hasClass("prev")?-1:1),0===this.viewMode?(this.viewDate=this.moveMonth(this.viewDate,f),this._trigger("changeMonth",this.viewDate)):(this.viewDate=this.moveYear(this.viewDate,f),1===this.viewMode&&this._trigger("changeYear",this.viewDate)),this.fill()),e.hasClass("today")&&!e.hasClass("day")&&(this.showMode(-2),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("day")&&(g=parseInt(e.text(),10)||1,h=this.viewDate.getUTCFullYear(),i=this.viewDate.getUTCMonth(),e.hasClass("old")&&(0===i?(i=11,h-=1,j=!0,k=!0):(i-=1,j=!0)),e.hasClass("new")&&(11===i?(i=0,h+=1,j=!0,k=!0):(i+=1,j=!0)),this._setDate(c(h,i,g)),k&&this._trigger("changeYear",this.viewDate),j&&this._trigger("changeMonth",this.viewDate)),e.hasClass("month")&&(this.viewDate.setUTCDate(1),g=1,i=e.parent().find("span").index(e),h=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(i),this._trigger("changeMonth",this.viewDate),1===this.o.minViewMode?(this._setDate(c(h,i,g)),this.showMode()):this.showMode(-1),this.fill()),(e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),g=1,i=0,h=parseInt(e.text(),10)||0,this.viewDate.setUTCFullYear(h),e.hasClass("year")&&(this._trigger("changeYear",this.viewDate),2===this.o.minViewMode&&this._setDate(c(h,i,g))),e.hasClass("decade")&&(this._trigger("changeDecade",this.viewDate),3===this.o.minViewMode&&this._setDate(c(h,i,g))),e.hasClass("century")&&(this._trigger("changeCentury",this.viewDate),4===this.o.minViewMode&&this._setDate(c(h,i,g))),this.showMode(-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&a(this._focused_from).focus(),delete this._focused_from},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(this.o.multidate===!0||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):this.o.multidate===!1?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),b&&"view"!==b||(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField&&this.inputField.change(),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=-1===b?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),(0>c||c>11)&&(c=(c+12)%12);else{for(var j=0;i>j;j++)e=this.moveMonth(e,b);c=e.getUTCMonth(),e.setUTCDate(f),d=function(){return c!==e.getUTCMonth()}}for(;d();)e.setUTCDate(--f),e.setUTCMonth(c);return e},moveYear:function(a,b){return this.moveMonth(a,12*b)},moveAvailableDate:function(a,b,c){do{if(a=this[c](a,b),!this.dateWithinRange(a))return!1;c="moveDay"}while(this.dateIsDisabled(a));return a},weekOfDateIsDisabled:function(b){return-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekDisabled)},dateIsDisabled:function(b){return this.weekOfDateIsDisabled(b)||a.grep(this.o.datesDisabled,function(a){return e(b,a)}).length>0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void((40===a.keyCode||27===a.keyCode)&&(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"),c&&this._trigger("changeYear",this.viewDate)):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"),c&&this._trigger("changeMonth",this.viewDate)):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?((38===a.keyCode||40===a.keyCode)&&(b=4*b),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&((38===a.keyCode||40===a.keyCode)&&(b=4*b),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField&&this.inputField.change())},showMode:function(a){a&&(this.viewMode=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,this.viewMode+a))),this.picker.children("div").hide().filter(".datepicker-"+r.modes[this.viewMode].clsName).show(),this.updateNavArrows()}};var l=function(b,c){a(b).data("datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a(b).data("datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},dateUpdated:function(b){if(!this.updating){this.updating=!0;var c=a(b.target).data("datepicker");if("undefined"!=typeof c){var d=c.getUTCDate(),e=a.inArray(b.target,this.inputs),f=e-1,g=e+1,h=this.inputs.length;if(-1!==e){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b.setUTCDate(d)}),d=0&&dthis.dates[g])for(;h>g&&d>this.dates[g];)this.pickers[g++].setUTCDate(d);this.updateDates(),delete this.updating}}}},remove:function(){a.map(this.pickers,function(a){a.remove()}),delete this.element.data().datepicker}};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-(1/0),startView:0,todayBtn:!1,todayHighlight:!1,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"«",rightArrow:"»"}},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10},{clsName:"decades",navFnc:"FullDecade",navStep:100},{clsName:"centuries",navFnc:"FullCentury",navStep:1e3}],isLeapYear:function(a){return a%4===0&&a%100!==0||a%400===0},getDaysInMonth:function(a,b){return[31,r.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\x00").split("\x00"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(e,f,g,h){function i(a,b){return b===!0&&(b=10),100>a&&(a+=2e3,a>(new Date).getFullYear()+b&&(a-=100)),a}function j(){var a=this.slice(0,s[n].length),b=s[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!e)return b;if(e instanceof Date)return e;if("string"==typeof f&&(f=r.parseFormat(f)),f.toValue)return f.toValue(e,f,g);var l,m,n,o,p=/([\-+]\d+)([dmwy])/,s=e.match(/([\-+]\d+)([dmwy])/g),t={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},u={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(e)){for(e=new Date,n=0;nb;)b+=12;for(b%=12,a.setUTCMonth(b);a.getUTCMonth()!==b;)a.setUTCDate(a.getUTCDate()-1);return a},d:function(a,b){return a.setUTCDate(b)}};z.M=z.MM=z.mm=z.m,z.dd=z.d,e=d();var A=f.parts.slice();if(s.length!==A.length&&(A=a(A).filter(function(b,c){return-1!==a.inArray(c,y)}).toArray()),s.length===A.length){var B;for(n=0,B=A.length;B>n;n++){if(v=parseInt(s[n],10),l=A[n],isNaN(v))switch(l){case"MM":w=a(q[g].months).filter(j),v=a.inArray(w[0],q[g].months)+1;break;case"M":w=a(q[g].monthsShort).filter(j),v=a.inArray(w[0],q[g].monthsShort)+1}x[l]=v}var C,D;for(n=0;n=g;g++)f.length&&b.push(f.shift()),b.push(e[c.parts[g]]);return b.join("")},headTemplate:'«»',contTemplate:'',footTemplate:''};r.template='
'+r.headTemplate+""+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+"
",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.6.4",a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})});!function(a){a.fn.datepicker.dates.sv={days:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],daysShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],daysMin:["Sö","Må","Ti","On","To","Fr","Lö"],months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"Idag",format:"yyyy-mm-dd",weekStart:1,clear:"Rensa"}}(jQuery);window.SolApi.baseConfig = {"host":"https:\/\/avtal-api.eterum.se","customerApiHost":"https:\/\/kund-api.eterum.se","agreements":{"AG_CONSENT_E_SIGN":{"html":"
\r\n
\r\n