.\r\n\t\t\t$scope.card.mount('#card-element');\r\n\r\n\t\t\t// Handle real-time validation errors from the card Element.\r\n\t\t\t$scope.stripeError = document.getElementById('card-errors');\r\n\t\t\t$scope.card.addEventListener('change', function(event) {\r\n\t\t\t \tif (event.error) {\r\n\t\t\t\t\t$scope.stripeError.textContent = event.error.message;\r\n\t\t\t \t} else {\r\n\t\t\t\t\t$scope.stripeError.textContent = '';\r\n\t\t\t \t}\r\n\t\t\t});\r\n\r\n\t\t\t// $('.stripe-button').on('click', function(e){\r\n\t\t\t// \te.preventDefault();\r\n\t\t\t// \t$scope.getTerms(true)\r\n\t\t\t// // if ($scope.orderLoading == false || $scope.orderLoading == undefined) {\r\n\t\t\t// // $scope.orderLoading = true;\r\n\t\t\t \r\n\t\t\t// // }\r\n\t\t\t\t\r\n\t\t\t// })\r\n\t\t}else{\r\n\t\t\t// $('.onepage-wrapper .actions .stripe-button').removeClass('show');\r\n\t\t}\r\n\t});\r\n\r\n $scope.getTerms = function(provider){\r\n\t\t$scope.RequestNetcashMandate = false;\r\n\t\t$scope.onePageloading = true;\r\n\t\tvar startDate = new Date($scope.theChoosenMembershipDate);\r\n\t\tstartDate.setHours(0,0,0,0);\r\n\t\tlet lang = $translate.proposedLanguage() || $translate.use();\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: $scope.DivisionID,\r\n\t\t\tClientID: -1,\r\n\t\t\tServiceID: $scope.theChoosenMembership.ServiceDefinitionID,\r\n\t\t\tDiscount: $scope.Discount,\r\n\t\t\tDateStart: startDate,\r\n\t\t\tEmail: $scope.Email,\r\n\t\t\tOrderType: 'PURCHASE',\r\n\t\t\tMyPos: false,\r\n\t\t\tNetCash: false,\r\n\t\t\tLanguage: lang,\r\n\t\t\tInitialPayment: true,\r\n\t\t\tPromoCode: $scope.promocodeFalse ? '' : $scope.PromoCode\r\n\t\t}\r\n\r\n\t\tif($scope.validatedMobileUser){\r\n\t\t\tdataObject.ClientID = clientId;\r\n\t\t}\r\n\r\n\t\tif($scope.clientGroupMember){\r\n\t\t\tdataObject.ClientID = $scope.clientGroupMember.ClientID;\r\n\t\t}\r\n\r\n\t\tif(provider == 'stripe'){\r\n\t\t\tdataObject.GenerateIntent = true;\r\n\t\t}else if(provider == 'elavon'){\r\n\t\t\tdataObject.GenerateElavonToken = true;\r\n\t\t}else if(provider == 'mypos'){\r\n\t\t\tdataObject.MyPos = true;\r\n\t\t}else if(provider == 'netcash' || provider == 'netcashmandate'){\r\n\t\t\tdataObject.NetCash = true;\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/Terms',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\t$scope.RequestNetcashMandate = data.RequestNetcashMandate;\r\n\t\t\tif(provider == 'netcashmandate'){\r\n\t\t\t\tif($scope.RequestNetcashMandate){\r\n\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t$scope.mainPaymentWay = 'netcashmandate'\r\n\t\t\t\t\t}, 1);\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t$scope.mainPaymentWay = '';\r\n\t\t\t\t\t}, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(data == 'User doesn`t exists!'){\r\n\t\t\t\tvar translated = $translateThis('User doesn`t exists!');\r\n\t\t\t\tSwal.fire({\r\n\t type: 'warning',\r\n title: translated,\r\n\t\t\t\t\tonAfterClose: (function () {\r\n $timeout(function() {\r\n\t\t\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t\t\t});\r\n })\r\n\t })\r\n\t\t\t}else if(data != 'Аlready has recurring membership!'){\r\n\t\t\t\t$scope.theChoosenMembership.OriginalPrice = data.Price;\r\n\r\n\t\t\t\tif(provider == 'stripe'){\r\n\t\t\t\t\t$scope.PaymentIntentID = data.PaymentIntentID;\r\n\t\t\t\t\tlet secret = data.ClientSecret;\r\n\t\r\n\t\t\t\t\tstripeConfirmCard(secret);\r\n\t\t\t\t}else if(provider == 'elavon'){\r\n\t\t\t\t\topenLightbox(data.ElavonToken);\r\n\t\t\t\t}else if(provider == 'mypos'){\r\n\t\t\t\t\t$scope.placeOrder();\r\n\t\t\t\t}else if(provider == 'netcash'){\r\n\t\t\t\t\t$scope.placeOrder();\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\tvar translated = $translateThis('Recurring service exist! OnePage');\r\n\t\t\t\tSwal.fire({\r\n\t type: 'warning',\r\n\t title: translated,\r\n\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t\t\t});\r\n })\r\n\t })\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}).error(function (error) {\r\n\t\t\t$scope.onePageloading = false;\r\n\t\t\tif(provider == 'stripe'){\r\n\t\t\t\t$scope.stripeError.textContent = error.ExceptionMessage;\r\n\t\t\t}else{\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: 'error',\r\n\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.onePageloading = false; \r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t});\t\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tfunction post_to_url(params, method, url) {\r\n\t\tlet path = $scope.membershipSettings.MyPosTestingMode ? 'https://www.mypos.com/vmp/checkout-test' : 'https://www.mypos.com/vmp/checkout';\r\n\t\tif(url){\r\n path = url;\r\n }\r\n\t\tmethod = method || \"post\";\r\n\t\r\n\t\tvar form = document.createElement(\"form\");\r\n\t\tform.setAttribute(\"method\", method);\r\n\t\tform.setAttribute(\"action\", path);\r\n\t\r\n\t\tfor(var key in params) {\r\n\t\t\tif(params.hasOwnProperty(key)) {\r\n\t\t\t\tvar hiddenField = document.createElement(\"input\");\r\n\t\t\t\thiddenField.setAttribute(\"type\", \"hidden\");\r\n\t\t\t\thiddenField.setAttribute(\"name\", key);\r\n\t\t\t\thiddenField.setAttribute(\"value\", params[key]);\r\n\t\r\n\t\t\t\tform.appendChild(hiddenField);\r\n\t\t\t }\r\n\t\t}\r\n\t\r\n\t\tdocument.body.appendChild(form);\r\n\t\tform.submit();\r\n\t}\r\n\r\n\tfunction openLightbox(token) {\r\n var paymentFields = {\r\n ssl_txn_auth_token: token\r\n };\r\n var callback = {\r\n onError: function (error) {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'error',\r\n onAfterClose: (function () {\r\n $timeout(function() {\r\n $scope.onePageloading = false; \r\n });\r\n })\r\n });\r\n\r\n showResult(\"error\", error,token);\r\n },\r\n onCancelled: function () {\r\n // showResult(\"cancelled\", \"\",token);\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Cancelled',\r\n onAfterClose: (function () {\r\n $timeout(function() {\r\n $scope.onePageloading = false; \r\n });\r\n })\r\n });\r\n },\r\n onDeclined: function (response) {\r\n showResult(\"declined\", JSON.stringify(response, null, '\\t'), token);\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Declined',\r\n onAfterClose: (function () {\r\n $timeout(function() {\r\n $scope.onePageloading = false; \r\n });\r\n })\r\n });\r\n },\r\n onApproval: function (response) {\r\n\t\t\t\t$scope.ElavonTransactionID = response.ssl_txn_id;\r\n $scope.ElavonOrderID = response.ssl_invoice_number;\r\n\r\n\t\t\t\t$scope.placeOrder();\r\n\r\n // showResult(\"approval\", JSON.stringify(response, null, '\\t'),token);\r\n }\r\n };\r\n PayWithConverge.open(paymentFields, callback);\r\n return false;\r\n\t}\r\n\r\n\tfunction showResult(status, msg, token) {\r\n\t\tconsole.log(status, msg)\r\n\r\n\t\tlet url = '/membership/SaveElavonError/';\r\n\t\tlet dataObject = {\r\n\t\t\tToken: token,\r\n\t\t\tStatus: status,\r\n\t\t\tExceptionText: msg,\r\n\t\t\tNameSpace: namespace\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: url,\r\n\t\t\tdata: dataObject\r\n\t\t});\r\n\t}\r\n\r\n\tif ( settings ) {\r\n\t\t$scope.settings = settings;\r\n\t}\r\n\r\n\tfunction checActivePaymentMethods(settings){\r\n\t\tconst paymentMethods = [];\r\n\t\tconst activePaymentMethod = [];\r\n\t\tpaymentMethods.push({name: 'epay', value: settings.EPay}, {name: 'stripe', value: settings.StripePublishKey ? true : false}, { name: 'commbank', value: settings.CommBankPublicApiKey ? true : false});\r\n\t\tpaymentMethods.filter((element) => {\r\n\t\t\tif (element.value){\r\n\t\t\t\tactivePaymentMethod.push(element);\r\n\t\t\t}\r\n\t\t} )\r\n\r\n\t\tif(activePaymentMethod.length == 1 ){\r\n\t\t\t$timeout(function() {\r\n\t\t\t\t$scope.mainPaymentWay = activePaymentMethod[0].name;\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tif ( memberships ) {\r\n\t\t$scope.memberships = memberships;\r\n\r\n\t\tif ( $scope.memberships.length == 1 ) {\r\n\t\t\t$scope.lockMembership = true;\r\n\t\t\t$scope.theChoosenMembership = $scope.memberships[0];\r\n\t\t\tgetFinalPrice($scope.theChoosenMembership.OriginalPrice);\r\n\r\n\t\t\tif($scope.theChoosenMembership.FixedDate){\r\n\t\t\t\tlet now = new Date();\r\n\t\t\t\tnow.setHours(0,0,0,0);\r\n\t\t\t\tlet membershipDate = new Date($scope.theChoosenMembership.FixedStartingDate);\r\n\t\t\t\t$scope.theChoosenMembershipDate = membershipDate;\r\n\t\t\t\t$('#membdatepicker').datepicker('setDate', new Date(membershipDate));\r\n\t\t\t\t$('#membdatepicker').datepicker('disable');\r\n\r\n\t\t\t\tif(membershipDate >= now){\r\n\t\t\t\t\t$scope.expiredStartingDate = false;\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$scope.expiredStartingDate = true;\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\t$scope.expiredStartingDate = false;\r\n\t\t\t\t$scope.theChoosenMembershipDate = new Date();\r\n\t\t\t\t$('#membdatepicker').datepicker('setDate', new Date(today));\r\n\t\t\t\t$('#membdatepicker').datepicker('enable');\r\n\t\t\t}\r\n\r\n\t\t\t// $scope.theChoosenMembership.Fibank = true;\r\n\t\t\t// $scope.orderCardReccuring = ($scope.theChoosenMembership.Fibank != true) ? false : true;\r\n\t\t\tif( $scope.theChoosenMembership.Fibank == true ){\r\n\t\t\t\t$scope.orderCardReccuring = true;\r\n\t\t\t\t$scope.getTerms();\r\n\t\t\t}else{\r\n\t\t\t\t$scope.orderCardReccuring = false;\t\r\n\t\t\t}\r\n\r\n\t\t\t$scope.choosenMembership = true;\r\n\t\t\tif($scope.theChoosenMembership.RequiresAdditionalConfirmationOnline){\r\n\t\t\t\t$scope.additionalConfirmationOnline = false;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n\r\n\tif(redirected && sessionStorage.storageinfo){\r\n\t\tvar storageinfo = JSON.parse(sessionStorage.storageinfo); \r\n\t\t\r\n\t\t$timeout(function() {\r\n\t\t\t$scope.Email = storageinfo.Email\r\n\t\t});\r\n\t\tsessionStorage.clear();\r\n\t}\r\n\r\n\t$scope.$watch('mainPaymentWay', function (v) {\r\n\r\n\t\t$scope.paymentway = '';\r\n\t\t\r\n\t\t$timeout(function() {\r\n\t\t\tif ( v == 'stripe' ) {\r\n\t\t\t\t$scope.paymentway = 9;\r\n\t\t\t}else if(v == 'settle'){\r\n\t\t\t\t$scope.paymentway = 10;\r\n\t\t\t}else if(v == 'elavon'){\r\n\t\t\t\t$scope.paymentway = 11;\r\n\t\t\t}else if(v == 'mypos'){\r\n\t\t\t\t$scope.paymentway = 12;\r\n\t\t\t}else if(v == 'netcash'){\r\n\t\t\t\t$scope.paymentway = 13;\r\n\t\t\t}else if(v == 'fibank'){\r\n\t\t\t\t$scope.paymentway = 8;\r\n\t\t\t}else if(v == 'netcashmandate'){\r\n\t\t\t\t$scope.paymentway = 99;\r\n\t\t\t}\r\n\t\t})\r\n\t});\r\n\r\n\t$scope.theChoosenMembershipIsFree = false;\r\n\t$scope.getMembership = function(id){\r\n\r\n $scope.mainPaymentWay = '';\r\n\t\tvar result = $scope.memberships.filter(function (obj) {\r\n\t\t\treturn obj.ServiceDefinitionID == id;\r\n\t\t});\r\n\r\n\t\t$scope.theChoosenMembership = result[0];\r\n\t\tif($scope.theChoosenMembership.FixedDate){\r\n\t\t\tlet now = new Date();\r\n\t\t\tnow.setHours(0,0,0,0);\r\n\t\t\tlet membershipDate = new Date($scope.theChoosenMembership.FixedStartingDate);\r\n\r\n\t\t\t$scope.theChoosenMembershipDate = membershipDate;\r\n\t\t\t$('#membdatepicker').datepicker('setDate', new Date(membershipDate));\r\n\t\t\t$('#membdatepicker').datepicker('disable');\r\n\r\n\t\t\tif(membershipDate >= now){\r\n\t\t\t\t$scope.expiredStartingDate = false;\r\n\t\t\t}else{\r\n\t\t\t\t$scope.expiredStartingDate = true;\r\n\t\t\t}\r\n\t\t}else{\r\n\t\t\t$scope.expiredStartingDate = false;\r\n\t\t\t$scope.theChoosenMembershipDate = new Date();\r\n\t\t\t$('#membdatepicker').datepicker('setDate', new Date());\r\n\t\t\t$('#membdatepicker').datepicker('enable');\r\n\t\t}\r\n\r\n\t\tif( $scope.theChoosenMembership.Fibank == true ){\r\n\t\t\t$scope.orderCardReccuring = true;\r\n\t\t}else{\r\n\t\t\t$scope.orderCardReccuring = false;\t\r\n\t\t}\r\n\r\n\t\tif ( $scope.theChoosenMembership.OriginalPrice == 0 ){\r\n\t\t\t$timeout(function() {\r\n\t\t\t\t$scope.theChoosenMembershipIsFree = true;\r\n\t\t\t\t$('#payment-free').prop(\"checked\", true).trigger(\"click\");\r\n\t\t\t\t$scope.paymentway = 0;\r\n\t\t\t});\r\n\t\t}else{\r\n\t\t\t$scope.theChoosenMembershipIsFree = false;\r\n\t\t\t$scope.paymentway = null;\r\n\t\t\tgetFinalPrice($scope.theChoosenMembership.OriginalPrice);\r\n\t\t\t$scope.getTerms();\r\n\t\t}\r\n\r\n\t\tif($scope.theChoosenMembership.RequiresAdditionalConfirmationOnline){\r\n\t\t\t$scope.additionalConfirmationOnline = false;\r\n\t\t}\r\n\t\t$scope.choosenMembership = true;\r\n\r\n\t\tif($scope.choosenMembership && $inputEmail.is('.ng-valid') && !$scope.NewAccount)\r\n\t \t\ttypingEmail = setTimeout(function() {checkWaiver()}, 2000);\r\n\r\n\t\tgetCompanyInfo();\r\n\t}\r\n\tfunction getCompanyInfo(){\r\n\t\t$scope.currentGym = $scope.membershipGyms.find(o => o.GymID === $scope.DivisionID);\r\n\t}\r\n\tfunction getFinalPrice(price){\r\n\t\tif (price.toString().indexOf(\".\") == -1 ) {\r\n\t $scope.finalBankPrice = price + '00';\r\n\t }else{\r\n\t $scope.finalBankPrice = price.toString().split('.').join(\"\");\r\n\t }\r\n\r\n\t $scope.finalBankPrice = parseInt($scope.finalBankPrice);\r\n\t}\r\n\t\r\n\t$scope.placeOrderLink = function(){\r\n\t\tif ( $scope.paymentway == 9 ) {\r\n\t\t\t$scope.getTerms('stripe');\r\n\t\t}else if($scope.paymentway == 11){\r\n\t\t\t$scope.getTerms('elavon');\r\n\t\t}else if($scope.paymentway == 12){\r\n\t\t\t$scope.getTerms('mypos');\r\n\t\t}else if($scope.paymentway == 13){\r\n\t\t\t$scope.getTerms('netcash');\r\n\t\t}else{\r\n\t\t\t$scope.placeOrder();\r\n\t\t}\r\n\t}\r\n\t$scope.placeOrder = function(sendProcessPayment = false){\r\n\t\t$scope.onePageloading = true;\r\n\t\tlet processPayment = true;\r\n\t\tvar paymentProvider = '';\r\n\t\tlet price = $scope.theChoosenMembership.OriginalPrice;\r\n\r\n\t\tif ( $scope.paymentway == 1 ) {\r\n\t\t\tpaymentProvider = 'paylogin';\r\n\t\t}else if ( $scope.paymentway == 2 ){\r\n\t\t\tpaymentProvider = 'credit_paydirect';\r\n\t\t}else if ( $scope.paymentway == 9 ){\r\n\t\t\tpaymentProvider = 'stripe card';\r\n\t\t\tprocessPayment = false;\r\n\t\t}else if ( $scope.paymentway == 8 ){\r\n\t\t\tpaymentProvider = 'Fibank';\r\n\t\t}else if ( $scope.paymentway == 0 ){\r\n\t\t\tpaymentProvider = '0';\r\n\t\t}else if ( $scope.paymentway == 10 ){\r\n\t\t\tpaymentProvider = 'settle';\r\n\t\t}else if ( $scope.paymentway == 11 ){\r\n\t\t\tpaymentProvider = 'elavon';\r\n\t\t}else if ( $scope.paymentway == 12 ){\r\n\t\t\tpaymentProvider = 'MyPos';\r\n\t\t}else if ( $scope.paymentway == 13 || $scope.paymentway == 99 ){\r\n\t\t\tpaymentProvider = 'NetCash';\r\n\t\t}\r\n\r\n\t\tif(sendProcessPayment)\r\n\t\t\tprocessPayment = true;\r\n\r\n\t\tvar startDate = new Date($scope.theChoosenMembershipDate);\r\n\t\tstartDate.setHours(0,0,0,0);\r\n\t\tif($scope.inputPhone){\r\n\t\t\tvar number = $scope.inputPhone.selectedDialCode.innerHTML + $scope.inputPhone.telInput.value;\r\n\t\t\tnumber = number.replace(/ /g,'');\r\n\t\t}\r\n\t\tlet lang = $translate.proposedLanguage() || $translate.use();\r\n\r\n\t\tvar dataObject = { \r\n\t\t\tGymID: $scope.DivisionID, \r\n\t\t\tNamespace: namespace, \r\n\t\t\tmodel: { FirstName: $scope.FirstName, LastName: $scope.LastName, Email: $scope.Email, Password: $scope.Password, Telephone: number, MembershipID: $scope.membershipId, PaymentProvider: paymentProvider, Token: $scope.token, MembershipID: $scope.theChoosenMembership.ServiceDefinitionID, Date: startDate, Note: $scope.Note, PromoCode: $scope.promocodeFalse ? '' : $scope.PromoCode, price: price, PaymentIntentID: $scope.PaymentIntentID, receiveEmails: $scope.receiveEmails, ProcessPayment: processPayment,Language: lang,MyPos: false, NetCash: false, MobileAppPurchase: $scope.validatedMobileUser, InitialPayment: true, RequestNetcashMandate: $scope.RequestNetcashMandate }\r\n\t\t};\r\n\r\n\t\t// ClientID: $scope.clientGroupMember ? $scope.clientGroupMember.ClientID : $scope.clientInfo.ClientID,\r\n\t\tif($scope.clientGroupMember){\r\n\t\t\tdataObject.model.ClientId = $scope.clientGroupMember.ClientID;\r\n\t\t}\r\n\r\n\t\tif ($scope.paymentway == 11) {\r\n\t\t\tdataObject.model.ElavonOrderID = $scope.ElavonOrderID;\r\n\t\t\tdataObject.model.ElavonTransactionID = $scope.ElavonTransactionID;\r\n\t\t}\r\n\r\n\t\tif ($scope.paymentway == 12) {\r\n\t\t\tdataObject.model.MyPos = true;\r\n\t\t}\r\n\r\n\t\tif ($scope.paymentway == 13 || $scope.paymentway == 99) {\r\n\t\t\tdataObject.model.NetCash = true;\r\n\t\t}\r\n\r\n\t\tif($scope.validatedMobileUser){\r\n\t\t\tdataObject.model.ClientId = clientId;\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/PurchaseAndRegister',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\tif ( data.Success == true ){\r\n\t\t\t\twindow.location.href = data.MandateURL;\r\n\t\t\t}else if (data.Success == false){\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: data.Message,\r\n\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t});\r\n\t\t\t}else if (data.myPosStatus == 'succeeded') {\r\n\t\t\t\tpost_to_url(data.myPosValues, 'post');\r\n\t\t\t}else if (data.netCashStatus == 'succeeded') {\r\n\t\t\t\tpost_to_url(data.netCashValues, 'post', 'https://paynow.netcash.co.za/site/paynow.aspx');\r\n\t\t\t}else if ( data.Key == 1 || data.Key == 2 || data.Key == 3 ){\r\n\t\t\t\tSwal.fire({\r\n\t type: 'warning',\r\n\t title: data.Value,\r\n\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t })\r\n\t\t\t}else if ( data.Key == 0 ){\r\n\t\t\t\tvar translated = $translateThis('Payment finished with success.');\r\n\t\t\t\tvar href = window.location.href;\r\n\t\t\t\tif ( $scope.validatedMobileUser == true ) {\r\n\t\t\t\t\thref += '&PurchaseViewSuccess=true';\r\n\t\t\t\t} \r\n\t\t\t\tSwal.fire({\r\n\t type: 'success',\r\n title: translated,\r\n\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t })\r\n\t\t\t}else if ( data == 'Error' ){\r\n\t\t\t\tvar translated = $translateThis('buyError');\r\n\t\t\t\tSwal.fire({\r\n\t type: 'warning',\r\n\t title: translated,\r\n\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t })\r\n\t\t\t}else if ( data == 'Recurring service exist!' ){\r\n\t\t\t\tvar translated = $translateThis('Recurring service exist! OnePage');\r\n\t\t\t\tSwal.fire({\r\n\t type: 'warning',\r\n\t title: translated,\r\n\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t })\r\n\t\t\t}else if ( data == 'succeeded' ){\r\n\t\t\t\tvar translated = $translateThis('Payment finished with success.');\r\n\t\t\t\tvar href = window.location.href;\r\n\t\t\t\tif ( $scope.validatedMobileUser == true ) {\r\n\t\t\t\t\thref += '&PurchaseViewSuccess=true';\r\n\t\t\t\t} \r\n\r\n\t\t\t\tSwal.fire({\r\n\t type: 'success',\r\n title: translated,\r\n onAfterClose: (function () {\r\n window.location.replace(href);\r\n })\r\n\t })\r\n\t\t\t}else if ( data == 'done' ){\r\n\t\t\t\tif ( $scope.paymentway == 9 ){\r\n\t\t\t\t\t// $('.onepage-wrapper .actions .stripe-button').trigger('click');\r\n\t\t\t\t}\r\n\t\t\t}else if ( data == 'Waiver Required!'){\r\n\t\t\t\tpopulateStorage($scope.NewAccount);\r\n\t\t\t\tvar translated = $translateThis('Waiver Required!');\r\n\t\t\t\tvar waiverHref = window.location.origin + '/waiver/embedregistration?GymID=' + $scope.DivisionID + '&NameSpace=' + namespace + '&Redirect=/membership/purchasev2';\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t}).then(function(result) {\r\n\t\t\t\t\tif (result.value) {\r\n\t\t\t\t\t\twindow.location.href = waiverHref;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tsessionStorage.clear();\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t\t\t}, 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}else if (data == 'Service Definition Not Found!' || data == 'Payment request error' || data == 'Invalid settle merchant settings' || data == 'Invalid value for customer'){\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: data,\r\n\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t});\r\n\t\t\t}else if(data == 'Pending'){\r\n\t\t\t\tlet text = 'Pending... Follow Settle instructions!'\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\ttitle: text,\r\n\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t});\r\n\t\t\t}else{\r\n\t\t\t\twindow.location.href = data;\r\n\t\t\t\t\r\n\t\t\t}\r\n\r\n\t\t}).error(function () {\r\n\t\t\t$scope.onePageloading = false;\t\t\t\r\n\t\t});\r\n\t}\r\n\t\r\n\r\n\t$scope.validateForm = function(){\r\n\t\t$scope.validateUser = false;\r\n\t\tif($scope.NewAccount){\r\n\t\t\tregisterUser();\r\n\t\t}else{\r\n\t\t\tvalidetUser();\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.changeUser = function(){\r\n\t\t$scope.validateUser = false;\r\n\t}\r\n\r\n\t$scope.validateUser = false;\r\n\t$scope.validatedMobileUser = false;\r\n\r\n\tfunction validetUser(){\r\n\r\n\t\tlet dataObject = {\r\n\t\t\tEmail: $scope.Email, \r\n\t\t\tPassword: $scope.Password,\r\n\t\t\tNamespace: namespace\r\n\t\t}\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/ValidateUser',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\tif(data == 'Success'){\r\n\r\n\t\t\t\t$scope.validateUser = true;\r\n\t\t\t\tgetClientMembership();\r\n\t\t\t}else{\r\n\t\t\t\tlet translated = $translateThis(data);\r\n\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t}).error(function (error) {\r\n\t\t\t\r\n\t\t});\r\n\t}\r\n\r\n\tfunction getClientMembership(){\r\n\r\n\t\tlet dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tEmail: $scope.Email\r\n\t\t}\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/GetClientGroupMembersFastPurchase',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.clientGroupMembers = data;\r\n\r\n\t\t\tif(data.length){\r\n\r\n\t\t\t}else{\r\n\t\t\t\t$scope.getTerms('netcashmandate');\r\n\t\t\t}\r\n\r\n\t\t\t$([document.documentElement, document.body]).animate({\r\n\t\t\t\tscrollTop: $(\"#checkout\").offset().top\r\n\t\t\t}, 1000);\r\n\r\n\r\n\t\t\t// if(data.length == 1 && data[0].ClientID == $scope.clientInfo.ClientID){\r\n\t\t\t// \t$scope.clientGroupMembers = [];\r\n\t\t\t// }\r\n\r\n\t\t\t// if ($scope.membershipGyms.length == 1 && ($scope.clientGroupMembers != undefined && $scope.clientGroupMembers.length > 0)) {\r\n\t\t\t\t\r\n\t\t\t// \t$scope.getCards($scope.membershipGyms[0].GymID);\r\n\t\t\t// }\r\n\r\n\r\n\t\t}).error(function (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.changeClientGroupMember = function(){\r\n\t\tif(typeof $scope.clientGroupMemberSel === 'string'){\r\n\t\t\t$scope.clientGroupMember = JSON.parse($scope.clientGroupMemberSel);\r\n\r\n\t\t\t$scope.getTerms('netcashmandate');\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.validatedMobileUser = false;\r\n\tif(clientId){\r\n\t\tvalidateMobileUser();\r\n\t\t$scope.validatedMobileUser = true;\r\n\t}\r\n\tfunction validateMobileUser(){\r\n\t\tlet dataObject = {\r\n\t\t\tClientId: clientId,\r\n\t\t\tNamespace: namespace\r\n\t\t}\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/ValidateUserMobileApp',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\tif(data == 'Success'){\r\n\t\t\t\t$scope.validateUser = true;\r\n\t\t\t\t$scope.validatedMobileUser = true;\r\n\r\n\t\t\t\t// check if theChoosenMembership \r\n\t\t\t\t$scope.getTerms('netcashmandate');\r\n\t\t\t}else{\r\n\t\t\t\t$scope.validatedMobileUser = false;\r\n\t\t\t\tlet translated = $translateThis(data);\r\n\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\t// else if(data == 'User doesn`t exist!'){\r\n\r\n\t\t\t// }else{\r\n\t\t\t// \tdata == 'Password incorrect!'\r\n\t\t\t// }\r\n\t\t\t\t\r\n\t\t}).error(function (error) {\r\n\t\t\t\r\n\t\t});\r\n\r\n\t}\r\n\r\n\r\n\t\r\n\tfunction populateStorage(register = false) {\r\n\r\n $scope.storageInfo = {\r\n Email: $scope.Email, \r\n\t\t\tMembershipID: $scope.theChoosenMembership.ServiceDefinitionID\r\n }\r\n\r\n if(register){\r\n $scope.storageInfo.FirstName = $scope.FirstName;\r\n $scope.storageInfo.LastName = $scope.LastName;\r\n\t\t\t$scope.storageInfo.Telephone = $scope.inputPhone.telInput.value;\r\n $scope.storageInfo.TelCode = $scope.inputPhone.selectedDialCode.innerHTML;\r\n $scope.storageInfo.Email = $scope.Email;\r\n }\r\n\r\n sessionStorage.setItem('storageinfo', JSON.stringify($scope.storageInfo));\r\n\t\t// sessionStorage.clear();\r\n }\r\n\r\n\r\n\tfunction registerUser(){\r\n\r\n\t\tvar startDate = new Date($scope.theChoosenMembershipDate);\r\n\t\tstartDate.setHours(0,0,0,0);\r\n\t\tvar number = $scope.inputPhone.selectedDialCode.innerHTML + $scope.inputPhone.telInput.value;\r\n\t\tnumber = number.replace(/ /g,'');\r\n\r\n\t\t\r\n\t\tlet dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: $scope.DivisionID,\r\n\t\t\tPortalVersion: 'v2',\r\n\t\t\tmodel: { FirstName: $scope.FirstName, LastName: $scope.LastName, Email: $scope.Email, Password: $scope.Password, NewAccount: $scope.NewAccount, Telephone: number, Note: $scope.Note }\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/RegisterUser',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tlet result = data.Value;\r\n\t\t\tif(result == 'Success'){\r\n\r\n\t\t\t\tlet translated = $translateThis('Registration successful');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: (function () {\r\n checkWaiver()\r\n })\r\n\t\t\t\t});\r\n\t\t\t\t$scope.validateUser = true;\r\n\t\t\t\t$scope.getTerms('netcashmandate');\r\n\t\t\t\t$([document.documentElement, document.body]).animate({\r\n\t\t\t\t\tscrollTop: $(\"#checkout\").offset().top\r\n\t\t\t\t}, 1000);\r\n\t\t\t}else{\r\n\r\n\t\t\t\tif(result.includes(\" is already taken.\")){\r\n\t\t\t\t\tlet email = result.split(' is already taken.');\r\n\t\t\t\t\temail = email[0].split('Name ');\r\n\t\t\t\t\temail = email[1];\r\n\r\n\t\t\t\t\tresult = $translateThis('Email is already taken', {value: email});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: result\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}).error(function (error) {\r\n\t\t\t\r\n\t\t});\r\n\t}\r\n // CheckWaiver(string Email, int? ClientID, int MembershipID, int GymID, string Namespace)\r\n\r\n\t//setup before functions\r\n\tvar typingEmail;\r\n\tvar $inputEmail = $('#Email');\r\n\r\n\t//on keyup, start the countdown\r\n\t$inputEmail.on('keyup', function () {\r\n\t \tclearTimeout(typingEmail);\r\n\t \tif($scope.choosenMembership && $inputEmail.is('.ng-valid') && !$scope.NewAccount)\r\n\t\t\ttypingEmail = setTimeout(function() {checkWaiver()}, 2000);\r\n\t});\r\n\r\n\t//on keydown, clear the countdown \r\n\t$inputEmail.on('keydown', function () {\r\n\t\tclearTimeout(typingEmail);\r\n\t});\r\n\r\n\tfunction checkWaiver(){\r\n\r\n\t\tlet dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: $scope.DivisionID,\r\n\t\t\tMembershipID: $scope.theChoosenMembership.ServiceDefinitionID,\r\n\t\t\tClientID: -1,\r\n\t\t\tEmail: $scope.Email\r\n\t\t}\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/CheckWaiver',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif(data == 'Waiver Required!'){\r\n\t\t\t\tpopulateStorage($scope.NewAccount);\r\n\t\t\t\t\r\n\t\t\t\tvar translated = $translateThis('Waiver Required!');\r\n\t\t\t\tvar waiverHref = window.location.origin + '/waiver/embedregistration?GymID=' + $scope.DivisionID + '&NameSpace=' + namespace + '&Redirect=/membership/purchasev2';\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t}).then(function(result) {\r\n\t\t\t\t\tif (result.value) {\r\n\t\t\t\t\t\twindow.location.href = waiverHref;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tsessionStorage.clear();\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t\t\t}, 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}).error(function (error) {\r\n\t\t\t\r\n\t\t});\r\n\t}\r\n\r\n\tfunction getPrice(price, discount) { \r\n\t\tvar numVal1 = Number(price);\r\n\t\tvar numVal2 = Number(discount);\r\n\r\n\t\tvar totalValue = numVal1 * ( (100-numVal2) / 100 )\r\n\t\treturn totalValue.toFixed(2);\r\n\t}\r\n\r\n\t\r\n\t$scope.changePromoCode = function () {\r\n\r\n\t\tif ($scope.PromoCode.length > 3) {\r\n\t\t\tvar dataObject = {\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tGymID: $scope.DivisionID,\r\n\t\t\t\tClientID: -1,\r\n\t\t\t\tServiceID: $scope.theChoosenMembership.ServiceDefinitionID,\r\n\t\t\t\torderType: $scope.orderType,\r\n\t\t\t\tDateStart: $scope.theChoosenMembershipDate,\r\n\t\t\t\tPromoCode: $scope.PromoCode,\r\n\t\t\t\tDiscount: $scope.Discount,\r\n\t\t\t\tEmail: $scope.Email\r\n\t\t\t}\r\n\t\t\t// if (dataObject.GymID == undefined)\r\n\t\t\t// dataObject.GymId = $scope.Model.GymId;\r\n\t\t\t// if ($scope.orderCardId == undefined && $scope.serviceDefinitionId != undefined)\r\n\t\t\t// \tdataObject.ServiceID = $scope.serviceDefinitionId;\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/Membership/ValidatePromoCode',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\t$scope.promocodeFalse = false;\r\n\t\t\t\tif (data != 'false') {\r\n\t\t\t\t\t$scope.Discount = data.DiscountPercent;\r\n\t\t\t\t\t// if ($scope.orderCardId != undefined && $scope.serviceRealID == undefined)\r\n\t\t\t\t\t// \t$scope.serviceRealID = $scope.orderCardId;\r\n\r\n\t\t\t\t\t$scope.theChoosenMembership.OriginalPrice = getPrice($scope.theChoosenMembership._originalPrice, data.DiscountPercent)\r\n\t\t\t\t\t// getTermsForMembership();\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$scope.promocodeFalse = true;\r\n\t\t\t\t}\r\n\t\t\t}).error(function () {\r\n\t\t\t\t// console.log('error');\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\r\n\t\r\n\r\n\tfunction stripeConfirmCard(secret){\r\n\t\tlet name = $scope.Email;\r\n\t\tif( $scope.NewAccount )\r\n\t\t\tname = $scope.FirstName + ' ' + $scope.LastName;\r\n\r\n\t\t$scope.stripe.confirmCardPayment(secret, {\r\n\t\t\tpayment_method: {\r\n\t\t\t\tcard: $scope.card,\r\n\t\t\t\t billing_details: {\r\n\t\t\t\t\tname: name\r\n\t\t\t\t }\r\n\t\t\t}\r\n\t\t}).then(function(result) {\r\n\t\t\tif (result.error) {\r\n\t\t\t\t// Show error to your customer (e.g., insufficient funds)\r\n\t\t\t\t$scope.stripeError.textContent = result.error.message;;\r\n\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t$scope.onePageloading = false;\r\n\t\t\t\t}, 100);\r\n\t\t\t} else {\r\n\r\n\t\t\t\t // The payment has been processed!\r\n\t\t\t\t if (result.paymentIntent.status === 'succeeded') {\r\n\t\t\t\t\t$scope.card.clear();\r\n\t\t\t\t\t$scope.placeOrder(true);\r\n\t\t\t\t\t// Show a success message to your customer\r\n\t\t\t\t\t// There's a risk of the customer closing the window before callback\r\n\t\t\t\t\t// execution. Set up a webhook or plugin to listen for the\r\n\t\t\t\t\t// payment_intent.succeeded event that handles any business critical\r\n\t\t\t\t\t// post-payment actions.\r\n\t\t\t\t }\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tif (namespace) {\r\n\t\t$scope.namespace = namespace;\r\n\t\t$scope.getSettings = function () {\r\n\t\t\tvar dataObject = {\r\n\t\t\t Namespace: namespace,\r\n\t\t\t GymID: $scope.DivisionID\r\n\t\t\t}\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/Membership/GetSettings',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\t$scope.membershipSettings = data;\r\n\t\t\t\t$scope.countriesSettings = data.Countries;\r\n\r\n\t\t\t\tif ($scope.membershipSettings.Culture == 'bg-BG') {\r\n\t\t\t\t\t$scope.currency = 'лв.';\r\n\t\t\t\t}else if($scope.membershipSettings.Culture.includes('-ES') || $scope.membershipSettings.Culture.includes('pt')){\r\n\t\t\t\t\t$scope.currency = 'eur';\r\n\t\t\t\t}else if($scope.membershipSettings.Culture.includes('-GB')){\r\n\t\t\t\t\t$scope.currency = '£';\r\n\t\t\t\t}else {\r\n\t\t\t\t\t$scope.currency = '$';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (customCurrency) {\r\n\t\t\t\t\t$scope.currency = customCurrency;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tchecActivePaymentMethods($scope.membershipSettings);\r\n\t\t\t}).error(function () {\r\n\t\t\t\t// console.log('error');\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$scope.getSettings();\r\n\t}\r\n\r\n\t$scope.forgotpassword = function(){\r\n\t\tlet href = window.location.origin + '/account/ForgotPasswordv2?namespace=' + namespace + '&GymID='+$scope.DivisionID;\r\n\t\twindow.location.replace(href);\r\n\t}\r\n\r\n\t$scope.$watch('NewAccount', function (v) {\r\n\r\n\t\t$timeout(function() {\r\n\t\t\tif ( v == true ) {\r\n\t\t\t\tif ($('#Password').val() == $('#ConfirmPassword').val()) {\r\n\t\t\t\t\t$('.validation-errors').html('');\r\n\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t$scope.ConfirmPasswordHidden = true;\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t$scope.ConfirmPasswordHidden = false;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t$('.validation-errors').html('
');\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\t$scope.ConfirmPasswordHidden = true;\r\n\t\t\t}\r\n\t\t})\r\n\t});\r\n\r\n $(window).on('load', function(){\r\n\t\t$timeout(function() {\r\n\t\t\tif ( $scope.theChoosenMembership && $scope.theChoosenMembership.OriginalPrice == 0 ){\r\n\t\t\t\t$scope.theChoosenMembershipIsFree = true;\r\n\t\t\t\t$('#payment-free').prop(\"checked\", true).trigger(\"click\");\r\n\t\t\t\t$scope.paymentway = 0;\r\n\t\t\t}else{\r\n\t\t\t\t$scope.theChoosenMembershipIsFree = false;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$('.header .logo').attr('href', '');\r\n\r\n\t\tif ( $('.payment-method .sections .section.active').length == 1 ){\r\n\t\t\t$('.payment-method .sections .section.active input[name=\"mainPaymentWay\"]').prop('checked', true);\r\n\t\t\t$scope.mainPaymentWay = $('.payment-method .sections .section.active input[name=\"mainPaymentWay\"]').val();\r\n\t\t\t$scope.$apply();\r\n\t\t}\r\n\r\n\t\tsetTimeout(function() {\r\n\t\t\t$('#sc-style-modal').remove()\r\n\t\t}, 3000);\r\n\r\n\t\tif( $('#Password').length && $('#ConfirmPassword').length ){\r\n\t\t\tvar translated = $translateThis('notMaching');\r\n\t\t\t$scope.ConfirmPasswordHidden = false;\r\n\t\t\t$('#Password, #ConfirmPassword').on('keyup', function () {\r\n\t\t\t\tif($scope.NewAccount){\r\n\t\t\t\t\tif ($('#Password').val() == $('#ConfirmPassword').val()) {\r\n\t\t\t\t\t\t$('.validation-errors').html('');\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.ConfirmPasswordHidden = true;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.ConfirmPasswordHidden = false;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t$('.validation-errors').html('
');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif($scope.theChoosenMembership && $scope.theChoosenMembership.FixedDate){\r\n\t\t\tlet membershipDate = new Date($scope.theChoosenMembership.FixedStartingDate);\r\n\r\n\t\t\t$timeout(function() {\r\n\t\t\t\t$scope.theChoosenMembershipDate = membershipDate;\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t$scope.ConfirmPasswordHidden = true;\r\n\r\n\t\tif ( memberships ) {\r\n\t\t\t$scope.memberships = memberships;\r\n\t\r\n\t\t\tif ( $scope.memberships.length == 1 ) {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t$scope.currentGym = $scope.membershipGyms.find(o => o.GymID === $scope.DivisionID);\r\n\t\t\t\t}, 3000);\r\n\t\t\t}\r\n\t\t}\r\n\t})\r\n\r\n}]);","membershipApp.controller('MembershipChangePaymentMethodController', ['$scope', '$http', '$timeout', '$translate', '$filter', function ($scope, $http, $timeout, $translate, $filter) {\r\n\t$scope.alerting = false;\r\n\tvar $translateThis = $filter('translate');\r\n\t$scope.loading = false;\r\n\r\n\r\n\tif ( lang ){\r\n\t\t$translate.use(lang);\r\n\t}\r\n\r\n\t$scope.getClientServices = function () {\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tClientID: client.ClientID\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/GetClientServices',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.clientServices = data;\r\n\t\t\t$scope.PaymentMethods.forEach(function (el) {\r\n\t\t\t\tvar el = el;\r\n\t\t\t\tvar result = $.grep($scope.clientServices, function (e) { return e.PaymentMethodID == el.ID; });\r\n\r\n\t\t\t\tif (result.length > 0) {\r\n\t\t\t\t\tel.ServiceName = result[0].ServiceName;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}).error(function () {\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.getPaymentMethods = function () {\r\n\t if (client != null && client != undefined) {\r\n\t var dataObject = {\r\n\t Namespace: namespace,\r\n\t GymID: gymid,\r\n\t ClientId: client.ClientID\r\n\t }\r\n\r\n\t $http({\r\n\t method: 'POST',\r\n\t url: '/Membership/GetPaymentMethods',\r\n\t data: dataObject\r\n\t }).success(function (data) {\r\n\t $scope.PaymentMethods = data;\r\n\t $scope.getClientServices();\r\n\t }).error(function () {\r\n\t });\r\n\t }\r\n\t}\r\n\t$scope.getPaymentMethods();\r\n\r\n\r\n\t$scope.setDefaultPaymentMethod = function (id) {\r\n\t\tvar paymentId = id;\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tClientID: client.ClientID,\r\n\t\t\tId: paymentId\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/SetDefaultPaymentMethod',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tvar data = data;\r\n\t\t\tif (data == true) {\r\n\t\t\t\t$('.card-item[data-paymentid=\"' + paymentId + '\"]').addClass('default').siblings('.default').removeClass('default');\r\n\t\t\t}\r\n\t\t}).error(function () {\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.removePaymentMethod = function (id) {\r\n\t\t$scope.loading = true;\r\n\t\tvar paymentId = id;\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tClientID: client.ClientID,\r\n\t\t\tId: paymentId\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/RemovePaymentMethod',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tvar data = data;\r\n\t\t\t$scope.loading = false;\r\n\t\t\tvar translated = $translateThis('Payment method removed!');\r\n\t\t\tSwal.fire({\r\n type: 'warning',\r\n title: translated,\r\n onAfterClose: (function () {\r\n\t\t\t\t\t$scope.closePopup('removePaymentMethod');\r\n window.location.reload(true);\r\n })\r\n })\r\n\t\t}).error(function (err) {\r\n\t\t\t$scope.loading = false;\r\n\t\t\tSwal.fire({\r\n type: 'warning',\r\n title: err\r\n })\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.addPaymentMethodButton = function(){\r\n\t\tif($scope.mainPaymentWay == 'mypos'){\r\n\t\t\tcreateIntentFuturePayments();\r\n\t\t}else{\r\n\t\t\t$scope.addPaymentMethod();\r\n\t\t}\r\n\t}\r\n\r\n\tfunction createIntentFuturePayments(){\r\n\t\tlet lang = $translate.proposedLanguage() || $translate.use();\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tClientID: client.ClientID,\r\n\t\t\tEmail: client.Email\r\n\t\t}\r\n\r\n\t\tif ($scope.mainPaymentWay == 'mypos') {\r\n\t\t\tdataObject.MyPos = true;\r\n\t\t\tdataObject.Language = lang;\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/CreateIntentFuturePayments',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\tif ($scope.mainPaymentWay == 'STRIPE CARD') {\r\n\t\t\t\tconsole.log(data);\r\n\t\t\t\t$scope.PaymentIntentID = data.ID;\r\n\t\t\t\tlet secret = data.ClientSecret;\r\n\t\t\t\tstripe(secret);\r\n\t\t\t}else if($scope.mainPaymentWay == 'mypos'){\r\n\t\t\t\tif(data){\r\n\t\t\t\t\tpost_to_url(data, 'post');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}).error(function (error) {\r\n\t\t\t// console.log('error');\r\n\t\t});\r\n\t}\r\n\r\n\tfunction post_to_url(params, method) {\r\n\t\tlet path = $scope.membershipSettings.MyPosTestingMode ? 'https://www.mypos.com/vmp/checkout-test' : 'https://www.mypos.com/vmp/checkout';\r\n\t\tmethod = method || \"post\";\r\n\t\r\n\t\tvar form = document.createElement(\"form\");\r\n\t\tform.setAttribute(\"method\", method);\r\n\t\tform.setAttribute(\"action\", path);\r\n\t\r\n\t\tfor(var key in params) {\r\n\t\t\tif(params.hasOwnProperty(key)) {\r\n\t\t\t\tvar hiddenField = document.createElement(\"input\");\r\n\t\t\t\thiddenField.setAttribute(\"type\", \"hidden\");\r\n\t\t\t\thiddenField.setAttribute(\"name\", key);\r\n\t\t\t\thiddenField.setAttribute(\"value\", params[key]);\r\n\t\r\n\t\t\t\tform.appendChild(hiddenField);\r\n\t\t\t }\r\n\t\t}\r\n\t\r\n\t\tdocument.body.appendChild(form);\r\n\t\tform.submit();\r\n\t}\r\n\r\n\tfunction stripe(secret){\r\n\t\t$('.step-actions .stripe-button').addClass('active');\r\n\t\t// Set your publishable key: remember to change this to your live publishable key in production\r\n\t\t// See your keys here: https://dashboard.stripe.com/apikeys\r\n\t\tconst stripe = Stripe($scope.membershipSettings.StripePublishKey);\r\n\r\n\t\tconst options = {\r\n\t\t\tclientSecret: secret,\r\n\t\t\t// Fully customizable with appearance API.\r\n\t\t\tappearance: {\r\n\t\t\t\ttheme: 'stripe',\r\n\t\t\t\tvariables: {\r\n\t\t\t\t\tcolorPrimary: '#0570de',\r\n\t\t\t\t\tcolorBackground: '#ffffff',\r\n\t\t\t\t\tcolorText: '#30313d',\r\n\t\t\t\t\tcolorDanger: '#df1b41',\r\n\t\t\t\t\tfontFamily: 'Ideal Sans, system-ui, sans-serif',\r\n\t\t\t\t\tspacingUnit: '2px',\r\n\t\t\t\t\tborderRadius: '4px',\r\n\t\t\t\t\t// See all possible variables below\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\t\r\n\t\t// Set up Stripe.js and Elements to use in checkout form, passing the client secret obtained in step 2\r\n\t\tconst elements = stripe.elements(options);\r\n\t\t\r\n\t\t// Create and mount the Payment Element\r\n\t\tconst paymentElement = elements.create('payment');\r\n\t\tpaymentElement.mount('#payment-element');\r\n\r\n\t\t$scope.loading = false\r\n\r\n\t\t$('.stripe-button').on('click', function(e){\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\tif ($scope.loading == false || $scope.loading == undefined) {\r\n\t\t\t\t$scope.loading = true;\r\n\t\t\t\tstripe.confirmSetup({\r\n\t\t\t\t\t//`Elements` instance that was used to create the Payment Element\r\n\t\t\t\t\telements,\r\n\t\t\t\t\tconfirmParams: {\r\n\t\t\t\t\t\treturn_url: 'https://my-site.com/account/payments/setup-complete',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tredirect: 'if_required',\r\n\t\t\t\t})\r\n\t\t\t\t.then(function(result) {\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (result.error){\r\n\t\t\t\t\t\t// This point will only be reached if there is an immediate error when\r\n\t\t\t\t\t\t// confirming the payment. Show error to your customer (e.g., payment\r\n\t\t\t\t\t\t// details incomplete)\r\n\t\t\t\t\t\tconst messageContainer = document.querySelector('#error-message');\r\n\t\t\t\t\t\tmessageContainer.textContent = result.error.message;\r\n\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tconsole.log(result);\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t$scope.addPaymentMethod();\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Inform the customer that there was an error.\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\t$scope.addPaymentMethod = function (token) {\r\n\t\t$scope.loading = true;\r\n\r\n\t\tvar newPaymentMethodModel = { PaymentProvider: $scope.mainPaymentWay, ClientID: client.ClientID, CardID: client.CardID, paymentIntentID: $scope.PaymentIntentID }\r\n\r\n\t\tif ( token ) {\r\n\t\t\tif ( $scope.mainPaymentWay == 'STRIPE CARD' ) {\r\n\t\t\t\ttoken = token.id;\r\n\t\t\t}\r\n\t\t\tnewPaymentMethodModel.Token = token;\t\t\t\r\n\t\t}\r\n\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tmodel: newPaymentMethodModel\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/AddPaymentMethod',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.PaymentIntentID = 0;\r\n\t\t\tvar data = data;\r\n\t\t\tif (data == 'error' || data == 'Error') {\r\n\t\t\t\tvar translated = $translateThis('There was error with your purchase!');\r\n\t\t\t\tSwal.fire({\r\n\t type: 'warning',\r\n title: translated\r\n\t })\r\n\r\n\t\t\t}else if(data == 'done'){\r\n\t\t\t\tvar translated = $translateThis('Payment method added!');\r\n\t\t\t\tSwal.fire({\r\n\t type: 'success',\r\n title: translated,\r\n onAfterClose: (function () {\r\n window.location.reload(true);\r\n })\r\n\t })\r\n\t\t\t} else {\r\n\t\t\t\twindow.location.replace(data);\r\n\t\t\t}\r\n\t\t\t$scope.loading = false;\r\n\t\t}).error(function () {\r\n\t\t\t$scope.PaymentIntentID = 0;\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.cardMethod = function(id, add){\r\n\r\n\t\tif(add){\r\n\t\t\tvar translated = $translateThis('Are you sure you want to make this payment method default');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated,\r\n\t\t\t\tshowCancelButton: true,\r\n\t\t\t}).then(function(result) {\r\n\t\t\t\tif (result.value) {\r\n\t\t\t\t\t$scope.setDefaultPaymentMethod(id);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}else{\r\n\t\t\tvar translatedTitle = $translateThis('Are you sure you want to delete the payment method?');\r\n\t\t\tvar translatedText = $translateThis('If you have active memberships using this payment method they cant be billed and the membership usage will be interrupted!');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translatedTitle,\r\n\t\t\t\ttext: translatedText,\r\n\t\t\t\tshowCancelButton: true,\r\n\t\t\t}).then(function(result) {\r\n\t\t\t\tif (result.value) {\r\n\t\t\t\t\t$scope.removePaymentMethod(id);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\t\r\n\t$scope.$watch('mainPaymentWay', function (v) {\r\n\r\n\t\tconsole.log(v);\r\n\t\tvar paymentValue = v;\r\n\t\t$scope.paymentway = '';\r\n\r\n\t\tif (paymentValue == 'STRIPE CARD') {\r\n\t\t\t$scope.loading = true;\r\n\r\n\t\t\t$scope.PaymentIntentID = 0;\r\n\r\n\t\t\tcreateIntentFuturePayments();\r\n\t\t}else{\r\n\t\t\t$('.step-actions .stripe-button').removeClass('active');\r\n\t\t}\r\n\t});\r\n}])","membershipApp.controller('ScheduleController', ['$scope', '$http', '$timeout', '$translate', '$filter', '$compile', function ($scope, $http, $timeout, $translate, $filter, $compile) {\r\n\r\n\t$scope.text = 'me@example.com';\r\n\t$scope.emailFormat = /^(([^<>()\\[\\]\\\\.,;:\\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,}))$/;\r\n\r\n\t// Default variables\r\n\r\n\tvar now = new Date();\r\n\tvar dd = now.getDate();\r\n\tvar mm = now.getMonth() + 1;\r\n\tvar yyyy = now.getFullYear();\r\n\tvar nextYear = now.getFullYear() + 1;\r\n\r\n\t$scope.visitArea = 0;\r\n\t$scope.visitInstructor = 0;\r\n\t$scope.nameInstructor;\r\n\t$scope.choosenInstructor = false;\r\n\t$scope.filterActivity = filterActivity;\r\n\t$scope.nameActivity;\r\n\t$scope.choosenActivity = false;\r\n\t$scope.modalLoading = false;\r\n\t$scope.emptySchedule = false;\r\n\t$scope.activityId = null;\r\n\t$scope.peopleWaiting = 0;\r\n\t$scope.smodal = {paymentMethod: null, email: ''};\r\n\t$scope.paymentElavon= {};\r\n\tvar $translateThis = $filter('translate');\r\n\t// if ( lang == null ){\r\n\t// \tlang = 'en';\r\n\t// }\r\n\r\n\t// Finding TimeZone Offset\r\n\tconst timeZones = [\"Europe/Andorra\",\"Asia/Dubai\",\"Asia/Kabul\",\"Europe/Tirane\",\"Asia/Yerevan\",\"Antarctica/Casey\",\"Antarctica/Davis\",\"Antarctica/DumontDUrville\",\"Antarctica/Mawson\",\"Antarctica/Palmer\",\"Antarctica/Rothera\",\"Antarctica/Syowa\",\"Antarctica/Troll\",\"Antarctica/Vostok\",\"America/Argentina/Buenos_Aires\",\"America/Argentina/Cordoba\",\"America/Argentina/Salta\",\"America/Argentina/Jujuy\",\"America/Argentina/Tucuman\",\"America/Argentina/Catamarca\",\"America/Argentina/La_Rioja\",\"America/Argentina/San_Juan\",\"America/Argentina/Mendoza\",\"America/Argentina/San_Luis\",\"America/Argentina/Rio_Gallegos\",\"America/Argentina/Ushuaia\",\"Pacific/Pago_Pago\",\"Europe/Vienna\",\"Australia/Lord_Howe\",\"Antarctica/Macquarie\",\"Australia/Hobart\",\"Australia/Melbourne\",\"Australia/Sydney\",\"Australia/Broken_Hill\",\"Australia/Brisbane\",\"Australia/Lindeman\",\"Australia/Adelaide\",\"Australia/Darwin\",\"Australia/Perth\",\"Australia/Eucla\",\"Asia/Baku\",\"America/Barbados\",\"Asia/Dhaka\",\"Europe/Brussels\",\"Europe/Sofia\",\"Atlantic/Bermuda\",\"Asia/Brunei\",\"America/La_Paz\",\"America/Noronha\",\"America/Belem\",\"America/Fortaleza\",\"America/Recife\",\"America/Araguaina\",\"America/Maceio\",\"America/Bahia\",\"America/Sao_Paulo\",\"America/Campo_Grande\",\"America/Cuiaba\",\"America/Santarem\",\"America/Porto_Velho\",\"America/Boa_Vista\",\"America/Manaus\",\"America/Eirunepe\",\"America/Rio_Branco\",\"America/Nassau\",\"Asia/Thimphu\",\"Europe/Minsk\",\"America/Belize\",\"America/St_Johns\",\"America/Halifax\",\"America/Glace_Bay\",\"America/Moncton\",\"America/Goose_Bay\",\"America/Blanc-Sablon\",\"America/Toronto\",\"America/Nipigon\",\"America/Thunder_Bay\",\"America/Iqaluit\",\"America/Pangnirtung\",\"America/Atikokan\",\"America/Winnipeg\",\"America/Rainy_River\",\"America/Resolute\",\"America/Rankin_Inlet\",\"America/Regina\",\"America/Swift_Current\",\"America/Edmonton\",\"America/Cambridge_Bay\",\"America/Yellowknife\",\"America/Inuvik\",\"America/Creston\",\"America/Dawson_Creek\",\"America/Fort_Nelson\",\"America/Whitehorse\",\"America/Dawson\",\"America/Vancouver\",\"Indian/Cocos\",\"Europe/Zurich\",\"Africa/Abidjan\",\"Pacific/Rarotonga\",\"America/Santiago\",\"America/Punta_Arenas\",\"Pacific/Easter\",\"Asia/Shanghai\",\"Asia/Urumqi\",\"America/Bogota\",\"America/Costa_Rica\",\"America/Havana\",\"Atlantic/Cape_Verde\",\"America/Curacao\",\"Indian/Christmas\",\"Asia/Nicosia\",\"Asia/Famagusta\",\"Europe/Prague\",\"Europe/Berlin\",\"Europe/Copenhagen\",\"America/Santo_Domingo\",\"Africa/Algiers\",\"America/Guayaquil\",\"Pacific/Galapagos\",\"Europe/Tallinn\",\"Africa/Cairo\",\"Africa/El_Aaiun\",\"Europe/Madrid\",\"Africa/Ceuta\",\"Atlantic/Canary\",\"Europe/Helsinki\",\"Pacific/Fiji\",\"Atlantic/Stanley\",\"Pacific/Chuuk\",\"Pacific/Pohnpei\",\"Pacific/Kosrae\",\"Atlantic/Faroe\",\"Europe/Paris\",\"Europe/London\",\"Asia/Tbilisi\",\"America/Cayenne\",\"Africa/Accra\",\"Europe/Gibraltar\",\"America/Nuuk\",\"America/Danmarkshavn\",\"America/Scoresbysund\",\"America/Thule\",\"Europe/Athens\",\"Atlantic/South_Georgia\",\"America/Guatemala\",\"Pacific/Guam\",\"Africa/Bissau\",\"America/Guyana\",\"Asia/Hong_Kong\",\"America/Tegucigalpa\",\"America/Port-au-Prince\",\"Europe/Budapest\",\"Asia/Jakarta\",\"Asia/Pontianak\",\"Asia/Makassar\",\"Asia/Jayapura\",\"Europe/Dublin\",\"Asia/Jerusalem\",\"Asia/Kolkata\",\"Indian/Chagos\",\"Asia/Baghdad\",\"Asia/Tehran\",\"Atlantic/Reykjavik\",\"Europe/Rome\",\"America/Jamaica\",\"Asia/Amman\",\"Asia/Tokyo\",\"Africa/Nairobi\",\"Asia/Bishkek\",\"Pacific/Tarawa\",\"Pacific/Enderbury\",\"Pacific/Kiritimati\",\"Asia/Pyongyang\",\"Asia/Seoul\",\"Asia/Almaty\",\"Asia/Qyzylorda\",\"Asia/Qostanay\",\"Asia/Aqtobe\",\"Asia/Aqtau\",\"Asia/Atyrau\",\"Asia/Oral\",\"Asia/Beirut\",\"Asia/Colombo\",\"Africa/Monrovia\",\"Europe/Vilnius\",\"Europe/Luxembourg\",\"Europe/Riga\",\"Africa/Tripoli\",\"Africa/Casablanca\",\"Europe/Monaco\",\"Europe/Chisinau\",\"Pacific/Majuro\",\"Pacific/Kwajalein\",\"Asia/Yangon\",\"Asia/Ulaanbaatar\",\"Asia/Hovd\",\"Asia/Choibalsan\",\"Asia/Macau\",\"America/Martinique\",\"Europe/Malta\",\"Indian/Mauritius\",\"Indian/Maldives\",\"America/Mexico_City\",\"America/Cancun\",\"America/Merida\",\"America/Monterrey\",\"America/Matamoros\",\"America/Mazatlan\",\"America/Chihuahua\",\"America/Ojinaga\",\"America/Hermosillo\",\"America/Tijuana\",\"America/Bahia_Banderas\",\"Asia/Kuala_Lumpur\",\"Asia/Kuching\",\"Africa/Maputo\",\"Africa/Windhoek\",\"Pacific/Noumea\",\"Pacific/Norfolk\",\"Africa/Lagos\",\"America/Managua\",\"Europe/Amsterdam\",\"Europe/Oslo\",\"Asia/Kathmandu\",\"Pacific/Nauru\",\"Pacific/Niue\",\"Pacific/Auckland\",\"Pacific/Chatham\",\"America/Panama\",\"America/Lima\",\"Pacific/Tahiti\",\"Pacific/Marquesas\",\"Pacific/Gambier\",\"Pacific/Port_Moresby\",\"Pacific/Bougainville\",\"Asia/Manila\",\"Asia/Karachi\",\"Europe/Warsaw\",\"America/Miquelon\",\"Pacific/Pitcairn\",\"America/Puerto_Rico\",\"Asia/Gaza\",\"Asia/Hebron\",\"Europe/Lisbon\",\"Atlantic/Madeira\",\"Atlantic/Azores\",\"Pacific/Palau\",\"America/Asuncion\",\"Asia/Qatar\",\"Indian/Reunion\",\"Europe/Bucharest\",\"Europe/Belgrade\",\"Europe/Kaliningrad\",\"Europe/Moscow\",\"Europe/Simferopol\",\"Europe/Kirov\",\"Europe/Volgograd\",\"Europe/Astrakhan\",\"Europe/Saratov\",\"Europe/Ulyanovsk\",\"Europe/Samara\",\"Asia/Yekaterinburg\",\"Asia/Omsk\",\"Asia/Novosibirsk\",\"Asia/Barnaul\",\"Asia/Tomsk\",\"Asia/Novokuznetsk\",\"Asia/Krasnoyarsk\",\"Asia/Irkutsk\",\"Asia/Chita\",\"Asia/Yakutsk\",\"Asia/Khandyga\",\"Asia/Vladivostok\",\"Asia/Ust-Nera\",\"Asia/Magadan\",\"Asia/Sakhalin\",\"Asia/Srednekolymsk\",\"Asia/Kamchatka\",\"Asia/Anadyr\",\"Asia/Riyadh\",\"Pacific/Guadalcanal\",\"Indian/Mahe\",\"Africa/Khartoum\",\"Europe/Stockholm\",\"Asia/Singapore\",\"America/Paramaribo\",\"Africa/Juba\",\"Africa/Sao_Tome\",\"America/El_Salvador\",\"Asia/Damascus\",\"America/Grand_Turk\",\"Africa/Ndjamena\",\"Indian/Kerguelen\",\"Asia/Bangkok\",\"Asia/Dushanbe\",\"Pacific/Fakaofo\",\"Asia/Dili\",\"Asia/Ashgabat\",\"Africa/Tunis\",\"Pacific/Tongatapu\",\"Europe/Istanbul\",\"America/Port_of_Spain\",\"Pacific/Funafuti\",\"Asia/Taipei\",\"Europe/Kiev\",\"Europe/Uzhgorod\",\"Europe/Zaporozhye\",\"Pacific/Wake\",\"America/New_York\",\"America/Detroit\",\"America/Kentucky/Louisville\",\"America/Kentucky/Monticello\",\"America/Indiana/Indianapolis\",\"America/Indiana/Vincennes\",\"America/Indiana/Winamac\",\"America/Indiana/Marengo\",\"America/Indiana/Petersburg\",\"America/Indiana/Vevay\",\"America/Chicago\",\"America/Indiana/Tell_City\",\"America/Indiana/Knox\",\"America/Menominee\",\"America/North_Dakota/Center\",\"America/North_Dakota/New_Salem\",\"America/North_Dakota/Beulah\",\"America/Denver\",\"America/Boise\",\"America/Phoenix\",\"America/Los_Angeles\",\"America/Anchorage\",\"America/Juneau\",\"America/Sitka\",\"America/Metlakatla\",\"America/Yakutat\",\"America/Nome\",\"America/Adak\",\"Pacific/Honolulu\",\"America/Montevideo\",\"Asia/Samarkand\",\"Asia/Tashkent\",\"America/Caracas\",\"Asia/Ho_Chi_Minh\",\"Pacific/Efate\",\"Pacific/Wallis\",\"Pacific/Apia\",\"Africa/Johannesburg\",\"America/Antigua\",\"America/Anguilla\",\"Africa/Luanda\",\"Antarctica/McMurdo\",\"America/Aruba\",\"Europe/Mariehamn\",\"Europe/Sarajevo\",\"Africa/Ouagadougou\",\"Asia/Bahrain\",\"Africa/Bujumbura\",\"Africa/Porto-Novo\",\"America/St_Barthelemy\",\"America/Kralendijk\",\"Africa/Gaborone\",\"Africa/Kinshasa\",\"Africa/Lubumbashi\",\"Africa/Bangui\",\"Africa/Brazzaville\",\"Africa/Douala\",\"Europe/Busingen\",\"Africa/Djibouti\",\"America/Dominica\",\"Africa/Asmara\",\"Africa/Addis_Ababa\",\"Africa/Libreville\",\"America/Grenada\",\"Europe/Guernsey\",\"Africa/Banjul\",\"Africa/Conakry\",\"America/Guadeloupe\",\"Africa/Malabo\",\"Europe/Zagreb\",\"Europe/Isle_of_Man\",\"Europe/Jersey\",\"Asia/Phnom_Penh\",\"Indian/Comoro\",\"America/St_Kitts\",\"Asia/Kuwait\",\"America/Cayman\",\"Asia/Vientiane\",\"America/St_Lucia\",\"Europe/Vaduz\",\"Africa/Maseru\",\"Europe/Podgorica\",\"America/Marigot\",\"Indian/Antananarivo\",\"Europe/Skopje\",\"Africa/Bamako\",\"Pacific/Saipan\",\"Africa/Nouakchott\",\"America/Montserrat\",\"Africa/Blantyre\",\"Africa/Niamey\",\"Asia/Muscat\",\"Africa/Kigali\",\"Atlantic/St_Helena\",\"Europe/Ljubljana\",\"Arctic/Longyearbyen\",\"Europe/Bratislava\",\"Africa/Freetown\",\"Europe/San_Marino\",\"Africa/Dakar\",\"Africa/Mogadishu\",\"America/Lower_Princes\",\"Africa/Mbabane\",\"Africa/Lome\",\"Africa/Dar_es_Salaam\",\"Africa/Kampala\",\"Pacific/Midway\",\"Europe/Vatican\",\"America/St_Vincent\",\"America/Tortola\",\"America/St_Thomas\",\"Asia/Aden\",\"Indian/Mayotte\",\"Africa/Lusaka\",\"Africa/Harare\" ]\r\n\r\n\tlet timezoneP = timeZone.split(') ');\r\n\tlet timezonePi = timezoneP[1].split(',');\r\n\tlet timeZoneC = timezonePi[0];\r\n\tlet timeZoneF = timeZones.find(el => el.includes(timeZoneC)); \r\n\r\n\tlet timeZoneOffsetSplit = timezoneP[0].split('UTC');\r\n\t$scope.timeZoneOffset = timeZoneOffsetSplit[1];\r\n\r\n\tmoment.tz.setDefault(timeZoneF);\r\n\r\n\tif ( lang ){\r\n\t\t$translate.use(lang);\r\n\t}else{\r\n\t\tlang = $translate.proposedLanguage() || $translate.use();\r\n\t}\r\n\r\n\r\n\tfunction alignModal(){\r\n var modalDialog = $(this).find(\".modal-dialog\");\r\n \r\n // Applying the top margin on modal to align it vertically center\r\n modalDialog.css(\"margin-top\", Math.max(0, ($(window).height() - modalDialog.height()) / 2));\r\n }\r\n // Align modal when it is displayed\r\n $(\".modal\").on(\"shown.bs.modal\", alignModal);\r\n \r\n // Align modal when user resize the window\r\n $(window).on(\"resize\", function(){\r\n $(\".modal:visible\").each(alignModal);\r\n }); \r\n\r\n\t$scope.lang = lang;\r\n\r\n\t$scope.paymentMethods = new Array(\"OnSide\", \"Membership\", \"Sodexo\", \"MultiSport\", \"Voucher\", \"EPay\", \"PaySafe\");\r\n\r\n\tif (settings) {\r\n\t\t$scope.classSettings = settings;\r\n\r\n\t\tif($scope.classSettings.ShowScheduleDaysAhead > 0 ){\r\n\t\t\tlet date = new Date($scope.scheduleStartDate);\r\n\t\t\tdate.setDate(date.getDate() + $scope.classSettings.ShowScheduleDaysAhead);\r\n\t\t\tdate = new Date(date);\r\n\r\n\t\t\tlet dd = date.getDate();\r\n\t\t\tlet mm = date.getMonth() + 1;\r\n\t\t\tlet yyyy = date.getFullYear();\r\n\r\n\t\t\t$scope.scheduleEndDate = mm + '/' + dd + '/' + yyyy;\r\n\t\t}\r\n\t}\r\n\r\n\tif (dd < 10) {\r\n\t\tdd = '0' + dd\r\n\t}\r\n\r\n\tif (mm < 10) {\r\n\t\tmm = '0' + mm\r\n\t}\r\n\r\n\ttoday = mm + '/' + dd + '/' + yyyy;\r\n\ttodayInOneYear = mm + '/' + dd + '/' + nextYear;\r\n\r\n\tvar schedule_from = $(\"#schedule_from\");\r\n\tvar schedule_to = $(\"#schedule_to\");\r\n\t$scope.scheduleStartDate = today;\r\n\t$scope.scheduleEndDate = todayInOneYear;\r\n\r\n\tif ( $scope.mobileApp ){\r\n\t\t$scope.scheduleStartDate = new Date(today);\r\n\t\t$scope.scheduleEndDate = new Date(todayInOneYear);\r\n\t}\r\n\r\n\tfunction findElement(arr, propName, propValue) {\r\n\t\tfor (var i = 0; i < arr.length; i++)\r\n\t\t\tif (arr[i][propName] == propValue)\r\n\t\t\t\treturn arr[i];\r\n\t\t// will return undefined if not found; you could return a default instead\r\n\t}\r\n\r\n\tfunction getClientWaitingList(data) {\r\n\t\tlet scheduleData = data;\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tEmail: $scope.client.Email\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl:'/ScheduleV2/GetClientWaitingList',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t\r\n\t\t\tlet allData = scheduleData.concat(data);\r\n\t\t\t\r\n\t\t\tif ( allData.length == 0 ) {\r\n\t\t\t\t$scope.noEvents = true;\r\n\t\t\t\t$scope.clientSchedule = {};\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\t$scope.noEvents = false;\r\n\t\t\t\tvar today = new Date();\r\n\t\t\t\t$scope.testData = [];\r\n\t\t\t\tangular.copy(allData, $scope.testData);\r\n\t\t\t\tfor (var i = 0; i < $scope.testData.length; ++i) {\r\n\t\t\t\t\tvar DateNewDate = moment($scope.testData[i]['Date']);\r\n\t\t\t\t\tvar DateNewDateEnd = moment($scope.testData[i]['DateEnd']);\r\n\r\n\t\t\t\t\tvar isDstChangeDay = moment(DateNewDate).isDST();\r\n\t\t\t\t\tif ( isDstChangeDay ){\r\n\t\t\t\t\t\tDateNewDate = moment(DateNewDate).add(1, 'hours');\r\n\t\t\t\t\t\tDateNewDateEnd = moment(DateNewDateEnd).add(1, 'hours');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar convertedDate = DateNewDate.toString();\r\n\t\t\t\t\tvar convertedDateEnd = DateNewDateEnd.toString();\r\n\t\t\t\t\tvar x = findElement($scope.schedule_areas, \"AreaID\", $scope.testData[i]['AreaID']);\r\n\r\n\t\t\t\t\t$scope.testData[i]['NewDate'] = moment(convertedDate).toDate();\r\n\t\t\t\t\t$scope.testData[i]['NewDateEnd'] = moment(convertedDateEnd).toDate();\r\n\t\t\t\t\tif (x != undefined && x['Name'] != undefined)\r\n\t\t\t\t\t $scope.testData[i]['AreaName'] = x['Name'];\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$scope.testData = $scope.convertTo($scope.testData, 'Date', true);\r\n\r\n\t\t\t\t$scope.clientSchedule = {};\r\n\t\t\t\tObject.keys($scope.testData).sort().forEach(function (key) {\r\n\t\t\t\t\t$scope.clientSchedule[key] = $scope.testData[key];\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\r\n\r\n\t$scope.getClientServices = function (client) {\r\n\t\t// console.log(client);\r\n\t\tlet clientID = $scope.client.ClientID\r\n\t\tif(client){\r\n\t\t\tlet clientGroupMember = JSON.parse(client);\r\n\t\t\t// console.log(clientGroupMember);\r\n\t\t\tclientID = clientGroupMember.ClientID;\r\n\t\t}\r\n\r\n\r\n\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tClientID: clientID,\r\n\t\t\tdatestart: moment($scope.scheduleStartDate),\r\n\t\t\tdateend: moment($scope.scheduleEndDate)\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl:'/private/GetClientScheduleByClientID',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tgetClientWaitingList(data);\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.beforLeaveEvent = function(visitDate, visitId, waitingID) {\r\n\t\t$scope.currentVisitDate = visitDate;\r\n\t\t$scope.currentVisitID = visitId;\r\n\t\t$scope.currentWaitingID = waitingID;\r\n\t\t$('#cancelEventModal').modal('show');\r\n\t}\r\n\r\n\t// public ContentResult RemoveFromWaitingList(string Namespace, string Email, int WaitingListID)\r\n\r\n\t$scope.leaveLink = function(){\r\n\t\tif($scope.currentWaitingID > 0){\r\n\t\t\tleaveWaitingList();\r\n\t\t}else{\r\n\t\t\tleaveEvent();\r\n\t\t}\r\n\t}\r\n\r\n\tfunction leaveWaitingList(){\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tEmail: $scope.client.Email,\r\n\t\t\tWaitingListID: $scope.currentWaitingID,\r\n\t\t}\r\n\r\n\t\tlet successText = $translateThis('You are successfully removed from the waiting list');\r\n\t\tlet errorText = $translateThis('You can not be removed from the waiting list');\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/ScheduleV2/RemoveFromWaitingList',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif (data == true || data == 'True') {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\ttitle: successText,\r\n\t\t\t\t\tonAfterClose: function (){\r\n\t\t\t\t\t\t$scope.getClientServices();\r\n\t\t\t\t\t\t$scope.closePopup()\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}else{\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'waring',\r\n\t\t\t\t\ttitle: errorText,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}).error(function () {\r\n\t\t\t\r\n\t\t});\r\n\t}\r\n\tfunction leaveEvent() {\r\n\t\tvar now = new Date();\r\n\r\n\t\tvar dateBeforeCancel = new Date($scope.currentVisitDate);\r\n\t\tdateBeforeCancel.setHours(dateBeforeCancel.getHours() - $scope.classSettings.HoursBeforeCanceling);\r\n\t\tlet translated = $translateThis('You succesfuly cancel this event');\r\n\t\tlet translatedError = $translateThis('You can not cancel this event now!');\r\n\r\n\t\tif (now < dateBeforeCancel) {\r\n\t\t\tvar dataObject = {\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tId: $scope.currentVisitID,\r\n\t\t\t\tClientID: $scope.client.ClientID\r\n\t\t\t}\r\n\r\n\t\t\tif($scope.clientGroupMemberSel){\r\n\t\t\t\tlet clientGroupMember = JSON.parse($scope.clientGroupMemberSel);\r\n\t\t\t\tdataObject.ClientID = clientGroupMember.ClientID\r\n\t\t\t}\r\n\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/private/leaveEvent',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\tif (data == true || data == 'True') {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\tonAfterClose: function (){\r\n\t\t\t\t\t\t\tif($scope.clientGroupMemberSel){\r\n\t\t\t\t\t\t\t\t$scope.getClientServices($scope.clientGroupMemberSel);\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t$scope.getClientServices();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t$('#cancelEventModal').modal('hide')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}else{\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translatedError\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}).error(function () {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translatedError\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translatedError\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.getEventsType = function(dgymID){\r\n\t\tif ( dgymID ) {\r\n\t\t\tgymid = dgymID;\r\n\t\t}\r\n\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymId: gymid\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'GET',\r\n\t\t\turl: '/api/public/GetPublicEvents?nameSpace=' + namespace + '&gymId=' + gymid,\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.schedule_activities = data;\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\t$scope.getEventsType();\r\n \r\n\r\n\t// Get Schedule\r\n\r\n\t$scope.getSchedule = function (from, to, dgymID, dontUpdateActInstr) {\r\n\t\tvar updateActInstr = true;\r\n\t\t$scope.emptySchedule = false;\r\n\r\n\t\tif ( dontUpdateActInstr != undefined ){\r\n\t\t\tupdateActInstr = false;\r\n\t\t}\r\n\r\n\t\tif ( dgymID ) {\r\n\t\t\tgymid = dgymID;\r\n\t\t}\r\n\r\n\t\tvar dataObject = {\r\n\t\t\tGymID: gymid,\r\n\t\t\tNamespace: namespace,\r\n\t\t\tDateStart: $scope.scheduleStartDate,\r\n\t\t\tDateEnd: $scope.scheduleEndDate,\r\n\t\t\tAreaID: $scope.visitArea,\r\n\t\t\tInstructorID: $scope.visitInstructor,\r\n\t\t\tPrivate: true,\r\n\t\t\tPublicEventID: $scope.activityId\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/api/public/GetSchedule',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tvar today = new Date();\r\n\t\t\t$scope.testData = [];\r\n\t\t\tvar currentActivities = [];\r\n\t\t\tvar currentInstructors = [];\r\n\t\t\t$scope.Schedule = {};\r\n\r\n\t\t\tif(data.length > 0){\r\n\t\t\t\t$scope.emptySchedule = false;\r\n\t\t\t\tangular.copy(data, $scope.testData);\r\n\t\t\t\tfor (var i = 0; i < $scope.testData.length; ++i) {\r\n\t\t\t\t\tvar DateNewDate = moment($scope.testData[i]['Date']);\r\n\t\t\t\t\tvar DateNewDateEnd = moment($scope.testData[i]['DateEnd']);\r\n\r\n\t\t\t\t\tvar isDstChangeDay = moment(DateNewDate).isDST();\r\n\t\t\t\t\tif ( isDstChangeDay ){\r\n\t\t\t\t\t\tDateNewDate = moment(DateNewDate).add(1, 'hours');\r\n\t\t\t\t\t\tDateNewDateEnd = moment(DateNewDateEnd).add(1, 'hours');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar convertedDate = DateNewDate.toString();\r\n\t\t\t\t\tvar convertedDateEnd = DateNewDateEnd.toString();\r\n\r\n\t\t\t\t\tvar x = findElement($scope.schedule_areas, \"AreaID\", $scope.testData[i]['AreaID']);\r\n\r\n\t\t\t\t\t$scope.testData[i]['NewDate'] = moment(convertedDate).toDate();\r\n\t\t\t\t\t$scope.testData[i]['NewDateEnd'] = moment(convertedDateEnd).toDate();\r\n\t\t\t\t\tif (x != undefined && x['Name'] != undefined)\r\n\t\t\t\t\t\t$scope.testData[i]['AreaName'] = x['Name'];\r\n\r\n\t\t\t\t\t$scope.testData[i]['ShowParticipantsCount'] = x != undefined ? x['ShowParticipantsCount'] : false;\r\n\r\n\t\t\t\t\tvar testDateBeforeBooking = new Date($scope.testData[i]['Date']);\r\n\t\t\t\t\ttestDateBeforeBooking.setHours(moment($scope.testData[i]['Date']).hours() - $scope.classSettings.HoursBeforeBooking);\r\n\t\t\t\t\t$scope.testData[i]['HoursBeforeBooking'] = testDateBeforeBooking;\r\n\r\n\t\t\t\t\tif($scope.testData[i]['Color'].length > 7){\r\n\t\t\t\t\t\tlet firstTwo = $scope.testData[i]['Color'].slice(1, 3);\r\n\t\t\t\t\t\tlet mainColor = $scope.testData[i]['Color'].slice(3, 9);\r\n\t\t\t\t\t\tlet newColor = '#'+mainColor+firstTwo;\r\n\t\t\t\t\t\t$scope.testData[i]['Color'] = newColor;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar testDatedaysAheadBooking = new Date(convertedDate);\r\n\t\t\t\t\ttestDatedaysAheadBooking.setDate(testDatedaysAheadBooking.getDate() - $scope.classSettings.DaysAheadBooking);\r\n\r\n\t\t\t\t\tif (today >= testDatedaysAheadBooking || $scope.classSettings.DaysAheadBooking == 0) {\r\n\t\t\t\t\t\t$scope.testData[i]['AheadBooking'] = true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$scope.testData[i]['AheadBooking'] = false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ( $scope.testData[i]['PeopleAttending'] >= $scope.testData[i]['MaxClients']) {\r\n\t\t\t\t\t\t$scope.testData[i]['FullCapacity'] = true;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$scope.testData[i]['FullCapacity'] = false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$scope.testData[i]['SlotsLeft'] = $scope.testData[i]['MaxClients'] - $scope.testData[i]['PeopleAttending'];\r\n\r\n\t\t\t\t\t// console.log($scope.testData[i]);\r\n\t\t\t\t\tif ( updateActInstr == true ){\r\n\t\t\t\t\t\tif ( !currentActivities.includes($scope.testData[i]['PublicEventID']) ) {\r\n\t\t\t\t\t\t\tcurrentActivities.push($scope.testData[i]['PublicEventID']);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ( $scope.testData[i]['InstructorIDs'] != null ) {\r\n\t\t\t\t\t\tvar manageInstrucors = $scope.testData[i]['InstructorIDs'];\r\n\r\n\t\t\t\t\t\tif ( manageInstrucors.indexOf(',') > -1 ) {\r\n\t\t\t\t\t\t\tvar res = manageInstrucors.split(',');\r\n\r\n\t\t\t\t\t\t\tfor (var n = 0; n < res.length; n++) {\r\n\t\t\t\t\t\t\t\tif ( !currentInstructors.includes(res[n]) ) {\r\n\t\t\t\t\t\t\t\t\tcurrentInstructors.push(res[n]);\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tvar result = $.grep($scope.schedule_instructors, function (e) { return e.Id == res[n] });\r\n\t\t\t\t\t\t\t\tif ( result.length > 0 ) {\r\n\t\t\t\t\t\t\t\t\tvar instructor = result[0].Name;\r\n\t\t\t\t\t\t\t\t\tif ( n > 0 ) {\r\n\t\t\t\t\t\t\t\t\t\tinstructor = ', ' + instructor;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t$scope.testData[i]['Instructors'] += instructor;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tif ( !currentInstructors.includes(manageInstrucors) && manageInstrucors != '00000000-0000-0000-0000-000000000000' && manageInstrucors != '' ) {\r\n\t\t\t\t\t\t\t\tcurrentInstructors.push(manageInstrucors);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tvar result = $.grep($scope.schedule_instructors, function (e) { return e.Id == manageInstrucors });\r\n\t\t\t\t\t\t\tif ( result.length > 0 ) {\r\n\t\t\t\t\t\t\t\t$scope.testData[i]['Instructors'] = result[0].Name;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( updateActInstr == true ){\r\n\t\t\t\t\tgetCurrentActivities(currentActivities);\r\n\t\t\t\t\tgetCurrentInstructors(currentInstructors);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$scope.originalData = $scope.testData;\r\n\t\t\t\t$scope.testData = $scope.convertTo($scope.testData, 'Date', true);\r\n\r\n\t\t\t\t$scope.Schedule = {};\r\n\t\t\t\tObject.keys($scope.testData).sort().forEach(function (key) {\r\n\t\t\t\t\t$scope.Schedule[key] = $scope.testData[key];\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$('body').addClass('loaded');\r\n\t\t\t}else{\r\n\t\t\t\t$scope.emptySchedule = true;\r\n\t\t\t\t$('body').addClass('loaded');\r\n\t\t\t}\r\n\t\t\t\r\n\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\r\n\tfunction getCurrentActivities(array){\r\n\t\t$scope.current_activities = [];\r\n\r\n\t\tfor (var i = 0; i < array.length; i++) {\r\n\t\t\tvar activity = array[i];\r\n\t\t\tvar result = $.grep($scope.schedule_activities, function (e) { return e.Id == activity });\r\n\r\n\t\t\tif ( result.length > 0 ) {\r\n\t\t\t\t$scope.current_activities.push(result[0]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getCurrentInstructors(array){\r\n\t\t$scope.current_instructors = [];\r\n\r\n\t\tfor (var i = 0; i < array.length; i++) {\r\n\t\t\tvar instructor = array[i];\r\n\t\t\tvar result = $.grep($scope.schedule_instructors, function (e) { return e.Id == instructor });\r\n\r\n\t\t\tif ( result.length > 0 ) {\r\n\t\t\t\t$scope.current_instructors.push(result[0]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.convertTo = function (arr, key, dayWise) {\r\n\t\tvar groups = {};\r\n\t\tfor (var i = 0; l = arr.length, i < l; i++) {\r\n\t\t\tvar newDateLocal = new Date(arr[i][key]).toISOString().slice(0, 10);\r\n\t\t\t// console.log(newDateLocal);\r\n\r\n\t\t\tarr[i]['DateLocal'] = new Date(arr[i][key]).toISOString().slice(0, 10);\r\n\r\n\t\t\tgroups[arr[i]['DateLocal']] = groups[arr[i]['DateLocal']] || [];\r\n\t\t\tgroups[arr[i]['DateLocal']].push(arr[i]);\r\n\t\t}\r\n\t\treturn groups;\r\n\t};\r\n\r\n\t$scope.updateActivity = function (activityId) {\r\n\t\t$('body').removeClass('loaded');\r\n\t\t$scope.activityId = activityId;\r\n\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate, gymid, 'dontUpdateActInstr');\r\n\t\tif (activityId != null) {\r\n\t\t\tvar x = findElement($scope.schedule_activities, \"Id\", activityId);\r\n\r\n\t\t\t$scope.choosenActivity = true;\r\n\t\t\t$scope.nameActivity = x['Name'];\r\n\t\t} else {\r\n\t\t\t$scope.choosenActivity = false;\r\n\t\t}\r\n\r\n\t\t// $('.schedule-wrapper .filter-section .filter-col-activities .dd').removeClass('show');\r\n\t}\r\n\r\n\r\n\t// Get Areas\r\n\r\n\t$scope.getAreas = function (gymid, allAreas) {\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymId: gymid,\r\n\t\t\tAllAreas: false\r\n\t\t}\r\n\r\n\t\tif ( allAreas ) {\r\n\t\t\tdataObject = {\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tGymId: gymid,\r\n\t\t\t\tAllAreas: true\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'GET',\r\n\t\t\turl: '/api/public/GetAreas?AllAreas=' + allAreas + '&nameSpace=' + namespace + '&gymId=' + gymid,\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.schedule_areas = data;\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.updateAreaId = function (id, gymID) {\r\n\t\t$('body').removeClass('loaded');\r\n\t\t$('.filter-col-activities input:checked').prop('checked', false);\r\n\t\t$scope.choosenActivity = false;\r\n\t\t$scope.scheduleActivity = null;\r\n\t\t$scope.activityId = null;\r\n\t\t$('.filter-col-instructors input:checked').prop('checked', false);\r\n\t\t$scope.visitInstructor = 0;\r\n\t\t$scope.choosenInstructor = false;\r\n\t\t$scope.scheduleActivity = 'null';\r\n\t\t$scope.scheduleInstructor = '0';\r\n\t\t$scope.visitArea = id;\r\n\t\tif ( gymID ) {\r\n\t\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate, gymID);\r\n\t\t}else{\r\n\t\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate);\r\n\t\t}\r\n\t}\r\n\r\n\t// Get Instructors\r\n\t$scope.getInstructors = function (gymid) {\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymId: gymid\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'GET',\r\n\t\t\turl: '/api/public/GetInstructors?nameSpace=' + namespace + '&gymId=' + gymid,\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.schedule_instructors = data;\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\r\n\t// Get Gyms\r\n\t$scope.getGyms = function () {\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/GetGyms',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.membershipGyms = data;\r\n\r\n\t\t\tif ($scope.membershipGyms.length > 1 && $('.schedule-wrapper-main').length ) {\r\n\t\t\t\t$('.schedule-wrapper-main').addClass('loading');\r\n\t\t\t\t$scope.getAreas(gymid, false);\r\n\t\t\t} else {\r\n\t\t\t\t$scope.getAreas(gymid, true);\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t$scope.getSchedule(today, todayInOneYear, gymid);\r\n\t\t\t\t\t// $scope.getClientServices();\r\n\t\t\t\t\tgetClientMembership();\r\n\t\t\t\t}, 100);\r\n\t\t\t\t$scope.getInstructors(gymid);\r\n\t\t\t\t$scope.getSettings(gymid);\r\n\t\t\t}\r\n\r\n\t\t}).error(function () {\r\n\t\t\t// console.log('error');\r\n\t\t});\r\n\t}\r\n\r\n\t$(window).on('load', function () {\r\n\t\tif (clientModel) {\r\n\t\t\t$scope.client = clientModel.Client;\r\n\t\t}else if ($scope.Client){\r\n\t\t\t$scope.client = $scope.Client;\r\n\t\t}\r\n\r\n\t\t$scope.getGyms();\r\n\t})\r\n\r\n\t$scope.changeScheduleZone = function () {\r\n\t\tvar id = $scope.scheduleZone;\r\n\t\tvar x = findElement($scope.membershipGyms, \"GymID\", id);\r\n\t\t$scope.scheduleZoneName = x.GymName;\r\n\t\t$scope.choosenActivity = false;\r\n\t\t$scope.scheduleActivity = null;\r\n\t\t$scope.activityId = null\r\n\r\n\t\t$('.filter-col-instructors input:checked').prop('checked', false);\r\n\t\t$scope.choosenInstructor = false;\r\n\t\t$scope.visitInstructor = 0;\r\n\r\n\t\t$scope.scheduleActivity = 'null';\r\n\t\t$scope.scheduleInstructor = '0';\r\n\t\t$scope.scheduleArea = '0';\r\n\r\n\t\t$scope.getAreas(id, false);\r\n\t\t$scope.getInstructors(id);\r\n\t\t$scope.getSettings(id);\r\n\t\t$scope.getEventsType(id);\r\n\r\n\t\tsetTimeout(function () {\r\n\t\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate, id);\r\n\r\n\t\t\tif (days != null) {\r\n\t\t\t\t$('.schedule-list').addClass('hide');\r\n\t\t\t\tfor (var i = 0; i < days; i++) {\r\n\t\t\t\t\t$('.schedule-list .list-item').eq(i).addClass('show');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t$('.schedule-wrapper-main').removeClass('loading');\r\n\t\t}, 500);\r\n\r\n\t}\r\n\r\n\t$scope.getSettings = function (id) {\r\n\t\tvar dataObject = {\r\n\t\t Namespace: namespace,\r\n\t\t GymID: id\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/ScheduleV2/GetSettings',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.classSettings = data;\r\n\t\t\t// $scope.classSettings.ShowCapacityCustomersPortal = true;\r\n\r\n\t\t\t$scope.showCapacity = data.ShowCapacityCustomersPortal;\r\n\t\t\t$scope.showInstructor = data.ShowInstructorCustomersPortal;\r\n\r\n\t\t\tif($scope.classSettings.ShowScheduleDaysAhead > 0 ){\r\n\t\t\t\tlet date = new Date($scope.scheduleStartDate);\r\n\t\t\t\tdate.setDate(date.getDate() + $scope.classSettings.ShowScheduleDaysAhead);\r\n\t\t\t\tdate = new Date(date);\r\n\r\n\t\t\t\tlet dd = date.getDate();\r\n\t\t\t\tlet mm = date.getMonth() + 1;\r\n\t\t\t\tlet yyyy = date.getFullYear();\r\n\r\n\t\t\t\t$scope.scheduleEndDate = mm + '/' + dd + '/' + yyyy;\r\n\t\t\t}\r\n\t\t}).error(function () {\r\n\t\t\t// console.log('error');\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.updateInstructorId = function (id) {\r\n\t\t$scope.visitInstructor = id;\r\n\r\n\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate, gymid, 'dontUpdateActInstr');\r\n\r\n\t\tif (id != '0') {\r\n\t\t\tvar x = findElement($scope.schedule_instructors, \"Id\", id);\r\n\r\n\t\t\t$scope.choosenInstructor = true;\r\n\t\t\t$scope.nameInstructor = x['Name'];\r\n\t\t} else {\r\n\t\t\t$scope.choosenInstructor = false;\r\n\t\t}\r\n\r\n\t\t// $('.schedule-wrapper .filter-section .dd').removeClass('show');\r\n\t}\r\n\r\n\t$scope.updateVisitProduct = function(id){\r\n\t\tif ( id != '-1') {\r\n\t\t\tvar result = $.grep($scope.visitProducts, function (e) { return e.ProductID == id });\r\n\t\t\t$scope.productId = id;\r\n\t\t\t$scope.productName = result[0].ProductName;\r\n\t\t}else{\r\n\t\t\t$scope.productId = '-1';\r\n\t\t\t$scope.productName = 'Own equipment'\r\n\t\t}\r\n\t}\r\n\r\n\t// Join Event\r\n\r\n\t$scope.paymentChange = function(){\r\n\t\tif ($scope.smodal.paymentMethod == '7') {\r\n\t\t\t$('.popup-wrapper .popup .stripe-button').addClass('show');\r\n\r\n\t\t\t// Stripe\r\n\t\t\t$scope.stripe = Stripe($scope.classSettings.StripePublishKey);\r\n\t\t\t// Create a Stripe client.\r\n\t\t\t// var stripe = Stripe($scope.classSettings.StripePublishKey);\r\n\t\t\t// Create an instance of Elements.\r\n\t\t\tvar elements = $scope.stripe.elements();\r\n\t\t\t// Custom styling can be passed to options when creating an Element.\r\n\t\t\t// (Note that this demo uses a wider set of styles than the guide below.)\r\n\t\t\tvar style = {\r\n\t\t\t\tbase: {\r\n\t\t\t\tcolor: '#32325d',\r\n\t\t\t\tlineHeight: '18px',\r\n\t\t\t\tfontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\r\n\t\t\t\tfontSmoothing: 'antialiased',\r\n\t\t\t\tfontSize: '16px',\r\n\t\t\t\t'::placeholder': {\r\n\t\t\t\t\tcolor: '#aab7c4'\r\n\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tinvalid: {\r\n\t\t\t\tcolor: '#fa755a',\r\n\t\t\t\ticonColor: '#fa755a'\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t// Create an instance of the card Element.\r\n\t\t\t// $scope.card = elements.create('card', {style: style});\r\n\t\t\t$scope.card = elements.create('card', {style: style, hidePostalCode: $scope.classSettings.HidePostalCode });\r\n\r\n\t\t\t// Add an instance of the card Element into the `card-element`
.\r\n\t\t\t$scope.card.mount('#card-element');\r\n\r\n\t\t\t// Handle real-time validation errors from the card Element.\r\n\t\t\t$scope.card.addEventListener('change', function(event) {\r\n\t\t\t\tvar displayError = document.getElementById('card-errors');\r\n\t\t\t\tif (event.error) {\r\n\t\t\t\t\tdisplayError.textContent = event.error.message;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdisplayError.textContent = '';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// $('.stripe-button').on('click', function(e){\r\n\t\t\t// \te.preventDefault();\r\n\t\t\t// \tgeneratePaymentIntent();\r\n\t\t\t// })\r\n\t\t}else{\r\n\t\t\t// $('.popup-wrapper .popup .stripe-button').removeClass('show');\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.modalEventLink = function(){\r\n\t\t$scope.loading = true;\r\n\t\tif ($scope.smodal.paymentMethod == '7') {\r\n\t\t\tgeneratePaymentIntent();\r\n\t\t}else{\r\n\t\t\t$scope.joinEvent();\r\n\t\t}\r\n\t}\r\n\r\n\t// Generate PaymentInted for Stripe\r\n\tfunction generatePaymentIntent() {\r\n\t\t$scope.PaymentIntentID = 0;\r\n\t\tlet dataObject = prepareDataToSned();\r\n\r\n\t\tif ($scope.formLoaded == true) {\r\n\t\t\t$scope.formLoaded = false;\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/private/GeneratePaymentIntent',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\r\n\t\t\t\tif(data == 'Waiver Required!'){\r\n\t\t\t\t\tvar translated = $translateThis('Waiver Required!Portal');\r\n\t\t\t\t\tvar waiverHref = window.location.origin + '/waiver/embedregistration?GymID=' + gymid + '&NameSpace=' + namespace + '&Redirect=/account/embedgroupschedule';\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t\t}).then(function(result) {\r\n\t\t\t\t\t\tif (result.value) {\r\n\t\t\t\t\t\t\twindow.location.href = waiverHref;\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}else if(data == 'Customer banned from booking!'){\r\n\t\t\t\t\tlet translated = $translateThis('Your access to the booking system has been suspended due to non-compliance with the rules of the sports center. Please contact reception.');\r\n\t\t\t\t\t\r\n\t\t\t\t\tif($scope.Client.BanBooking && $scope.unBanPrice > 0){\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t\t\t\tconfirmButtonText: 'Unban',\r\n\t\t\t\t\t\t}).then((result) => {\r\n\t\t\t\t\t\t\t/* Read more about isConfirmed, isDenied below */\r\n\t\t\t\t\t\t\tif (result.value) {\r\n\t\t\t\t\t\t\t\t$('#unBanModal').modal('show')\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t}else if( data == 2 ){\r\n\t\t\t\t\tlet translated = $translateThis(joinEventResponses[data]);\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t});\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tstripeConfirmCard(data);\r\n\t\t\t\t\t$scope.PaymentIntentID = data.ID;\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t}\r\n\t\t\t}).error(function (error) {\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated\r\n\t\t\t\t});\r\n\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t$scope.loading = false;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tfunction stripeConfirmCard(data){\r\n\r\n\t\tlet name = $scope.Client.FirstName + ' ' + $scope.Client.LastName;\r\n\r\n\t\t$scope.stripe.confirmCardPayment(data.ClientSecret, {\r\n\t\t\tpayment_method: {\r\n\t\t\t\tcard: $scope.card,\r\n\t\t\t\t billing_details: {\r\n\t\t\t\t\tname: name\r\n\t\t\t\t }\r\n\t\t\t}\r\n\t\t}).then(function(result) {\r\n\t\t\tif (result.error) {\r\n\t\t\t\t// Show error to your customer (e.g., insufficient funds)\r\n\t\t\t\t$scope.joinEventResponse = result.error.message;\r\n\r\n\t\t\t\tlet translated = $translateThis(result.error.message);\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: function (a){\r\n\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\t // The payment has been processed!\r\n\t\t\t\t if (result.paymentIntent.status === 'succeeded') {\r\n\t\t\t\t\t$scope.joinEvent();\r\n\t\t\t\t\t// Show a success message to your customer\r\n\t\t\t\t\t// There's a risk of the customer closing the window before callback\r\n\t\t\t\t\t// execution. Set up a webhook or plugin to listen for the\r\n\t\t\t\t\t// payment_intent.succeeded event that handles any business critical\r\n\t\t\t\t\t// post-payment actions.\r\n\t\t\t\t }else{\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t }\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n\tif($('.schedule-wrapper-main').length){\r\n\t\t$scope.$watch('clientGroupMemberSel', function (v) {\r\n\t\t\tif(v){\r\n\t\t\t\tvar member = JSON.parse(v);;\r\n\t\t\t\tcheckHasValidMembership(member);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tfunction prepareDataToSned(){\r\n\t\tlet dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tId: $scope.modalVisit.ID,\r\n\t\t\tEmail: $scope.Client.Email,\r\n\t\t\tFirstName: $scope.Client.FirstName,\r\n\t\t\tLastName: $scope.Client.LastName,\r\n\t\t\tTelephone: $scope.Client.Telephone,\r\n\t\t\tDate: moment($scope.modalVisit.NewDate).toISOString(),\r\n\t\t\tVisitName: $scope.modalVisit.VisitName,\r\n\t\t\tPaymentMethod: $scope.smodal.paymentMethod,\r\n\t\t\tLanguage: $scope.currentLang,\r\n\t\t\tProductID: $scope.productId,\r\n\t\t\tProductName: $scope.productName,\r\n\t\t\tPaymentIntentID: $scope.PaymentIntentID\r\n\t\t}\r\n\r\n\t\tif($scope.clientGroupMemberSel){\r\n\t\t\tlet clientGroupMember = JSON.parse($scope.clientGroupMemberSel);\r\n\t\t\tdataObject.clientID = clientGroupMember.ClientID\r\n\t\t}\r\n\r\n\t\tif ( $scope.smodal.paymentMethod == '7' ) {\r\n\t\t\tdataObject.PaymentMethod = 7;\r\n\t\t\tdataObject.Token = $scope.token;\r\n\t\t\tdataObject.Price = $scope.modalPrice;\r\n\t\t\tdataObject.PublicEventID = $scope.PublicEventID;\r\n\t\t}\r\n\r\n\t\tif ($scope.smodal.paymentMethod == '8') {\r\n\t\t\tdataObject.PaymentMethod = 8;\r\n\t\t\tdataObject.Price = $scope.modalPrice;\r\n\t\t\tdataObject.PublicEventID = $scope.PublicEventID;\r\n\t\t}\r\n\r\n\t\tif ($scope.smodal.paymentMethod == '9') {\r\n\t\t\tdataObject.PaymentMethod = 9;\r\n\t\t\tdataObject.Price = $scope.modalPrice;\r\n\t\t\tdataObject.PublicEventID = $scope.PublicEventID;\r\n\t\t}\r\n\r\n\t\tif ($scope.smodal.paymentMethod == '10') {\r\n\t\t\tdataObject.PaymentMethod = 10;\r\n\t\t\tdataObject.Price = $scope.modalPrice;\r\n\t\t\tdataObject.PublicEventID = $scope.PublicEventID;\r\n\t\t}\r\n\r\n\t\tif ($scope.smodal.paymentMethod == '11') {\r\n\t\t\tdataObject.PaymentMethod = 11;\r\n\t\t\tdataObject.Price = $scope.modalPrice;\r\n\t\t\tdataObject.PublicEventID = $scope.PublicEventID;\r\n\t\t}\r\n\r\n\t\tif($scope.smodal.paymentMethod == '11' && $scope.paymentElavon.ElavonOrderID){\r\n\t\t\tdataObject.OrderID = $scope.paymentElavon.ElavonOrderID;\r\n\t\t\tdataObject.ЕlavonTransactionID = $scope.paymentElavon.ElavonTransactionID;\r\n\t\t\t$scope.formLoaded = true;\r\n\t\t}\r\n\r\n\t\treturn dataObject;\r\n\t}\r\n\r\n\t$scope.formLoaded = true;\r\n\tvar joinEventResponses = new Array('joinEventResponse1', 'joinEventResponse2', 'joinEventResponse3', 'joinEventResponse4', 'joinEventResponse5', 'joinEventResponse6', 'joinEventResponse7', 'joinEventResponseEmpty','joinEventResponseEmpty', 'joinEventResponse8', 'joinEventResponse9', 'joinEventResponse10');\r\n\r\n\t$scope.joinEvent = function () {\r\n\t\tlet dataObject = prepareDataToSned();\r\n\r\n\t\tif ($scope.formLoaded = true) {\r\n\t\t $scope.formLoaded = false;\r\n\t\t $http({\r\n\t\t method: 'POST',\r\n\t\t url: '/private/JoinEvent',\r\n\t\t data: dataObject\r\n\t\t }).success(function (data) {\r\n\t\t $scope.loading = false;\r\n\t\t var responseI = data;\r\n\t\t $scope.joinEventResponse = joinEventResponses[responseI];\r\n\r\n\t\t if (responseI == 0) {\r\n\r\n\t\t\t\t\tif (dataObject.PaymentMethod == 8) {\r\n\t\t\t\t\t\tgenerateMyPos();\r\n\t\t\t\t\t}else if (dataObject.PaymentMethod == 9) {\r\n\t\t\t\t\t\tgeneratePaymob();\r\n\t\t\t\t\t}else if (dataObject.PaymentMethod == 10) {\r\n\t\t\t\t\t\tgenerateNetcash();\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\t\tonAfterClose: () => {\r\n\t\t\t\t\t\t\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate, gymid);\r\n\t\t\t\t\t\t\t\t$scope.closePopup()\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t }else if (responseI == 11) {\r\n\t\t\t\t\tgenerateElavon();\r\n\t\t }else if (responseI == 1) {\r\n\t\t\t\t\tif($scope.modalVisit.WaitingList){\r\n\t\t\t\t\t\t$('#waitingModal').modal('show');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// console.log($scope.modalVisit);\r\n\t\t\t\t\t// $scope.joinWaitingList($scope.modalVisit);\r\n\t\t\t\t\t\r\n\t\t\t\t\t// $('#waiting-popup .popup, #waiting-popup').addClass('show');\r\n\t\t }else if (responseI == 6) {\r\n\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t }else if(responseI == 8){\r\n\t\t\t\t\tvar translated = $translateThis('Waiver Required!Portal');\r\n\t\t\t\t\tvar waiverHref = window.location.origin + '/waiver/embedregistration?GymID=' + gymid + '&NameSpace=' + namespace + '&Redirect=/account/embedgroupschedule';\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t\t}).then(function(result) {\r\n\t\t\t\t\t\tif (result.value) {\r\n\t\t\t\t\t\t\twindow.location.href = waiverHref;\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t\t}, 1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}else if(responseI == 9) {\r\n\t\t\t\t\tlet maxResPerDay = $scope.classSettings.MaxReservationsPerDay;\r\n\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse, {value: maxResPerDay});\r\n\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t\t\t}else if(responseI == 10){\r\n\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\t\r\n\t\t\t\t\tif($scope.Client.BanBooking && $scope.unBanPrice > 0){\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t\t\t\tconfirmButtonText: 'Unban',\r\n\t\t\t\t\t\t}).then((result) => {\r\n\t\t\t\t\t\t\t/* Read more about isConfirmed, isDenied below */\r\n\t\t\t\t\t\t\tif (result.value) {\r\n\t\t\t\t\t\t\t\t$('#unBanModal').modal('show');\r\n\t\t\t\t\t\t\t\t$('#eventScheduleModal').modal('hide');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}else{\r\n\t\t \tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t});\r\n\t\t }\r\n\t\t }).error(function () {\r\n\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t});\r\n\r\n\t\t $('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t $scope.formLoaded = true;\r\n\t\t $scope.loading = false;\r\n\t\t });\r\n\t\t}\r\n\t}\r\n\r\n\tfunction generateElavon(){\r\n\t\tlet dataObject = prepareDataToSned();\r\n\t\tdataObject.Language = lang;\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/GenerateElavonToken',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\topenLightbox(data.ElavonToken)\r\n\t\t\t\r\n\t\t}).error(function (error) {\r\n\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated,\r\n\t\t\t});\r\n\r\n\t\t\t$('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t\t$scope.formLoaded = true;\r\n\t\t\t$scope.loading = false;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction openLightbox(token) {\r\n\t\t$scope.paymentElavon = {};\r\n var paymentFields = {\r\n ssl_txn_auth_token: token\r\n };\r\n var callback = {\r\n onError: function (error) {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'error',\r\n onAfterClose: (function () {\r\n $timeout(function() {\r\n $scope.loading = false; \r\n });\r\n })\r\n });\r\n\r\n showResult(\"error\", error,token);\r\n },\r\n onCancelled: function () {\r\n // showResult(\"cancelled\", \"\",token);\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Cancelled',\r\n onAfterClose: (function () {\r\n $timeout(function() {\r\n $scope.loading = false; \r\n });\r\n })\r\n });\r\n },\r\n onDeclined: function (response) {\r\n showResult(\"declined\", JSON.stringify(response, null, '\\t'), token);\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Declined',\r\n onAfterClose: (function () {\r\n $timeout(function() {\r\n $scope.loading = false; \r\n });\r\n })\r\n });\r\n },\r\n onApproval: function (response) {\t\t\t\r\n\t\t\t\t$scope.paymentElavon.ElavonTransactionID = response.ssl_txn_id;\r\n\t\t\t\t$scope.paymentElavon.ElavonOrderID = response.ssl_invoice_number;\r\n\t\t\t\t$scope.joinEvent();\r\n\r\n // showResult(\"approval\", JSON.stringify(response, null, '\\t'),token);\r\n }\r\n };\r\n PayWithConverge.open(paymentFields, callback);\r\n return false;\r\n\t}\r\n\r\n\tfunction showResult(status, msg, token) {\r\n\t\tconsole.log(status, msg)\r\n\r\n\t\tlet url = '/membership/SaveElavonError/';\r\n\t\tlet dataObject = {\r\n\t\t\tToken: token,\r\n\t\t\tStatus: status,\r\n\t\t\tExceptionText: msg,\r\n\t\t\tNameSpace: namespace\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: url,\r\n\t\t\tdata: dataObject\r\n\t\t});\r\n\t}\r\n\r\n\tfunction generatePaymob(){\r\n\r\n\t\tlet dataObject = prepareDataToSned();\r\n\t\tdataObject.Language = lang;\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/GeneratePaymobURL',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif(data != 'Error'){\r\n\t\t\t\tlet paymoblink = data;\r\n window.location.href = paymoblink;\r\n\t\t\t}else{\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t});\r\n\r\n\t\t $('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t $scope.formLoaded = true;\r\n\t\t $scope.loading = false;\r\n\t\t\t}\r\n\t\t\tconsole.log(data);\r\n\t\t}).error(function (error) {\r\n\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated,\r\n\t\t\t});\r\n\r\n\t\t\t$('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t\t$scope.formLoaded = true;\r\n\t\t\t$scope.loading = false;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction generateMyPos(){\r\n\r\n\t\tlet dataObject = prepareDataToSned();\r\n\t\tdataObject.Language = lang;\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/GenerateMyPosValues',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif(data != 'Error'){\r\n\t\t\t\tpost_to_url(data, 'post');\r\n\t\t\t}else{\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t});\r\n\r\n\t\t $('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t $scope.formLoaded = true;\r\n\t\t $scope.loading = false;\r\n\t\t\t}\r\n\t\t\tconsole.log(data);\r\n\t\t}).error(function (error) {\r\n\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated,\r\n\t\t\t});\r\n\r\n\t\t\t$('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t\t$scope.formLoaded = true;\r\n\t\t\t$scope.loading = false;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction generateNetcash(){\r\n\r\n\t\tlet dataObject = prepareDataToSned();\r\n\t\tdataObject.Language = lang;\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/GenerateNetCashValues',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif(data != 'Error'){\r\n\t\t\t\tpost_to_url(data, 'post', 'https://paynow.netcash.co.za/site/paynow.aspx');\r\n\t\t\t}else{\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t});\r\n\r\n\t\t $('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t $scope.formLoaded = true;\r\n\t\t $scope.loading = false;\r\n\t\t\t}\r\n\t\t\tconsole.log(data);\r\n\t\t}).error(function (error) {\r\n\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated,\r\n\t\t\t});\r\n\r\n\t\t\t$('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t\t$scope.formLoaded = true;\r\n\t\t\t$scope.loading = false;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction post_to_url(params, method, url) {\r\n\t\tlet path = $scope.classSettings.MyPosTestingMode ? 'https://www.mypos.com/vmp/checkout-test' : 'https://www.mypos.com/vmp/checkout';\r\n\t\tif(url){\r\n path = url;\r\n }\r\n\t\tmethod = method || \"post\";\r\n\t\r\n\t\tvar form = document.createElement(\"form\");\r\n\t\tform.setAttribute(\"method\", method);\r\n\t\tform.setAttribute(\"action\", path);\r\n\t\r\n\t\tfor(var key in params) {\r\n\t\t\tif(params.hasOwnProperty(key)) {\r\n\t\t\t\tvar hiddenField = document.createElement(\"input\");\r\n\t\t\t\thiddenField.setAttribute(\"type\", \"hidden\");\r\n\t\t\t\thiddenField.setAttribute(\"name\", key);\r\n\t\t\t\thiddenField.setAttribute(\"value\", params[key]);\r\n\t\r\n\t\t\t\tform.appendChild(hiddenField);\r\n\t\t\t }\r\n\t\t}\r\n\t\r\n\t\tdocument.body.appendChild(form);\r\n\t\tform.submit();\r\n\t}\r\n\r\n\t$scope.closePopup = function () {\r\n\t\t$('.modal').modal('hide');\r\n\t\t$scope.resetForm();\r\n\t\t$scope.formLoaded = true;\r\n\t}\r\n\r\n\t$scope.resetForm = function () {\r\n\t\t$('#optionClassBookingMembership').removeClass(\"hide\");\r\n\t\t$('.modal .popup-body').find('input').val('');\r\n\t\t$scope.smodal = {paymentMethod: null, email: ''};\r\n\t\t$('#selectPaymentMethod').addClass('disabled');\r\n\t\t$scope.clientGroupMemberSel = 0;\r\n\t\t$scope.paymentElavon = {};\r\n\t}\r\n\r\n\t$('#eventScheduleModal').on('hidden.bs.modal', function (e) {\r\n\t\t$scope.resetForm();\r\n\t})\r\n\r\n\t$scope.validateForm = function(){\r\n\t\t$('#eventScheduleModal .form-actions .button').removeClass('disabled');\r\n\t}\r\n\r\n\t// CheckWaiver(string Email, int PublicEventID, int GymID, string Namespace)\r\n\r\n\tfunction checkWaiver(){\r\n\r\n\t\tlet dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tPublicEventID: $scope.PublicEventID,\r\n\t\t\tEmail: $scope.Client.Email\r\n\t\t}\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/CheckWaiver',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif(data == 'Waiver Required!'){\r\n\t\t\t\tvar translated = $translateThis('Waiver Required!Portal');\r\n\t\t\t\tvar waiverHref = window.location.origin + '/waiver/embedregistration?GymID=' + gymid + '&NameSpace=' + namespace + '&Redirect=/Schedulev2/EmbedGroupSchedule';\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t}).then(function(result) {\r\n\t\t\t\t\tif (result.value) {\r\n\t\t\t\t\t\twindow.location.href = waiverHref;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}else{\r\n\t\t\t\t$scope.loading = false;\r\n\t\t\t}\r\n\t\t}).error(function (error) {\r\n\t\t\t$scope.loading = false;\r\n\t\t});\r\n\t}\r\n\r\n\t// Check Valid Membership\r\n\t// HasValidMembership(int ClientID, int ScheduleID, int GymID, string Namespace)\r\n\r\n\tfunction checkHasValidMembership(member){\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tScheduleID: $scope.modalVisit.ID,\r\n\t\t\tClientID: $scope.client.ClientID\r\n\t\t}\r\n\r\n\t\tif(member){\r\n\t\t\tdataObject.ClientID = member.ClientID\r\n\t\t}\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'GET',\r\n\t\t\turl: '/private/HasValidMembership?Namespace=' + namespace + '&GymID=' + gymid + '&ScheduleID=' + $scope.modalVisit.ID + '&ClientID=' + dataObject.ClientID,\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\tif(data == 'true' || data == 'True' || data == true){\r\n\t\t\t\t$scope.smodal.paymentMethod = '1';\r\n\t\t\t\t$(\"#optionClassBookingMembership\").removeAttr(\"disabled\");\r\n\t\t\t\t$('#selectPaymentMethod').addClass('disabled');\r\n\t\t\t}else{\r\n\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t$scope.smodal.paymentMethod = '';\r\n\t\t\t\t});\r\n\t\t\t\t$('#selectPaymentMethod').removeClass('disabled');\r\n\t\t\t\t$(\"#optionClassBookingMembership\").attr(\"disabled\", \"disabled\");\r\n\t\t\t\tgetEventPrice();\r\n\t\t\t}\r\n\t\t}).error(function () {\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.eventLink = function(event){\r\n\r\n\t\t$scope.peopleWaiting = 0;\r\n\t\t$scope.modalVisit = event;\r\n\r\n\t\tif($scope.Client.BanBooking && $scope.unBanPrice > 0){\r\n\t\t\tlet translated = $translateThis('Your access to the booking system has been suspended due to non-compliance with the rules of the sports center. Please contact reception.');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated,\r\n\t\t\t\tshowCancelButton: true,\r\n\t\t\t\tconfirmButtonText: 'Unban',\r\n\t\t\t}).then((result) => {\r\n\t\t\t\t/* Read more about isConfirmed, isDenied below */\r\n\t\t\t\tif (result.value) {\r\n\t\t\t\t\t$('#unBanModal').modal('show')\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}else{\r\n\t\t\tcheckMaxPeopleArea(event.ID);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction checkMaxPeopleArea(eventID){\r\n\r\n\t\tlet dataObject = {\r\n\t\t\tScheduleContentID: eventID,\r\n\t\t\tGymID: gymid,\r\n\t\t\tNamespace: namespace\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/CheckMaxPeopleAreaReached',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\tif( data == 0 ){\r\n\r\n\t\t\t\tif($scope.modalVisit.FullCapacity){\r\n\t\t\t\t\tif($scope.modalVisit.WaitingList && !$scope.modalVisit.Cancelled){\r\n\t\t\t\t\t\t$('#waitingModal').modal('show');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$scope.joinModal($scope.modalVisit.ID);\r\n\t\t\t\t\t}\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif( $scope.modalVisit.AheadBooking && $scope.modalVisit.BookOnline == true && $scope.modalVisit.AheadBooking && !$scope.modalVisit.Cancelled){\r\n\t\r\n\t\t\t\t\t\tcheckForWaitingPeople()\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$scope.joinModal($scope.modalVisit.ID);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t}else{\r\n\t\t\t\tif($scope.modalVisit.WaitingList && !$scope.modalVisit.Cancelled){\r\n\t\t\t\t\t$('#waitingModal').modal('show');\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlet translated = $translateThis('Area capacity MaxPeople reached');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}).error(function (error) {\r\n\t\t});\r\n\t}\r\n\r\n\tfunction checkForWaitingPeople(eventID){\r\n\t\tlet dataObject = {\r\n\t\t\tScheduleContentID: $scope.modalVisit.ID,\r\n\t\t\tGymID: gymid,\r\n\t\t\tNamespace: namespace\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/CheckForWaitingPeople',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\t$scope.peopleWaiting = data;\r\n\t\t\tif( data > 0 ){\r\n\t\t\t\t$('#waitingModal').modal('show');\r\n\t\t\t}else{\r\n\t\t\t\t$scope.joinModal($scope.modalVisit.ID);\r\n\t\t\t}\r\n\r\n\t\t}).error(function (error) {\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.joinWaitingList = function(event){\r\n\t\tlet dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tId: event.ID,\r\n\t\t\tEmail: $scope.client.Email,\r\n\t\t\tFirstName: $scope.Client.FirstName,\r\n\t\t\tLastName: $scope.Client.LastName,\r\n\t\t\tTelephone: $scope.Client.Telephone,\r\n\t\t\tDate: moment(event.NewDate).toISOString(),\r\n\t\t\tVisitName: event.VisitName,\r\n\t\t\tLanguage: lang\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/JoinWaitingList',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\t//0:everything ok; 1:no client found; 2:cannot add to waiting list; 3:error;4 already in the same waiting list; 7:no event found\r\n\t\t\tlet response = data;\r\n\r\n\t\t\tif(response == 0){\r\n\t\t\t\tlet translated = $translateThis('Thank you for joining the waitlist. You will receive an email if space becomes available.');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 1){\r\n\t\t\t\tlet translated = $translateThis('There is no customer with this email. Please contact reception.');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 2){\r\n\t\t\t\tlet translated = $translateThis('Cannot add to waiting list');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 3){\r\n\t\t\t\tlet translated = $translateThis('Error');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 4){\r\n\t\t\t\tlet translated = $translateThis('You are already in the waitlist. We will send you an email if space becomes available');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 5){\r\n\t\t\t\tlet translated = $translateThis('Your access to the booking system has been suspended due to non-compliance with the rules of the sports center. Please contact reception.');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 7){\r\n\t\t\t\tlet translated = $translateThis('no event found');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t}).error(function (error) {\r\n\t\t});\r\n\t}\r\n\r\n\tfunction getClientMembership(status = null){\r\n\r\n\t\tlet dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tClientID: $scope.client.ClientID,\r\n\t\t}\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/GetClientGroupMembers',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.clientGroupMembers = data;\r\n\t\t\tif(data.length > 1){\r\n\t\t\t}else{\r\n\t\t\t\tif(data.length == 1 && data[0].ClientID == $scope.client.ClientID){\r\n\t\t\t\t\t$scope.clientGroupMembers = [];\r\n\t\t\t\t}\r\n\t\t\t\tif(status == 'joinModal'){\r\n\t\t\t\t\tcheckHasValidMembership();\r\n\t\t\t\t}\r\n\t\t\t\t$scope.getClientServices();\r\n\t\t\t}\r\n\r\n\t\t}).error(function (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t});\r\n\t}\r\n\r\n\t// Join Modal\r\n\t$scope.joinModal = function (visitId) {\r\n\t\t$scope.modalLoading = true;\r\n\t\t$scope.loading = true;\r\n\t\t$scope.noActivePayment = false;\r\n\t\t$scope.visitProducts = [];\r\n\t\t// $scope.clientGroupMembers = [];\r\n\t\tvar result = $.grep($scope.originalData, function (e) { return e.ID == visitId; });\r\n\r\n\t\tif ( result.length > 0 ) {\r\n\t\t\t$scope.modalVisit = result[0];\r\n\t\t\t$scope.PublicEventID = result[0].PublicEventID;\r\n\r\n\t\t\tvar dayOfWeek = $filter('date')($scope.modalVisit.NewDate, 'EEEE');\r\n\t\t\tvar compiledeHTML = $compile(\"
\" + dayOfWeek + \"\")($scope);\r\n\t\t\t$(\".dayofweekn\").html(compiledeHTML);\r\n\r\n\r\n\t\t\tvar now = new Date();\r\n\r\n\t\t\tif (now < $scope.modalVisit.HoursBeforeBooking) {\r\n\t\t\t\t$('#eventScheduleModal').modal('show');\r\n\r\n\t\t\t\tif($scope.modalVisit.BookOnline == true && $scope.modalVisit.AheadBooking && !$scope.modalVisit.Cancelled && !$scope.modalVisit.FullCapacity){\r\n\r\n\t\t\t\t\tif($scope.client){\r\n\t\t\t\t\t\tgetClientMembership('joinModal');\r\n\t\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\tvar dataObject = {\r\n\t\t\t\t\t\t\tNamespace: namespace,\r\n\t\t\t\t\t\t\tGymID: gymid,\r\n\t\t\t\t\t\t\tID: visitId\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t$http({\r\n\t\t\t\t\t\t\tmethod: 'GET',\r\n\t\t\t\t\t\t\turl: '/api/public/GetEqipment?nameSpace=' + namespace + '&gymId=' + gymid + '&ID=' + visitId,\r\n\t\t\t\t\t\t\tdata: dataObject\r\n\t\t\t\t\t\t}).success(function (data) {\r\n\t\t\t\t\t\t\t$scope.visitProducts = data;\r\n\t\t\t\t\t\t\t$scope.modalLoading = false;\r\n\t\t\t\t\t\t\tcheckWaiver();\r\n\t\t\t\t\t\t}).error(function () {\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t// $('#eventScheduleModal .form-actions .button').removeClass('disabled');\r\n\t\t\t\t\t}, 10);\t\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\r\n\t\t\t\tlet translated = $translateThis('Its too late to join this event.');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getEventPrice(){\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tid: $scope.PublicEventID,\r\n\t\t}\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'GET',\r\n\t\t\turl: '/private/GetPublicEventPrice?Namespace=' + namespace + '&GymID=' + gymid + '&id=' + $scope.PublicEventID,\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.modalPrice = data;\r\n\r\n\r\n\t\t\t// console.log($('#selectPaymentMethod option.ng-scope'), $('#selectPaymentMethod option.ng-scope').length);\r\n\r\n\t\t\tif( $('#selectPaymentMethod option.ng-scope').length == 1){\r\n\t\t\t\t$scope.smodal.paymentMethod = $('#selectPaymentMethod option.ng-scope').val();\r\n\t\t\t\t$scope.paymentChange();\r\n\t\t\t}\r\n\r\n\t\t}).error(function () {\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.getAttendingClients = function(item){\r\n\r\n\t\tif(!item.AttendingClients){\r\n\t\t\t$scope.modalLoading = true;\r\n\r\n\t\t\tvar dataObject = {\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tScheduleID: item.ID,\r\n\t\t\t\tAreaID: item.AreaID\r\n\t\t\t}\r\n\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\turl: '/private/GetAttendingClients?Namespace=' + namespace + '&GymID=' + gymid + '&ScheduleID=' + item.ID + '&AreaID=' + item.AreaID,\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\titem.attedingCleints = data;\r\n\r\n\t\t\t\t$scope.clientsData = item.attedingCleints;\r\n\t\t\t\t$('#attendantsModal').modal('show');\r\n\r\n\t\t\t}).error(function () {\r\n\t\t\t\t// console.log('error');\r\n\t\t\t});\r\n\t\t}else{\r\n\t\t\t$('#attendantsModal').modal('show');\r\n\t\t\t$scope.clientsData = item.AttendingClients\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t// $('.popup-wrapper .close, .popup-wrapper .popup-overlay').on('click', function (e) {\r\n\t// \te.preventDefault();\r\n\t// \t$('.popup-wrapper, #shcedule-popup .popup, #shcedule-popup .error-msg, #shcedule-popup .success-msg').removeClass('show');\r\n\t// \t$('#shcedule-popup .popup-body').removeClass('show-success show-error');\r\n\t// \t$scope.resetForm();\r\n\t// })\r\n\r\n\t// Datepickers\r\n\t$scope.currentLang = $translate.proposedLanguage() || $translate.use();\r\n\r\n\tschedule_from.datepicker({\r\n\t\tchangeMonth: true,\r\n\t\tchangeYear: true,\r\n\t\tnumberOfMonths: 2,\r\n\t\tminDate: 0,\r\n\t\tonSelect: function (dateText, inst) {\r\n\t\t\tvar date = dateText;\r\n\t\t\tschedule_to.datepicker(\"option\", \"minDate\", date);\r\n\r\n\r\n\t\t\tif ($scope.gym[0].Culture != 'en-US') {\r\n\t\t\t\tvar res = date.split(\"/\");\r\n\t\t\t\tvar date = res[1] + '/' + res[0] + '/' + res[2];\r\n\t\t\t}\r\n\r\n\t\t\t$scope.scheduleStartDate = date;\r\n\t\t}\r\n\t});\r\n\r\n\tschedule_to.datepicker({\r\n\t\tchangeMonth: true,\r\n\t\tchangeYear: true,\r\n\t\tnumberOfMonths: 2,\r\n\t\tminDate: 1,\r\n\t\tonSelect: function (dateText, inst) {\r\n\t\t\tvar date = dateText;\r\n\t\t\tschedule_from.datepicker(\"option\", \"maxDate\", date);\r\n\r\n\t\t\tif ($scope.gym[0].Culture != 'en-US') {\r\n\t\t\t\tvar res = date.split(\"/\");\r\n\t\t\t\tvar date = res[1] + '/' + res[0] + '/' + res[2];\r\n\t\t\t}\r\n\r\n\t\t\tvar tomorrow = new Date(date);\r\n\t\t\ttomorrow.setDate(tomorrow.getDate() + 1);\r\n\r\n\t\t\t$scope.scheduleEndDate = tomorrow;\r\n\t\t}\r\n\t});\r\n\r\n\t$('.ui-datepicker').addClass('notranslate');\r\n\r\n\tif($scope.classSettings.ShowScheduleDaysAhead > 0 ){\r\n\t\tlet days = $scope.classSettings.ShowScheduleDaysAhead - 1;\r\n\t\tlet today = new Date();\r\n\t\ttoday.setDate(today.getDate() + days);\r\n\t\tmaxDate = new Date(today);\r\n\r\n\t\tschedule_from.datepicker(\"option\", \"maxDate\", maxDate);\r\n\t\tschedule_to.datepicker(\"option\", \"maxDate\", maxDate);\r\n\r\n\t}\r\n\r\n\tif ($scope.currentLang == 'bg') {\r\n\t\t$('#schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['bg']);\r\n\t}else if($scope.currentLang == 'es' || $scope.currentLang == 'esc' || $scope.currentLang == 'esm'){\r\n\t\t$('#schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['es']);\r\n\t}else if($scope.currentLang == 'pt'){\r\n\t\t$('#schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['pt']);\r\n\t}else if($scope.currentLang == 'it'){\r\n\t\t$('#schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['it']);\r\n\t}else if($scope.currentLang == 'ro'){\r\n\t\t$('#schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['ro']);\r\n\t}else{\r\n\t\t$('#schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['en']);\r\n\t}\r\n\r\n\tif ($scope.gym[0].Culture == 'en-US') {\r\n\t\t$('#schedule_to, #schedule_from').datepicker( \"option\", \"dateFormat\", \"mm/dd/yy\" );\r\n\t} else {\r\n\t\t$('#schedule_to, #schedule_from').datepicker( \"option\", \"dateFormat\", \"dd/mm/yy\" );\r\n\t}\r\n\r\n\r\n\tfunction getDate(element) {\r\n\t\tvar date;\r\n\t\ttry {\r\n\t\t\tdate = $.datepicker.parseDate(dateFormat, element.value);\r\n\t\t} catch (error) {\r\n\t\t\tdate = null;\r\n\t\t}\r\n\t\treturn date;\r\n\t}\r\n\r\n\r\n\t// $(document).on('click', '.dd .dd-head', function (e) {\r\n\t// \te.preventDefault();\r\n\t// \tif(!$scope.paymentLocked)\r\n\t// \t\t$(this).parent('.dd').toggleClass('show');\r\n\t// });\r\n\r\n\t// $(document).click(function (e) {\r\n\t// \tif ($(e.target).closest('.dd').length === 0 && $('.dd').is('.show')) {\r\n\t// \t\t$('.dd').removeClass('show');\r\n\t// \t}\r\n\t// });\r\n\r\n\t// $(document).on('click', '#shcedule-popup .dd-field', function () {\r\n\t// \tvar content = $(this).find('label').html();\r\n\t// \t$scope.paymentMethod = $(this).find('input').val();\r\n\t// \t$('#shcedule-popup .dd-head').html(content);\r\n\t// \t$('#shcedule-popup .dd').removeClass('show');\r\n\t// \tpaymentChange();\r\n\t// })\r\n\r\n\r\n\r\n\t$('.schedule-wrapper .filter-section .date-col i').on('click', function (e) {\r\n\t\t$(this).parent().find('input').datepicker('show');\r\n\t})\r\n\r\n\t$(window)\r\n\t.on('load', function(){\r\n\t\tresizeAndDatepicker();\r\n\t})\r\n\t.on('resize', function(){\r\n\t\tresizeAndDatepicker();\r\n\t})\r\n\r\n\t// Check Window Size and change datepicker options\r\n\tfunction resizeAndDatepicker(){\r\n\t\tvar windowWidth = $(window).width();\r\n\r\n\t\tif ( windowWidth <= 768 ) {\r\n\t\t\tschedule_from.datepicker(\"option\", \"numberOfMonths\", 1);\r\n\t\t\tschedule_to.datepicker(\"option\", \"numberOfMonths\", 1);\r\n\t\t}else{\r\n\t\t\tschedule_from.datepicker(\"option\", \"numberOfMonths\", 2);\r\n\t\t\tschedule_to.datepicker(\"option\", \"numberOfMonths\", 2);\r\n\t\t}\r\n\t}\r\n\r\n}]);","membershipApp.controller('RequestController', ['$scope', '$http', '$timeout', '$translate', '$filter', function ($scope, $http, $timeout, $translate, $filter) {\r\n\tvar $translateThis = $filter('translate');\r\n\tvar today = new Date();\r\n\tvar requestStartYear = new Date(\"2024-01-01\");\r\n\trequestStartYear.setHours(0,0,0,0);\r\n\ttoday.setHours(0,0,0,0);\r\n\tvar dd = today.getDate();\r\n\tvar mm = today.getMonth() + 1;\r\n\tvar nextYear = today.getFullYear() + 1;\r\n\tvar todayPlusOneYear = new Date(mm + '/' + dd + '/' + nextYear);\r\n\t$scope.createNewRequestView = false;\r\n\r\n\tif(localStorage.getItem('userModel')){\r\n\t\t\r\n\t\tlet modelStorage = localStorage.getItem('userModel');\r\n\t\t$scope.Model = JSON.parse(modelStorage);\r\n\t\tif($scope.Client == null)\r\n\t\t\t$scope.Client = $scope.Model.Client;\r\n\t}\r\n\r\n\t// public ActionResult GetFreezeRequestByClientId(int ClientID, DateTime DateStart, DateTime DateEnd, string Namespace, int GymID)\r\n\r\n\t$scope.getReport = function () {\r\n\t\tvar dataObject = {\r\n\t\t\tClientID: $scope.Client.ClientID,\r\n\t\t\tCardID: $scope.Client.CardID,\r\n\t\t\tEmail: $scope.Client.Email,\r\n\t\t\tDateStart: today.toISOString(),\r\n\t\t\tDateEnd: todayPlusOneYear.toISOString(),\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymId: gymid,\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/account/GetReport',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.Services = [...new Map(data.Services.map(v => [v.ServiceDefinitionID, v])).values()]\r\n\t\t\t$scope.FutureServices = _.groupBy(data.FutureServices, mem => mem.ServiceDefinitionID);\r\n\t\t}).error(function () {\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.getReport();\r\n\r\n\r\n\t$scope.getRequest = function () {\r\n\r\n\t\t\tvar dataObject = {\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tClientID: $scope.Client.ClientID,\r\n\t\t\t\tDateStart: requestStartYear.toISOString(),\r\n\t\t\t\tDateEnd: todayPlusOneYear.toISOString()\r\n\t\t\t}\r\n\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/Membership/GetFreezeRequestByClientId/',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\t$scope.requestList = data;\r\n\r\n\t\t\t\t\r\n\t\t\t}).error(function () {\r\n\t\t\t\t// console.log('error');\r\n\t\t\t});\r\n\t}\r\n\r\n\t$scope.getRequest();\r\n\r\n\t$scope.clickMore = function(item){\r\n\t\tif(item.showMore){\r\n\t\t\titem.showMore = false\r\n\t\t}else{\r\n\t\t\titem.showMore = true;\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.showCreateNewRequest = function(){\r\n\t\t$scope.createNewRequestView = true;\r\n\t}\r\n\r\n\t$scope.hideCreateNewRequest = function(){\r\n\t\t$scope.createNewRequestView = false;\r\n\t}\r\n\r\n\t$scope.changeServiceModel = function(){\r\n\t\tcleanRequetedFields();\r\n\t\t$scope.requestMembershipModel = JSON.parse($scope.requestMembership);\r\n\t\tgetFutureMemberships($scope.requestMembershipModel);\r\n\t}\r\n\r\n\tfunction cleanRequetedFields(cleanAll = false){\r\n\t\t$scope.requestMembership = cleanAll ? undefined : $scope.requestMembership;\r\n\t\t$scope.currentFutureMemberships = undefined;\r\n\t\t$scope.requestType = null;\r\n\t\t$scope.requestStartDate = null;\r\n\t\t$scope.requestDuration = 1;\r\n\t\t$scope.requestMessage = '';\r\n\t}\r\n\r\n\t$scope.changeServiceDateModel = function(){\r\n\t\tif($scope.requestStartDate){\r\n\t\t\t$scope.requestMembershipStartDate = JSON.parse($scope.requestStartDate);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getFutureMemberships(el){\r\n\t\t$scope.currentFutureMemberships = $scope.FutureServices[el.ServiceDefinitionID];\r\n\t}\r\n\r\n\r\n\t// public bool AddFreezeRequest(int ClientID, int CardID, int ServiceID, int RecurringID, int Duration, int Type, string Message, string Namespace, int GymID)\r\n\t// int Type - 0: Membership Freeze, 1: Membership Unfreeze, 2: Membership Cancel, 3: Other\r\n\t$scope.requestDuration = 1;\r\n\r\n\t$scope.duratonPlus = function(){\r\n\t\tif(gym[0].CustomersPortalMaxFreezeMonths > 0 && $scope.requestDuration == gym[0].CustomersPortalMaxFreezeMonths){\r\n\t\t\t\r\n\t\t}else{\r\n\t\t\t$scope.requestDuration += 1;\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.duratonMinus = function(){\r\n\t\tif($scope.requestDuration > 1){\r\n\t\t\t$scope.requestDuration -= 1;\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.createRequest = function () {\r\n\r\n\t\tif(!$scope.loading){\r\n\t\t\t$scope.loading = true;\r\n\r\n\t\t\tif((!$scope.requestMembershipModel.Recurring && $scope.requestMembershipModel.Payment == 0) || $scope.requestMembershipModel.RecurringId <= 0){\r\n\t\t\t\tpaymentServiceType= 2;\r\n\t\t\t}else if($scope.requestMembershipModel.Recurring && $scope.requestMembershipModel.Payment == 1){\r\n\t\t\t\tpaymentServiceType= 1;\r\n\t\t\t}else{\r\n\t\t\t\tpaymentServiceType= 0;\r\n\t\t\t}\r\n\r\n\t\t\tvar dataObject = {\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tMessage: $scope.requestMessage,\r\n\t\t\t\tType: $scope.requestType,\r\n\t\t\t\tDuration: $scope.requestDuration,\r\n\t\t\t\tRecurringID: $scope.requestMembershipModel.RecurringID,\r\n\t\t\t\tServiceID: $scope.requestMembershipStartDate.ServiceID,\r\n\t\t\t\tCardID: $scope.Client.CardID,\r\n\t\t\t\tClientID: $scope.Client.ClientID,\r\n\t\t\t\tStartFreezeDate: $scope.requestMembershipStartDate.DateStart,\r\n\t\t\t\tPaymentServiceType: paymentServiceType\r\n\t\t\t}\r\n\t\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/Membership/AddFreezeRequest/',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\r\n\t\t\t\tif( data == 'True' ){\r\n\t\t\t\t\tvar translated = $translateThis('Request is successful.');\r\n\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t\tcleanRequetedFields(true);\r\n\t\t\t\t\t\t\t$scope.getRequest();\r\n\t\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t\t$scope.createNewRequestView = false;\r\n\t\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t})\r\n\t\t\t\t}else{\r\n\t\t\t\t\tvar translated = $translateThis(data);\r\n\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\r\n\t\t\t}).error(function () {\r\n\t\t\t\tvar translated = $translateThis('error');\r\n\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\tonAfterClose: (function () {\r\n\t\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t})\r\n\t\t\t\t// console.log('error');\r\n\t\t\t});\r\n\t\t}\r\n}\r\n\t\r\n}]);","membershipApp.directive('datepicker', ['$translate', function ($translate) {\r\n\treturn {\r\n\t\tlink: function ($scope, el, attr, ngModel) {\r\n\r\n\t\t\tfunction setCookie(key, value) {\r\n\t\t\t\tvar val = value;\r\n\t\t\t\tvar expires = new Date();\r\n\t\t\t\texpires.setTime(expires.getTime() + (1 * 24 * 60 * 60 * 1000));\r\n\t\t\t\tdocument.cookie = key + '=' + value + ';expires=' + expires.toUTCString() + ';path=/';\r\n\t\t\t\tif (val != \"true\") {\r\n\t\t\t\t\t$('body').addClass('pound-currency');\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$('body').removeClass('pound-currency');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t\tfunction getCookie(key) {\r\n\t\t\t\tvar keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');\r\n\t\t\t\treturn keyValue ? keyValue[2] : null;\r\n\t\t\t}\r\n\r\n\t\t\tvar today = new Date();\r\n\t\t\tvar datepicker = $(el);\r\n\t\t\tvar lastDate = getCookie('setDate');\r\n\r\n\t\t\tdatepicker.datepicker({\r\n\t\t\t\tchangeMonth: true,\r\n\t\t\t\tchangeYear: true,\r\n\t\t\t\tyearRange: \"1920:2040\",\r\n\t\t\t\tnumberOfMonths: 1,\r\n\t\t\t\tonSelect: function (dateText, inst) {\r\n\t\t\t\t\t$scope.currentLang = $translate.proposedLanguage() || $translate.use();\r\n\t\t\t\t\tvar date = $(this).val();\r\n\r\n\t\t\t\t\tif ($scope.gym[0].Culture != 'en-US') {\r\n\t\t\t\t\t\tvar res = date.split(\"/\");\r\n\t\t\t\t\t\tvar date = res[1] + '/' + res[0] + '/' + res[2];\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$scope.cardStartDate = new Date(date);\r\n\t\t\t\t\t$scope.membershipStartDate = $scope.cardStartDate;\r\n\r\n\t\t\t\t\tif ($('.section-authorize').length && !$('#RegBirthdayVal').is(':checked')) {\r\n\t\t\t\t\t\t$('#RegBirthdayVal').trigger('click');\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tif ( $('.onepage-wrapper').length ) {\r\n\t\t\t\t\t\t$scope.theChoosenMembershipDate = $scope.cardStartDate;\r\n\t\t\t\t\t\t$scope.getTerms();\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$scope.$apply();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t$('.ui-datepicker').addClass('notranslate');\r\n\t\t\t$scope.currentLang = $translate.proposedLanguage() || $translate.use();\r\n\r\n\t\t\t// $(window).on('load', function () {\r\n\t\t\t\tif ($('.membershipbuy-wrapper').length) {\r\n\r\n\t\t\t\t\tif (lastDate != null && lastDate != '') {\r\n\t\r\n\t\t\t\t\t\tif ($scope.gym[0].Culture != 'en-US') {\r\n\t\t\t\t\t\t\tvar res = lastDate.split('/');\r\n\t\t\t\t\t\t\tvar newDate = res[1] + '/' + res[0] + '/' + res[2];\r\n\t\t\t\t\t\t\tvar newLastDate = new Date(newDate);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tvar newLastDate = new Date(lastDate);\r\n\t\t\t\t\t\t}\r\n\t\r\n\t\t\t\t\t\tdatepicker.datepicker(\"setDate\", newLastDate);\r\n\t\t\t\t\t\tif (datepicker.parents('.membersip-card').is('.checked')) {\r\n\t\t\t\t\t\t\tsetCookie('setDate', '');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdatepicker.datepicker(\"option\", \"minDate\", 0);\r\n\t\t\t\t\t\tdatepicker.datepicker(\"setDate\", today);\r\n\t\t\t\t\t}\r\n\t\r\n\t\t\t\t\tif($scope.membershipSettings && $scope.membershipSettings.MembershipAheadPurchase > 0){\r\n\t\t\t\t\t\tdatepicker.datepicker(\"option\", \"maxDate\", $scope.membershipSettings.MembershipAheadPurchase);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\r\n\t\t\t\tif ( $('.onepage-wrapper').length ) {\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", \"minDate\", 0);\r\n\t\t\t\t\tdatepicker.datepicker(\"setDate\", today);\r\n\t\t\t\t\t$scope.theChoosenMembershipDate = today;\r\n\t\r\n\t\t\t\t\t// if($scope.theChoosenMembership.FixedDate){\r\n\t\t\t\t\t// \t$scope.theChoosenMembershipDate = new Date($scope.theChoosenMembership.FixedStartingDate);\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t// if ( $scope.lockMembership && ( !$scope.theChoosenMembership || !$scope.theChoosenMembership.FixedDate)) {\r\n\t\t\t\t\t// \tdatepicker.datepicker(\"option\", \"maxDate\", $scope.settings.MembershipAheadPurchase);\r\n\t\t\t\t\t// }\r\n\t\r\n\t\t\t\t\tif($scope.settings.MembershipAheadPurchase > 0){\r\n\t\t\t\t\t\tdatepicker.datepicker(\"option\", \"maxDate\", $scope.settings.MembershipAheadPurchase);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\r\n\t\t\t\tif(($scope.card && $scope.card.FixedDate) || ($scope.theChoosenMembership && $scope.theChoosenMembership.FixedDate)){\r\n\t\t\t\t\tlet date = $scope.card ? $scope.card.FixedStartingDate : $scope.theChoosenMembership.FixedStartingDate;\r\n\t\t\t\t\tdatepicker.datepicker('setDate', new Date(date));\r\n\t\t\t\t\tdatepicker.datepicker('disable');\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif ($('.section-authorize').length) {\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", \"maxDate\", 0);\r\n\t\t\t\t}\r\n\t\r\n\t\t\t\tdatepicker.next('i').on('click', function () {\r\n\t\t\t\t\tdatepicker.datepicker('show');\r\n\t\t\t\t});\r\n\t\r\n\t\r\n\t\t\t\tif ($scope.currentLang == 'en') {\r\n\t\t\t\t\tif(gym[0].Culture == 'en-GB'){\r\n\t\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['en-GB']);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['en']);\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if ($scope.currentLang == 'es' || $scope.currentLang == 'esc' || $scope.currentLang == 'esm'){\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['es']);\r\n\t\t\t\t}else if ($scope.currentLang == 'pt'){\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['pt']);\r\n\t\t\t\t}else if ($scope.currentLang == 'it'){\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['it']);\r\n\t\t\t\t}else if ($scope.currentLang == 'ro'){\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['ro']);\r\n\t\t\t\t}else {\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['bg']);\r\n\t\t\t\t}\r\n\t\r\n\t\t\t\tif ( $scope.gym[0].Culture == 'en-US' ) {\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", \"dateFormat\", 'mm/dd/yy');\r\n\t\t\t\t}else{\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", \"dateFormat\", 'dd/mm/yy');\r\n\t\t\t\t}\r\n\t\t\t// });\r\n\r\n\t\t\t$(document).on('click', '.lang-nav li a', function () {\r\n\t\t\t\tvar lang = $(this).data('lang');\r\n\r\n\t\t\t\tif (lang == 'en') {\r\n\t\t\t\t\tif(gym[0].Culture == 'en-GB'){\r\n\t\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['en-GB']);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['en']);\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'es' || lang == 'esc' || lang == 'esm'){\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['es']);\r\n\t\t\t\t}else if (lang == 'pt'){\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['pt']);\r\n\t\t\t\t}else if (lang == 'it'){\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['it']);\r\n\t\t\t\t}else if (lang == 'ro'){\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['ro']);\r\n\t\t\t\t}else {\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", $.datepicker.regional['bg']);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( $scope.gym[0].Culture == 'en-US' ) {\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", \"dateFormat\", 'mm/dd/yy');\r\n\t\t\t\t}else{\r\n\t\t\t\t\tdatepicker.datepicker(\"option\", \"dateFormat\", 'dd/mm/yy');\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t};\r\n}]);","membershipApp.directive('translateDateObject', ['$timeout', '$translate', function ($timeout, $translate) {\r\n\treturn {\r\n\t\tcontroller: function ($scope) {\r\n\t\t\treturn {};\r\n\t\t},\r\n\t\trequires: 'translateDateObject',\r\n\t\tlink: function (scope, element, attrs, thisController) {\r\n\r\n\t\t\t$timeout(function () {\r\n\r\n\t\t\t\tthisController.html = element[0].innerHTML;\r\n\r\n\t\t\t\t// CLEAN THE STRING TO GET A CLEAN NAME DAY\r\n\t\t\t\tvar content_temp1 = thisController.html.replace('
', '');\r\n\t\t\t\tvar content_temp2 = content_temp1.replace('', '').toLowerCase();\r\n\r\n\t\t\t\tvar day_name = '';\r\n\r\n\t\t\t\tfor (var i = 0, len = content_temp2.length; i < len; i++) {\r\n\t\t\t\t\t// CHECK IF IS A CHAR\r\n\t\t\t\t\tif (content_temp2[i].match(/[a-z]/i)) {\r\n\t\t\t\t\t\tday_name += content_temp2[i];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// CHECK THE ACTIVE LANGUAGE\r\n\t\t\t\tvar lang = $translate.proposedLanguage() || $translate.use();\r\n\r\n\t\t\t\tif (lang == 'bg') {\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Понеделник');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Вторник');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Сряда');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Четвъртък');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Петък');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Събота');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Неделя');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'es'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Lunes');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Martes');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Miércoles');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Jueves');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Viernes');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Sábado');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Domingo');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'esc'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Dilluns');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Dimarts');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Dimecres');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Dijous');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Divendres');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Dissabte');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Diumenge');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'esm'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Dilluns');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Dimarts');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Dimecres');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Dijous');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Divendres');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Dissabte');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Diumenge');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'pt'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Segunda-feira');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Terça-feira');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Quarta-feira');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Quinta-feira');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Sexta-feira');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Sábado');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Domingo');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (lang == 'ro'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Luni');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Marţi');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Miercuri');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Joi');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Vineri');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Sâmbătă');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Duminică');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'it'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Lunedì');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Martedì');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Mercoledì');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Giovedì');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Venerdì');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Sabato');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Domenica');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t$(document).on('click', '.lang-nav li a', function () {\r\n\t\t\t\t\tvar lang = $(this).data('lang');\r\n\r\n\t\t\t\t\tif (lang == 'en') {\r\n\t\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\t\telement.html('
Monday');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\t\telement.html('
Tuesday');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\t\telement.html('
Wednesday');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\t\telement.html('
Thursday');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\t\telement.html('
Friday');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\t\telement.html('
Saturday');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\t\telement.html('
Sunday');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if (lang == 'es'){\r\n\t\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\t\telement.html('
Lunes');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\t\telement.html('
Martes');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\t\telement.html('
Miércoles');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\t\telement.html('
Jueves');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\t\telement.html('
Viernes');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\t\telement.html('
Sábado');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\t\telement.html('
Domingo');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if (lang == 'esc'){\r\n\t\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\t\telement.html('
Dilluns');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\t\telement.html('
Dimarts');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\t\telement.html('
Dimecres');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\t\telement.html('
Dijous');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\t\telement.html('
Divendres');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\t\telement.html('
Dissabte');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\t\telement.html('
Diumenge');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if (lang == 'esm'){\r\n\t\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\t\telement.html('
Dilluns');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\t\telement.html('
Dimarts');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\t\telement.html('
Dimecres');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\t\telement.html('
Dijous');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\t\telement.html('
Divendres');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\t\telement.html('
Dissabte');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\t\telement.html('
Diumenge');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if (lang == 'pt'){\r\n\t\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\t\telement.html('
Segunda-feira');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\t\telement.html('
Terça-feira');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\t\telement.html('
Quarta-feira');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\t\telement.html('
Quinta-feira');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\t\telement.html('
Sexta-feira');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\t\telement.html('
Sábado');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\t\telement.html('
Domingo');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if (lang == 'it'){\r\n\t\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\t\telement.html('
Lunedì');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\t\telement.html('
Martedì');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\t\telement.html('
Mercoledì');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\t\telement.html('
Giovedì');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\t\telement.html('
Venerdì');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\t\telement.html('
Sabato');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\t\telement.html('
Domenica');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else if (lang == 'it'){\r\n\t\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\t\telement.html('
Luni');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\t\telement.html('
Marţi');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\t\telement.html('
Miercuri');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\t\telement.html('
Joi');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\t\telement.html('
Vineri');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\t\telement.html('
Sâmbătă');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\t\telement.html('
Duminică');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\t\telement.html('
Понеделник');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\t\telement.html('
Вторник');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\t\telement.html('
Сряда');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\t\telement.html('
Четвъртък');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\t\telement.html('
Петък');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\t\telement.html('
Събота');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\t\telement.html('
Неделя');\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}]);","var app = angular.module('app', ['ngSanitize', 'pascalprecht.translate'])\r\n\r\napp.config(['$httpProvider', '$translateProvider', function ($httpProvider, $translateProvider) {\r\n\t$httpProvider.defaults.timeout = 5000;\r\n\t \r\n\t//$translateProvider.translations('en', dictEN)\r\n\t// .translations('bg', dictBG);\r\n\r\n\t//$translateProvider.preferredLanguage('bg');\r\n\r\n\t$translateProvider.fallbackLanguage('en');\r\n\t$translateProvider.registerAvailableLanguageKeys(['bg', 'en', 'es', 'esc', 'pt', 'esm','it','ro'], {\r\n\t\t'bg_*': 'bg',\r\n\t\t'en_*': 'en',\r\n\t\t'es_*': 'es',\r\n\t\t'esc_*': 'esc',\r\n\t\t'esm_*': 'esm',\r\n\t\t'pt_*': 'pt',\r\n\t\t'it_*': 'it',\r\n\t\t'ro_*': 'ro'\r\n\t});\r\n\r\n\tvar ob_bg;\r\n\tvar ob_en;\r\n\tvar ob_es;\r\n\tvar ob_esc;\r\n\tvar ob_esm;\r\n\tvar ob_pt;\r\n\tvar ob_it;\r\n\tvar ob_ro;\r\n\r\n\t$.ajax({\r\n\t\tasync: false,\r\n\t\turl: \"../frontend/wipcustomersportal/src/translate/bg.json\",\r\n\t\tsuccess: function (json) {\r\n\t\t\tob_bg = json;\r\n\t\t}\r\n\t});\r\n\r\n\t$.ajax({\r\n\t\tasync: false,\r\n\t\turl: \"../frontend/wipcustomersportal/src/translate/en.json\",\r\n\t\tsuccess: function (json) {\r\n\t\t\tob_en = json;\r\n\t\t}\r\n\t});\r\n\r\n\t$.ajax({\r\n\t\tasync: false,\r\n\t\turl: \"../frontend/wipcustomersportal/src/translate/es.json\",\r\n\t\tsuccess: function (json) {\r\n\t\t\tob_es = json;\r\n\t\t}\r\n\t});\r\n\r\n\t$.ajax({\r\n\t\tasync: false,\r\n\t\turl: \"../frontend/wipcustomersportal/src/translate/esc.json\",\r\n\t\tsuccess: function (json) {\r\n\t\t\tob_esc = json;\r\n\t\t}\r\n\t});\r\n\r\n\t$.ajax({\r\n\t\tasync: false,\r\n\t\turl: \"../frontend/wipcustomersportal/src/translate/esm.json\",\r\n\t\tsuccess: function (json) {\r\n\t\t\tob_esm = json;\r\n\t\t}\r\n\t});\r\n\r\n\t$.ajax({\r\n\t\tasync: false,\r\n\t\turl: \"../frontend/wipcustomersportal/src/translate/pt.json\",\r\n\t\tsuccess: function (json) {\r\n\t\t\tob_pt = json;\r\n\t\t}\r\n\t});\r\n\r\n\t$.ajax({\r\n\t\tasync: false,\r\n\t\turl: \"../frontend/wipcustomersportal/src/translate/it.json\",\r\n\t\tsuccess: function (json) {\r\n\t\t\tob_it = json;\r\n\t\t}\r\n\t});\r\n\r\n\t$.ajax({\r\n\t\tasync: false,\r\n\t\turl: \"../frontend/wipcustomersportal/src/translate/ro.json\",\r\n\t\tsuccess: function (json) {\r\n\t\t\tob_ro = json;\r\n\t\t}\r\n\t});\r\n\r\n\t$translateProvider.translations('en', ob_en);\r\n\t$translateProvider.translations('es', ob_es);\r\n\t$translateProvider.translations('esc', ob_esc);\r\n\t$translateProvider.translations('esm', ob_esm);\r\n\t$translateProvider.translations('bg', ob_bg);\r\n\t$translateProvider.translations('pt', ob_pt);\r\n\t$translateProvider.translations('it', ob_it);\r\n\t$translateProvider.translations('ro', ob_ro);\r\n\r\n\t$translateProvider.preferredLanguage('bg');\r\n\t$translateProvider.preferredLanguage(lang);\r\n\r\n }]);","app.controller('ScheduleController', ['$scope', '$http', '$timeout', '$translate', '$compile', '$filter', function ($scope, $http, $timeout, $translate, $compile, $filter) {\r\n\r\n\t$scope.text = 'me@example.com';\r\n\t$scope.emailFormat = /^(([^<>()\\[\\]\\\\.,;:\\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,}))$/;\r\n\r\n\t// Default variables\r\n\t\r\n\tvar today = new Date();\r\n\tvar dd = today.getDate();\r\n\tvar mm = today.getMonth() + 1;\r\n\tvar yyyy = today.getFullYear();\r\n\tvar nextYear = today.getFullYear() + 1;\r\n\t$scope.visitArea = 0;\r\n\t$scope.visitInstructor = 0;\r\n\t$scope.nameInstructor;\r\n\t$scope.choosenInstructor = false;\r\n\t$scope.nameActivity;\r\n\t$scope.choosenActivity = false;\r\n\t$scope.showFilters = showFilters;\r\n\t$scope.showCapacity = showCapacity;\r\n\t$scope.allowBooking = allowBooking;\r\n\t$scope.startMonday = startMonday;\r\n\t$scope.filterActivity = filterActivity;\r\n\t$scope.showInstructor = showInstructor;\r\n\t$scope.paymentMethods = new Array(\"OnSide\", \"Membership\", \"Sodexo\", \"MultiSport\", \"Voucher\", \"EPay\", \"PaySafe\", \"Stripe\");\r\n\t$scope.listView = true;\r\n\t$scope.currentGymId = gymid;\r\n\t$scope.modalLoading = false;\r\n\t$scope.emptySchedule = false;\r\n\t$scope.activityId = null;\r\n\t$scope.peopleWaiting = 0;\r\n\t$scope.logo = logo;\r\n\t$scope.showLogo = showLogo;\r\n\t$scope.login = login;\r\n\t$scope.loginRequired = loginRequired;\r\n\t$scope.paymentElavon= {};\r\n\tvar $translateThis = $filter('translate');\r\n\t$scope.smodal = {paymentMethod: null, email: ''};\r\n\t// if ( lang == null && gym[0].Languages == null ) {\r\n\t// \tlang = 'bg';\r\n\t// }\r\n\t$scope.requireLogin = false;\r\n\r\n\tif(loginRequired && !client){\r\n\t\t$scope.requireLogin = true;\r\n\t}\r\n\r\n\tif( client != null ){\r\n\t\t$scope.client = client;\r\n\t}\r\n\r\n\tif(gym){\r\n\t\t$scope.gym = gym;\r\n\r\n\t\t$scope.phoneFormat = gym[0].Culture.includes('GB') ? /^[0-9\\s]{5,11}$/ : /^[0-9]{5,15}$/;\r\n\r\n\t\t$($scope.gym[0].BODYPart).prependTo('.body-scripts');\r\n\t\t$($scope.gym[0].HEADPart).appendTo(document.head);\r\n\r\n\t\tif (gym[0].Culture == 'bg-BG') {\r\n\t\t\t$scope.customCurrency = 'лв.';\r\n\t\t}else if(gym[0].Culture.includes('-ES') || gym[0].Culture.includes('pt')){\r\n\t\t\t$scope.customCurrency = 'eur';\r\n\t\t}else if(gym[0].Culture == \"fr-CH\"){\r\n\t\t\t$scope.customCurrency = 'CHF';\r\n\t\t}else if(gym[0].Culture.includes('-GB')){\r\n\t\t\t$scope.customCurrency = '£';\r\n\t\t}else {\r\n\t\t\t$scope.customCurrency = '$';\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.gymAreaOnly = false;\r\n\tif ( gymArea ){\r\n\t\t$scope.gymAreaOnly = true;\r\n\t}\r\n\r\n\t$scope.lang = lang;\r\n\r\n\tif (showFilters == false) {\r\n\t\tvar time = new Date().getTime();\r\n\t\t$(document.body).bind(\"mousemove keypress touchstart touch\", function (e) {\r\n\t\t\ttime = new Date().getTime();\r\n\t\t});\r\n\r\n\t\tvar timeout = 900000;\r\n\r\n\t\tfunction refresh() {\r\n\t\t\tif (new Date().getTime() - time >= timeout) {\r\n\t\t\t\twindow.location.reload(true);\r\n\t\t\t} else {\r\n\t\t\t\tsetTimeout(refresh, timeout);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tsetTimeout(refresh, timeout);\r\n\t}\r\n\r\n\r\n\t// Finding TimeZone Offset\r\n\tconst timeZones = [\"Europe/Andorra\",\"Asia/Dubai\",\"Asia/Kabul\",\"Europe/Tirane\",\"Asia/Yerevan\",\"Antarctica/Casey\",\"Antarctica/Davis\",\"Antarctica/DumontDUrville\",\"Antarctica/Mawson\",\"Antarctica/Palmer\",\"Antarctica/Rothera\",\"Antarctica/Syowa\",\"Antarctica/Troll\",\"Antarctica/Vostok\",\"America/Argentina/Buenos_Aires\",\"America/Argentina/Cordoba\",\"America/Argentina/Salta\",\"America/Argentina/Jujuy\",\"America/Argentina/Tucuman\",\"America/Argentina/Catamarca\",\"America/Argentina/La_Rioja\",\"America/Argentina/San_Juan\",\"America/Argentina/Mendoza\",\"America/Argentina/San_Luis\",\"America/Argentina/Rio_Gallegos\",\"America/Argentina/Ushuaia\",\"Pacific/Pago_Pago\",\"Europe/Vienna\",\"Australia/Lord_Howe\",\"Antarctica/Macquarie\",\"Australia/Hobart\",\"Australia/Melbourne\",\"Australia/Sydney\",\"Australia/Broken_Hill\",\"Australia/Brisbane\",\"Australia/Lindeman\",\"Australia/Adelaide\",\"Australia/Darwin\",\"Australia/Perth\",\"Australia/Eucla\",\"Asia/Baku\",\"America/Barbados\",\"Asia/Dhaka\",\"Europe/Brussels\",\"Europe/Sofia\",\"Atlantic/Bermuda\",\"Asia/Brunei\",\"America/La_Paz\",\"America/Noronha\",\"America/Belem\",\"America/Fortaleza\",\"America/Recife\",\"America/Araguaina\",\"America/Maceio\",\"America/Bahia\",\"America/Sao_Paulo\",\"America/Campo_Grande\",\"America/Cuiaba\",\"America/Santarem\",\"America/Porto_Velho\",\"America/Boa_Vista\",\"America/Manaus\",\"America/Eirunepe\",\"America/Rio_Branco\",\"America/Nassau\",\"Asia/Thimphu\",\"Europe/Minsk\",\"America/Belize\",\"America/St_Johns\",\"America/Halifax\",\"America/Glace_Bay\",\"America/Moncton\",\"America/Goose_Bay\",\"America/Blanc-Sablon\",\"America/Toronto\",\"America/Nipigon\",\"America/Thunder_Bay\",\"America/Iqaluit\",\"America/Pangnirtung\",\"America/Atikokan\",\"America/Winnipeg\",\"America/Rainy_River\",\"America/Resolute\",\"America/Rankin_Inlet\",\"America/Regina\",\"America/Swift_Current\",\"America/Edmonton\",\"America/Cambridge_Bay\",\"America/Yellowknife\",\"America/Inuvik\",\"America/Creston\",\"America/Dawson_Creek\",\"America/Fort_Nelson\",\"America/Whitehorse\",\"America/Dawson\",\"America/Vancouver\",\"Indian/Cocos\",\"Europe/Zurich\",\"Africa/Abidjan\",\"Pacific/Rarotonga\",\"America/Santiago\",\"America/Punta_Arenas\",\"Pacific/Easter\",\"Asia/Shanghai\",\"Asia/Urumqi\",\"America/Bogota\",\"America/Costa_Rica\",\"America/Havana\",\"Atlantic/Cape_Verde\",\"America/Curacao\",\"Indian/Christmas\",\"Asia/Nicosia\",\"Asia/Famagusta\",\"Europe/Prague\",\"Europe/Berlin\",\"Europe/Copenhagen\",\"America/Santo_Domingo\",\"Africa/Algiers\",\"America/Guayaquil\",\"Pacific/Galapagos\",\"Europe/Tallinn\",\"Africa/Cairo\",\"Africa/El_Aaiun\",\"Europe/Madrid\",\"Africa/Ceuta\",\"Atlantic/Canary\",\"Europe/Helsinki\",\"Pacific/Fiji\",\"Atlantic/Stanley\",\"Pacific/Chuuk\",\"Pacific/Pohnpei\",\"Pacific/Kosrae\",\"Atlantic/Faroe\",\"Europe/Paris\",\"Europe/London\",\"Asia/Tbilisi\",\"America/Cayenne\",\"Africa/Accra\",\"Europe/Gibraltar\",\"America/Nuuk\",\"America/Danmarkshavn\",\"America/Scoresbysund\",\"America/Thule\",\"Europe/Athens\",\"Atlantic/South_Georgia\",\"America/Guatemala\",\"Pacific/Guam\",\"Africa/Bissau\",\"America/Guyana\",\"Asia/Hong_Kong\",\"America/Tegucigalpa\",\"America/Port-au-Prince\",\"Europe/Budapest\",\"Asia/Jakarta\",\"Asia/Pontianak\",\"Asia/Makassar\",\"Asia/Jayapura\",\"Europe/Dublin\",\"Asia/Jerusalem\",\"Asia/Kolkata\",\"Indian/Chagos\",\"Asia/Baghdad\",\"Asia/Tehran\",\"Atlantic/Reykjavik\",\"Europe/Rome\",\"America/Jamaica\",\"Asia/Amman\",\"Asia/Tokyo\",\"Africa/Nairobi\",\"Asia/Bishkek\",\"Pacific/Tarawa\",\"Pacific/Enderbury\",\"Pacific/Kiritimati\",\"Asia/Pyongyang\",\"Asia/Seoul\",\"Asia/Almaty\",\"Asia/Qyzylorda\",\"Asia/Qostanay\",\"Asia/Aqtobe\",\"Asia/Aqtau\",\"Asia/Atyrau\",\"Asia/Oral\",\"Asia/Beirut\",\"Asia/Colombo\",\"Africa/Monrovia\",\"Europe/Vilnius\",\"Europe/Luxembourg\",\"Europe/Riga\",\"Africa/Tripoli\",\"Africa/Casablanca\",\"Europe/Monaco\",\"Europe/Chisinau\",\"Pacific/Majuro\",\"Pacific/Kwajalein\",\"Asia/Yangon\",\"Asia/Ulaanbaatar\",\"Asia/Hovd\",\"Asia/Choibalsan\",\"Asia/Macau\",\"America/Martinique\",\"Europe/Malta\",\"Indian/Mauritius\",\"Indian/Maldives\",\"America/Mexico_City\",\"America/Cancun\",\"America/Merida\",\"America/Monterrey\",\"America/Matamoros\",\"America/Mazatlan\",\"America/Chihuahua\",\"America/Ojinaga\",\"America/Hermosillo\",\"America/Tijuana\",\"America/Bahia_Banderas\",\"Asia/Kuala_Lumpur\",\"Asia/Kuching\",\"Africa/Maputo\",\"Africa/Windhoek\",\"Pacific/Noumea\",\"Pacific/Norfolk\",\"Africa/Lagos\",\"America/Managua\",\"Europe/Amsterdam\",\"Europe/Oslo\",\"Asia/Kathmandu\",\"Pacific/Nauru\",\"Pacific/Niue\",\"Pacific/Auckland\",\"Pacific/Chatham\",\"America/Panama\",\"America/Lima\",\"Pacific/Tahiti\",\"Pacific/Marquesas\",\"Pacific/Gambier\",\"Pacific/Port_Moresby\",\"Pacific/Bougainville\",\"Asia/Manila\",\"Asia/Karachi\",\"Europe/Warsaw\",\"America/Miquelon\",\"Pacific/Pitcairn\",\"America/Puerto_Rico\",\"Asia/Gaza\",\"Asia/Hebron\",\"Europe/Lisbon\",\"Atlantic/Madeira\",\"Atlantic/Azores\",\"Pacific/Palau\",\"America/Asuncion\",\"Asia/Qatar\",\"Indian/Reunion\",\"Europe/Bucharest\",\"Europe/Belgrade\",\"Europe/Kaliningrad\",\"Europe/Moscow\",\"Europe/Simferopol\",\"Europe/Kirov\",\"Europe/Volgograd\",\"Europe/Astrakhan\",\"Europe/Saratov\",\"Europe/Ulyanovsk\",\"Europe/Samara\",\"Asia/Yekaterinburg\",\"Asia/Omsk\",\"Asia/Novosibirsk\",\"Asia/Barnaul\",\"Asia/Tomsk\",\"Asia/Novokuznetsk\",\"Asia/Krasnoyarsk\",\"Asia/Irkutsk\",\"Asia/Chita\",\"Asia/Yakutsk\",\"Asia/Khandyga\",\"Asia/Vladivostok\",\"Asia/Ust-Nera\",\"Asia/Magadan\",\"Asia/Sakhalin\",\"Asia/Srednekolymsk\",\"Asia/Kamchatka\",\"Asia/Anadyr\",\"Asia/Riyadh\",\"Pacific/Guadalcanal\",\"Indian/Mahe\",\"Africa/Khartoum\",\"Europe/Stockholm\",\"Asia/Singapore\",\"America/Paramaribo\",\"Africa/Juba\",\"Africa/Sao_Tome\",\"America/El_Salvador\",\"Asia/Damascus\",\"America/Grand_Turk\",\"Africa/Ndjamena\",\"Indian/Kerguelen\",\"Asia/Bangkok\",\"Asia/Dushanbe\",\"Pacific/Fakaofo\",\"Asia/Dili\",\"Asia/Ashgabat\",\"Africa/Tunis\",\"Pacific/Tongatapu\",\"Europe/Istanbul\",\"America/Port_of_Spain\",\"Pacific/Funafuti\",\"Asia/Taipei\",\"Europe/Kiev\",\"Europe/Uzhgorod\",\"Europe/Zaporozhye\",\"Pacific/Wake\",\"America/New_York\",\"America/Detroit\",\"America/Kentucky/Louisville\",\"America/Kentucky/Monticello\",\"America/Indiana/Indianapolis\",\"America/Indiana/Vincennes\",\"America/Indiana/Winamac\",\"America/Indiana/Marengo\",\"America/Indiana/Petersburg\",\"America/Indiana/Vevay\",\"America/Chicago\",\"America/Indiana/Tell_City\",\"America/Indiana/Knox\",\"America/Menominee\",\"America/North_Dakota/Center\",\"America/North_Dakota/New_Salem\",\"America/North_Dakota/Beulah\",\"America/Denver\",\"America/Boise\",\"America/Phoenix\",\"America/Los_Angeles\",\"America/Anchorage\",\"America/Juneau\",\"America/Sitka\",\"America/Metlakatla\",\"America/Yakutat\",\"America/Nome\",\"America/Adak\",\"Pacific/Honolulu\",\"America/Montevideo\",\"Asia/Samarkand\",\"Asia/Tashkent\",\"America/Caracas\",\"Asia/Ho_Chi_Minh\",\"Pacific/Efate\",\"Pacific/Wallis\",\"Pacific/Apia\",\"Africa/Johannesburg\",\"America/Antigua\",\"America/Anguilla\",\"Africa/Luanda\",\"Antarctica/McMurdo\",\"America/Aruba\",\"Europe/Mariehamn\",\"Europe/Sarajevo\",\"Africa/Ouagadougou\",\"Asia/Bahrain\",\"Africa/Bujumbura\",\"Africa/Porto-Novo\",\"America/St_Barthelemy\",\"America/Kralendijk\",\"Africa/Gaborone\",\"Africa/Kinshasa\",\"Africa/Lubumbashi\",\"Africa/Bangui\",\"Africa/Brazzaville\",\"Africa/Douala\",\"Europe/Busingen\",\"Africa/Djibouti\",\"America/Dominica\",\"Africa/Asmara\",\"Africa/Addis_Ababa\",\"Africa/Libreville\",\"America/Grenada\",\"Europe/Guernsey\",\"Africa/Banjul\",\"Africa/Conakry\",\"America/Guadeloupe\",\"Africa/Malabo\",\"Europe/Zagreb\",\"Europe/Isle_of_Man\",\"Europe/Jersey\",\"Asia/Phnom_Penh\",\"Indian/Comoro\",\"America/St_Kitts\",\"Asia/Kuwait\",\"America/Cayman\",\"Asia/Vientiane\",\"America/St_Lucia\",\"Europe/Vaduz\",\"Africa/Maseru\",\"Europe/Podgorica\",\"America/Marigot\",\"Indian/Antananarivo\",\"Europe/Skopje\",\"Africa/Bamako\",\"Pacific/Saipan\",\"Africa/Nouakchott\",\"America/Montserrat\",\"Africa/Blantyre\",\"Africa/Niamey\",\"Asia/Muscat\",\"Africa/Kigali\",\"Atlantic/St_Helena\",\"Europe/Ljubljana\",\"Arctic/Longyearbyen\",\"Europe/Bratislava\",\"Africa/Freetown\",\"Europe/San_Marino\",\"Africa/Dakar\",\"Africa/Mogadishu\",\"America/Lower_Princes\",\"Africa/Mbabane\",\"Africa/Lome\",\"Africa/Dar_es_Salaam\",\"Africa/Kampala\",\"Pacific/Midway\",\"Europe/Vatican\",\"America/St_Vincent\",\"America/Tortola\",\"America/St_Thomas\",\"Asia/Aden\",\"Indian/Mayotte\",\"Africa/Lusaka\",\"Africa/Harare\" ]\r\n\r\n\tlet timezoneP = timeZone.split(') ');\r\n\tlet timezonePi = timezoneP[1].split(',');\r\n\tlet timeZoneC = timezonePi[0];\r\n\tlet timeZoneF = timeZones.find(el => el.includes(timeZoneC)); \r\n\r\n\tlet timeZoneOffsetSplit = timezoneP[0].split('UTC');\r\n\t$scope.timeZoneOffset = timeZoneOffsetSplit[1];\r\n\r\n\tmoment.tz.setDefault(timeZoneF);\r\n\r\n\tif (dd < 10) {\r\n\t\tdd = '0' + dd\r\n\t}\r\n\r\n\tif (mm < 10) {\r\n\t\tmm = '0' + mm\r\n\t}\r\n\r\n\ttoday = mm + '/' + dd + '/' + yyyy;\r\n\ttodayInOneYear = mm + '/' + dd + '/' + nextYear;\r\n\r\n\tvar schedule_from = $(\"#schedule_from\");\r\n\tvar schedule_to = $(\"#schedule_to\");\r\n\t$scope.scheduleStartDate = today;\r\n\tif (days != null) {\r\n\t\tlet today = new Date();\r\n\t\tlet dd = today.getDate();\r\n\t\tdd += days;\r\n\t\tif (dd < 10) {\r\n\t\t\tdd = '0' + dd\r\n\t\t}\r\n\t\t$scope.scheduleEndDate = mm + '/' + dd + '/' + yyyy;\r\n\t}else{\r\n\t\t$scope.scheduleEndDate = todayInOneYear;\r\n\t}\r\n\r\n\tif (settings) {\r\n\t\t$scope.classSettings = settings;\r\n\t\t\r\n\t\tif($scope.classSettings.ShowScheduleDaysAhead > 0 ){\r\n\t\t\tlet date = new Date($scope.scheduleStartDate);\r\n\t\t\tdate.setDate(date.getDate() + $scope.classSettings.ShowScheduleDaysAhead);\r\n\t\t\tdate = new Date(date);\r\n\r\n\t\t\tlet dd = date.getDate();\r\n\t\t\tlet mm = date.getMonth() + 1;\r\n\t\t\tlet yyyy = date.getFullYear();\r\n\r\n\t\t\t$scope.scheduleEndDate = mm + '/' + dd + '/' + yyyy;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction findElement(arr, propName, propValue) {\r\n\t\tfor (var i = 0; i < arr.length; i++)\r\n\t\t\tif (arr[i][propName] == propValue)\r\n\t\t\t\treturn arr[i];\r\n\t\t// will return undefined if not found; you could return a default instead\r\n\t}\r\n\r\n\t$scope.getEventsType = function(dgymID){\r\n\t\tif ( dgymID ) {\r\n\t\t\tgymid = dgymID;\r\n\t\t}\r\n\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymId: gymid\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'GET',\r\n\t\t\turl: '/api/public/GetPublicEvents?nameSpace=' + namespace + '&gymId=' + gymid,\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.schedule_activities = data;\r\n\t\t\t$scope.getAreas();\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\t$scope.getEventsType();\r\n\r\n\t// Get Areas\r\n\t$scope.getAreas = function (dgymID) {\r\n\t\tif ( dgymID ) {\r\n\t\t\tgymid = dgymID;\r\n\t\t}\r\n\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymId: gymid\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'GET',\r\n\t\t\turl: '/api/public/GetAreas?nameSpace=' + namespace + '&gymId=' + gymid,\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.schedule_areas = data;\r\n\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tif ( dgymID ) {\r\n\t\t\t\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate, dgymID);\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate);\r\n\t\t\t\t}\r\n\t\t\t}, 500);\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\r\n\tfunction getMonday(d) {\r\n\t\td = new Date(d);\r\n\t\tvar day = d.getDay();\r\n\r\n\t\tvar diff = d.getDate() - day + (day == 0 ? -6 : 1); // adjust when day is sunday\r\n\r\n\t\t$scope.scheduleStartDate = new Date(d.setDate(diff));\r\n\t}\r\n\r\n\t// Get Schedule\r\n\t$scope.getSchedule = function (from, to, dgymID, dontUpdateActInstr) {\r\n\t\tvar updateActInstr = true;\r\n\r\n\t\tif ( dontUpdateActInstr != undefined ){\r\n\t\t\tupdateActInstr = false;\r\n\t\t}\r\n\r\n\t\tif ($scope.startMonday == true) {\r\n\t\t\tgetMonday($scope.scheduleStartDate);\r\n\t\t}\r\n\r\n\t\tif ( dgymID ) {\r\n\t\t\tgymid = dgymID;\r\n\t\t}\r\n\r\n\t\tif ( gymArea ){\r\n\t\t\t$scope.visitArea = gymArea;\r\n\t\t}\r\n\r\n\t\tif ( currentActivity ){\r\n\t\t\t$scope.activityId = currentActivity;\r\n\t\t}\r\n\r\n\r\n\t\tvar dataObject = {\r\n\t\t\tGymID: gymid,\r\n\t\t\tNamespace: namespace,\r\n\t\t\tDateStart: $scope.scheduleStartDate,\r\n\t\t\tDateEnd: $scope.scheduleEndDate,\r\n\t\t\tAreaID: $scope.visitArea,\r\n\t\t\tInstructorID: $scope.visitInstructor,\r\n\t\t\tPrivate: true,\r\n\t\t\tPublicEventID: $scope.activityId,\r\n\t\t\tCategoryID: categoryID,\r\n\t\t\tSubCategoryID: subCategoryID\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/api/public/GetSchedule',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tvar today = new Date();\r\n\t\t\tvar currentActivities = [];\r\n\t\t\tvar currentInstructors = [];\r\n\t\t\t$scope.originalData = data;\r\n\t\t\t$scope.testData = [];\r\n\t\t\t$scope.calendarSchedule = [];\r\n\t\t\t$scope.Schedule = {};\r\n\r\n\t\t\tif(data.length > 0){\r\n\t\t\t\t$scope.emptySchedule = false;\r\n\t\t\t\tangular.copy(data, $scope.testData);\r\n\t\t\t\tfor (var i = 0; i < $scope.testData.length; ++i) {\r\n\t\t\t\t\tvar DateNewDate = moment($scope.testData[i]['Date']);\r\n\t\t\t\t\tvar DateNewDateEnd = moment($scope.testData[i]['DateEnd']);\r\n\r\n\t\t\t\t\tvar isDstChangeDay = moment(DateNewDate).isDST();\r\n\t\t\t\t\tif ( isDstChangeDay ){\r\n\t\t\t\t\t\tDateNewDate = moment(DateNewDate).add(1, 'hours');\r\n\t\t\t\t\t\tDateNewDateEnd = moment(DateNewDateEnd).add(1, 'hours');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar convertedDate = DateNewDate.toString();\r\n\t\t\t\t\tvar convertedDateEnd = DateNewDateEnd.toString();\r\n\t\t\t\t\tvar x = findElement($scope.schedule_areas, \"AreaID\", $scope.testData[i]['AreaID']);\r\n\r\n\t\t\t\t\t$scope.testData[i]['NewDate'] = moment(convertedDate).toDate();\r\n\t\t\t\t\t$scope.testData[i]['NewDateEnd'] = moment(convertedDateEnd).toDate();\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (x != undefined && x['Name'] != undefined)\r\n\t\t\t\t\t\t$scope.testData[i]['AreaName'] = x['Name'];\r\n\r\n\t\t\t\t\t$scope.testData[i]['ShowParticipantsCount'] = x != undefined ? x['ShowParticipantsCount'] : false;\r\n\r\n\t\t\t\t\tvar testDateBeforeBooking = new Date($scope.testData[i]['Date']);\r\n\t\t\t\t\ttestDateBeforeBooking.setHours(moment($scope.testData[i]['Date']).hours() - $scope.classSettings.HoursBeforeBooking);\r\n\t\t\t\t\t$scope.testData[i]['HoursBeforeBooking'] = testDateBeforeBooking;\r\n\r\n\t\t\t\t\tif($scope.testData[i]['Color'].length > 7){\r\n\t\t\t\t\t\tlet firstTwo = $scope.testData[i]['Color'].slice(1, 3);\r\n\t\t\t\t\t\tlet mainColor = $scope.testData[i]['Color'].slice(3, 9);\r\n\t\t\t\t\t\tlet newColor = '#'+mainColor+firstTwo;\r\n\t\t\t\t\t\t$scope.testData[i]['Color'] = newColor;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar testDatedaysAheadBooking = new Date(convertedDate);\r\n\t\t\t\t\ttestDatedaysAheadBooking.setDate(testDatedaysAheadBooking.getDate() - $scope.classSettings.DaysAheadBooking);\r\n\r\n\t\t\t\t\tif (today >= testDatedaysAheadBooking || $scope.classSettings.DaysAheadBooking == 0) {\r\n\t\t\t\t\t\t$scope.testData[i]['AheadBooking'] = true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$scope.testData[i]['AheadBooking'] = false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ( $scope.testData[i]['PeopleAttending'] >= $scope.testData[i]['MaxClients']) {\r\n\t\t\t\t\t\t$scope.testData[i]['FullCapacity'] = true;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$scope.testData[i]['FullCapacity'] = false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$scope.testData[i]['SlotsLeft'] = $scope.testData[i]['PeopleAttending'] >= $scope.testData[i]['MaxClients'] ? '0' : $scope.testData[i]['MaxClients'] - $scope.testData[i]['PeopleAttending'];\r\n\r\n\t\t\t\t\tvar item = {\r\n\t\t\t\t\t\ttitle: $scope.testData[i]['VisitName'],\r\n\t\t\t\t\t\tstart: $scope.testData[i]['Date'],\r\n\t\t\t\t\t\tend: $scope.testData[i]['DateEnd'],\r\n\t\t\t\t\t\tbackgroundColor: $scope.testData[i]['Color'],\r\n\t\t\t\t\t\textendedProps: {\r\n\t\t\t\t\t\t\tzone: $scope.testData[i]['AreaName'],\r\n\t\t\t\t\t\t\tID: $scope.testData[i]['ID'],\r\n\t\t\t\t\t\t\tAheadBooking: $scope.testData[i]['AheadBooking'],\r\n\t\t\t\t\t\t\tBookOnline: $scope.testData[i]['BookOnline'],\r\n\t\t\t\t\t\t\tHoursBeforeBooking: $scope.testData[i]['HoursBeforeBooking'],\r\n\t\t\t\t\t\t\tFullCapacity: $scope.testData[i]['FullCapacity'],\r\n\t\t\t\t\t\t\tWaitingList: $scope.testData[i]['WaitingList']\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$scope.calendarSchedule.push(item);\r\n\r\n\t\t\t\t\tif ( updateActInstr == true ) {\r\n\t\t\t\t\t\tif ( !currentActivities.includes($scope.testData[i]['PublicEventID']) ) {\r\n\t\t\t\t\t\t\tcurrentActivities.push($scope.testData[i]['PublicEventID']);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ( $scope.testData[i]['InstructorIDs'] != null ) {\r\n\t\t\t\t\t\tvar manageInstrucors = $scope.testData[i]['InstructorIDs'];\r\n\r\n\t\t\t\t\t\tif ( manageInstrucors.indexOf(',') > -1 ) {\r\n\t\t\t\t\t\t\tvar res = manageInstrucors.split(',');\r\n\r\n\t\t\t\t\t\t\tfor (var n = 0; n < res.length; n++) {\r\n\t\t\t\t\t\t\t\tif ( !currentInstructors.includes(res[n]) ) {\r\n\t\t\t\t\t\t\t\t\tcurrentInstructors.push(res[n]);\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tvar result = $.grep($scope.schedule_instructors, function (e) { return e.Id == res[n] });\r\n\t\t\t\t\t\t\t\tif ( result.length > 0 ) {\r\n\t\t\t\t\t\t\t\t\tvar instructor = result[0].Name;\r\n\t\t\t\t\t\t\t\t\tif ( n > 0 ) {\r\n\t\t\t\t\t\t\t\t\t\tinstructor = ', ' + instructor;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t$scope.testData[i]['Instructors'] += instructor;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tif ( !currentInstructors.includes(manageInstrucors) && manageInstrucors != '00000000-0000-0000-0000-000000000000' && manageInstrucors != '' ) {\r\n\t\t\t\t\t\t\t\tcurrentInstructors.push(manageInstrucors);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tvar result = $.grep($scope.schedule_instructors, function (e) { return e.Id == manageInstrucors });\r\n\t\t\t\t\t\t\tif ( result.length > 0 ) {\r\n\t\t\t\t\t\t\t\t$scope.testData[i]['Instructors'] = result[0].Name;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( updateActInstr == true ){\r\n\t\t\t\t\tgetCurrentActivities(currentActivities);\r\n\t\t\t\t\tgetCurrentInstructors(currentInstructors);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$scope.originalData = $scope.testData;\r\n\t\t\t\t$scope.testData = $scope.convertTo($scope.testData, 'Date', true);\r\n\r\n\t\t\t\tObject.keys($scope.testData).sort().forEach(function (key) {\r\n\t\t\t\t\t$scope.Schedule[key] = $scope.testData[key];\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif( $('.switch-field a.calendar').is('.active') ){\r\n\t\t\t\t\tfullCalendar($scope.calendarSchedule);\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\t$scope.emptySchedule = true;\r\n\t\t\t}\r\n\t\t\t\t\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\r\n\tfunction getCurrentActivities(array){\r\n\t\t$scope.current_activities = [];\r\n\r\n\t\tfor (var i = 0; i < array.length; i++) {\r\n\t\t\tvar activity = array[i];\r\n\t\t\tvar result = $.grep($scope.schedule_activities, function (e) { return e.Id == activity });\r\n\r\n\t\t\tif ( result.length > 0 ) {\r\n\t\t\t\t$scope.current_activities.push(result[0]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getCurrentInstructors(array){\r\n\t\t$scope.current_instructors = [];\r\n\r\n\t\tfor (var i = 0; i < array.length; i++) {\r\n\t\t\tvar instructor = array[i];\r\n\t\t\tvar result = $.grep($scope.schedule_instructors, function (e) { return e.Id == instructor });\r\n\r\n\t\t\tif ( result.length > 0 ) {\r\n\t\t\t\t$scope.current_instructors.push(result[0]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction fullCalendar(calendarSchedule){\r\n\t\tif ( $('#calendar').children().length > 0 ) {\r\n\t\t $('#calendar').fullCalendar('destroy');\r\n\t\t}\r\n\t\t\r\n\t\t// $('#calendar').fullCalendar({\r\n\t\t// \tevents: calendarSchedule,\r\n\t\t// \tlistDayAltFormat: false,\r\n // listDayFormat: 'dddd DD.MM.YYYY ',\r\n // nowIndicator: true,\r\n // header: {\r\n // left: 'title',\r\n // center: '',\r\n // right: 'prev,next'\r\n // },\r\n // lang: lang,\r\n // locale: lang,\r\n // height: 'auto',\r\n // slotDuration: '00:30:00',\r\n // timeFormat: 'HH:mm',\r\n // defaultView: 'agendaWeek',\r\n // allDaySlot: false,\r\n // editable: false,\r\n // droppable: false,\r\n // minTime: '07:00:00',\r\n // maxTime: '23:00:00',\r\n // eventColor: '#3799b1',\r\n // timezone: 'Europe/Sofia',\r\n\t\t// \teventRender: function(event, element) {\r\n\t\t// \t\tif ( event.fullCapacity == true ) {\r\n // \telement.css({\r\n // \t\t\"opacity\": 0.5,\r\n // \t\t\"pointer-events\": \"none\"\r\n // \t})\r\n\t\t// \t\t}\r\n\r\n // element.find('.fc-title').html('
'+event.title+''+event.zone+'').css('white-space','nowrap');\r\n\t\t// \t},\r\n\t\t// \teventClick: function(event, jsEvent){\r\n\t\t// \t\tvar convertedDate = event.start.toString();\r\n\t\t// \t\tvar convertedDateEnd = event.end.toString();\r\n\t\t// \t\tvar eventStart = new Date(convertedDate);\r\n\t\t// \t\tvar eventEnd = new Date(convertedDateEnd);\r\n\t\t// \t\t// $scope.joinModal(event.itemId);\r\n\r\n\t\t// \t\t$scope.eventLink(event);\r\n\t\t// \t},\r\n\t\t// \teventAfterAllRender: function(view) {\r\n\t\t// \t\tsetTimeout(function() {\r\n\t\t// \t\t\t$('body').addClass('loaded-body');\r\n\t\t// \t\t}, 1000);\r\n\t\t// \t}\r\n\t\t// });\r\n\t\t\r\n\t\tvar calendarEl = document.getElementById('calendar');\r\n var calendar = new FullCalendar.Calendar(calendarEl, {\r\n\t\t\ttimeZone: timeZoneF,\r\n\t\t\tlistDaySideFormat: false,\r\n listDayFormat: 'dddd DD.MM.YYYY ',\r\n nowIndicator: true,\r\n headerToolbar: {\r\n start: 'title',\r\n center: '',\r\n end: 'prev,next'\r\n },\r\n locale: lang,\r\n height: 'auto',\r\n slotDuration: '00:30:00',\r\n eventTimeFormat: {\r\n\t\t\t\thour: '2-digit',\r\n \t\t\tminute: '2-digit',\r\n\t\t\t\tmeridiem: false\r\n\t\t\t},\r\n initialView: 'timeGridWeek',\r\n allDaySlot: false,\r\n editable: false,\r\n droppable: false,\r\n slotMinTime: '07:00:00',\r\n slotMaxTime: '23:00:00',\r\n eventColor: '#3799b1',\r\n\t\t\tevents: calendarSchedule,\r\n\t\t\teventClick: function(eventClickInfo ){\r\n\t\t\t\tlet event = {\r\n\t\t\t\t\tFullCapacity: eventClickInfo.event.extendedProps.FullCapacity,\r\n\t\t\t\t\tWaitingList: eventClickInfo.event.extendedProps.WaitingList,\r\n\t\t\t\t\tBookOnline: eventClickInfo.event.extendedProps.BookOnline,\r\n\t\t\t\t\tAheadBooking: eventClickInfo.event.extendedProps.AheadBooking,\r\n\t\t\t\t\tID: eventClickInfo.event.extendedProps.ID,\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$scope.eventLink(event);\r\n\t\t\t},\r\n\t\t\teventDidMount: function(view) {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t$('body').addClass('loaded-body');\r\n\t\t\t\t}, 1000);\r\n\t\t\t}\r\n });\r\n calendar.render();\r\n\t\t$('.lang-nav ul li a').on('click', function(e){\r\n\t\t\tlet lang = $(this).data('lang');\r\n\t\t\tlang = lang == 'esc' ? 'ca' : lang;\r\n\t\t\tcalendar.setOption('locale', lang);\r\n\t\t})\r\n\r\n\t}\r\n\r\n\t// Get Gyms\r\n\t$scope.getGyms = function () {\r\n\t\t$scope.membershipGyms = [];\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/GetGyms',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif ( data.length > 0 ) {\r\n\t\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\t\tif ( data[i].IsOnline == true ) {\r\n\t\t\t\t\t\t$scope.membershipGyms.push(data[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$scope.gymid = $scope.membershipGyms[0].GymID;\r\n\r\n\t\t\t\tif( $scope.membershipGyms.length == 1 ){\r\n\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t$scope.scheduleDivision = $scope.membershipGyms[0].GymID;\r\n\t\t\t\t\t\t$scope.updategymId($scope.membershipGyms[0].GymID);\r\n\t\t\t\t\t\t$('#scheduleDivisionSelect').val($scope.membershipGyms[0].GymID).trigger('change');\r\n\t\t\t\t\t});\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$scope.updategymId(gymid);\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\t$scope.updategymId(gymid);\r\n\t\t\t\t$scope.gymAreaOnly = true;\r\n\t\t\t}\r\n\t\t}).error(function () {\r\n\t\t\t// console.log('error');\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.getGyms();\r\n\r\n\t$('.switch-field a').on('click', function(e){\r\n\t\te.preventDefault();\r\n\t\tvar item = $(this);\r\n\r\n\t\tif ( !item.is('.active') ){\r\n\t\t\titem.addClass('active').siblings('.active').removeClass('active');\r\n\t\t}\r\n\r\n\t\tif ( item.is('.list') ){\r\n\t\t\t$('.schedule-list').show();\r\n\t\t\t$('#calendar').hide();\r\n\t\t}else{\r\n\t\t\t$('.schedule-list').hide();\r\n\t\t\t$('#calendar').show();\r\n\t\t\tfullCalendar($scope.calendarSchedule);\r\n\t\t}\r\n\t})\r\n\r\n\t$scope.convertTo = function (arr, key, dayWise) {\r\n\t\tvar groups = {};\r\n\r\n\t\tfor (var i = 0; l = arr.length, i < l; i++) {\r\n\t\t\tarr[i]['DateLocal'] = new Date(arr[i][key]).toISOString().slice(0, 10);\r\n\r\n\t\t\tgroups[arr[i]['DateLocal']] = groups[arr[i]['DateLocal']] || [];\r\n\t\t\tgroups[arr[i]['DateLocal']].push(arr[i]);\r\n\t\t}\r\n\t\treturn groups;\r\n\t};\r\n\r\n\t$scope.updateAreaId = function (id, gymID) {\r\n\t\t$('body').removeClass('loaded-body');\r\n\t\t$('.filter-col-activities input:checked').prop('checked', false);\r\n\t\t$('.filter-col-instructors input:checked').prop('checked', false);\r\n\t\t$scope.activityId = null;\r\n\t\t$scope.choosenActivity = false;\r\n\t\t$scope.scheduleActivity = 'null';\r\n\t\t$scope.visitInstructor = 0;\r\n\t\t$scope.choosenInstructor = false;\r\n\t\t$scope.scheduleInstructor = '0';\r\n\t\t$scope.visitArea = id;\r\n\t\tif ( gymID ) {\r\n\t\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate, gymID);\r\n\t\t}else{\r\n\t\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate);\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.getSettings = function (id) {\r\n\t\tvar dataObject = {\r\n\t\t Namespace: namespace,\r\n\t\t GymID: gymid\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/ScheduleV2/GetSettings',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.classSettings = data;\r\n\r\n\t\t\tif($scope.classSettings.ShowScheduleDaysAhead > 0 ){\r\n\t\t\t\tlet date = new Date($scope.scheduleStartDate);\r\n\t\t\t\tdate.setDate(date.getDate() + $scope.classSettings.ShowScheduleDaysAhead);\r\n\t\t\t\tdate = new Date(date);\r\n\r\n\t\t\t\tlet dd = date.getDate();\r\n\t\t\t\tlet mm = date.getMonth() + 1;\r\n\t\t\t\tlet yyyy = date.getFullYear();\r\n\r\n\t\t\t\t$scope.scheduleEndDate = mm + '/' + dd + '/' + yyyy;\r\n\t\t\t}\r\n\t\t}).error(function () {\r\n\t\t\t// console.log('error');\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.updategymId = function (gymID) {\r\n\t\t$('body').removeClass('loaded-body');\r\n\t\t$scope.visitArea = 0;\r\n\t\t$scope.scheduleActivity = null;\r\n\t\t$scope.choosenActivity = false;\r\n\t\t$scope.activityId = null;\r\n\t\t$('.filter-col-instructors input:checked').prop('checked', false);\r\n\t\t$scope.choosenInstructor = false;\r\n\t\t$scope.visitInstructor = 0;\r\n\t\t$scope.scheduleActivity = 'null';\r\n\t\t$scope.scheduleInstructor = '0';\r\n\t\t$scope.scheduleArea = '0';\r\n\t\t// $scope.getAreas(gymID);\r\n\t\t$scope.getEventsType(gymID);\r\n\t\t$scope.getSettings(gymID);\r\n\t\t$scope.getInstructors(gymID);\r\n\t\t$('.schedule-wrapper .filter-section').addClass('choosedGym');\r\n\t}\r\n\r\n\t$scope.updateActivity = function (activityId) {\r\n\t\t$('body').removeClass('loaded-body');\r\n\t\t$scope.activityId = activityId;\r\n\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate, gymid, 'dontUpdateActInstr');\r\n\r\n\t\tif (activityId != null) {\r\n\t\t\tvar x = findElement($scope.schedule_activities, \"Id\", activityId);\r\n\r\n\t\t\t$scope.choosenActivity = true;\r\n\t\t\t$scope.nameActivity = x['Name'];\r\n\t\t} else {\r\n\t\t\t$scope.choosenActivity = false;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t// Get Instructors\r\n\r\n\t$scope.getInstructors = function (dgymID) {\r\n\t\tif ( dgymID ) {\r\n\t\t\tgymid = dgymID;\r\n\t\t}\r\n\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'GET',\r\n\t\t\turl: '/api/public/GetInstructors?nameSpace=' + namespace + '&gymId=' + gymid,\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.schedule_instructors = data;\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.getInstructors();\r\n\r\n\t$scope.updateInstructorId = function (id) {\r\n\t\t$scope.visitInstructor = id;\r\n\r\n\t\t$scope.getSchedule($scope.scheduleStartDate, $scope.scheduleEndDate, gymid, 'dontUpdateActInstr');\r\n\r\n\t\tif (id != '0') {\r\n\t\t\tvar x = findElement($scope.schedule_instructors, \"Id\", id);\r\n\r\n\t\t\t$scope.choosenInstructor = true;\r\n\t\t\t$scope.nameInstructor = x['Name'];\r\n\t\t} else {\r\n\t\t\t$scope.choosenInstructor = false;\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.updateVisitProductPerson = function(item){\r\n\t\tif (item.productName && item.productName != 'Own equipment') {\r\n\t\t\tvar result = $.grep($scope.visitProducts, function (e) { return e.ProductName == item.productName });\r\n\t\t\tresult[0].ItemsLeft = ++result[0].ItemsLeft;\r\n\t\t}\r\n\r\n\t\tif ( item.productId != '-1' ) {\r\n\t\t\tvar result = $.grep($scope.visitProducts, function (e) { return e.ProductID == item.productId });\r\n\t\t\titem.productName = result[0].ProductName;\r\n\t\t\titem.productItemsLeft = result[0].ItemsLeft;\r\n\t\t\tresult[0].ItemsLeft = --result[0].ItemsLeft;\r\n\t\t}else{\r\n\t\t\titem.productName = 'Own equipment'\r\n\t\t}\r\n\r\n\t\treturn item;\r\n\r\n\t}\r\n\t\r\n\t$scope.updateVisitProduct = function(id){\r\n\t\tif ( id != '-1') {\r\n\t\t\tvar result = $.grep($scope.visitProducts, function (e) { return e.ProductID == id });\r\n\t\t\t$scope.smodal.productId = id;\r\n\t\t\t$scope.smodal.productName = result[0].ProductName;\r\n\t\t\tresult[0].ItemsLeft = --result[0].ItemsLeft;\r\n\t\t}else{\r\n\t\t\t$scope.smodal.productId = '-1';\r\n\t\t\t$scope.smodal.productName = 'Own equipment'\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getEventPrice() {\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tid: $scope.PublicEventID,\r\n\t\t}\r\n\t \r\n\t $http({\r\n\t method: 'GET',\r\n\t url: '/private/GetPublicEventPrice?Namespace=' + namespace + '&GymID=' + gymid + '&id=' + $scope.PublicEventID,\r\n\t data: dataObject\r\n\t }).success(function (data) {\r\n\t // console.log(data);\r\n\t $scope.modalPrice = data;\r\n\r\n\t\t\tif( $('#selectPaymentMethod option.ng-scope').length == 1){\r\n\t\t\t\t$scope.smodal.paymentMethod = $('#selectPaymentMethod option.ng-scope').val();\r\n\t\t\t\t$scope.paymentChange();\r\n\t\t\t}\r\n\t\t\t\r\n\t calculateEventPrice();\r\n\t }).error(function () {\r\n\t });\r\n\t}\r\n\r\n\tfunction stripeInit(){\r\n\t\t// Stripe\r\n\t\t$scope.stripe = Stripe($scope.classSettings.StripePublishKey);\r\n\t\t// Create a Stripe client.\r\n\t\t// var stripe = Stripe($scope.classSettings.StripePublishKey);\r\n\t\t// Create an instance of Elements.\r\n\t\tvar elements = $scope.stripe.elements();\r\n\t\t// Custom styling can be passed to options when creating an Element.\r\n\t\t// (Note that this demo uses a wider set of styles than the guide below.)\r\n\t\tvar style = {\r\n\t\t\tbase: {\r\n\t\t\tcolor: '#32325d',\r\n\t\t\tlineHeight: '18px',\r\n\t\t\tfontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\r\n\t\t\tfontSmoothing: 'antialiased',\r\n\t\t\tfontSize: '16px',\r\n\t\t\t'::placeholder': {\r\n\t\t\t\tcolor: '#aab7c4'\r\n\t\t\t}\r\n\t\t\t},\r\n\t\t\tinvalid: {\r\n\t\t\tcolor: '#fa755a',\r\n\t\t\ticonColor: '#fa755a'\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Create an instance of the card Element.\r\n\t\t$scope.card = elements.create('card', {style: style, hidePostalCode: $scope.classSettings.HidePostalCode });\r\n\r\n\t\t// Add an instance of the card Element into the `card-element`
.\r\n\t\t$scope.card.mount('#card-element');\r\n\r\n\t\t// Handle real-time validation errors from the card Element.\r\n\t\t$scope.card.addEventListener('change', function(event) {\r\n\t\t\tvar displayError = document.getElementById('card-errors');\r\n\t\t\tif (event.error) {\r\n\t\t\t\tdisplayError.textContent = event.error.message;\r\n\t\t\t} else {\r\n\t\t\t\tdisplayError.textContent = '';\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.paymentChange = function(){\r\n\t\tif ($scope.smodal.paymentMethod == '7') {\r\n\t\t\tstripeInit();\r\n\t\t\t$('.shcedule-popup .form-actions .button.stripe-button').addClass('show');\r\n\t\t\t\r\n\t\t\t$('.stripe-button').on('click', function(e){\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\t\r\n\t\t\t\tif(Number($scope.modalPrice).toFixed(2) == 0.00){\r\n\t\t\t\t\t$scope.smodal.paymentMethod = '0';\r\n\t\t\t\t\t$scope.joinEvent();\r\n\t\t\t\t}else{\r\n\t\t\t\t\tgeneratePaymentIntent();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}else{\r\n\t\t\t$('.shcedule-popup .form-actions .button.stripe-button').removeClass('show');\r\n\t\t}\r\n\t}\r\n\r\n\t// Generate PaymentInted for Stripe\r\n\tfunction generatePaymentIntent() {\r\n\t\t$scope.PaymentIntentID = 0;\r\n\t\tlet dataObject = prepareDataToSned();\r\n\r\n\t\tif ($scope.formLoaded == true) {\r\n\t\t\t$scope.formLoaded = false;\r\n\t\t\t$scope.loading = true;\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/private/GeneratePaymentIntent',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\r\n\t\t\t\tif(data == 'Waiver Required!'){\r\n\t\t\t\t\tvar translated = $translateThis('Waiver Required!Portal');\r\n\t\t\t\t\tvar waiverHref = window.location.origin + '/waiver/embedregistration?GymID=' + gymid + '&NameSpace=' + namespace + '&Redirect=/Schedulev2/EmbedGroupSchedulev2';\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t\t}).then(function(result) {\r\n\t\t\t\t\t\tif (result.value) {\r\n\t\t\t\t\t\t\twindow.location.href = waiverHref;\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t\t}, 1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}else if(data == 'Customer banned from booking!'){\r\n\t\t\t\t\tlet translated = $translateThis('Your access to the booking system has been suspended due to non-compliance with the rules of the sports center. Please contact reception.');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t});\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t}else if( data == 2 ){\r\n\t\t\t\t\tlet translated = $translateThis(joinEventResponses[data]);\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t});\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tstripeConfirmCard(data);\r\n\t\t\t\t\t$scope.PaymentIntentID = data.ID;\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t}\r\n\t\t\t}).error(function (error) {\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated\r\n\t\t\t\t});\r\n\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t$scope.loading = false;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tfunction stripeConfirmCard(data){\r\n\r\n\t\tlet name;\r\n\t\tif($scope.client){\r\n\t\t\tname = $scope.client.FirstName + ' ' + $scope.client.LastName;\r\n\t\t}else{\r\n\t\t\tname = $scope.scheduleFirstName + ' ' + $scope.scheduleLastName;\r\n\t\t}\r\n\r\n\t\t$scope.stripe.confirmCardPayment(data.ClientSecret, {\r\n\t\t\tpayment_method: {\r\n\t\t\t\tcard: $scope.card,\r\n\t\t\t\t billing_details: {\r\n\t\t\t\t\tname: name\r\n\t\t\t\t }\r\n\t\t\t}\r\n\t\t}).then(function(result) {\r\n\t\t\tif (result.error) {\r\n\t\t\t\t// Show error to your customer (e.g., insufficient funds)\r\n\t\t\t\t$scope.joinEventResponse = result.error.message;\r\n\t\t\t\tlet translated = $translateThis(result.error.message);\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: function (a){\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\t // The payment has been processed!\r\n\t\t\t\t if (result.paymentIntent.status === 'succeeded') {\r\n\t\t\t\t\t$scope.joinEvent();\r\n\t\t\t\t\t// Show a success message to your customer\r\n\t\t\t\t\t// There's a risk of the customer closing the window before callback\r\n\t\t\t\t\t// execution. Set up a webhook or plugin to listen for the\r\n\t\t\t\t\t// payment_intent.succeeded event that handles any business critical\r\n\t\t\t\t\t// post-payment actions.\r\n\t\t\t\t }else{\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t }\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tfunction prepareDataToSned(){\r\n\t\tlet dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tId: $scope.modalVisit.ID,\r\n\t\t\tEmail: $scope.client ? $scope.client.Email : $scope.smodal.email,\r\n\t\t\tDate: moment($scope.modalVisit.NewDate).toISOString(),\r\n\t\t\tVisitName: $scope.modalVisit.VisitName,\r\n\t\t\tPaymentMethod: $scope.smodal.paymentMethod,\r\n\t\t\tLanguage: lang,\r\n\t\t\tProductID: $scope.smodal.productId,\r\n\t\t\tProductName: $scope.smodal.productName,\r\n\t\t\tAdditionalGuests: $scope.people,\r\n\t\t\tPaymentIntentID: $scope.PaymentIntentID,\r\n\t\t\treceiveEmails: $scope.smodal.MarketingEmailsClassBooking\r\n\t\t}\r\n\r\n\t\tif($scope.clientGroupMemberSel){\r\n\t\t\tlet clientGroupMember = JSON.parse($scope.clientGroupMemberSel);\r\n\t\t\tdataObject.clientID = clientGroupMember.ClientID\r\n\t\t}\r\n\r\n\t\tif ( $scope.classSettings.ClassBookingRequireProfile != true ) {\r\n\t\t\tlet tel;\r\n\t\t\tif($scope.inputPhone){\r\n\t\t\t\ttel = $scope.inputPhone.selectedDialCode.innerHTML + $scope.inputPhone.telInput.value;\r\n\t\t\t\ttel = tel.replace(/ /g,'');\r\n\t\t\t}\r\n\r\n\t\t\tdataObject.FirstName = $scope.client ? $scope.client.FirstName : $scope.scheduleFirstName;\r\n\t\t\tdataObject.LastName = $scope.client ? $scope.client.LastName : $scope.scheduleLastName;\r\n\t\t\tdataObject.Telephone = $scope.client ? $scope.client.Telephone : tel;\r\n\t\t}\r\n\r\n\t\tif ( $scope.smodal.paymentMethod == '7' || $scope.smodal.paymentMethod == '8' || $scope.smodal.paymentMethod == '9' || $scope.smodal.paymentMethod == '10' || $scope.smodal.paymentMethod == '11') {\r\n\t\t\tdataObject.Price = $scope.totalPrice;\r\n\t\t\tdataObject.PublicEventID = $scope.PublicEventID;\r\n\t\t}\r\n\r\n\t\tif($scope.smodal.paymentMethod == '11' && $scope.paymentElavon.ElavonOrderID){\r\n\t\t\tdataObject.OrderID = $scope.paymentElavon.ElavonOrderID;\r\n\t\t\tdataObject.ЕlavonTransactionID = $scope.paymentElavon.ElavonTransactionID;\r\n\t\t\t$scope.formLoaded = true;\r\n\t\t}\r\n\r\n\t\treturn dataObject;\r\n\t}\r\n\r\n\r\n\t$scope.formLoaded = true;\r\n\tvar joinEventResponses = new Array('joinEventResponse1', 'joinEventResponse2', 'joinEventResponse3', 'joinEventResponse4', 'joinEventResponse5', 'joinEventResponse6', 'joinEventResponse7', 'joinEventResponseEmpty','joinEventResponseEmpty', 'joinEventResponse8', 'joinEventResponse9', 'joinEventResponse10');\r\n\r\n\t$scope.modalEventLink = function(){\r\n\t\t$scope.loading = true;\r\n\t\tif ($scope.smodal.paymentMethod == '7') {\r\n\t\t\tif(Number($scope.modalPrice).toFixed(2) == 0.00){\r\n\t\t\t\t$scope.smodal.paymentMethod = '0';\r\n\t\t\t\t$scope.joinEvent();\r\n\t\t\t}else{\r\n\t\t\t\tgeneratePaymentIntent();\r\n\t\t\t}\r\n\t\t}else{\r\n\t\t\t$scope.joinEvent();\r\n\t\t}\r\n\t}\r\n\r\n\t$scope.joinEvent = function () {\r\n\t\t\r\n\t\tgetEqipment($scope.modalVisit.ID, true);\r\n\t\t\r\n\t}\r\n\r\n\tfunction sendJoinEventRequest(){\r\n\t\tconst dataObject = prepareDataToSned();\r\n\r\n\t\tif ($scope.formLoaded == true) {\r\n\t\t\t$scope.formLoaded = false;\r\n\r\n\t\t\tif($scope.smodal.paymentMethod == '8' && Number($scope.modalPrice).toFixed(2) == 0.00){\r\n\t\t\t\tdataObject.PaymentMethod = '0';\r\n\t\t\t}\r\n\r\n\t\t\t///
0:everything ok; 1:max people reached; 2:client already joined the event;3:the event doesnt exist;4:no membership;5 requires a deposit; 5 require profile; 7 schedule wasnt found; 8 Needs Waiver\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/private/JoinEvent',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\tvar responseI = data;\r\n\t\t\t\t$scope.joinEventResponse = joinEventResponses[responseI];\r\n\t\r\n\t\t\t\tif (responseI == 0) {\r\n\t\t\t\t\tif (dataObject.PaymentMethod == 8) {\r\n\t\t\t\t\t\tgenerateMyPos();\r\n\t\t\t\t\t}else if(dataObject.PaymentMethod == 9){\r\n\t\t\t\t\t\tgeneratePaymob();\r\n\t\t\t\t\t}else if(dataObject.PaymentMethod == 10){\r\n\t\t\t\t\t\tgenerateNetcash();\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}else if(responseI == 11) {\r\n\t\t\t\t\tgenerateElavon();\r\n\t\t\t\t}else if(responseI == 1) {\r\n\t\t\t\t\tif($scope.modalVisit.WaitingList){\r\n\t\t\t\t\t\t$('#waitingModal').modal('show');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if(responseI == 6) {\r\n\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t\t\t}else if(responseI == 8){\r\n\t\t\t\t\tvar translated = $translateThis('Waiver Required!Portal');\r\n\t\t\t\t\tvar waiverHref = window.location.origin + '/waiver/embedregistration?GymID=' + gymid + '&NameSpace=' + namespace + '&Redirect=/Schedulev2/EmbedGroupSchedulev2';\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t\t}).then(function(result) {\r\n\t\t\t\t\t\tif (result.value) {\r\n\t\t\t\t\t\t\twindow.location.href = waiverHref;\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t\t}, 1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}else if(responseI == 9) {\r\n\t\t\t\t\tlet maxResPerDay = $scope.classSettings.MaxReservationsPerDay;\r\n\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse, {value: maxResPerDay});\r\n\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$scope.loading = false;\r\n\t\t\t}).error(function (error) {\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t});\r\n\r\n\t\t $('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t $scope.formLoaded = true;\r\n\t\t $scope.loading = false;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tfunction generatePaymob(){\r\n\t\tlet dataObject = prepareDataToSned();\r\n\t\tdataObject.Language = lang;\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/GeneratePaymobURL',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif(data != 'Error'){\r\n\t\t\t\tlet paymoblink = data;\r\n window.location.href = paymoblink;\r\n\t\t\t}else{\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t});\r\n\r\n\t\t $('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t $scope.formLoaded = true;\r\n\t\t $scope.loading = false;\r\n\t\t\t}\r\n\t\t}).error(function (error) {\r\n\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated,\r\n\t\t\t});\r\n\r\n\t\t\t$('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t\t$scope.formLoaded = true;\r\n\t\t\t$scope.loading = false;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction generateElavon(){\r\n\t\tlet dataObject = prepareDataToSned();\r\n\t\tdataObject.Language = lang;\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/GenerateElavonToken',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\topenLightbox(data.ElavonToken)\r\n\t\t\t\r\n\t\t}).error(function (error) {\r\n\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated,\r\n\t\t\t});\r\n\r\n\t\t\t$('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t\t$scope.formLoaded = true;\r\n\t\t\t$scope.loading = false;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction openLightbox(token) {\r\n\t\t$scope.paymentElavon = {};\r\n var paymentFields = {\r\n ssl_txn_auth_token: token\r\n };\r\n var callback = {\r\n onError: function (error) {\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'error',\r\n onAfterClose: (function () {\r\n $timeout(function() {\r\n $scope.loading = false; \r\n });\r\n })\r\n });\r\n\r\n showResult(\"error\", error,token);\r\n },\r\n onCancelled: function () {\r\n // showResult(\"cancelled\", \"\",token);\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Cancelled',\r\n onAfterClose: (function () {\r\n $timeout(function() {\r\n $scope.loading = false; \r\n });\r\n })\r\n });\r\n },\r\n onDeclined: function (response) {\r\n showResult(\"declined\", JSON.stringify(response, null, '\\t'), token);\r\n Swal.fire({\r\n type: 'warning',\r\n title: 'Declined',\r\n onAfterClose: (function () {\r\n $timeout(function() {\r\n $scope.loading = false; \r\n });\r\n })\r\n });\r\n },\r\n onApproval: function (response) {\t\t\t\r\n\t\t\t\t$scope.paymentElavon.ElavonTransactionID = response.ssl_txn_id;\r\n\t\t\t\t$scope.paymentElavon.ElavonOrderID = response.ssl_invoice_number;\r\n\t\t\t\tsendJoinEventRequest();\r\n\r\n // showResult(\"approval\", JSON.stringify(response, null, '\\t'),token);\r\n }\r\n };\r\n PayWithConverge.open(paymentFields, callback);\r\n return false;\r\n\t}\r\n\r\n\tfunction showResult(status, msg, token) {\r\n\t\tconsole.log(status, msg)\r\n\r\n\t\tlet url = '/membership/SaveElavonError/';\r\n\t\tlet dataObject = {\r\n\t\t\tToken: token,\r\n\t\t\tStatus: status,\r\n\t\t\tExceptionText: msg,\r\n\t\t\tNameSpace: namespace\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: url,\r\n\t\t\tdata: dataObject\r\n\t\t});\r\n\t}\r\n\r\n\r\n\tfunction generateNetcash(){\r\n\r\n\t\tlet dataObject = prepareDataToSned();\r\n\t\tdataObject.Language = lang;\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/GenerateNetCashValues',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif(data != 'Error'){\r\n\t\t\t\tpost_to_url(data, 'post', 'https://paynow.netcash.co.za/site/paynow.aspx');\r\n\t\t\t}else{\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t});\r\n\r\n\t\t $('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t $scope.formLoaded = true;\r\n\t\t $scope.loading = false;\r\n\t\t\t}\r\n\t\t\tconsole.log(data);\r\n\t\t}).error(function (error) {\r\n\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated,\r\n\t\t\t});\r\n\r\n\t\t\t$('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t\t$scope.formLoaded = true;\r\n\t\t\t$scope.loading = false;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction generateMyPos(){\r\n\r\n\t\tlet dataObject = prepareDataToSned();\r\n\t\tdataObject.Language = lang;\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/GenerateMyPosValues',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif(data != 'Error'){\r\n\t\t\t\tpost_to_url(data, 'post');\r\n\t\t\t}else{\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t});\r\n\r\n\t\t $('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t $scope.formLoaded = true;\r\n\t\t $scope.loading = false;\r\n\t\t\t}\r\n\t\t\tconsole.log(data);\r\n\t\t}).error(function (error) {\r\n\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated,\r\n\t\t\t});\r\n\r\n\t\t\t$('#eventScheduleModal .form-actions .button-reverse').addClass('disabled');\r\n\t\t\t$scope.formLoaded = true;\r\n\t\t\t$scope.loading = false;\r\n\t\t});\r\n\t}\r\n\r\n\tfunction post_to_url(params, method, url) {\r\n\t\tlet path = $scope.classSettings.MyPosTestingMode ? 'https://www.mypos.com/vmp/checkout-test' : 'https://www.mypos.com/vmp/checkout';\r\n\t\tif(url){\r\n path = url;\r\n }\r\n\t\tmethod = method || \"post\";\r\n\t\r\n\t\tvar form = document.createElement(\"form\");\r\n\t\tform.setAttribute(\"method\", method);\r\n\t\tform.setAttribute(\"action\", path);\r\n\t\r\n\t\tfor(var key in params) {\r\n\t\t\tif(params.hasOwnProperty(key)) {\r\n\t\t\t\tvar hiddenField = document.createElement(\"input\");\r\n\t\t\t\thiddenField.setAttribute(\"type\", \"hidden\");\r\n\t\t\t\thiddenField.setAttribute(\"name\", key);\r\n\t\t\t\thiddenField.setAttribute(\"value\", params[key]);\r\n\t\r\n\t\t\t\tform.appendChild(hiddenField);\r\n\t\t\t }\r\n\t\t}\r\n\t\r\n\t\tdocument.body.appendChild(form);\r\n\t\tform.submit();\r\n\t}\r\n\r\n\t// CheckWaiver(string Email, int PublicEventID, int GymID, string Namespace)\r\n\r\n\t//setup before functions\r\n\tvar typingEmail;\r\n\tvar $inputEmail = $('#popupemail');\r\n\r\n\t//on keyup, start the countdown\r\n\t$inputEmail.on('keyup', function () {\r\n\t clearTimeout(typingEmail);\r\n\t if(!$inputEmail.is('.ng-invalid'))\r\n\t \ttypingEmail = setTimeout(function() {checkWaiver()}, 2000);\r\n\t});\r\n\r\n\t//on keydown, clear the countdown \r\n\t$inputEmail.on('keydown', function () {\r\n\t clearTimeout(typingEmail);\r\n\t});\r\n\r\n\r\n\tfunction setStorage(){\r\n\t\tsessionStorage.setItem('urlParams', window.location.search);\r\n\t}\r\n\r\n\tfunction checkWaiver(){\r\n\r\n\t\tlet dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tPublicEventID: $scope.PublicEventID,\r\n\t\t\tEmail: $scope.client ? $scope.client.Email : $scope.smodal.email\r\n\t\t}\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/CheckWaiver',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif(data == 'Waiver Required!'){\r\n\t\t\t\tvar translated = $translateThis('Waiver Required!Portal');\r\n\t\t\t\tvar waiverHref = window.location.origin + '/waiver/embedregistration?GymID=' + gymid + '&NameSpace=' + namespace + '&Redirect=/Schedulev2/EmbedGroupSchedulev2';\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t}).then(function(result) {\r\n\t\t\t\t\tif (result.value) {\r\n\r\n\t\t\t\t\t\tsetStorage();\r\n\r\n\t\t\t\t\t\twindow.location.href = waiverHref;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t}, 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}else{\r\n\t\t\t\tif($scope.client && $scope.clientGroupMembers.length <= 0)\r\n\t\t\t\t\tcheckHasValidMembership();\r\n\t\t\t}\r\n\t\t}).error(function (error) {\r\n\t\t\t$scope.loading = false;\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.closePopup = function () {\r\n\t\t$scope.resetForm();\r\n\t\t$scope.formLoaded = true;\r\n\t}\r\n\r\n\t$('#eventScheduleModal').on('hidden.bs.modal', function () {\r\n\t\t$('#selectPaymentMethod').addClass('disabled');\r\n\t})\r\n\r\n\t$scope.resetForm = function () {\r\n\t\t$('.event-form').find('input[type=\"text\"], input[type=\"tel\"], input[type=\"email\"]').val('');\r\n\t\t$scope.waitingList = {};\r\n\t\t$scope.people = [];\r\n\t\t$scope.modalPrice = null;\r\n\t\t$scope.smodal = [];\r\n\t\t$scope.paymentElavon = {};\r\n\t\t$('#eventScheduleModal').modal('hide');\r\n\t\t$('#waitingModal').modal('hide');\r\n\t\t$('#optionClassBookingMembership').removeClass(\"hide\");\r\n\t\t$('#selectPaymentMethod').addClass('disabled');\r\n\t\t$scope.clientGroupMemberSel = 0;\r\n\t\t$scope.$apply();\r\n\t}\r\n\r\n\t$scope.eventLink = function(event){\r\n\t\t$scope.peopleWaiting = 0;\r\n\t\t$scope.modalVisit = event;\r\n\r\n\t\tif($scope.client && $scope.client.BanBooking){\r\n\t\t\tlet translated = $translateThis('Your access to the booking system has been suspended due to non-compliance with the rules of the sports center. Please contact reception.');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated\r\n\t\t\t});\r\n\t\t}else{\r\n\r\n\t\t\tcheckMaxPeopleArea(event.ID);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction checkMaxPeopleArea(eventID){\r\n\r\n\t\tlet dataObject = {\r\n\t\t\tScheduleContentID: eventID,\r\n\t\t\tGymID: gymid,\r\n\t\t\tNamespace: namespace\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/CheckMaxPeopleAreaReached',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\tif( data == 0 ){\r\n\t\t\t\tif($scope.modalVisit.FullCapacity){\r\n\t\t\t\t\tif($scope.modalVisit.WaitingList && !$scope.modalVisit.Cancelled){\r\n\t\t\t\t\t\t$('#waitingModal').modal('show');\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$scope.joinModal($scope.modalVisit.ID);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// $('#waiting-popup .popup, #waiting-popup').addClass('show');\r\n\t\t\t\t}else{\r\n\t\r\n\t\t\t\t\tif($scope.allowBooking && $scope.modalVisit.BookOnline == true && $scope.modalVisit.AheadBooking && !$scope.modalVisit.Cancelled){\r\n\t\t\t\t\t\t// CheckForWaitingPeople(int ScheduleContentID, int GymID, string Namespace)\r\n\t\t\t\t\t\tcheckForWaitingPeople();\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$scope.joinModal($scope.modalVisit.ID);\r\n\t\t\t\t\t}\r\n\t\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\tif($scope.modalVisit.WaitingList && !$scope.modalVisit.Cancelled){\r\n\t\t\t\t\t$('#waitingModal').modal('show');\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlet translated = $translateThis('Area capacity MaxPeople reached');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}).error(function (error) {\r\n\t\t});\r\n\t}\r\n\r\n\tfunction checkForWaitingPeople(eventID){\r\n\t\tlet dataObject = {\r\n\t\t\tScheduleContentID: $scope.modalVisit.ID,\r\n\t\t\tGymID: gymid,\r\n\t\t\tNamespace: namespace\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/CheckForWaitingPeople',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.peopleWaiting = data;\r\n\t\t\tif( data > 0 ){\r\n\t\t\t\t$('#waitingModal').modal('show');\r\n\t\t\t\t// $('#waiting-popup .popup, #waiting-popup').addClass('show');\r\n\t\t\t}else{\r\n\t\t\t\t$scope.joinModal($scope.modalVisit.ID);\r\n\t\t\t}\r\n\r\n\t\t}).error(function (error) {\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.joinWaitingList = function(event){\r\n\t\tlet dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tId: event.ID,\r\n\t\t\tEmail: $scope.client ? $scope.client.Email : $scope.waitingList.Email,\r\n\t\t\tDate: moment(event.NewDate).toISOString(),\r\n\t\t\tVisitName: event.VisitName,\r\n\t\t\tLanguage: lang,\r\n\t\t\tAdditionalGuests: $scope.people\r\n\t\t}\r\n\r\n\t\tif ( $scope.classSettings.ClassBookingRequireProfile != true ) {\r\n\t\t\tlet tel;\r\n\t\t\tif($scope.inputPhone){\r\n\t\t\t\ttel = $scope.inputPhone.selectedDialCode.innerHTML + $scope.inputPhone.telInput.value;\r\n\t\t\t\ttel = tel.replace(/ /g,'');\r\n\t\t\t}\r\n\r\n\t\t\tdataObject.FirstName = $scope.client ? $scope.client.FirstName : $scope.scheduleFirstName;\r\n\t\t\tdataObject.LastName = $scope.client ? $scope.client.LastName : $scope.scheduleLastName;\r\n\t\t\tdataObject.Telephone = $scope.client ? $scope.client.Telephone : tel;\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/JoinWaitingList',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\t//0:everything ok; 1:no client found; 2:cannot add to waiting list; 3:error;4 already in the same waiting list; 7:no event found\r\n\t\t\tlet response = data;\r\n\r\n\t\t\tif(response == 0){\r\n\t\t\t\tlet translated = $translateThis('Thank you for joining the waitlist. You will receive an email if space becomes available.');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 1){\r\n\t\t\t\tlet translated = $translateThis('There is no customer with this email. Please contact reception.');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 2){\r\n\t\t\t\tlet translated = $translateThis('Cannot add to waiting list');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 3){\r\n\t\t\t\tlet translated = $translateThis('Error');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 4){\r\n\t\t\t\tlet translated = $translateThis('You are already in the waitlist. We will send you an email if space becomes available');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 5){\r\n\t\t\t\tlet translated = $translateThis('Your access to the booking system has been suspended due to non-compliance with the rules of the sports center. Please contact reception.');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}else if(response == 7){\r\n\t\t\t\tlet translated = $translateThis('no event found');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}).error(function (error) {\r\n\t\t});\r\n\t}\r\n\r\n\tfunction getClientMembership(){\r\n\r\n\t\tlet dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tClientID: $scope.client.ClientID,\r\n\t\t}\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/Membership/GetClientGroupMembers',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\t$scope.clientGroupMembers = data;\r\n\t\t\tif(data.length == 1 && data[0].ClientID == $scope.client.ClientID){\r\n\t\t\t\t$scope.clientGroupMembers = [];\r\n\t\t\t}\r\n\r\n\t\t}).error(function (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t});\r\n\t}\r\n\r\n\r\n\t// Join Modal\r\n\t$scope.joinModal = function (visitId) {\r\n\t\t$scope.haveEquipment = true;\r\n\t\t$scope.visitProducts = [];\r\n\t\t$scope.clientGroupMemberSel = 0;\r\n\t\t$scope.clientGroupMembers = [];\r\n\t\t$scope.visitOriginalProducts = [];\r\n\t\t$scope.modalLoading = true;\r\n\t\t$scope.loading = true;\r\n\t\tvar result = $.grep($scope.originalData, function (e) { return e.ID == visitId; });\r\n\r\n\t\tif ( result.length > 0 ) {\r\n\t\t\t$scope.PublicEventID = result[0].PublicEventID;\r\n\t\t\t$scope.modalVisit = result[0];\r\n\t\t\t$scope.noSlotsLeft = $scope.modalVisit.SlotsLeft > 1 ? false : true;\r\n\r\n\t\t\tvar dayOfWeek = $filter('date')($scope.modalVisit.NewDate, 'EEEE');\r\n\t\t\tvar compiledeHTML = $compile(\"
\" + dayOfWeek + \"\")($scope);\r\n\t\t\t$(\".dayofweekn\").html(compiledeHTML);\r\n\r\n\t\t\tvar now = new Date();\r\n\r\n\t\t\tif (now < $scope.modalVisit.HoursBeforeBooking) {\r\n\t\t\t\t// $('#shcedule-popup').addClass('show');\r\n\t\t\t\t$('#eventScheduleModal').modal('show');\r\n\r\n\t\t\t\tif($scope.allowBooking && $scope.modalVisit.BookOnline == true && $scope.modalVisit.AheadBooking && !$scope.modalVisit.Cancelled && !$scope.modalVisit.FullCapacity){\r\n\t\t\t\t\tif($scope.client){\r\n\t\t\t\t\t\tgetClientMembership();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tsetTimeout(function () {\r\n\r\n\t\t\t\t\t\tgetEqipment(visitId);\r\n\r\n\t\t\t\t\t\tif($scope.client){\r\n\t\t\t\t\t\t\tcheckWaiver();\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tgetEventPrice();\r\n\t\t\t\t\t\t\t$('#selectPaymentMethod').removeClass('disabled');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}, 10);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tlet translated = $translateThis('Its too late to join this event.');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Check Valid Membership\r\n\t// HasValidMembership(int ClientID, int ScheduleID, int GymID, string Namespace)\r\n\t\r\n\tfunction checkHasValidMembership(member){\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tScheduleID: $scope.modalVisit.ID,\r\n\t\t\tClientID: $scope.client.ClientID\r\n\t\t}\r\n\r\n\t\tif(member){\r\n\t\t\tdataObject.ClientID = member.ClientID\r\n\t\t}\r\n\t\t\r\n\t\t$http({\r\n\t\t\tmethod: 'GET',\r\n\t\t\turl: '/private/HasValidMembership?Namespace=' + namespace + '&GymID=' + gymid + '&ScheduleID=' + $scope.modalVisit.ID + '&ClientID=' + dataObject.ClientID,\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\tif(data == 'true' || data == 'True' || data == true){\r\n\t\t\t\t$(\"#optionClassBookingMembership\").removeAttr(\"disabled\");\r\n\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t$scope.smodal.paymentMethod = '1';\r\n\t\t\t\t}, 10);\r\n\t\t\t\t$('#selectPaymentMethod').addClass('disabled');\r\n\t\t\t}else{\r\n\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t$scope.smodal.paymentMethod = '';\r\n\t\t\t\t});\r\n\t\t\t\t$('#selectPaymentMethod').removeClass('disabled');\r\n\t\t\t\t$(\"#optionClassBookingMembership\").attr(\"disabled\", \"disabled\");\r\n\t\t\t\tgetEventPrice();\r\n\t\t\t}\r\n\r\n\t\t\t$scope.formLoaded = true;\r\n\t\t\t$scope.loading = false;\r\n\t\t}).error(function () {\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.$watch('clientGroupMemberSel', function (v) {\r\n\t\tif(v){\r\n\t\t\tvar member = JSON.parse(v);\r\n\t\t\tcheckHasValidMembership(member);\r\n\t\t}\r\n\t});\r\n\r\n\r\n\tfunction checkEqipment(){\t\r\n\t\tlet bookedPeople = [...$scope.people];\r\n\r\n\t\tif(bookedPeople.length > 0){\r\n\t\t\tbookedPeople.push({productId: $scope.smodal.productId})\r\n\t\t\tlet group = bookedPeople.reduce((r, a) => {\r\n\t\t\t\tr[a.productId] = [...r[a.productId] || [], a];\r\n\t\t\t\treturn r;\r\n\t\t\t}, {});\r\n\r\n\t\t\tfor (var key in group) {\r\n\t\t\t\tif(key > 0){\r\n\t\t\t\t\tlet item = $scope.visitOriginalProducts.find((item) => item.ProductID == key);\r\n\t\t\t\t\tif( item.ItemsLeft >= group[key].length){\r\n\t\t\t\t\t\t$scope.haveEquipment = true;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$scope.haveEquipment = false;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$scope.haveEquipment = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}else{\r\n\t\t\tif($scope.visitOriginalProducts.length && $scope.smodal.productId != '-1'){\t\r\n\t\t\t\tlet item = $scope.visitOriginalProducts.find((item) => item.ProductID == $scope.smodal.productId);\r\n\t\t\t\tif(item.ItemsLeft>0){\r\n\t\t\t\t\t$scope.haveEquipment = true;\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$scope.haveEquipment = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tif($scope.haveEquipment){\r\n\t\t\tsendJoinEventRequest();\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getEqipment(visitId, final = false){\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymID: gymid,\r\n\t\t\tID: visitId\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'GET',\r\n\t\t\turl: '/api/public/GetEqipment?nameSpace=' + namespace + '&gymId=' + gymid + '&ID=' + visitId,\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tif($scope.visitProducts.length == 0){\r\n\t\t\t\t$scope.visitProducts = data;\r\n\t\t\t}\r\n\t\t\t$scope.visitOriginalProducts = [...data];\r\n\t\t\t$scope.modalLoading = false;\r\n\t\t\t$scope.loading = false;\r\n\t\t\tif(final)\r\n\t\t\t\tcheckEqipment();\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.getAttendingClients = function(item){\r\n\r\n\t\tif(!item.AttendingClients){\r\n\t\t\t// $scope.modalLoading = true;\r\n\r\n\t\t\tvar dataObject = {\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tScheduleID: item.ID,\r\n\t\t\t\tAreaID: item.AreaID\r\n\t\t\t}\r\n\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\turl: '/private/GetAttendingClients?Namespace=' + namespace + '&GymID=' + gymid + '&ScheduleID=' + item.ID + '&AreaID=' + item.AreaID,\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\titem.attedingCleints = data;\r\n\r\n\t\t\t\t$scope.clientsData = item.attedingCleints;\r\n\t\t\t\t$('#attendantsModal').modal('show');\r\n\r\n\t\t\t\t// $('#clients-popup, #clients-popup .popup').addClass('show');\r\n\t\t\t\t// $scope.modalLoading = false;\r\n\r\n\t\t\t}).error(function () {\r\n\t\t\t\t// console.log('error');\r\n\t\t\t});\r\n\t\t}else{\r\n\t\t\t$('#attendantsModal').modal('show');\r\n\t\t\t// $('#clients-popup, #clients-popup .popup').addClass('show');\r\n\t\t\t$scope.clientsData = item.AttendingClients\r\n\t\t}\r\n\t}\r\n\r\n\tfunction calcPopupHeight(){\r\n let windowHeight = $(window).height();\r\n let popupHeight = $('.login-popup .popup .section-authorize').height();\r\n\r\n if(popupHeight + 40 >= windowHeight){\r\n $('.login-popup .popup').addClass('overflowScroll');\r\n }else{\r\n $('.login-popup .popup').removeClass('overflowScroll');\r\n }\r\n }\r\n\r\n\tfunction calculateEventPrice(){\r\n\t\tif ( $scope.people.length > 0 ) {\r\n\t\t\t$scope.additionPrice = $scope.people.length*parseFloat($scope.modalPrice);\r\n\t\t\t$scope.totalPrice = (parseFloat($scope.additionPrice) + parseFloat($scope.modalPrice)).toFixed(4);\r\n\t\t}else{\r\n\t\t\t$scope.totalPrice = $scope.modalPrice;\r\n\t\t}\r\n\r\n\t\t$scope.noSlotsLeft = $scope.modalVisit.SlotsLeft > $scope.people.length + 1 ? false : true;\r\n\t}\r\n\r\n\t$scope.people = [];\r\n\t$scope.noSlotsLeft = false;\r\n\r\n\t$scope.addPerson = function(){\r\n\t\tlet person = {};\r\n\t\t$scope.people.push(person);\r\n\t\tcalculateEventPrice();\r\n\t}\r\n\r\n\t$scope.deletePerson = function(index){\r\n\t\tlet item = $scope.people[index];\r\n\r\n\t\tif (item.productId > -1) {\r\n\t\t\tlet result = $.grep($scope.visitProducts, function (e) { return e.ProductID == item.productId });\r\n\t\t\tresult[0].ItemsLeft = ++result[0].ItemsLeft;\r\n\t\t}\r\n\t\t$scope.people.splice(index,1);\r\n\t\tcalculateEventPrice();\r\n\t}\r\n\r\n\t$('.popup-wrapper .close, .popup-wrapper .popup-overlay').on('click', function (e) {\r\n\t\te.preventDefault();\r\n\t\t$('.popup-wrapper, #shcedule-popup .popup, #shcedule-popup .error-msg, #shcedule-popup .success-msg').removeClass('show');\r\n\t\t$scope.resetForm();\r\n\t})\r\n\r\n\t// Datepickers\r\n\r\n\tschedule_from.datepicker({\r\n\t\tchangeMonth: true,\r\n\t\tchangeYear: true,\r\n\t\tnumberOfMonths: 2,\r\n\t\tminDate: 0,\r\n\t\tonSelect: function (dateText, inst) {\r\n\t\t\tvar date = $(this).val();\r\n\t\t\tschedule_to.datepicker(\"option\", \"minDate\", date);\r\n\r\n\t\t\tif (gym[0].Culture != 'en-US') {\r\n\t\t\t\tvar res = date.split(\"/\");\r\n\t\t\t\tvar date = res[1] + '/' + res[0] + '/' + res[2];\r\n\t\t\t}\r\n\r\n\t\t\t$scope.scheduleStartDate = date;\r\n\t\t}\r\n\t});\r\n\r\n\tschedule_to.datepicker({\r\n\t\tchangeMonth: true,\r\n\t\tchangeYear: true,\r\n\t\tnumberOfMonths: 2,\r\n\t\tminDate: 1,\r\n\t\tonSelect: function (dateText, inst) {\r\n\t\t\tvar date = $(this).val();\r\n\t\t\tschedule_from.datepicker(\"option\", \"maxDate\", date);\r\n\r\n\t\t\tif (gym[0].Culture != 'en-US') {\r\n\t\t\t\tvar res = date.split(\"/\");\r\n\t\t\t\tvar date = res[1] + '/' + res[0] + '/' + res[2];\r\n\t\t\t}\r\n\r\n\t\t\tvar tomorrow = new Date(date);\r\n\t\t\ttomorrow.setDate(tomorrow.getDate() + 1);\r\n\r\n\t\t\t$scope.scheduleEndDate = tomorrow;\r\n\t\t}\r\n\t});\r\n\r\n\tif($scope.classSettings.ShowScheduleDaysAhead > 0 ){\r\n\t\tlet days = $scope.classSettings.ShowScheduleDaysAhead - 1;\r\n\t\tlet today = new Date();\r\n\t\ttoday.setDate(today.getDate() + days);\r\n\t\tmaxDate = new Date(today);\r\n\r\n\t\tschedule_from.datepicker(\"option\", \"maxDate\", maxDate);\r\n\t\tschedule_to.datepicker(\"option\", \"maxDate\", maxDate);\r\n\r\n\t}else if(days != null) {\r\n\t\tdays -= 1;\r\n\t\tlet today = new Date();\r\n\t\ttoday.setDate(today.getDate() + days);\r\n\t\tmaxDate = new Date(today);\r\n\r\n\t\tschedule_from.datepicker(\"option\", \"maxDate\", maxDate);\r\n\t\tschedule_to.datepicker(\"option\", \"maxDate\", maxDate);\r\n\t}\r\n\r\n\t$('.ui-datepicker').addClass('notranslate');\r\n\r\n\tif (gym[0].Culture == 'en-US') {\r\n\t\t$('#schedule_to, #schedule_from').datepicker( \"option\", \"dateFormat\", \"mm/dd/yy\" );\r\n\t} else {\r\n\t\t$('#schedule_to, #schedule_from').datepicker( \"option\", \"dateFormat\", \"dd/mm/yy\" );\r\n\t}\r\n\r\n\r\n\tfunction getDate(element) {\r\n\t\tvar date;\r\n\t\ttry {\r\n\t\t\tdate = $.datepicker.parseDate(dateFormat, element.value);\r\n\t\t} catch (error) {\r\n\t\t\tdate = null;\r\n\t\t}\r\n\t\treturn date;\r\n\t}\r\n\r\n\t$('.schedule-wrapper .filter-section .date-col i').on('click', function (e) {\r\n\t\t$(this).parent().find('input').datepicker('show');\r\n\t})\r\n\r\n\t// function manageDays(){\r\n\t// \t$('.schedule-list .list-item').removeClass('show');\r\n\t// \t$('.schedule-list').addClass('hide');\r\n\t// \tfor (var i = 0; i < days; i++) {\r\n\t// \t\t$('.schedule-list .list-item').eq(i).addClass('show');\r\n\t// \t}\r\n\t// }\r\n\r\n\tfunction scroll(){\r\n\r\n\t\tvar windowHeight = $(window).height();\r\n\t\tvar contentHeight = $('.schedule-wrapper').height();\r\n\r\n\t\tif ( contentHeight > windowHeight ) {\r\n\t\t\tvar timeScrollDown = contentHeight;\r\n\t\t\tvar timeScrollUp = contentHeight;\r\n\r\n\t\t\tif ( (contentHeight - windowHeight) > 2000 ) {\r\n\t\t\t\ttimeScrollDown = parseInt(timeScrollDown*25);\r\n\t\t\t\ttimeScrollUp = parseInt(timeScrollUp*20);\r\n\t\t\t}else if ( (contentHeight - windowHeight) > 500 ){\r\n\t\t\t\ttimeScrollDown = parseInt(timeScrollDown*25);\r\n\t\t\t\ttimeScrollUp = parseInt(timeScrollUp*10);\r\n\t\t\t}else if( (contentHeight - windowHeight) > 250 ){\r\n\t\t\t\ttimeScrollDown = parseInt(timeScrollDown*22);\r\n\t\t\t\ttimeScrollUp = parseInt(timeScrollUp*7);\r\n\t\t\t}else if( (contentHeight - windowHeight) > 100 ){\r\n\t\t\t\ttimeScrollDown = parseInt(timeScrollDown*21);\r\n\t\t\t\ttimeScrollUp = parseInt(timeScrollUp*5);\r\n\t\t\t}else{\r\n\t\t\t\ttimeScrollDown = parseInt(timeScrollDown*20);\r\n\t\t\t\ttimeScrollUp = parseInt(timeScrollUp*3);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tif ( $(window).scrollTop() == 0 ){\r\n\t\t\t\t$('html, body').clearQueue();\r\n \t\t\t\t$('html, body').stop();\r\n \t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t$(\"html, body\").animate({ scrollTop: $(document).height() }, timeScrollDown, 'linear');\r\n \t\t\t\t}, 2000);\r\n\t\t\t}else if ( $(window).scrollTop() + $(window).height() == $(document).height() ){\r\n\t\t\t\t$('html, body').clearQueue();\r\n \t\t\t\t$('html, body').stop();\r\n \t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t$('html, body').animate({scrollTop:0}, timeScrollUp, 'linear');\r\n \t\t\t\t}, 2000);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\t$(window)\r\n\t.on('load', function () {\r\n\t\tsetTimeout(function () {\r\n\r\n\t\t\tif (calendarView) {\r\n\t\t\t\t$('.switch-field a.calendar').trigger('click');\r\n\t\t\t}else{\r\n\t\t\t\t$('#calendar').hide();\r\n\t\t\t\t$('body').addClass('loaded-body');\r\n\t\t\t}\r\n\r\n\t\t\tif (pageScroll) {\r\n\t\t\t\tscroll();\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}, 1000);\r\n\r\n\t\tif( sessionStorage.getItem('urlParams') ){\r\n\t\t\tsessionStorage.clear();\r\n\t\t}\r\n\r\n\t\tresizeAndDatepicker();\r\n\r\n\t\tlet phoneLang = getLanguage($scope.gym[0].Culture);\r\n\t\tvar inputInitPhone = document.querySelector(\"#popuptelephone\");\r\n\t\t\r\n if(inputInitPhone){\r\n\r\n\t\t\tif($scope.gym[0].Culture.includes('GB')){\r\n\t\t\t\t$('#popuptelephone')\r\n\t\t\t\t.on('keydown', function (e) {\r\n\t\t\t\t\tif(e.keyCode == 32){\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.on('keyup', function (e) {\r\n\t\t\t\t\tif(e.target.value.length == 4){\r\n\t\t\t\t\t\te.target.value = e.target.value += ' ';\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n $scope.inputPhone = window.intlTelInput(inputInitPhone, {\r\n autoHideDialCode: false,\r\n preferredCountries: [phoneLang],\r\n separateDialCode: true\r\n });\r\n\r\n\t\t\tinputInitPhone.addEventListener(\"countrychange\", function() {\r\n let countryinfo = $scope.inputPhone.getSelectedCountryData()\r\n if(countryinfo.dialCode == '44'){\r\n inputInitPhone.value = inputInitPhone.value.split(' ').join('');\r\n if(inputInitPhone.value.length > 4){\r\n inputInitPhone.value = inputInitPhone.value.substring(0, 4) + \" \" + inputInitPhone.value.substring(4, 10);\r\n }\r\n $scope.phoneFormat = /^[0-9\\s]{5,11}$/;\r\n $('#popuptelephone')\r\n .on('keydown', function (e) {\r\n if(e.keyCode == 32){\r\n return false;\r\n }\r\n })\r\n .on('keyup', function (e) {\r\n if(e.target.value.length == 4){\r\n e.target.value = e.target.value += ' ';\r\n }\r\n });\r\n }else{\r\n inputInitPhone.value = inputInitPhone.value.split(' ').join('');\r\n $scope.phoneFormat = /^[0-9]{5,15}$/;\r\n $scope.waiverForm.Telephone.$validate()\r\n $('#popuptelephone')\r\n .on('keydown', function (e) {\r\n if(e.keyCode == 32){\r\n return false;\r\n }\r\n })\r\n .on('keyup', function (e) {\r\n if(e.target.value.length == 4){\r\n // e.target.value = e.target.value += ' ';\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\t})\r\n\t.on('resize', function(){\r\n\t\tresizeAndDatepicker();\r\n\r\n\t\tcalcPopupHeight();\r\n\t})\r\n\t.on('scroll', function(){\r\n\t\tif (pageScroll) {\r\n\t\t\tscroll();\r\n\t\t}\r\n\t})\r\n\r\n\r\n\t// Get Language from backend settings\r\n\tfunction getLanguage(culture){\r\n\t\tlet lang = culture.split('-');\r\n\t\tlang = lang[1].toLowerCase();\r\n\t\treturn lang;\r\n\t}\r\n\r\n\t$scope.dateFeaturedFormat = 'dd/MM/yyyy';\r\n\r\n\tif (gym) {\r\n\t\tif (gym[0].PortalColor != null && gym[0].PortalColor != 'default') {\r\n\t\t\t$('.schedule-wrapper').addClass('theme-' + gym[0].PortalColor);\r\n\t\t}\r\n\r\n\t\tif ( gym[0].Culture == 'en-US' ) {\r\n\t\t\t$scope.dateFeaturedFormat = 'MM/dd/yyyy';\r\n\t\t}\r\n\t}\r\n\r\n\t// Check Window Size and change datepicker options\r\n\tfunction resizeAndDatepicker(){\r\n\t\tvar windowWidth = $(window).width();\r\n\r\n\t\tif ( windowWidth <= 768 ) {\r\n\t\t\tschedule_from.datepicker(\"option\", \"numberOfMonths\", 1);\r\n\t\t\tschedule_to.datepicker(\"option\", \"numberOfMonths\", 1);\r\n\t\t}else{\r\n\t\t\tschedule_from.datepicker(\"option\", \"numberOfMonths\", 2);\r\n\t\t\tschedule_to.datepicker(\"option\", \"numberOfMonths\", 2);\r\n\t\t}\r\n\t}\r\n\r\n\t$('#loginModal').on('shown.bs.modal', function () {\r\n\t\t$.fn.modal.Constructor.prototype._enforceFocus = function () { };\r\n\t});\r\n\r\n}]);","app.controller('GetScheduleController', ['$scope', '$http', '$timeout', '$translate', '$compile', '$filter', function ($scope, $http, $timeout, $translate, $compile, $filter) {\r\n\t$scope.noSchedule = false;\r\n\r\n\tlet now = moment();\r\n\r\n\tif ( schedule != null && now < moment(schedule.Date) ) {\r\n\t\t$scope.schedule = schedule;\r\n\t\tconsole.log($scope.schedule);\r\n\t\t$scope.gym = gym[0];\r\n\t\t$scope.visitProducts = $scope.schedule.Products;\r\n\t\t$scope.haveEquipment = true;\r\n\t\t$scope.fullEvent = false;\r\n\t\t$scope.fullEventArea = false;\r\n\t\t$scope.modalPrice = null;\r\n\t\t$scope.peopleWaiting = 0;\r\n\t\t$scope.waitingListApprove = false;\r\n\t\t$scope.visitOriginalProducts = [];\r\n\t\tvar $translateThis = $filter('translate');\r\n\t\t$scope.logo = logo;\r\n\r\n\t\tif(client){\r\n\t\t\t$scope.client = client;\r\n\t\t}\r\n\r\n\t\tif(WaitingListID && WaitingList){\r\n\t\t\t$scope.waitingListApprove = true;\r\n\t\t}\r\n\r\n\t\t$scope.phoneFormat = $scope.gym.Culture.includes('GB') ? /^[0-9\\s]{5,11}$/ : /^[0-9]{5,15}$/;\r\n\r\n\t\t// Finding TimeZone Offset\r\n\t\tconst timeZones = [\"Europe/Andorra\",\"Asia/Dubai\",\"Asia/Kabul\",\"Europe/Tirane\",\"Asia/Yerevan\",\"Antarctica/Casey\",\"Antarctica/Davis\",\"Antarctica/DumontDUrville\",\"Antarctica/Mawson\",\"Antarctica/Palmer\",\"Antarctica/Rothera\",\"Antarctica/Syowa\",\"Antarctica/Troll\",\"Antarctica/Vostok\",\"America/Argentina/Buenos_Aires\",\"America/Argentina/Cordoba\",\"America/Argentina/Salta\",\"America/Argentina/Jujuy\",\"America/Argentina/Tucuman\",\"America/Argentina/Catamarca\",\"America/Argentina/La_Rioja\",\"America/Argentina/San_Juan\",\"America/Argentina/Mendoza\",\"America/Argentina/San_Luis\",\"America/Argentina/Rio_Gallegos\",\"America/Argentina/Ushuaia\",\"Pacific/Pago_Pago\",\"Europe/Vienna\",\"Australia/Lord_Howe\",\"Antarctica/Macquarie\",\"Australia/Hobart\",\"Australia/Melbourne\",\"Australia/Sydney\",\"Australia/Broken_Hill\",\"Australia/Brisbane\",\"Australia/Lindeman\",\"Australia/Adelaide\",\"Australia/Darwin\",\"Australia/Perth\",\"Australia/Eucla\",\"Asia/Baku\",\"America/Barbados\",\"Asia/Dhaka\",\"Europe/Brussels\",\"Europe/Sofia\",\"Atlantic/Bermuda\",\"Asia/Brunei\",\"America/La_Paz\",\"America/Noronha\",\"America/Belem\",\"America/Fortaleza\",\"America/Recife\",\"America/Araguaina\",\"America/Maceio\",\"America/Bahia\",\"America/Sao_Paulo\",\"America/Campo_Grande\",\"America/Cuiaba\",\"America/Santarem\",\"America/Porto_Velho\",\"America/Boa_Vista\",\"America/Manaus\",\"America/Eirunepe\",\"America/Rio_Branco\",\"America/Nassau\",\"Asia/Thimphu\",\"Europe/Minsk\",\"America/Belize\",\"America/St_Johns\",\"America/Halifax\",\"America/Glace_Bay\",\"America/Moncton\",\"America/Goose_Bay\",\"America/Blanc-Sablon\",\"America/Toronto\",\"America/Nipigon\",\"America/Thunder_Bay\",\"America/Iqaluit\",\"America/Pangnirtung\",\"America/Atikokan\",\"America/Winnipeg\",\"America/Rainy_River\",\"America/Resolute\",\"America/Rankin_Inlet\",\"America/Regina\",\"America/Swift_Current\",\"America/Edmonton\",\"America/Cambridge_Bay\",\"America/Yellowknife\",\"America/Inuvik\",\"America/Creston\",\"America/Dawson_Creek\",\"America/Fort_Nelson\",\"America/Whitehorse\",\"America/Dawson\",\"America/Vancouver\",\"Indian/Cocos\",\"Europe/Zurich\",\"Africa/Abidjan\",\"Pacific/Rarotonga\",\"America/Santiago\",\"America/Punta_Arenas\",\"Pacific/Easter\",\"Asia/Shanghai\",\"Asia/Urumqi\",\"America/Bogota\",\"America/Costa_Rica\",\"America/Havana\",\"Atlantic/Cape_Verde\",\"America/Curacao\",\"Indian/Christmas\",\"Asia/Nicosia\",\"Asia/Famagusta\",\"Europe/Prague\",\"Europe/Berlin\",\"Europe/Copenhagen\",\"America/Santo_Domingo\",\"Africa/Algiers\",\"America/Guayaquil\",\"Pacific/Galapagos\",\"Europe/Tallinn\",\"Africa/Cairo\",\"Africa/El_Aaiun\",\"Europe/Madrid\",\"Africa/Ceuta\",\"Atlantic/Canary\",\"Europe/Helsinki\",\"Pacific/Fiji\",\"Atlantic/Stanley\",\"Pacific/Chuuk\",\"Pacific/Pohnpei\",\"Pacific/Kosrae\",\"Atlantic/Faroe\",\"Europe/Paris\",\"Europe/London\",\"Asia/Tbilisi\",\"America/Cayenne\",\"Africa/Accra\",\"Europe/Gibraltar\",\"America/Nuuk\",\"America/Danmarkshavn\",\"America/Scoresbysund\",\"America/Thule\",\"Europe/Athens\",\"Atlantic/South_Georgia\",\"America/Guatemala\",\"Pacific/Guam\",\"Africa/Bissau\",\"America/Guyana\",\"Asia/Hong_Kong\",\"America/Tegucigalpa\",\"America/Port-au-Prince\",\"Europe/Budapest\",\"Asia/Jakarta\",\"Asia/Pontianak\",\"Asia/Makassar\",\"Asia/Jayapura\",\"Europe/Dublin\",\"Asia/Jerusalem\",\"Asia/Kolkata\",\"Indian/Chagos\",\"Asia/Baghdad\",\"Asia/Tehran\",\"Atlantic/Reykjavik\",\"Europe/Rome\",\"America/Jamaica\",\"Asia/Amman\",\"Asia/Tokyo\",\"Africa/Nairobi\",\"Asia/Bishkek\",\"Pacific/Tarawa\",\"Pacific/Enderbury\",\"Pacific/Kiritimati\",\"Asia/Pyongyang\",\"Asia/Seoul\",\"Asia/Almaty\",\"Asia/Qyzylorda\",\"Asia/Qostanay\",\"Asia/Aqtobe\",\"Asia/Aqtau\",\"Asia/Atyrau\",\"Asia/Oral\",\"Asia/Beirut\",\"Asia/Colombo\",\"Africa/Monrovia\",\"Europe/Vilnius\",\"Europe/Luxembourg\",\"Europe/Riga\",\"Africa/Tripoli\",\"Africa/Casablanca\",\"Europe/Monaco\",\"Europe/Chisinau\",\"Pacific/Majuro\",\"Pacific/Kwajalein\",\"Asia/Yangon\",\"Asia/Ulaanbaatar\",\"Asia/Hovd\",\"Asia/Choibalsan\",\"Asia/Macau\",\"America/Martinique\",\"Europe/Malta\",\"Indian/Mauritius\",\"Indian/Maldives\",\"America/Mexico_City\",\"America/Cancun\",\"America/Merida\",\"America/Monterrey\",\"America/Matamoros\",\"America/Mazatlan\",\"America/Chihuahua\",\"America/Ojinaga\",\"America/Hermosillo\",\"America/Tijuana\",\"America/Bahia_Banderas\",\"Asia/Kuala_Lumpur\",\"Asia/Kuching\",\"Africa/Maputo\",\"Africa/Windhoek\",\"Pacific/Noumea\",\"Pacific/Norfolk\",\"Africa/Lagos\",\"America/Managua\",\"Europe/Amsterdam\",\"Europe/Oslo\",\"Asia/Kathmandu\",\"Pacific/Nauru\",\"Pacific/Niue\",\"Pacific/Auckland\",\"Pacific/Chatham\",\"America/Panama\",\"America/Lima\",\"Pacific/Tahiti\",\"Pacific/Marquesas\",\"Pacific/Gambier\",\"Pacific/Port_Moresby\",\"Pacific/Bougainville\",\"Asia/Manila\",\"Asia/Karachi\",\"Europe/Warsaw\",\"America/Miquelon\",\"Pacific/Pitcairn\",\"America/Puerto_Rico\",\"Asia/Gaza\",\"Asia/Hebron\",\"Europe/Lisbon\",\"Atlantic/Madeira\",\"Atlantic/Azores\",\"Pacific/Palau\",\"America/Asuncion\",\"Asia/Qatar\",\"Indian/Reunion\",\"Europe/Bucharest\",\"Europe/Belgrade\",\"Europe/Kaliningrad\",\"Europe/Moscow\",\"Europe/Simferopol\",\"Europe/Kirov\",\"Europe/Volgograd\",\"Europe/Astrakhan\",\"Europe/Saratov\",\"Europe/Ulyanovsk\",\"Europe/Samara\",\"Asia/Yekaterinburg\",\"Asia/Omsk\",\"Asia/Novosibirsk\",\"Asia/Barnaul\",\"Asia/Tomsk\",\"Asia/Novokuznetsk\",\"Asia/Krasnoyarsk\",\"Asia/Irkutsk\",\"Asia/Chita\",\"Asia/Yakutsk\",\"Asia/Khandyga\",\"Asia/Vladivostok\",\"Asia/Ust-Nera\",\"Asia/Magadan\",\"Asia/Sakhalin\",\"Asia/Srednekolymsk\",\"Asia/Kamchatka\",\"Asia/Anadyr\",\"Asia/Riyadh\",\"Pacific/Guadalcanal\",\"Indian/Mahe\",\"Africa/Khartoum\",\"Europe/Stockholm\",\"Asia/Singapore\",\"America/Paramaribo\",\"Africa/Juba\",\"Africa/Sao_Tome\",\"America/El_Salvador\",\"Asia/Damascus\",\"America/Grand_Turk\",\"Africa/Ndjamena\",\"Indian/Kerguelen\",\"Asia/Bangkok\",\"Asia/Dushanbe\",\"Pacific/Fakaofo\",\"Asia/Dili\",\"Asia/Ashgabat\",\"Africa/Tunis\",\"Pacific/Tongatapu\",\"Europe/Istanbul\",\"America/Port_of_Spain\",\"Pacific/Funafuti\",\"Asia/Taipei\",\"Europe/Kiev\",\"Europe/Uzhgorod\",\"Europe/Zaporozhye\",\"Pacific/Wake\",\"America/New_York\",\"America/Detroit\",\"America/Kentucky/Louisville\",\"America/Kentucky/Monticello\",\"America/Indiana/Indianapolis\",\"America/Indiana/Vincennes\",\"America/Indiana/Winamac\",\"America/Indiana/Marengo\",\"America/Indiana/Petersburg\",\"America/Indiana/Vevay\",\"America/Chicago\",\"America/Indiana/Tell_City\",\"America/Indiana/Knox\",\"America/Menominee\",\"America/North_Dakota/Center\",\"America/North_Dakota/New_Salem\",\"America/North_Dakota/Beulah\",\"America/Denver\",\"America/Boise\",\"America/Phoenix\",\"America/Los_Angeles\",\"America/Anchorage\",\"America/Juneau\",\"America/Sitka\",\"America/Metlakatla\",\"America/Yakutat\",\"America/Nome\",\"America/Adak\",\"Pacific/Honolulu\",\"America/Montevideo\",\"Asia/Samarkand\",\"Asia/Tashkent\",\"America/Caracas\",\"Asia/Ho_Chi_Minh\",\"Pacific/Efate\",\"Pacific/Wallis\",\"Pacific/Apia\",\"Africa/Johannesburg\",\"America/Antigua\",\"America/Anguilla\",\"Africa/Luanda\",\"Antarctica/McMurdo\",\"America/Aruba\",\"Europe/Mariehamn\",\"Europe/Sarajevo\",\"Africa/Ouagadougou\",\"Asia/Bahrain\",\"Africa/Bujumbura\",\"Africa/Porto-Novo\",\"America/St_Barthelemy\",\"America/Kralendijk\",\"Africa/Gaborone\",\"Africa/Kinshasa\",\"Africa/Lubumbashi\",\"Africa/Bangui\",\"Africa/Brazzaville\",\"Africa/Douala\",\"Europe/Busingen\",\"Africa/Djibouti\",\"America/Dominica\",\"Africa/Asmara\",\"Africa/Addis_Ababa\",\"Africa/Libreville\",\"America/Grenada\",\"Europe/Guernsey\",\"Africa/Banjul\",\"Africa/Conakry\",\"America/Guadeloupe\",\"Africa/Malabo\",\"Europe/Zagreb\",\"Europe/Isle_of_Man\",\"Europe/Jersey\",\"Asia/Phnom_Penh\",\"Indian/Comoro\",\"America/St_Kitts\",\"Asia/Kuwait\",\"America/Cayman\",\"Asia/Vientiane\",\"America/St_Lucia\",\"Europe/Vaduz\",\"Africa/Maseru\",\"Europe/Podgorica\",\"America/Marigot\",\"Indian/Antananarivo\",\"Europe/Skopje\",\"Africa/Bamako\",\"Pacific/Saipan\",\"Africa/Nouakchott\",\"America/Montserrat\",\"Africa/Blantyre\",\"Africa/Niamey\",\"Asia/Muscat\",\"Africa/Kigali\",\"Atlantic/St_Helena\",\"Europe/Ljubljana\",\"Arctic/Longyearbyen\",\"Europe/Bratislava\",\"Africa/Freetown\",\"Europe/San_Marino\",\"Africa/Dakar\",\"Africa/Mogadishu\",\"America/Lower_Princes\",\"Africa/Mbabane\",\"Africa/Lome\",\"Africa/Dar_es_Salaam\",\"Africa/Kampala\",\"Pacific/Midway\",\"Europe/Vatican\",\"America/St_Vincent\",\"America/Tortola\",\"America/St_Thomas\",\"Asia/Aden\",\"Indian/Mayotte\",\"Africa/Lusaka\",\"Africa/Harare\" ]\r\n\r\n\t\tlet timezoneP = timeZone.split(') ');\r\n\t\tlet timezonePi = timezoneP[1].split(',');\r\n\t\tlet timeZoneC = timezonePi[0];\r\n\t\tlet timeZoneF = timeZones.find(el => el.includes(timeZoneC)); \r\n\r\n\t\tlet timeZoneOffsetSplit = timezoneP[0].split('UTC');\r\n\t\t$scope.timeZoneOffset = timeZoneOffsetSplit[1];\r\n\r\n\t\t// console.log($scope.infoData.TimeZoneKey);\r\n\t\t// console.log(timeZoneC);\r\n\t\t// console.log(timeZoneF);\r\n\r\n\t\tmoment.tz.setDefault(timeZoneF);\r\n\r\n\t\t// check for Max Area People\r\n\r\n\t\tlet dataObject = {\r\n\t\t\tScheduleContentID: schedule.ID,\r\n\t\t\tGymID: gymid,\r\n\t\t\tNamespace: namespace\r\n\t\t}\r\n\r\n\t\t$http({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: '/private/CheckMaxPeopleAreaReached',\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\r\n\t\t\tif( data == 0 ){\r\n\t\t\t\tif( schedule.PeopleAttending >= schedule.MaxClients){\r\n\t\t\t\t\t$scope.fullEvent = true;\r\n\t\t\t\t}else{\r\n\t\t\r\n\t\t\t\t\t// CheckForWaitingPeople(int ScheduleContentID, int GymID, string Namespace)\r\n\t\t\t\t\tlet dataObject = {\r\n\t\t\t\t\t\tScheduleContentID: schedule.ID,\r\n\t\t\t\t\t\tGymID: gymid,\r\n\t\t\t\t\t\tNamespace: namespace\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$http({\r\n\t\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\t\turl: '/private/CheckForWaitingPeople',\r\n\t\t\t\t\t\tdata: dataObject\r\n\t\t\t\t\t}).success(function (data) {\r\n\t\t\t\t\t\tif( $scope.waitingListApprove && data >= 1){\r\n\t\t\t\t\t\t\t$scope.peopleWaiting = 0;\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t$scope.peopleWaiting = data;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}).error(function (error) {\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\t$scope.fullEventArea = true;\r\n\t\t\t}\r\n\r\n\t\t}).error(function (error) {\r\n\t\t});\r\n\r\n\t\t$scope.smodal = {paymentMethod: null, email: ''};\r\n\r\n\t\tif ( lang == null ){\r\n\t\t\tlang = 'en';\r\n\t\t}\r\n\r\n\t\tvar DateNewDate = moment($scope.schedule['Date']);\r\n\t\tvar DateNewDateEnd = moment($scope.schedule['DateEnd']);\r\n\r\n\t\tvar isDstChangeDay = moment(DateNewDate).isDST();\r\n\t\tif ( isDstChangeDay ){\r\n\t\t\tDateNewDate = moment(DateNewDate).add(1, 'hours');\r\n\t\t\tDateNewDateEnd = moment(DateNewDateEnd).add(1, 'hours');\r\n\t\t}\r\n\r\n\t\tvar convertedDate = DateNewDate.toString();\r\n\t\tvar convertedDateEnd = DateNewDateEnd.toString();\r\n\r\n\t\t$scope.schedule['NewDate'] = moment(convertedDate).toDate();\r\n\t\t$scope.schedule['NewDateEnd'] = moment(convertedDateEnd).toDate();\r\n\r\n\t\t$scope.people = [];\r\n\t\t$scope.noSlotsLeft = false;\r\n\r\n\r\n\t\tvar dayOfWeek = $filter('date')($scope.schedule.NewDate, 'EEEE');\r\n\t\tvar compiledeHTML = $compile(\"
\" + dayOfWeek + \"\")($scope);\r\n\t\t$(\".dayofweekn\").html(compiledeHTML);\r\n\r\n\t $scope.getSettings = function (id) {\r\n\t\t\tvar dataObject = {\r\n\t\t\t Namespace: namespace,\r\n\t\t\t GymID: gymid\r\n\t\t\t}\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/ScheduleV2/GetSettings',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\tconsole.log(data);\r\n\t\t\t\t$scope.classSettings = data;\r\n\t\t\t}).error(function () {\r\n\t\t\t\t// console.log('error');\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$scope.getSettings();\r\n\r\n\r\n\t\t// $scope.updateVisitProduct = function(id){\r\n\t\t// \tif ( id != '-1' ) {\r\n\t\t// \t\tvar result = $.grep($scope.visitProducts, function (e) { return e.ProductID == id });\r\n\t\t// \t\t$scope.productId = id;\r\n\t\t// \t\t$scope.productName = result[0].ProductName;\r\n\t\t// \t}else{\r\n\t\t// \t\t$scope.productId = '-1';\r\n\t\t// \t\t$scope.productName = 'Own equipment'\r\n\t\t// \t}\r\n\t\t// }\r\n\r\n\t\t// public bool RemoveFromWaitingList(int ID, int GymID, string Namespace)\r\n\r\n\t\t$scope.cancelRequest = function(){\r\n\t\t\tlet translated = $translateThis('Are you sure you want to cancel your request');\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\ttitle: translated,\r\n\t\t\t\tshowCancelButton: true,\r\n\t\t\t\tconfirmButtonText: 'Yes!'\r\n\t\t\t}).then((result) => {\r\n\t\t\t\tif (result.value) {\r\n\t\t\t\t\tremoveFromWaitingList();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction removeFromWaitingList(){\r\n\t\t\tlet dataObject = {\r\n\t\t\t\tID: WaitingListID,\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tNamespace: namespace\r\n\t\t\t}\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/private/RemoveFromWaitingList',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\tconsole.log(data);\r\n\t\t\t\tlet result = JSON.parse(data.toLowerCase());\r\n\r\n\t\t\t\tif(result){\r\n\t\t\t\t\tlet translated = $translateThis('You are removed!');\r\n\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlet translated = $translateThis('Error');\r\n\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}).error(function (error) {})\r\n\r\n\t\t}\r\n\r\n\t\t$scope.updateVisitProduct = function(item){\r\n\t\t\tif (item.productName && item.productName != 'Own equipment') {\r\n\t\t\t\tvar result = $.grep($scope.visitProducts, function (e) { return e.ProductName == item.productName });\r\n\t\t\t\tresult[0].ItemsLeft = ++result[0].ItemsLeft;\r\n\t\t\t}\r\n\t\r\n\t\t\tif ( item.productId != '-1' ) {\r\n\t\t\t\tvar result = $.grep($scope.visitProducts, function (e) { return e.ProductID == item.productId });\r\n\t\t\t\titem.productName = result[0].ProductName;\r\n\t\t\t\titem.productItemsLeft = result[0].ItemsLeft;\r\n\t\t\t\tresult[0].ItemsLeft = --result[0].ItemsLeft;\r\n\t\t\t}else{\r\n\t\t\t\titem.productName = 'Own equipment'\r\n\t\t\t}\r\n\t\r\n\t\t\treturn item;\r\n\t\t}\r\n\r\n\t\tfunction getEventPrice() {\r\n\t\t\tvar dataObject = {\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tid: $scope.PublicEventID,\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\turl: '/private/GetPublicEventPrice?Namespace=' + namespace + '&GymID=' + gymid + '&id=' + $scope.PublicEventID,\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\t$scope.modalPrice = data;\r\n\t\t\t\tcalculateEventPrice();\r\n\r\n\t\t\t\t// Check if there is only one payment method\r\n\t\t\t\tif( $('.shcedule-popup .form-field.field-payments .dd-field:visible').length == 1){\r\n\t\t\t\t\t// And trigger the hell out of it!\r\n\t\t\t\t\t$('.shcedule-popup .form-field.field-payments .dd-field:visible').trigger('click').find('label').trigger('click');\r\n\t\t\t\t\t$('.shcedule-popup .form-field.field-payments .dd-field:visible input').prop('checked', true);\r\n\t\t\t\t\tlet paymentNumber = $('.shcedule-popup .form-field.field-payments .dd-field:visible input').val();\r\n\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t$scope.smodal.paymentMethod = paymentNumber;\r\n\t\t\t\t\t\t$scope.paymentChange();\r\n\t\t\t\t\t}, 10);\r\n\t\t\t\t}\r\n\t\t\t}).error(function () {\r\n\t\t\t});\r\n\t\t}\r\n\t\r\n\t\r\n\t\tfunction stripeInit(){\r\n\t\t\t// Stripe\r\n\t\t\t$scope.stripe = Stripe($scope.classSettings.StripePublishKey);\r\n\t\t\t// Create a Stripe client.\r\n\t\t\t// var stripe = Stripe($scope.classSettings.StripePublishKey);\r\n\t\t\t// Create an instance of Elements.\r\n\t\t\tvar elements = $scope.stripe.elements();\r\n\t\t\t// Custom styling can be passed to options when creating an Element.\r\n\t\t\t// (Note that this demo uses a wider set of styles than the guide below.)\r\n\t\t\tvar style = {\r\n\t\t\t\tbase: {\r\n\t\t\t\tcolor: '#32325d',\r\n\t\t\t\tlineHeight: '18px',\r\n\t\t\t\tfontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\r\n\t\t\t\tfontSmoothing: 'antialiased',\r\n\t\t\t\tfontSize: '16px',\r\n\t\t\t\t'::placeholder': {\r\n\t\t\t\t\tcolor: '#aab7c4'\r\n\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tinvalid: {\r\n\t\t\t\tcolor: '#fa755a',\r\n\t\t\t\ticonColor: '#fa755a'\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\r\n\t\t\t// Create an instance of the card Element.\r\n\t\t\t// $scope.card = elements.create('card', {style: style});\r\n\t\t\t$scope.card = elements.create('card', {style: style, hidePostalCode: $scope.classSettings.HidePostalCode });\r\n\t\r\n\t\t\t// Add an instance of the card Element into the `card-element`
.\r\n\t\t\t$scope.card.mount('#card-element');\r\n\t\r\n\t\t\t// Handle real-time validation errors from the card Element.\r\n\t\t\t$scope.card.addEventListener('change', function(event) {\r\n\t\t\t\tvar displayError = document.getElementById('card-errors');\r\n\t\t\t\tif (event.error) {\r\n\t\t\t\t\tdisplayError.textContent = event.error.message;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdisplayError.textContent = '';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$scope.paymentChange = function(){\r\n\t\t\tif ($scope.smodal.paymentMethod == '7') {\r\n\t\t\t\tstripeInit();\r\n\t\t\t\t$('.form-actions .button.stripe-button').addClass('show');\r\n\t\t\t\t\r\n\t\r\n\t\t\t\t$('.stripe-button').on('click', function(e){\r\n\t\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\t\tif(Number($scope.modalPrice).toFixed(2) == 0.00){\r\n\t\t\t\t\t\t$scope.smodal.paymentMethod = '0';\r\n\t\t\t\t\t\t$scope.joinEvent();\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tgeneratePaymentIntent();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t})\r\n\t\t\t}else{\r\n\t\t\t\t$('.form-actions .button.stripe-button').removeClass('show');\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\t\t// Generate PaymentInted for Stripe\r\n\t\tfunction generatePaymentIntent() {\r\n\t\t\t$scope.PaymentIntentID = 0;\r\n\t\t\tlet dataObject = prepareDataToSned();\r\n\t\r\n\t\t\tif ($scope.formLoaded == true) {\r\n\t\t\t\t$scope.formLoaded = false;\r\n\t\t\t\t$scope.loading = true;\r\n\t\t\t\t$http({\r\n\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\turl: '/private/GeneratePaymentIntent',\r\n\t\t\t\t\tdata: dataObject\r\n\t\t\t\t}).success(function (data) {\r\n\r\n\t\t\t\t\tif(data == 'Waiver Required!'){\r\n\t\t\t\t\t\tvar translated = $translateThis('Waiver Required!Portal');\r\n\t\t\t\t\t\tvar waiverHref = window.location.origin + '/waiver/embedregistration?GymID=' + gymid + '&NameSpace=' + namespace + '&Redirect=/Schedulev2/EmbedGroupSchedulev2';\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t\t\t}).then(function(result) {\r\n\t\t\t\t\t\t\tif (result.value) {\r\n\t\t\t\t\t\t\t\twindow.location.href = waiverHref;\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t\t\t}, 1);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}else if(data == 'Customer banned from booking!'){\r\n\t\t\t\t\t\tlet translated = $translateThis('Your access to the booking system has been suspended due to non-compliance with the rules of the sports center. Please contact reception.');\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t}else if( data == 2 ){\r\n\t\t\t\t\t\tlet translated = $translateThis(joinEventResponses[data]);\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tstripeConfirmCard(data);\r\n\t\t\t\t\t\t$scope.PaymentIntentID = data.ID;\r\n\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}).error(function (error) {\r\n\t\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t});\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\t\r\n\t\tfunction stripeConfirmCard(data){\r\n\t\r\n\t\t\tlet name;\r\n\t\t\tif($scope.client){\r\n\t\t\t\tname = $scope.client.FirstName + ' ' + $scope.client.LastName;\r\n\t\t\t}else{\r\n\t\t\t\tname = $scope.scheduleFirstName + ' ' + $scope.scheduleLastName;\r\n\t\t\t}\r\n\t\r\n\t\t\t$scope.stripe.confirmCardPayment(data.ClientSecret, {\r\n\t\t\t\tpayment_method: {\r\n\t\t\t\t\tcard: $scope.card,\r\n\t\t\t\t\t billing_details: {\r\n\t\t\t\t\t\tname: name\r\n\t\t\t\t\t }\r\n\t\t\t\t}\r\n\t\t\t}).then(function(result) {\r\n\t\t\t\tif (result.error) {\r\n\t\t\t\t\t// Show error to your customer (e.g., insufficient funds)\r\n\t\t\t\t\t$scope.joinEventResponse = result.error.message;\r\n\t\t\t\t\tlet translated = $translateThis(result.error.message);\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\tonAfterClose: function (a){\r\n\t\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\t // The payment has been processed!\r\n\t\t\t\t\t if (result.paymentIntent.status === 'succeeded') {\r\n\t\t\t\t\t\t$scope.joinEvent();\r\n\t\t\t\t\t\t// Show a success message to your customer\r\n\t\t\t\t\t\t// There's a risk of the customer closing the window before callback\r\n\t\t\t\t\t\t// execution. Set up a webhook or plugin to listen for the\r\n\t\t\t\t\t\t// payment_intent.succeeded event that handles any business critical\r\n\t\t\t\t\t\t// post-payment actions.\r\n\t\t\t\t\t }else{\r\n\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t }\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\r\n\t\tfunction prepareDataToSned(){\r\n\t\t\t\r\n\t\t\tlet dataObject = {\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tId: $scope.schedule.ID,\r\n\t\t\t\tEmail: $scope.client ? $scope.client.Email : $scope.smodal.email,\r\n\t\t\t\tDate: moment($scope.schedule.NewDate).toISOString(),\r\n\t\t\t\tVisitName: $scope.schedule.VisitName,\r\n\t\t\t\tPaymentMethod: $scope.smodal.paymentMethod,\r\n\t\t\t\tLanguage: lang,\r\n\t\t\t\tProductID: $scope.productId,\r\n\t\t\t\tProductName: $scope.productName,\r\n\t\t\t\tAdditionalGuests: $scope.people,\r\n\t\t\t\tPaymentIntentID: $scope.PaymentIntentID,\r\n\t\t\t\treceiveEmails: $scope.smodal.MarketingEmailsClassBooking\r\n\t\t\t}\r\n\t\r\n\t\t\tif ( $scope.classSettings.ClassBookingRequireProfile != true ) {\r\n\t\t\t\tlet tel;\r\n\t\t\t\ttel = $scope.inputPhone.selectedDialCode.innerHTML + $scope.inputPhone.telInput.value;\r\n\t\t\t\ttel = tel.replace(/ /g,'');\r\n\t\r\n\t\t\t\tdataObject.FirstName = $scope.client ? $scope.client.FirstName : $scope.scheduleFirstName;\r\n\t\t\t\tdataObject.LastName = $scope.client ? $scope.client.LastName : $scope.scheduleLastName;\r\n\t\t\t\tdataObject.Telephone = $scope.client ? $scope.client.Telephone : tel;\r\n\t\t\t}\r\n\t\r\n\t\t\tif ( $scope.smodal.paymentMethod == '7' ) {\r\n\t\t\t\tdataObject.Price = $scope.totalPrice;\r\n\t\t\t\tdataObject.PublicEventID = $scope.PublicEventID;\r\n\t\t\t}\r\n\r\n\t\t\tif ($scope.smodal.paymentMethod == '8') {\r\n\t\t\t\tdataObject.PaymentMethod = 8;\r\n\t\t\t\tdataObject.Price = $scope.modalPrice;\r\n\t\t\t\tdataObject.PublicEventID = $scope.PublicEventID;\r\n\t\t\t}\r\n\r\n\t\t\tif ($scope.smodal.paymentMethod == '9') {\r\n\t\t\t\tdataObject.PaymentMethod = 9;\r\n\t\t\t\tdataObject.Price = $scope.modalPrice;\r\n\t\t\t\tdataObject.PublicEventID = $scope.PublicEventID;\r\n\t\t\t}\r\n\t\r\n\t\t\treturn dataObject;\r\n\t\t}\r\n\r\n\r\n\t\t$scope.PublicEventID = $scope.schedule.PublicEventID;\r\n\t\t$scope.noSlotsLeft = $scope.schedule.SlotsLeft > 1 ? false : true;\r\n\r\n\t\tfunction calculateEventPrice(){\r\n\t\t\tif ( $scope.people.length > 0 ) {\r\n\t\t\t\t$scope.additionPrice = $scope.people.length*parseFloat($scope.modalPrice);\r\n\t\t\t\t$scope.totalPrice = (parseFloat($scope.additionPrice) + parseFloat($scope.modalPrice)).toFixed(4);\r\n\t\t\t}else{\r\n\t\t\t\t$scope.totalPrice = $scope.modalPrice;\r\n\t\t\t}\r\n\t\r\n\t\t\t$scope.noSlotsLeft = $scope.schedule.SlotsLeft > $scope.people.length + 1 ? false : true;\r\n\t\t}\r\n\r\n\t\tgetEventPrice();\r\n\r\n\t\tfunction checkEqipment(){\t\r\n\t\t\tlet bookedPeople = [...$scope.people];\r\n\t\r\n\t\t\tif(bookedPeople){\r\n\t\t\t\tbookedPeople.push({productId: $scope.smodal.productId})\r\n\t\t\t\tlet group = bookedPeople.reduce((r, a) => {\r\n\t\t\t\t\tr[a.productId] = [...r[a.productId] || [], a];\r\n\t\t\t\t\treturn r;\r\n\t\t\t\t}, {});\r\n\t\r\n\t\t\t\tfor (var key in group) {\r\n\t\t\t\t\tif(key > 0){\r\n\t\t\t\t\t\tlet item = $scope.visitOriginalProducts.find((item) => item.ProductID == key);\r\n\t\t\t\t\t\tif( item.ItemsLeft >= group[key].length){\r\n\t\t\t\t\t\t\t$scope.haveEquipment = true;\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t$scope.haveEquipment = false;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$scope.haveEquipment = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\tlet item = $scope.visitOriginalProducts.find((item) => item.ProductID == $scope.smodal.productId);\r\n\t\t\t\tif(item.ItemsLeft>0){\r\n\t\t\t\t\t$scope.haveEquipment = true;\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$scope.haveEquipment = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif($scope.haveEquipment){\r\n\t\t\t\tsendJoinEventRequest();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction getEqipment(final = false){\r\n\t\t\tvar dataObject = {\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tID: $scope.schedule.ID\r\n\t\t\t}\r\n\t\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\turl: '/api/public/GetEqipment?nameSpace=' + namespace + '&gymId=' + gymid + '&ID=' + $scope.schedule.ID,\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\tif($scope.visitProducts.length == 0){\r\n\t\t\t\t\t$scope.visitProducts = data;\r\n\t\t\t\t}\r\n\t\t\t\t$scope.visitOriginalProducts = [...data];\r\n\t\t\t\t$scope.modalLoading = false;\r\n\t\t\t\tif(final)\r\n\t\t\t\t\tcheckEqipment();\r\n\t\t\t}).error(function () {\r\n\t\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tgetEqipment();\r\n\r\n\t\t// Join Event\r\n\t\t$scope.formLoaded = true;\r\n\r\n\t\tvar joinEventResponses = new Array('joinEventResponse1', 'joinEventResponse2', 'joinEventResponse3', 'joinEventResponse4', 'joinEventResponse5', 'joinEventResponse6', 'joinEventResponse7', 'joinEventResponseEmpty','joinEventResponseEmpty', 'joinEventResponse8', 'joinEventResponse9', 'joinEventResponse10');\r\n\r\n\t\tfunction sendJoinEventRequest(){\r\n\r\n\t\t\tif($scope.waitingListApprove && ($scope.smodal.paymentMethod == 1 || $scope.smodal.paymentMethod == 7)){\r\n\t\t\t\tstandardJoinEvent();\r\n\t\t\t}else if($scope.waitingListApprove && ($scope.smodal.paymentMethod == 0 || $scope.smodal.paymentMethod == 2 || $scope.smodal.paymentMethod == 3 || $scope.smodal.paymentMethod == 4 || $scope.smodal.paymentMethod == 5 || $scope.smodal.paymentMethod == 6)){\r\n\t\t\t\tapproveFromWaitingList();\r\n\t\t\t}else{\r\n\t\t\t\tstandardJoinEvent();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// ApproveFromWaitingList(string Email, string Language, int ID, int GymID, string Namespace)\r\n\r\n\t\tfunction approveFromWaitingList(){\r\n\t\t\t$scope.loading = true;\r\n\t\t\tlet dataObject = {\r\n\t\t\t\tID: WaitingListID,\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tEmail: $scope.client ? $scope.client.Email : $scope.smodal.email,\r\n\t\t\t\tLanguage: lang\r\n\t\t\t}\r\n\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/private/ApproveFromWaitingList',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\tlet result = JSON.parse(data.toLowerCase());\r\n\r\n\t\t\t\tif(result){\r\n\t\t\t\t\t$scope.joinEventResponse = joinEventResponses[0];\r\n\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// $('.box-single .success-msg').addClass('green');\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$scope.joinEventResponse = joinEventResponses[2];\r\n\t\t\t\t\t// $('.box-single .success-msg').addClass('red');\r\n\r\n\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\t$scope.loading = false;\r\n\t\t\t}).error(function () {\r\n\t\t\t\t$scope.loading = false;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction standardJoinEvent(){\r\n\t\t\tlet dataObject = prepareDataToSned();\r\n\t\t\tif ($scope.formLoaded == true) {\r\n\t\t\t $scope.formLoaded = false;\r\n\t\t\t $http({\r\n\t\t\t method: 'POST',\r\n\t\t\t url: '/private/JoinEvent',\r\n\t\t\t data: dataObject\r\n\t\t\t }).success(function (data) {\r\n\t\t\t var responseI = data;\r\n\t\t\t $scope.joinEventResponse = joinEventResponses[responseI];\r\n\r\n\t\t\t\t\tif (responseI == 0) {\r\n\t\t\t\t\t\tif (dataObject.PaymentMethod == 8) {\r\n\t\t\t\t\t\t\tgenerateMyPos();\r\n\t\t\t\t\t\t}else if (dataObject.PaymentMethod == 9) {\r\n\t\t\t\t\t\t\tgeneratePaymob();\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\t\t\tonAfterClose: () => $scope.closePopup()\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}else if(responseI == 1) {\r\n\t\t\t\t\t\t$scope.fullEvent = true;\r\n\t\t\t\t\t\t// $('#waitingModal').modal('show');\r\n\t\t\t\t\t\t// $('#waiting-popup .popup, #waiting-popup').addClass('show');\r\n\t\t\t\t\t}else if(responseI == 6) {\r\n\t\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}else if(responseI == 8){\r\n\t\t\t\t\t\tvar translated = $translateThis('Waiver Required!Portal');\r\n\t\t\t\t\t\tvar waiverHref = window.location.origin + '/waiver/embedregistration?GymID=' + gymid + '&NameSpace=' + namespace + '&Redirect=/Schedulev2/EmbedGroupSchedulev2';\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t\t\t}).then(function(result) {\r\n\t\t\t\t\t\t\tif (result.value) {\r\n\t\t\t\t\t\t\t\twindow.location.href = waiverHref;\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t$timeout(function() {\r\n\t\t\t\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\t\t\t}, 1);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}else if(responseI == 9) {\r\n\t\t\t\t\t\tlet maxResPerDay = $scope.classSettings.MaxReservationsPerDay;\r\n\t\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse, {value: maxResPerDay});\r\n\t\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t\t});\r\n\t\r\n\t\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t}\r\n\t\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t\t\r\n\t\t\t // if (responseI == 0) {\r\n\t\t\t\t\t// \tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\t// \tSwal.fire({\r\n\t\t\t\t\t// \t\ttype: 'success',\r\n\t\t\t\t\t// \t\ttitle: translated\r\n\t\t\t\t\t// \t});\r\n\r\n\t\t\t // // $('.box-single .success-msg').addClass('green');\r\n\t\t\t // }else if(responseI == 1) {\r\n\t\t\t\t\t// \t// $scope.joinWaitingList($scope.modalVisit);\r\n\t\t\t\t\t// \t$scope.fullEvent = true;\r\n\t\t\t\t\t// \t// $('#waiting-popup .popup, #waiting-popup').addClass('show');\r\n\t\t\t\t\t// }else if (responseI == 6) {\r\n\t\t\t\t\t// \tlet translated = $translateThis($scope.joinEventResponse);\r\n\t\t\t\t\t// \tSwal.fire({\r\n\t\t\t\t\t// \t\ttype: 'warning',\r\n\t\t\t\t\t// \t\ttitle: translated\r\n\t\t\t\t\t// \t});\r\n\t\t\t // }\r\n\t\t\t\t\t\r\n\t\t\t $scope.formLoaded = true;\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t }).error(function () {\r\n\t\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated\r\n\t\t\t\t\t});\r\n\r\n\t\t\t // $('.box-single .error-msg').addClass('show');\r\n\t\t\t $scope.formLoaded = true;\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction generatePaymob(){\r\n\r\n\t\t\tlet dataObject = prepareDataToSned();\r\n\t\t\tdataObject.Language = lang;\r\n\t\t\t\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/private/GeneratePaymobURL',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\tif(data != 'Error'){\r\n\t\t\t\t\tlet paymoblink = data;\r\n \twindow.location.href = paymoblink;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log(data);\r\n\t\t\t}).error(function (error) {\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t});\r\n\t\r\n\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t$scope.loading = false;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction generateMyPos(){\r\n\r\n\t\t\tlet dataObject = prepareDataToSned();\r\n\t\t\tdataObject.Language = lang;\r\n\t\t\t\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/private/GenerateMyPosValues',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\tif(data != 'Error'){\r\n\t\t\t\t\tpost_to_url(data, 'post');\r\n\t\t\t\t}else{\r\n\t\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t\t$scope.loading = false;\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log(data);\r\n\t\t\t}).error(function (error) {\r\n\t\t\t\tlet translated = $translateThis('ERROR');\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\ttitle: translated,\r\n\t\t\t\t});\r\n\t\r\n\t\t\t\t$scope.formLoaded = true;\r\n\t\t\t\t$scope.loading = false;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction post_to_url(params, method) {\r\n\t\t\tlet path = $scope.classSettings.MyPosTestingMode ? 'https://www.mypos.com/vmp/checkout-test' : 'https://www.mypos.com/vmp/checkout';\r\n\t\t\tmethod = method || \"post\";\r\n\t\t\r\n\t\t\tvar form = document.createElement(\"form\");\r\n\t\t\tform.setAttribute(\"method\", method);\r\n\t\t\tform.setAttribute(\"action\", path);\r\n\t\t\r\n\t\t\tfor(var key in params) {\r\n\t\t\t\tif(params.hasOwnProperty(key)) {\r\n\t\t\t\t\tvar hiddenField = document.createElement(\"input\");\r\n\t\t\t\t\thiddenField.setAttribute(\"type\", \"hidden\");\r\n\t\t\t\t\thiddenField.setAttribute(\"name\", key);\r\n\t\t\t\t\thiddenField.setAttribute(\"value\", params[key]);\r\n\t\t\r\n\t\t\t\t\tform.appendChild(hiddenField);\r\n\t\t\t\t }\r\n\t\t\t}\r\n\t\t\r\n\t\t\tdocument.body.appendChild(form);\r\n\t\t\tform.submit();\r\n\t\t}\r\n\r\n\t\t$scope.linkjoinEvent = function(){\r\n\t\t\tif ($scope.smodal.paymentMethod == '7') {\r\n\t\t\t\tif(Number($scope.modalPrice).toFixed(2) == 0.00){\r\n\t\t\t\t\t$scope.smodal.paymentMethod = '0';\r\n\t\t\t\t\t$scope.joinEvent();\r\n\t\t\t\t}else{\r\n\t\t\t\t\tgeneratePaymentIntent();\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\t$scope.joinEvent();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$scope.joinEvent = function () {\r\n\t\t\tgetEqipment(true);\r\n\t\t}\r\n\r\n\t\t$scope.joinWaitingList = function(event){\r\n\t\t\tlet dataObject = {\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tId: event.ID,\r\n\t\t\t\tEmail: $scope.client ? $scope.client.Email : $scope.waitingList.Email,\r\n\t\t\t\tDate: moment(event.NewDate).toISOString(),\r\n\t\t\t\tVisitName: event.VisitName,\r\n\t\t\t\tLanguage: lang\r\n\t\t\t}\r\n\t\r\n\t\t\tif ( $scope.client ) {\r\n\t\t\t\tdataObject.FirstName = $scope.client.FirstName;\r\n\t\t\t\tdataObject.LastName = $scope.client.LastName;\r\n\t\t\t\tdataObject.Telephone = $scope.client.Telephone;\r\n\t\t\t}\r\n\r\n\t\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/private/JoinWaitingList',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\r\n\t\t\t\t//0:everything ok; 1:no client found; 2:cannot add to waiting list; 3:error;4 already in the same waiting list; 7:no event found\r\n\t\r\n\t\t\t\tconsole.log(data);\r\n\t\t\t\tlet response = data;\r\n\t\r\n\t\t\t\tif(response == 0){\r\n\t\t\t\t\tlet translated = $translateThis('Thank you for joining the waitlist. You will receive an email if space becomes available.');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t\t\t}else if(response == 1){\r\n\t\t\t\t\tlet translated = $translateThis('There is no customer with this email. Please contact reception.');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t\t\t}else if(response == 2){\r\n\t\t\t\t\tlet translated = $translateThis('Cannot add to waiting list');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t\t\t}else if(response == 3){\r\n\t\t\t\t\tlet translated = $translateThis('Error');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t\t\t}else if(response == 4){\r\n\t\t\t\t\tlet translated = $translateThis('You are already in the waitlist. We will send you an email if space becomes available');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t\t\t}else if(response == 7){\r\n\t\t\t\t\tlet translated = $translateThis('no event found');\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\ttitle: translated,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}).error(function (error) {\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t$scope.addPerson = function(){\r\n\t\t\tlet person = {};\r\n\t\t\t$scope.people.push(person);\r\n\t\t\tcalculateEventPrice();\r\n\t\t}\r\n\t\r\n\t\t$scope.deletePerson = function(index){\r\n\t\t\tlet item = $scope.people[index];\r\n\t\r\n\t\t\tif (item.productId > -1) {\r\n\t\t\t\tlet result = $.grep($scope.visitProducts, function (e) { return e.ProductID == item.productId });\r\n\t\t\t\tresult[0].ItemsLeft = ++result[0].ItemsLeft;\r\n\t\t\t}\r\n\t\t\t$scope.people.splice(index,1);\r\n\t\t\tcalculateEventPrice();\r\n\t\t}\r\n\r\n\t\t$(document).on('click', '.dd .dd-head', function (e) {\r\n\t\t\t$(this).parent('.dd').toggleClass('show');\r\n\t\t});\r\n\r\n\t\t$(document).click(function (e) {\r\n\t\t\tif ($(e.target).closest('.dd').length === 0 && $('.dd').is('.show')) {\r\n\t\t\t\t$('.dd').removeClass('show');\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$(document).on('click', '.box-single .dd-field', function () {\r\n\t\t\tvar content = $(this).find('label').html();\r\n\t\t\tvar dd = $(this).parents('.dd');\r\n\t\t\tdd.find('.dd-head').html(content);\r\n\t\t\tdd.removeClass('show');\r\n\t\t\t$scope.paymentChange();\r\n\t\t})\r\n\r\n\t\tif (gym) {\r\n\t\t\tif (gym[0].PortalColor != null && gym[0].PortalColor != 'default') {\r\n\t\t\t\t$('.schedule-wrapper').addClass('theme-' + gym[0].PortalColor);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t$(window)\r\n\t\t\t.on('load', function () {\r\n\r\n\t\t\t\tlet phoneLang = getLanguage($scope.gym.Culture);\r\n\t\t\t\tvar inputInitPhone = document.querySelector(\"#popuptelephone\");\r\n\t\t\t\t\r\n\t\t\t\tif(inputInitPhone){\r\n\r\n\t\t\t\t\tif($scope.gym.Culture.includes('GB')){\r\n\t\t\t\t\t\t$('#popuptelephone')\r\n\t\t\t\t\t\t.on('keydown', function (e) {\r\n\t\t\t\t\t\t\tif(e.keyCode == 32){\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t.on('keyup', function (e) {\r\n\t\t\t\t\t\t\tif(e.target.value.length == 4){\r\n\t\t\t\t\t\t\t\te.target.value = e.target.value += ' ';\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$scope.inputPhone = window.intlTelInput(inputInitPhone, {\r\n\t\t\t\t\t\tautoHideDialCode: false,\r\n\t\t\t\t\t\tpreferredCountries: [phoneLang],\r\n\t\t\t\t\t\tseparateDialCode: true\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tinputInitPhone.addEventListener(\"countrychange\", function() {\r\n\t\t\t\t\t\tlet countryinfo = $scope.inputPhone.getSelectedCountryData()\r\n\t\t\t\t\t\tif(countryinfo.dialCode == '44'){\r\n\t\t\t\t\t\t\tinputInitPhone.value = inputInitPhone.value.split(' ').join('');\r\n\t\t\t\t\t\t\tif(inputInitPhone.value.length > 4){\r\n\t\t\t\t\t\t\t\tinputInitPhone.value = inputInitPhone.value.substring(0, 4) + \" \" + inputInitPhone.value.substring(4, 10);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t$scope.phoneFormat = /^[0-9\\s]{5,11}$/;\r\n\t\t\t\t\t\t\t$('#popuptelephone')\r\n\t\t\t\t\t\t\t.on('keydown', function (e) {\r\n\t\t\t\t\t\t\t\tif(e.keyCode == 32){\r\n\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.on('keyup', function (e) {\r\n\t\t\t\t\t\t\t\tif(e.target.value.length == 4){\r\n\t\t\t\t\t\t\t\t\te.target.value = e.target.value += ' ';\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tinputInitPhone.value = inputInitPhone.value.split(' ').join('');\r\n\t\t\t\t\t\t\t$scope.phoneFormat = /^[0-9]{5,15}$/;\r\n\t\t\t\t\t\t\t$scope.waiverForm.Telephone.$validate()\r\n\t\t\t\t\t\t\t$('#popuptelephone')\r\n\t\t\t\t\t\t\t.on('keydown', function (e) {\r\n\t\t\t\t\t\t\t\tif(e.keyCode == 32){\r\n\t\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.on('keyup', function (e) {\r\n\t\t\t\t\t\t\t\tif(e.target.value.length == 4){\r\n\t\t\t\t\t\t\t\t\t// e.target.value = e.target.value += ' ';\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t// Get Language from backend settings\r\n\t\tfunction getLanguage(culture){\r\n\t\t\tlet lang = culture.split('-');\r\n\t\t\tlang = lang[1].toLowerCase();\r\n\t\t\treturn lang;\r\n\t\t}\r\n\t\t\r\n\t}else{\r\n\t\t$scope.noSchedule = true;\r\n\t}\r\n}]);","app.controller('ScheduleEventInfoController', ['$scope', '$http', '$timeout', '$translate', function ($scope, $http, $timeout, $translate) {\r\n\r\n\t$scope.schedule = schedule;\r\n\t$scope.client = client;\r\n\t$scope.attending = attending;\r\n\r\n\tvar scheduleDate = new Date(schedule.Date);\r\n\tvar dateBeforeCancel = new Date(schedule.Date);\r\n\tdateBeforeCancel.setHours(dateBeforeCancel.getHours() - settings.HoursBeforeCanceling);\r\n\tvar today = new Date();\r\n\r\n\tif (scheduleDate > today) {\r\n\t\t$scope.canCancel = true;\r\n\t}\r\n\r\n\tfunction findElement(arr, propName, propValue) {\r\n\t\tfor (var i = 0; i < arr.length; i++)\r\n\t\t\tif (arr[i][propName] == propValue)\r\n\t\t\t\treturn arr[i];\r\n\t\t// will return undefined if not found; you could return a default instead\r\n\t}\r\n\r\n\t// Get Areas\r\n\t$scope.getAreas = function () {\r\n\t\tvar dataObject = {\r\n\t\t\tNamespace: namespace,\r\n\t\t\tGymId: gymid\r\n\t\t}\r\n\t\t$http({\r\n\t\t\tmethod: 'GET',\r\n\t\t\turl: '/api/public/GetAreas?nameSpace=' + namespace + '&gymId=' + gymid,\r\n\t\t\tdata: dataObject\r\n\t\t}).success(function (data) {\r\n\t\t\tvar x = findElement(data, \"AreaID\", $scope.schedule.AreaID);\r\n\t\t\tif(x){\r\n\t\t\t\t$scope.areaName = x['Name'];\r\n\t\t\t}\r\n\r\n\t\t}).error(function () {\r\n\r\n\t\t});\r\n\t}\r\n\r\n\t$scope.getAreas();\r\n\r\n\t$scope.leaveEvent = function () {\r\n\t\tvar now = new Date();\r\n\r\n\t\tif (now < dateBeforeCancel) {\r\n\t\t\tvar dataObject = {\r\n\t\t\t\tNamespace: namespace,\r\n\t\t\t\tGymID: gymid,\r\n\t\t\t\tId: $scope.schedule.ID,\r\n\t\t\t\tClientID: $scope.client.ClientID,\r\n\t\t\t\tLanguage: lang\r\n\t\t\t}\r\n\r\n\t\t\t$http({\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: '/private/leaveEvent',\r\n\t\t\t\tdata: dataObject\r\n\t\t\t}).success(function (data) {\r\n\t\t\t\tif (data == true || data == 'True') {\r\n\t\t\t\t\t$('.event-box .actions').addClass('show-success');\r\n\t\t\t\t}\r\n\t\t\t}).error(function () {\r\n\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t$('.event-box .actions').addClass('show-error');\r\n\t\t}\r\n\t}\r\n\r\n}]);","app.directive('translateDateObjectSchedule', function ($timeout) {\r\n\treturn {\r\n\t\tcontroller: function ($scope) {\r\n\t\t\treturn {};\r\n\t\t},\r\n\t\trequires: 'translateDateObjectSchedule',\r\n\t\tlink: function (scope, element, attrs, thisController) {\r\n\r\n\t\t\t$timeout(function () {\r\n\r\n\t\t\t\tthisController.html = element[0].innerHTML;\r\n\r\n\t\t\t\t// CLEAN THE STRING TO GET A CLEAN NAME DAY\r\n\t\t\t\tvar content_temp1 = thisController.html.replace('
', '');\r\n\t\t\t\tvar content_temp2 = content_temp1.replace('', '').toLowerCase();\r\n\r\n\t\t\t\tvar day_name = '';\r\n\r\n\t\t\t\tfor (var i = 0, len = content_temp2.length; i < len; i++) {\r\n\t\t\t\t\t// CHECK IF IS A CHAR\r\n\t\t\t\t\tif (content_temp2[i].match(/[a-z]/i)) {\r\n\t\t\t\t\t\tday_name += content_temp2[i];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlang = scope.currentLang ? scope.currentLang : lang;\r\n\r\n\t\t\t\t// CHECK THE ACTIVE LANGUAGE\r\n\t\t\t\tif (lang == 'bg') {\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Понеделник');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Вторник');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Сряда');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Четвъртък');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Петък');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Събота');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Неделя');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'es'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Lunes');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Martes');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Miércoles');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Jueves');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Viernes');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Sábado');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Domingo');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'esc'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Dilluns');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Dimarts');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Dimecres');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Dijous');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Divendres');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Dissabte');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Diumenge');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'esm'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Dilluns');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Dimarts');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Dimecres');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Dijous');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Divendres');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Dissabte');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Diumenge');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'pt'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Segunda-feira');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Terça-feira');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Quarta-feira');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Quinta-feira');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Sexta-feira');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Sábado');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Domingo');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'it'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Lunedì');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Martedì');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Mercoledì');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Giovedì');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Venerdì');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Sabato');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Domenica');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (lang == 'ro'){\r\n\t\t\t\t\t// ASSIGN A DIFFERENT TRANSLATION FOR EACH DAY\r\n\t\t\t\t\tswitch (day_name) {\r\n\t\t\t\t\t\tcase 'monday':\r\n\t\t\t\t\t\t\telement.html('
Luni');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'tuesday':\r\n\t\t\t\t\t\t\telement.html('
Marţi');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'wednesday':\r\n\t\t\t\t\t\t\telement.html('
Miercuri');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'thursday':\r\n\t\t\t\t\t\t\telement.html('
Joi');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'friday':\r\n\t\t\t\t\t\t\telement.html('
Vineri');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'saturday':\r\n\t\t\t\t\t\t\telement.html('
Sâmbătă');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'sunday':\r\n\t\t\t\t\t\t\telement.html('
Duminică');\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n})","app.directive('numbersOnly', function () {\r\n\treturn {\r\n\t\trequire: 'ngModel',\r\n\t\tlink: function (scope, element, attr, ngModelCtrl) {\r\n\t\t\tfunction fromUser(text) {\r\n\t\t\t\tif (text) {\r\n\t\t\t\t\tvar transformedInput = text.replace(/[^0-9]/g, '');\r\n\r\n\t\t\t\t\tif (transformedInput !== text) {\r\n\t\t\t\t\t\tngModelCtrl.$setViewValue(transformedInput);\r\n\t\t\t\t\t\tngModelCtrl.$render();\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn transformedInput;\r\n\t\t\t\t}\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\t\t\tngModelCtrl.$parsers.push(fromUser);\r\n\t\t}\r\n\t};\r\n})","app.directive('language', [\"$translate\", \"$http\", \"$filter\", function ($translate, $http, $filter) {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n template: '
',\r\n link: function ($scope, el, attrs) {\r\n\r\n\t\t\tvar $translateThis = $filter('translate');\r\n\r\n function setCookie(key, value) {\r\n var expires = new Date();\r\n expires.setTime(expires.getTime() + (1 * 24 * 60 * 60 * 1000));\r\n document.cookie = key + '=' + value + ';expires=' + expires.toUTCString() + ';path=/';\r\n }\r\n \r\n function getCookie(key) {\r\n var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');\r\n return keyValue ? keyValue[2] : null;\r\n }\r\n\r\n\t\t\tgetCultureLanguage();\r\n\r\n\t\t\tif (lang)\r\n\t\t\t\t$translate.use(lang);\r\n\r\n $scope.setLang = function (d) {\r\n $translate.use(d);\r\n setCookie('setLang', d);\r\n $scope.langon = false;\r\n $scope.currentLang = d;\r\n\t\t\t\tupdateDatepickerRegion(d);\r\n }\r\n\r\n const lastLang = getCookie('setLang');\r\n\t\t\t$scope.currentLang = $translate.proposedLanguage() || $translate.use();\r\n\r\n if ( lastLang ) {\r\n $scope.currentLang = lastLang;\r\n $translate.use(lastLang)\r\n }else{\r\n\t\t\t\t$translate.use($scope.cultureLang);\r\n\t\t\t\t$scope.currentLang = $scope.cultureLang;\t\r\n }\r\n\r\n\t\t\tif(gym[0].Languages != null){\r\n\t\t\t\t$scope.languages = gym[0].Languages.split(',');\r\n\t\t\t\tif( !$scope.languages.includes($scope.cultureLang)){\r\n\t\t\t\t\t$scope.languages.push($scope.cultureLang);\r\n\t\t\t\t}\r\n\t\t\t}else{\r\n\t\t\t\t$scope.languages = ['en', 'bg', 'es', 'esc', 'esm', 'pl', 'pt', 'it', 'ro'];\r\n\t\t\t}\r\n\r\n\t\t\tif ($scope.currentLang == 'bg') {\r\n\t\t\t\t$scope.AdditionInfo = $scope.gym[0].AdditionalInformation;\r\n\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['bg']);\r\n\t\t\t}else if($scope.currentLang == 'es' || $scope.currentLang == 'esc' || $scope.currentLang == 'esm'){\r\n\t\t\t\t$scope.AdditionInfo = $scope.gym[0].AddditionalInformationEN;\r\n\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['es']);\r\n\t\t\t}else if($scope.currentLang == 'pt'){\r\n\t\t\t\t$scope.AdditionInfo = $scope.gym[0].AddditionalInformationEN;\r\n\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['pt']);\r\n\t\t\t}else if($scope.currentLang == 'it'){\r\n\t\t\t\t$scope.AdditionInfo = $scope.gym[0].AddditionalInformationEN;\r\n\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['it']);\r\n\t\t\t}else if($scope.currentLang == 'ro'){\r\n\t\t\t\t$scope.AdditionInfo = $scope.gym[0].AddditionalInformationEN;\r\n\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['ro']);\r\n\t\t\t}else if(gym[0].Culture == 'en-GB'){\r\n\t\t\t\t$scope.AdditionInfo = $scope.gym[0].AddditionalInformationEN;\r\n\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['en-GB']);\r\n\t\t\t}else{\r\n\t\t\t\t$scope.AdditionInfo = $scope.gym[0].AddditionalInformationEN;\r\n\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['en']);\r\n\t\t\t}\r\n\r\n\t\t\tif ($scope.gym[0].Culture == 'en-US') {\r\n\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker( \"option\", \"dateFormat\", \"mm/dd/yy\" );\r\n\t\t\t} else {\r\n\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker( \"option\", \"dateFormat\", \"dd/mm/yy\" );\r\n\t\t\t}\r\n\r\n\t\t\t// Language Switch\r\n\t\t\t$scope.$on('$translateChangeSuccess', function (event, current, previous) {\r\n\t\t\t\t$scope.currentLang = $translate.proposedLanguage() || $translate.use();\r\n\t\t\t});\r\n\r\n\t\t\tlet url = window.location.pathname;\r\n\t\t\tif (gymdivision && url.search('Schedulev2') >= 0) {\r\n\t\t\t\t$scope.currentLang = $translate.proposedLanguage() || $translate.use();\r\n\t\t\t\tvar $translateThis = $filter('translate');\r\n\t\t\t\tvar titleShedule = $translateThis('titleShedule');\r\n\t\t\t\tdocument.title = gymdivision + ' - ' + titleShedule;\r\n\t\t\t}\r\n\t\t\r\n\r\n\t\t\tfunction getCultureLanguage(){\r\n\t\t\t\tif (lang){\r\n\t\t\t\t\t$scope.cultureLang = lang;\t\r\n\t\t\t\t}else if (gym[0].Culture.includes('-ES') ) {\r\n\t\t\t\t\tif (gym[0].Culture == 'ca-ES' || gym[0].Culture == 'ca-ES-valencia') {\r\n\t\t\t\t\t\t$scope.cultureLang = 'esc';\t\r\n\t\t\t\t\t}else if(gym[0].Culture == 'es-MX'){\r\n\t\t\t\t\t\t$scope.cultureLang = 'esm';\t\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\t$scope.cultureLang = 'es';\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if (gym[0].Culture == 'bg-BG'){\r\n\t\t\t\t\t$scope.cultureLang = 'bg';\r\n\t\t\t\t}else if (gym[0].Culture == 'pt-PT'){\r\n\t\t\t\t\t$scope.cultureLang = 'pt';\r\n\t\t\t\t}else if (gym[0].Culture == 'it-IT'){\r\n\t\t\t\t\t$scope.cultureLang = 'it';\r\n\t\t\t\t}else if (gym[0].Culture == 'ro-RO'){\r\n\t\t\t\t\t$scope.cultureLang = 'ro';\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$scope.cultureLang = 'en';\t\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfunction updateDatepickerRegion(e){\r\n\t\t\t\tvar lang = e;\r\n\r\n\t\t\t\tif (lang == 'bg') {\r\n\t\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['bg']);\r\n\t\t\t\t}else if(lang == 'es' || lang == 'esc' || lang == 'esm'){\r\n\t\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['es']);\r\n\t\t\t\t}else if(lang == 'pt'){\r\n\t\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['pt']);\r\n\t\t\t\t}else if(lang == 'it'){\r\n\t\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['it']);\r\n\t\t\t\t}else if(lang == 'ro'){\r\n\t\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['ro']);\r\n\t\t\t\t}else if(gym[0].Culture == 'en-GB'){\r\n\t\t\t\t\t$scope.AdditionInfo = $scope.gym[0].AddditionalInformationEN;\r\n\t\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['en-GB']);\r\n\t\t\t\t}else{\r\n\t\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker(\"option\", $.datepicker.regional['en']);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ($scope.gym[0].Culture == 'en-US') {\r\n\t\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker( \"option\", \"dateFormat\", \"mm/dd/yy\" );\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$('#from, #to, #schedule_to, #schedule_from').datepicker( \"option\", \"dateFormat\", \"dd/mm/yy\" );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ($scope.AdditionInfo) {\r\n\t\t\t\t\tvar prtext = $scope.AdditionInfo.replace(/\\n/g, '
')\r\n\t\t\t\t\t$('.section-addtext').html(prtext);\r\n\t\t\t\t}\r\n\t\t\t}\r\n }\r\n };\r\n}]);","app.filter('money', [function () {\r\n return function (d) {\r\n\t\tvar curTpl = '';\r\n\r\n\t\tif(customCurrency){\r\n\t\t\tcurTpl = \"{{money}} \" + customCurrency;\r\n\t\t}else if ( gym[0].Culture ) {\r\n\t\t\tif (gym[0].Culture == 'bg-BG') {\r\n\t\t\t\tcurTpl = \"{{money}} лв.\";\r\n\t\t\t\t// $scope.customCurrency = 'лв.';\r\n\t\t\t}else if(gym[0].Culture.includes('-ES') || gym[0].Culture.includes('pt') || gym[0].Culture.includes('it') || gym[0].Culture.includes('ro') ){\r\n\t\t\t\tcurTpl = \"{{money}}€\";\r\n\t\t\t\t// $scope.customCurrency = 'eur';\r\n\t\t\t}else if(gym[0].Culture == \"fr-CH\"){\r\n\t\t\t\tcurTpl = \"CHF{{money}}\";\r\n\t\t\t\t// $scope.customCurrency = 'CHF';\r\n\t\t\t}else if(gym[0].Culture.includes('-GB')){\r\n\t\t\t\tcurTpl = \"£{{money}}\";\r\n\t\t\t}else if(gym[0].Culture == \"en-ZA\"){\r\n\t\t\t\tcurTpl = \"R{{money}}\";\r\n\t\t\t}else {\r\n\t\t\t\tcurTpl = \"${{money}}\";\r\n\t\t\t\t// $scope.customCurrency = '$';\r\n\t\t\t}\r\n\t\t}\r\n\r\n function formatPrice(num) {\r\n if (num == 0) return '0.00';\r\n\t\t\tif (num){\r\n\t\t\t\tnum = parseFloat(num);\r\n\t\t\t\treturn num.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\r\n\t\t\t}\r\n\r\n return '';\r\n }\r\n return curTpl.replace(\"{{money}}\", formatPrice(d))\r\n }\r\n}]);","angular.\r\n module('app').\r\n component('authorization', { // This name is what AngularJS uses to match to the `
` element.\r\n templateUrl: '../Frontend/WipCustomersPortal/src/partials/authorization.template.html',\r\n controller: ['$scope', '$http', '$translate', '$filter', '$timeout', AuthorizationController],\r\n bindings: {\r\n login: '<'\r\n }\r\n});\r\n\r\nfunction AuthorizationController($scope, $http, $translate, $filter, $timeout){\r\n\r\n $scope.statusSuccess = false\r\n if (typeof infoData !== 'undefined') {\r\n $scope.Namespace = infoData.NameSpace;\r\n $scope.GymID = infoData.GymID;\r\n }else{\r\n $scope.Namespace = namespace;\r\n $scope.GymID = gymid;\r\n }\r\n\r\n $scope.logoLink = '/account/indexv2?namespace=' + $scope.Namespace + '&GymID=' + $scope.GymID;\r\n var $translateThis = $filter('translate');\r\n $scope.registerView = registerView;\r\n $scope.dashLogin = registerView ? false : true;\r\n\r\n if(newRegistration){\r\n var translated = $translateThis('You email address is confirmed.');\r\n\r\n const Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top',\r\n target: 'body #unauthenticated-form',\r\n showConfirmButton: false,\r\n didOpen: (toast) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n })\r\n \r\n Toast.fire({\r\n icon: 'success',\r\n type: 'success',\r\n title: translated\r\n })\r\n }\r\n\r\n\r\n $scope.closePopup = function () {\r\n\t\t$('.popup-wrapper').removeClass('show');\r\n\t\t$scope.formLogin.$setPristine();\r\n $scope.formRegister.$setPristine();\r\n\t}\r\n\r\n if ( isMobile ){\r\n $scope.mobileApp = isMobile;\r\n }\r\n \r\n if (gym)\r\n $scope.gym = gym;\r\n\r\n if (learnedFrom)\r\n $scope.learnedFrom = learnedFrom\r\n\r\n var $translateThis = $filter('translate');\r\n\r\n $scope.showLogin = function () {\r\n $scope.dashLogin = true;\r\n }\r\n\r\n $scope.hideLogin = function () {\r\n $scope.dashLogin = false;\r\n }\r\n\r\n $scope.phoneFormat = $scope.gym[0].Culture.includes('GB') ? /^[0-9\\s]{5,11}$/ : /^[0-9]{5,15}$/;\r\n\r\n\r\n // Get Gyms\r\n getGyms = function () {\r\n var dataObject = {\r\n Namespace: $scope.Namespace\r\n }\r\n\r\n $http({\r\n method: 'POST',\r\n url: '/Membership/GetGyms',\r\n data: dataObject\r\n }).success(function (data) {\r\n $scope.membershipGyms = data;\r\n \r\n //$scope.$apply();\r\n\r\n if ($scope.membershipGyms.length == 1) {\r\n $timeout(function () {\r\n $scope.RegGymName = $scope.membershipGyms[0].GymID;\r\n })\r\n }\r\n }).error(function () {\r\n // console.log('error');\r\n });\r\n }\r\n\r\n getGyms();\r\n\r\n $scope.accRegister = function () {\r\n $scope.statusSuccess = false;\r\n $scope.loading = true;\r\n $scope.currentLang = $translate.proposedLanguage() || $translate.use();\r\n var GymID = $scope.GymID;\r\n var Namespace = $scope.Namespace;\r\n var regbirthdate = $('#RegBirthdate').val();\r\n if ($scope.gym[0].Culture != 'en-US') {\r\n var res = regbirthdate.split(\"/\");\r\n var date = res[1] + '/' + res[0] + '/' + res[2];\r\n }else{\r\n var date = regbirthdate;\r\n }\r\n var number = $scope.inputPhone.selectedDialCode.innerHTML + $scope.inputPhone.telInput.value;\r\n number = number.replace(/ /g,'');\r\n let url = window.location.pathname.split(\"/\");\r\n let controller = url[1];\r\n let action = url[2];\r\n\r\n var dataObject = {\r\n RegEmail: $('#RegEmail').val(),\r\n RegPassword: $('#RegPassword').val(),\r\n RegConfirmPassword: $('#RegConfirmPassword').val(),\r\n RegFirstName: $('#RegFirstName').val(),\r\n RegLastName: $('#RegLastName').val(),\r\n Namespace: $scope.Namespace,\r\n GymID: $scope.GymID,\r\n Male: $scope.regSexRadio,\r\n Telephone: number,\r\n DivisionID: $('#RegGym').val(),\r\n Birthdate: moment(date).toISOString(),\r\n LearnedFrom: $('#RegLearnedFrom').val(),\r\n WorkAddress: $('#RegWorkAddress').val(),\r\n HomeAddress: $('#RegAddress').val(),\r\n RecommendBy: $('#RegRecommendBy').val(),\r\n Controller: controller,\r\n Action: action,\r\n receiveEmails: $scope.receiveEmails,\r\n PortalVersion: 'v2'\r\n }\r\n\r\n $http({\r\n method: 'POST',\r\n url: '/account/register/',\r\n data: dataObject\r\n }).success(function (data) {\r\n var data = data;\r\n\r\n if (data == 'Success') {\r\n\r\n if( $('.newbooking-body').length ){\r\n $scope.statusSuccess = true;\r\n }else{\r\n var currentHref = window.location;\r\n var href = currentHref.origin + '/Account/ConfirmYourEmailv2?nameSpace=' + $scope.Namespace + '&gymId=' + $scope.GymID;\r\n if ( isMobile == true ) {\r\n href += '&isMobile=true';\r\n } \r\n if ( registerView == true ) {\r\n href += '&RegisterViewSuccess=true';\r\n } \r\n\r\n window.location.replace(href); \r\n }\r\n } else {\r\n var n = data.search(\"com is already taken\");\r\n\r\n if (n > 0) {\r\n var translated = $translateThis('User Taken');\r\n $('.validation-errors').html('');\r\n } else {\r\n var res = data.split(\".\");\r\n\r\n if (res.length > 2) {\r\n $('.validation-errors').html('');\r\n for (var i = 0; i < res.length - 1; i++) {\r\n var msg = res[i] + '.';\r\n var translated = $translateThis(msg);\r\n $('.validation-errors .section-valid').append('' + translated + '
');\r\n }\r\n } else {\r\n var translated = $translateThis(data);\r\n $('.validation-errors').html('');\r\n }\r\n }\r\n }\r\n $scope.loading = false;\r\n\r\n }).error(function () {\r\n // console.log('error');\r\n });\r\n };\r\n\r\n $scope.RememberMe = false;\r\n\r\n $scope.accLogin = function () {\r\n\r\n $scope.loading = true;\r\n var gymid = $('#accGymID').val();\r\n var namespace = $('#Namespace').val();\r\n\r\n var dataObject = {\r\n Email: $('#Email').val().replace(/ /g,''),\r\n Password: $('#Password').val(),\r\n RememberMe: $scope.RememberMe,\r\n Namespace: namespace,\r\n GymID: gymid\r\n }\r\n\r\n $http({\r\n method: 'POST',\r\n url: '/account/login/',\r\n data: dataObject\r\n }).success(function (data) {\r\n var data = data;\r\n var currentHref = window.location;\r\n // var href = currentHref.origin + '/Account/Dashboard?nameSpace=' + namespace + '&gymId=' + gymid;\r\n\r\n if (data == 'Success') {\r\n window.location.reload();\r\n } else {\r\n var translated = $translateThis(data);\r\n $('.validation-errors').html('');\r\n }\r\n $scope.loading = false;\r\n\r\n }).error(function () {\r\n // console.log('error');\r\n });\r\n };\r\n\r\n\r\n function setCookie(key, value) {\r\n var val = value;\r\n var expires = new Date();\r\n expires.setTime(expires.getTime() + (1 * 24 * 60 * 60 * 1000));\r\n document.cookie = key + '=' + value + ';expires=' + expires.toUTCString() + ';path=/';\r\n if (val != \"true\") {\r\n $('body').addClass('pound-currency');\r\n } else {\r\n $('body').removeClass('pound-currency');\r\n }\r\n }\r\n\r\n function getCookie(key) {\r\n var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');\r\n return keyValue ? keyValue[2] : null;\r\n }\r\n\r\n var today = new Date();\r\n var datepicker = $('#RegBirthdate');\r\n var lastDate = getCookie('setDate');\r\n\r\n datepicker.datepicker({\r\n changeMonth: true,\r\n changeYear: true,\r\n yearRange: \"1920:2040\",\r\n numberOfMonths: 1,\r\n onSelect: function (dateText, inst) {\r\n $scope.currentLang = $translate.proposedLanguage() || $translate.use();\r\n var date = $(this).val();\r\n\r\n if ($scope.gym[0].Culture != 'en-US') {\r\n var res = date.split(\"/\");\r\n var date = res[1] + '/' + res[0] + '/' + res[2];\r\n }\r\n $scope.cardStartDate = new Date(date);\r\n $scope.membershipStartDate = $scope.cardStartDate;\r\n\r\n if ($('.section-authorize').length && !$('#RegBirthdayVal').is(':checked')) {\r\n $('#RegBirthdayVal').trigger('click');\r\n }\r\n \r\n if ( $('.onepage-wrapper').length ) {\r\n $scope.theChoosenMembershipDate = $scope.cardStartDate;\r\n }\r\n $scope.$apply();\r\n }\r\n });\r\n $('.ui-datepicker').addClass('notranslate');\r\n $scope.currentLang = $translate.proposedLanguage() || $translate.use();\r\n\r\n if ($('.section-authorize').length) {\r\n datepicker.datepicker(\"option\", \"maxDate\", 0);\r\n }\r\n\r\n datepicker.next('i').on('click', function () {\r\n datepicker.datepicker('show');\r\n });\r\n\r\n\r\n if ($scope.currentLang == 'en') {\r\n datepicker.datepicker(\"option\", $.datepicker.regional['en']);\r\n }else if ($scope.currentLang == 'es' || $scope.currentLang == 'esc' || $scope.currentLang == 'esm'){\r\n datepicker.datepicker(\"option\", $.datepicker.regional['es']);\r\n }else if ($scope.currentLang == 'pt'){\r\n datepicker.datepicker(\"option\", $.datepicker.regional['pt']);\r\n }else if ($scope.currentLang == 'it'){\r\n datepicker.datepicker(\"option\", $.datepicker.regional['it']);\r\n }else if ($scope.currentLang == 'ro'){\r\n datepicker.datepicker(\"option\", $.datepicker.regional['ro']);\r\n }else {\r\n datepicker.datepicker(\"option\", $.datepicker.regional['bg']);\r\n }\r\n\r\n if ( $scope.gym[0].Culture == 'en-US' ) {\r\n datepicker.datepicker(\"option\", \"dateFormat\", 'mm/dd/yy');\r\n }else{\r\n datepicker.datepicker(\"option\", \"dateFormat\", 'dd/mm/yy');\r\n }\r\n\r\n // Get Language from backend settings\r\n\tfunction getLanguage(culture){\r\n\t\tlet lang = culture.split('-');\r\n\t\tlang = lang[1].toLowerCase();\r\n\t\treturn lang;\r\n\t}\r\n\r\n $(window).on('load', function () {\r\n\r\n let phoneLang = getLanguage($scope.gym[0].Culture);\r\n var inputInitPhone = document.querySelector(\"#RegPhone\");\r\n\r\n if(inputInitPhone){\r\n\r\n if($scope.gym[0].Culture.includes('GB')){\r\n $('#RegPhone')\r\n .on('keydown', function (e) {\r\n if(e.keyCode == 32){\r\n return false;\r\n }\r\n })\r\n .on('keyup', function (e) {\r\n if(e.target.value.length == 4){\r\n e.target.value = e.target.value += ' ';\r\n }\r\n });\r\n }\r\n\r\n $scope.inputPhone = window.intlTelInput(inputInitPhone, {\r\n autoHideDialCode: false,\r\n preferredCountries: [phoneLang],\r\n separateDialCode: true\r\n });\r\n\r\n inputInitPhone.addEventListener(\"countrychange\", function() {\r\n let countryinfo = $scope.inputPhone.getSelectedCountryData()\r\n if(countryinfo.dialCode == '44'){\r\n inputInitPhone.value = inputInitPhone.value.split(' ').join('');\r\n if(inputInitPhone.value.length > 4){\r\n inputInitPhone.value = inputInitPhone.value.substring(0, 4) + \" \" + inputInitPhone.value.substring(4, 10);\r\n }\r\n $scope.phoneFormat = /^[0-9\\s]{5,11}$/;\r\n $('#RegPhone')\r\n .on('keydown', function (e) {\r\n if(e.keyCode == 32){\r\n return false;\r\n }\r\n })\r\n .on('keyup', function (e) {\r\n if(e.target.value.length == 4){\r\n e.target.value = e.target.value += ' ';\r\n }\r\n });\r\n }else{\r\n inputInitPhone.value = inputInitPhone.value.split(' ').join('');\r\n $scope.phoneFormat = /^[0-9]{5,15}$/;\r\n $scope.waiverForm.Telephone.$validate()\r\n $('#RegPhone')\r\n .on('keydown', function (e) {\r\n if(e.keyCode == 32){\r\n return false;\r\n }\r\n })\r\n .on('keyup', function (e) {\r\n if(e.target.value.length == 4){\r\n // e.target.value = e.target.value += ' ';\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setTimeout(function() {\r\n grecaptcha.render(\"recaptcha\", {\r\n 'sitekey': \"6LfknU0UAAAAALIoMkJaBdAlZtvx1nimEFCMW2t-\", \r\n 'callback': function (token) {\r\n if(!document.getElementById('RegRecaptcha').checked)\r\n $('#RegRecaptcha').trigger('click');\r\n },\r\n 'expired-callback': function (token) {\r\n if(document.getElementById('RegRecaptcha').checked)\r\n $('#RegRecaptcha').trigger('click');\r\n }\r\n });\r\n }, 100);\r\n \r\n });\r\n}","$(window).on('load', function(){\r\n\tvar link = location.href.split('/').pop();\r\n\tlink = link.split('?');\r\n\tlink = link[0].toLowerCase();\r\n\r\n\tconsole.log(link);\r\n\t$('.menu li[data-link=\"' + link + '\"] a').addClass('active');\r\n\r\n\tsetTimeout(function() {\r\n\t\tif(!$('.membershipbuy-wrapper').length){\r\n\t\t\t$('body').addClass('loaded');\r\n\t\t}\r\n\t}, 500);\r\n})"],"sourceRoot":"/source/"}