ngAWDSApp.directive("formMailBasicV2Directive",["$rootScope","$window","FormMailFactory","vcRecaptchaService","FormMailServices","$filter",function(n,t,i,r,u,f){return{restrict:"A",scope:!0,link:function(){},controller:["$scope","$element","$attrs",function(e,o){e.options={};e.mail={};e.Recaptcha={};e.isUbsCaptcha=!1;e.hasNewModelMedia=!1;e.initMailBasic=function(i){e.options=angular.merge({isUMFW:!0,MailTypeOptions:"",MailFrom:"",MailSubject:"",TxtMessage:"",MailType:"",initCallback:null},i);n.webApp.util.hasVal(e.options.MailFrom)&&(e.mail.MailFrom=e.options.MailFrom);n.webApp.util.hasVal(e.options.MailSubject)&&(e.mail.MailSubject=e.options.MailSubject);n.webApp.util.hasVal(e.options.TxtMessage)&&(e.mail.TxtMessage=e.options.TxtMessage);n.webApp.util.hasVal(e.options.MailType)&&(e.mail.MailType=e.options.MailType);n.webApp.util.hasVal(e.options.MailTypeOptions)&&(e.mail.MailTypeOptions=e.options.MailTypeOptions);e.options.initCallback!=null&&t[e.options.initCallback](e,o,f);e.loadCaptcha()};e.OnClickSend=function(n){e.sendEmail(n)};e.OnClickSendWithData=function(n,t,i){e.mail.MailBody=n;e.mail.MailSubject=t;e.sendEmail(i)};e.OnClickSendWithDataV2=function(n,t,i,r){e.mail.MailBody=n;e.mail.MailSubject=t;e.sendEmailV2(r,i)};e.sendMailWithoutCap=function(t,i,r,f){if(r=r||e.myForm,e.mail.MailBody=t,e.mail.MailSubject=i,r.submitted=!0,r.$valid){var o=n.webApp.util.generateUID().substring(1,10);e.mail.CapId=o;e.mail.CapCode=u.Base64.generateCode(o);h(f,"sendMailWithoutCap")}};e.sendEmailV2=function(t,i){i.submitted=!0;e.isUbsCaptcha==!1&&n.webApp.util.trimString(n.webApp.ga.recaptchaSize)=="invisible"&&angular.forEach(i.$error,function(n,t){t=="recaptcha"&&i.$setValidity(t,null)});i.$valid&&(e.isUbsCaptcha==!1?n.webApp.util.trimString(n.webApp.ga.recaptchaSize)=="invisible"?(e.Recaptcha.cbSendSuccess=t,r.execute(e.Recaptcha.widgetId)):e.verifyGoogleRecaptchaAndSend({sRecaptchaResponse:e.Recaptcha.response,cbSendSuccess:t}):h(t,null))};e.sendEmail=function(n){e.sendEmailV2(n,e.myForm)};e.sendEmailByObj=function(n,t){i.SendMailBasicV2(t).then(function(t){t.data!=""?alert(t.data):angular.isFunction(n)?n(t):console.error("fnSendEmailByObj - status: Sent email - cb function NOT found");AWDSApp.util.showLoadingIcon(o,!1)},function(n){s();AWDSApp.util.showLoadingIcon(o,!1);console.error("Send Mail",n)})};e.loadCaptcha=function(){if(n.webApp.util.isNullOrEmpty(n.webApp.ga.recaptchaSiteKey))e.isUbsCaptcha=!0,s();else{function t(n,t){angular.isDefined(t)&&t=="create"?(console.log("recap-"+t+" widget "+n),e.cbCreateRecaptcha(n)):(console.log("recap-"+t+" response "),e.cbSuccessRecaptcha(n))}e.isUbsCaptcha=!1;e.Recaptcha={response:null,widgetId:null,SetResponse:t,SetWidgetId:t,cbSendSuccess:function(){},Reset:function(){r.reload(e.Recaptcha.widgetId);e.Recaptcha.response=null}}}};var s=function(){n.webApp.util.isNullOrEmpty(n.webApp.ga.recaptchaSiteKey)?i.getUbsCaptcha({}).then(function(n){e.Recaptcha=n.data},function(){}):e.Recaptcha.Reset()},h=function(r,f){var h,c;n.webApp.util.showLoadingIcon(o,!0);angular.isDefined(t.IsTesting_formMailBasicDirective)&&t.IsTesting_formMailBasicDirective&&(e.mail.IsTesting=!0);h="";h=f!=null?f:e.options.isUMFW?e.hasNewModelMedia?"SendMailWithNewModelMedia":"SendMailBasic":e.hasNewModelMedia?"SendMailWithNewModelMediaV2":"SendMailBasicV2";n.webApp.util.isNullOrEmpty(n.webApp.ga.recaptchaSiteKey)&&(e.mail.CapCode=e.Recaptcha.CaptCode,e.mail.CapId=e.Recaptcha.CaptID);e.mail.IsSubscribeSpecials&&(c=angular.copy(e.mail),c.MailType="Subscribe",e.mail.SecondMail=c);i[h](e.mail).then(function(t){t.data!=""?alert(t.data):angular.isFunction(r)?r(t):u.redirectToThankYou("formMailBasicDirective",o,null);n.webApp.util.showLoadingIcon(o,!1)},function(t){s();n.webApp.util.showLoadingIcon(o,!1);console.error("Send Mail",t)})};e.updateMediaAfterSave=function(n){var t=[];return n.forEach(function(n){n.UID!=null&&(n.Base64=null,t.push(n))}),t};e.cbSuccessRecaptcha=function(t){e.Recaptcha.response=t;n.webApp.util.trimString(n.webApp.ga.recaptchaSize)=="invisible"&&e.verifyGoogleRecaptchaAndSend({sRecaptchaResponse:t,cbSendSuccess:e.Recaptcha.cbSendSuccess})};e.cbCreateRecaptcha=function(n){e.Recaptcha.widgetId=n};e.verifyGoogleRecaptchaAndSend=function(n){e.mail.CapCode=n.sRecaptchaResponse;h(n.cbSendSuccess,null)}}]}}])