(function($, session) { /** * @class [LoyaltyAccount description] * @view * @author hariprasad.pinninti@gtech.com * @author Santoshreddy.Mogulla@gtech.com * @extends Backbone.View * @requires portalGGA.utils.session */ portalGGA.views.LoyaltyWebEntry = Backbone.View.extend( /** @lends portalGGA.views.LoyaltyWebEntry.prototype */{ events:{ "click .submit-multiple-tickets" : "_saveMultipleTickets", "click .loyalty-addMoreTickets" : "_addTicket", "click a#my-view-submissions" : "_navigateToMySubmissions", "reset" : "_resetTicketsForm", "click .ticketImageModal" : "_openTicketImage", "keyup input" : "checkTicketAvailability" }, constructor : function LoyaltyWebEntry(options) { Backbone.View.apply(this, arguments); _.bindAll(this,"_renderTickets" ,"_addTicket","_saveMultipleTickets","_handleTicketsResponse","_resetTicketsForm","_getSubmissionCount");//makesure that 'this' is view instance this.draws = new portalGGA.SCDraws(); this.games = new portalGGA.EligibleGames(); this.mdrGames = new portalGGA.EligibleMDRGames(); this.drawNumber = ""; this.gamesArray=[]; this.minTickets = options.minTickets; this.maxTickets = options.maxTickets; this.groupName = options.groupName; this.errorCounter = 0; this.totalCost = 0; this.validticketRows = []; this.maxLimit= options.maxLimit; this.newMaxLimit = 30; this.ticketError=false; this.mdrgamesArray=[]; this._getSubmissionCount(); this._renderTickets(); portalGGA.utils.forms.automaticTab(this.$('input.autoTab-gameTicket')); this._getDraws(""); this._getGames(""); this._getMDRGames(""); }, /** * get current draw for the game * @author santoshreddy.mogulla@gtech.com * @param {Event} [event] * */ _getDraws: function _getDraws(cacheField) { var self = this; if(cacheField != "") self.draws.url= self.draws.url+"?cache-buster="+cacheField; self.draws.fetch({ cache:false, data: {'group-name':this.groupName, 'state':'open' }}).done( function success(response){ if(response && response.draws && response.draws[0] && response.draws[0].drawNumber) { self.drawNumber = response.draws[0].drawNumber; } return response; }) .fail(function error(reason){ console.warn("Error", this, arguments); reason = $.parseJSON(reason.responseText); portalGGA.utils.globalErrorNotifier.show(reason,"alert-danger"); return reason; }); }, /** * get current elligible games * @author santoshreddy.mogulla@gtech.com * @param {Event} [event] * */ _getGames: function _getGames(cacheField) { var self = this; if(cacheField != "") self.games.url= self.games.url+"?cache-buster="+cacheField; self.games.fetch({ cache:false,data:{'group-name':'ALL','sort-columns':'gameName','sort-orders':'asc'}}).done( function success(response){ var totalPage=response.totalPages; var currentPage=response.currentPage; self.gamesArray=response.games; if(currentPage !== totalPage && response.nextPageUrl!==null){ self.games.url=response.nextPageUrl; self._getNextGames(); } return response.games; }) .fail(function error(reason){ console.warn("Error", this, arguments); reason = $.parseJSON(reason.responseText); portalGGA.utils.globalErrorNotifier.show(reason,"alert-danger"); return reason; }); }, /** * get current elligible games * @author santoshreddy.mogulla@gtech.com * @param {Event} [event] * */ _getMDRGames: function _getMDRGames(cacheField) { var self = this; if(cacheField != "") self.mdrGames.url= self.mdrGames.url+"?cache-buster="+cacheField; self.mdrGames.fetch({ cache:false,data:{'group-name':'ALL','sort-columns':'gameName','sort-orders':'asc'}}).done( function success(response){ var totalPage=response.totalPages; var currentPage=response.currentPage; self.mdrgamesArray=response.games; if(currentPage !== totalPage && response.nextPageUrl!==null){ self.mdrGames.url=response.nextPageUrl; self._getNextMDRGames(); } return response.games; }) .fail(function error(reason){ console.warn("Error", this, arguments); reason = $.parseJSON(reason.responseText); portalGGA.utils.globalErrorNotifier.show(reason,"alert-danger"); return reason; }); }, /** * get next set of elligible games * @author santoshreddy.mogulla@gtech.com * @param {Event} [event] * */ _getNextMDRGames: function _getNextMDRGames(cacheField){ var self = this; if(cacheField != "") self.mdrGames.url= self.mdrGames.url+"?cache-buster="+cacheField; self.mdrGames.fetch({cache:false}).done(function success(response){ var totalPage=response.totalPages; var currentPage=response.currentPage; for(var i=0;i.form-group').removeClass('has-error'); $('.element'+idVal).closest('.second-chance-ticket').find('span.second-chance-ticket__promo-area').remove(); $("#amount"+idVal).html(""); $('.element'+idVal).closest('.second-chance-ticket').find('span.second-chance-ticket__promo-icon').remove(); $('.element'+idVal).closest('.second-chance-ticket').removeClass("second-chance-ticket--bonus"); $('.element'+idVal).find(".promoMsg").html(""); self._checkValidGame(event,false); }, checkTicketAvailability : function checkTicketAvailability(event){ var serialNumber=""; var maxCount=parseInt(this.maxTickets); var rowIndex; if(event.target.id.length == 11) rowIndex=event.target.id.slice(10); else rowIndex=event.target.id.slice(12); rowIndex= parseInt(rowIndex); var serialNoLength=$("#serialNumber"+rowIndex).val().trim().length; var gameNoLength=$("#gameNumber"+rowIndex).val().trim().length; if(this.$('#loyaltyWebEntryForm').valid()== false) { this.ticketError=true; this._disableFields(rowIndex); } if((gameNoLength >= 0 && serialNoLength ==14) || (gameNoLength >=0 && serialNoLength ==0)){ //this._checkPromtion(event); this._checkValidGame(event,true); } if(serialNoLength == 14){ var index=rowIndex+1; this._enableFields(index); this.ticketError=false; this._checkValidGame(event,false); } else if(serialNoLength == 13){ this._checkValidGame(event,false); this._disableFields(rowIndex); } else if((gameNoLength == 0 && serialNoLength ==0) || (gameNoLength == 0 && serialNoLength ==14) ){ this.ticketError=false; this._checkValidGame(event,false); this._disableFields(rowIndex); } }, _disableFields:function _disableFields(index){ var rowIndex=index; for(var i=rowIndex+1; i"+this.mdrgames); var rowIndex; var twentyFivePromo = "false"; if(event.target.id.length == 11) rowIndex=event.target.id.slice(10); else rowIndex=event.target.id.slice(12); var container = $(event.target).closest("[data-role=\"secondChanceInput\"]"); var count = container.find("ul").children("li").length; var serialNoLengthVal = []; for(var i=1; i<=count; i++){ serialNoLengthVal[i]=$("#serialNumber"+i).val().trim().length; var cost=0; var serialNumber; isValid[i]= false; isPromo[i]=false; promoImageAdded[i] = false; this.$('#loyalty-web-entry-form .element'+i+'>.form-group>#gameNumber'+i).each(function(){ gameNumber[i] = $(this).val(); if(gameNumber[i]!="" && gameNumber[i]!== undefined){ for(var j=0;j<_tempGameArray.length;j++){ var gameValue=_tempGameArray[j].gameNumber; if((gameValue.length==4 && gameValue===gameNumber[i].slice("1")) || (gameValue.length==3 && gameValue===gameNumber[i].slice("2"))) { if($('#serialNumber'+i).val()!="") cost=_tempGameArray[j].cost; if(_tempGameArray[j].promoName){ promoName=_tempGameArray[j].promoName; promoPrice=_tempGameArray[j].promoPrice; promoDynamicData=_tempGameArray[j].promoDynamicData; if(promoDynamicData != null && promoDynamicData != "" ) promoDynamicData=$.parseJSON(promoDynamicData); if(promoDynamicData != null && promoDynamicData != "" ){ color[i]= promoDynamicData.color; if(promoDynamicData.image){ image[i]= "/content/dam/portal/images/mdrpromo/"+promoDynamicData.image; } if(promoDynamicData.message){ message[i] = promoDynamicData.message; } } if(promoPrice!=null){ cost=promoPrice; isPromo[i]=true; } } isValid[i]= true; break; } } if(promo == false){ if((gameNumber[i].length==5) && (!isValid[i])) { $('.element'+i).closest('.form-inline').find('.error').html('').removeClass('in').addClass('out'); $('.element'+i+'>.form-group').removeClass('has-error'); $('.element'+i).find('.error').html("Invalid game").removeClass('out').addClass('in').css("display",""); $('#gameNumber'+i+"-error").html(""); $('#serialNumber'+i+"-error").html(""); $('.element'+i+'>.form-group').addClass('has-error'); } } if((gameNumber[i].length==5) && (isPromo[i])) { $('.element'+i).closest('.second-chance-ticket').addClass('second-chance-ticket--bonus'); if($('.element'+i).closest('.second-chance-ticket__inputs').find("span.second-chance-ticket__promo-icon").length == 0 && $('.element'+i).closest('.second-chance-ticket').find("span.second-chance-ticket__promo-area").length==0) { $('.element'+i).closest('.second-chance-ticket__inputs').append(''); $('.element'+i).closest('.second-chance-ticket__inputs').append(''); $('.element'+i).closest('.second-chance-ticket').append(''); // $('[data-toggle="popover"]').popover({container: 'body', trigger: 'hover'}); } } else { $('.element'+i).closest('.second-chance-ticket').find(".promoMsg").html(""); $('.element'+i).closest('.second-chance-ticket').find('span.second-chance-ticket__promo-area').remove(); $('.element'+i).closest('.second-chance-ticket').find('span.second-chance-ticket__promo-icon').remove(); $('.element'+i).closest('.second-chance-ticket').removeClass("second-chance-ticket--bonus"); } } else { $('.element'+i).closest('.second-chance-ticket').find(".promoMsg").html(""); $('.element'+i).closest('.second-chance-ticket').find('span.second-chance-ticket__promo-area').remove(); $('.element'+i).closest('.second-chance-ticket').find('span.second-chance-ticket__promo-icon').remove(); $('.element'+i).closest('.second-chance-ticket').removeClass("second-chance-ticket--bonus"); } }); if(serialNoLengthVal[i] ==14) { costAdded = "true"; $("#amount"+i).html('$'+(cost.toFixed(2))); this.totalCost=this.totalCost+cost; if(cost == 25) twentyFivePromo = "true"; } else $("#amount"+i).html(""); $('.mdr_total').html('$'+(this.totalCost.toFixed(2))); if(isValid[i]===true) this.validticketRows.push(isValid[i]); } if(promo == false){ for(var i=1;i 0 && twentyFivePromo == "true" && this.totalCost > 30) { var msg =CQ.I18n.getMessage("SC_CALC_NEW_EXCEEDED_LIMIT"); self._showError(msg,numOfTickets,false); } else if(((this.totalCost == self.maxLimit) || (numOfTickets == 1 && this.totalCost%10 == 0)) && this.totalCost!=0){ msg=CQ.I18n.getMessage("SC_CALC_REACHED_LIMIT"); self._showError(msg,numOfTickets,true); } else if(numOfTickets > 0 && this.totalCost > self.maxLimit) self._showError(msg,numOfTickets,false); else self._removeError(numOfTickets,false); } return valid; }, _showError:function _showError(msg,numOfTickets,allowSubmit){ var self=this; $('.error-total').html(msg).removeClass('out').addClass('in').css("display",""); $('.second-chance-entry-calculator-total').addClass('limit'); // Disabling the addMoreTickets button after reaching the maximum entry and also all other gameNumbers,serialNumber should disable. //NJSA-12677 $(".loyalty-addMoreTickets").prop( "disabled", true ); for(var i=numOfTickets+1; i <= self.maxTickets; i++){ $('.element'+i).find('input').prop( "disabled", true ); } if(!allowSubmit) $(".error-total").addClass('maxError'); }, _removeError : function _removeError(numOfTickets,isPromo){ var self=this; $('.error-total').html("") $('.second-chance-entry-calculator-total').removeClass('limit'); $(".error-total").removeClass('maxError'); if(!isPromo){ $(".loyalty-addMoreTickets").prop( "disabled", false); for(var i=1; i <= self.maxTickets; i++){ if(i<=numOfTickets+1) $('.element'+i).find('input').prop( "disabled", false); else $('.element'+i).find('input').prop( "disabled", true); } } }, /** * adds ticket dom to the form * @author hariprasad.pinninti@gtech.com * @param {Event} [event] * return html[ticket dom] */ _addTicket: function _addTicket(event) { event.preventDefault(); var self=this; var container = $(event.target).closest("[data-role=\"secondChanceInput\"]"); var count = container.find("ul").children("li").length + 1; var template = $(container.find("ul li:last-child")).html(); if (count <= parseInt(this.maxTickets)) { var elementPrevCount = 'element'+(count-1); var elementCurrentCount = 'element'+count; var gameNumberPrevCount = 'gameNumber'+(count-1); var gameNumberCurrentCount = 'gameNumber'+count; var serialNumberPrevCount = 'serialNumber'+(count-1); var serialNumberCurrentCount = 'serialNumber'+count; var ticketNumberPrevCount = 'clearTicket'+(count-1); var ticketNumberCurrentCount = 'clearTicket'+count; template = template.replace(elementPrevCount, elementCurrentCount); template = template.replace(new RegExp(gameNumberPrevCount, 'g'), gameNumberCurrentCount); template = template.replace(new RegExp(serialNumberPrevCount, 'g'), serialNumberCurrentCount); template = template.replace(new RegExp(ticketNumberPrevCount , 'g'), ticketNumberCurrentCount ); container.find('ul').append('
  • ' + template + '
  • '); container.find("li:last-child label").html(CQ.I18n.getMessage("loyaltywebentry.ticket")+' '+ count); setTimeout(function() { container.find("ul").children('li').removeClass('out').addClass('in') }, 100); if(count == parseInt(this.maxTickets)) this.$(".loyalty-addMoreTickets").hide(); } portalGGA.utils.forms.automaticTab(this.$('input.autoTab-gameTicket')); $('.clear-ticket-btn').on("click",function(event){ self._clearTickets(event); }); for(var i=count; i<=self.maxTickets; i++){ if($('.element'+(i-1)).find('input').val()!=="") $('.element'+i).find('input').prop( "disabled", false); else $('.element'+i).find('input').prop( "disabled", true); } }, /** * Gives submissions count * @author Santoshreddy.Mogulla@gtech.com * @param {Event} [event] * @returns {Submission Count} [description] */ _getSubmissionCount: function _getSubmissionCount(event) { var mySubmissionsForMonth = new portalGGA.models.CurrentMonthSubmissionsCount(); var self = this; var curr = new Date(); var currDate = new Date(); var prevMonthDate = new Date(curr); prevMonthDate.setDate(1); prevMonthDate.setHours(0,0,0,0); var data = { 'date-from' : prevMonthDate.getTime(), 'date-to' : currDate.getTime() }; if(this.groupName.indexOf(",") != -1) { var groupNames = this.groupName.split(','); for (var grpName in groupNames){ if(grpName == 0) { data['group-name'] = groupNames[grpName]; } else { data['group-name'] = data['group-name'] + '&group-name='+groupNames[grpName]; } } } else { data['group-name'] = this.groupName; } mySubmissionsForMonth.fetch({ cache:false, data: data}).done( function success(response){ $('.submissionCount').text(response.submissionCount); return response; }) .fail(function error(reason){ console.warn("Error", this, arguments); reason = $.parseJSON(reason.responseText); portalGGA.utils.globalErrorNotifier.show(reason,"alert-danger"); return reason; }); }, /** * Submit or Save the tickets to the server. * @author hariprasad.pinninti@gtech.com * Handle save errors * @param {Event} [event] */ _saveMultipleTickets: function _SaveMultipleTickets(event) { var self = this; event && event.preventDefault(); var errorClass; var maxError; if(this.ticketError==false){ self.form = this.$('#loyalty-web-entry-form'); errorClass=self.form.find('.has-error'); maxError = $('.error-total').hasClass('maxError'); if(this._checkValidGame(event,false) && errorClass.length==0 && maxError=== false && this.ticketError==false) { this.submissions = new portalGGA.models.player.Submissions(); var tickets = new Array(); var submissionsList = new Array(); var button = this.$('#submitMultipleTickets'); button.button('loading'); var cacheBusterVal =""; var container = $(event.target).closest("[data-role=\"secondChanceInput\"]"); var count = container.find("ul").children("li").length; for (i = 1; i <= count; i++) { var ticketValue=""; var gameNumber = ""; var serialNumber = ""; $('.element'+i).closest('.form-inline').find('.error').html('').removeClass('in').addClass('out'); $('.element'+i+'>.form-group').removeClass('has-error'); this.$('#loyalty-web-entry-form .element'+i+'>.form-group>#gameNumber'+i).each(function(){ gameNumber = $(this).val(); }); this.$('#loyalty-web-entry-form .element'+i+'>.form-group>#serialNumber'+i).each(function(){ serialNumber = $(this).val(); }); if(serialNumber){ var submission = new portalGGA.models.player.Submission(); submission.set( "ticketId",""); submission.set( "entryCode",gameNumber + serialNumber); submissionsList.push(submission); tickets.push(serialNumber) } } if(submissionsList.length == 0){ button.button('reset'); $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(NoTicketsErrorTemplate()); $('#noTicketsModal').modal('show'); }else{ this.submissions.set("submissions", submissionsList); if(this.drawNumber) { this.submissions.set("drawId", this.drawNumber); this.submissions.set("totalTicketsSum", this.totalCost); this.submissions.save() .done(function success(response){ console.info("Succeess", this, arguments); button.button('reset'); self._handleTicketsResponse(response); self._resetTicketsForm(); self._getSubmissionCount(); return response; }) .fail(function failure(reason){ button.button('reset'); // reason = {"code": "SC_MULTIPLE", "fieldErrors":[{"code": "SC_GAME_PROMO_CHECK_FAILED","field": "TOTAL_TICKETS_SUM"},{"code": "CACHE_BUSTER","field": "34242794126459"}]}; //$.parseJSON reason = $.parseJSON(reason.responseText); var fieldErrors = reason.fieldErrors; if(reason && reason.code == 'SC_SYSTEM') { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(SystemErrorTemplate()); $('#systemErrorModal').modal('show'); } else if(reason && reason.code == 'SC_ENTRY_LOCKED') { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(EntryLockedErrorTemplate()); $('#entryLockedErrorModal').modal('show'); } else if(reason && (reason.code == 'SC_DAILY_EXCEEDED' || reason.code == 'SC_ENTRY_DAILY_LIMIT_EXCEEDED')) { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(DailyExceededErrorTemplate()); $('#dailyExceededErrorModal').modal('show'); } else if(reason && (reason.code == 'SC_MONTHLY_EXCEEDED' || reason.code == 'SC_ENTRY_MONTHLY_LIMIT_EXCEEDED')) { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(MonthlyExceededErrorTemplate()); $('#monthlyExceededErrorModal').modal('show'); } else if(reason && reason.code == 'SC_MULTIPLE') { self._parseErrorsAndReturnCounter(fieldErrors); var errorIndex = self.errorCounter; if(fieldErrors && fieldErrors[errorIndex].code == 'SC_ENTRY_UNKNOWN') { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(InvalidTicketErrorTemplate()); $('#invalidTicketErrorModal').modal('show'); } else if(fieldErrors && fieldErrors[errorIndex].code == 'SC_ENTRY_DUPLICATE_SELF') { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(DuplicateTicketErrorTemplate()); $('#duplicateTicketErrorModal').modal('show'); } else if(fieldErrors && fieldErrors[errorIndex].code == 'SC_ENTRY_DUPLICATE_OTHER') { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(DuplicateOtherTicketErrorTemplate()); $('#duplicateOtherTicketErrorModal').modal('show'); } else if(fieldErrors && fieldErrors[errorIndex].code == 'SC_MULTIPLE_COST') { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(MultipleCostErrorTemplate()); $('#multipleCostTicketErrorModal').modal('show'); }else if(fieldErrors && (fieldErrors[errorIndex].code == 'SC_DAILY_EXCEEDED' || fieldErrors[errorIndex].code == 'SC_ENTRY_DAILY_LIMIT_EXCEEDED')) { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(DailyExceededErrorTemplate()); $('#dailyExceededErrorModal').modal('show'); }else if(fieldErrors && (fieldErrors[errorIndex].code == 'SC_MONTHLY_EXCEEDED' || fieldErrors[errorIndex].code == 'SC_ENTRY_MONTHLY_LIMIT_EXCEEDED')) { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(MonthlyExceededErrorTemplate()); $('#monthlyExceededErrorModal').modal('show'); } else if(fieldErrors && fieldErrors[errorIndex].code == 'SC_ENTRY_EXCEEDED_LIMIT') { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(EntryExceededModalTemplate()); $('#entryExceededErrorModal').modal('show'); } else if(fieldErrors && fieldErrors[errorIndex].code == 'SC_GAME_PROMO_CHECK_FAILED') { if(fieldErrors[errorIndex+1].code == 'CACHE_BUSTER'){ cacheBusterVal = fieldErrors[errorIndex+1].field; self._getDraws(cacheBusterVal); self._getGames(cacheBusterVal); self._getMDRGames(cacheBusterVal); $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(PromoCheckFailedTemplate()); $('#promoChangeErrorModal').modal('show'); } } else if(fieldErrors && fieldErrors[errorIndex].code == 'SC_DRAW_NOT_OPEN') { if(fieldErrors[errorIndex+1].code == 'CACHE_BUSTER'){ cacheBusterVal = fieldErrors[errorIndex+1].field; self._getDraws(cacheBusterVal); self._getGames(cacheBusterVal); self._getMDRGames(cacheBusterVal); $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(DrawsNotOpenedTemplate()); $('#drawsNotOpenedErrorModal').modal('show'); } } else { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(SystemErrorTemplate()); $('#systemErrorModal').modal('show'); } } else { $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(SystemErrorTemplate()); $('#systemErrorModal').modal('show'); } if(fieldErrors) { for (i = 0; i < fieldErrors.length; i++) { currentFieldError = fieldErrors[i]; if(currentFieldError.code == 'SC_GAME_PROMO_CHECK_FAILED' || currentFieldError.code == 'CACHE_BUSTER' ){ self._resetTicketsForm(); } else if(currentFieldError.code != 'SC_MULTIPLE_FAILED_VALID') { var elementIndex = i+1; for(j = 0; j < elementIndex; j++) { if(index != elementIndex){ var inputValue = $('.element'+elementIndex).find('div input').val(); if(inputValue!="") { elementIndex = elementIndex; } else { elementIndex = elementIndex+1; } } else { elementIndex = elementIndex+1; } } var index = elementIndex; $('.element'+elementIndex).find('.error').html(CQ.I18n.getMessage(currentFieldError.code)).removeClass('out').addClass('in').css("display",""); $('#gameNumber'+elementIndex+"-error").html(""); $('#serialNumber'+elementIndex+"-error").html(""); $('.element'+elementIndex+'>.form-group').addClass('has-error'); } } } return reason; }); } else { button.button('reset'); $('#submissionsModalTmpl').appendTo('body'); $('#submissionsModalTmpl').html(NoDrawsErrorTemplate()); $('#noDrawsErrorModal').modal('show'); } } } } return false; }, _parseErrorsAndReturnCounter: function _parseErrorsAndReturnCounter(fieldErrors) { var self = this; $.each(fieldErrors, function( index, value ) { if(value.code === 'SC_ENTRY_UNKNOWN' || value.code === 'SC_ENTRY_DUPLICATE_SELF' || value.code === 'SC_ENTRY_DUPLICATE_OTHER' || value.code === 'SC_MULTIPLE_COST' || value.code === 'SC_GAME_PROMO_CHECK_FAILED' || value.code === 'CACHE_BUSTER') { self.errorCounter = index; return false; } else { self.errorCounter = 0; } }); }, handleTabNavigation: function handleTabNavigation(){ $('#loyaltyWebEntryForm').trigger("reset"); }, /** * Handle response which comes from Server and displays them on modal * @author hariprasad.pinninti@gtech.com * @param {response} [tickets] */ _handleTicketsResponse: function _handleTicketsResponse(tickets) { console.log("Handle Reposne", tickets); var self = this; var html = handleTicketsResponseTemplate ({ tickets : tickets }); $("#ticketsModal").html(html); $("#ticketsModal").find(".modal").modal(); $('.view-submissions-modal').on('click', self._navigateToMySubmissions); }, /** * it clears the form * @author hariprasad.pinninti@gtech.com */ _resetTicketsForm : function _resetTicketsForm(){ var self = this; this.totalCost=0; this.$("#loyalty-web-entry-form").find(".error").html(''); $("#loyalty-web-entry-form").find(".form-group input").val(""); this.$('#loyaltyWebEntryForm').validate().resetForm(); this.$('#loyaltyWebEntryForm').find('.form-group').removeClass('has-error has-feedback'); this.$('#loyaltyWebEntryForm').find('span.icon-error').remove(); // this.$('#loyaltyWebEntryForm').find('.form-group').find('.error').remove(); this.$('#loyaltyWebEntryForm').find('.form-group').find('.glyphicon').remove(); this.$('#loyaltyWebEntryForm').find('.form-group').removeClass('has-error'); this.$('#loyaltyWebEntryForm').find('span.second-chance-ticket__promo-area').remove(); this.$('#loyaltyWebEntryForm').find('span.second-chance-ticket__promo-icon').remove(); this.$('#loyaltyWebEntryForm').find('.second-chance-ticket').removeClass('second-chance-ticket--bonus') $('.replay-ticket-amount').html(""); $('.mdr_total').html('$'+(this.totalCost.toFixed(2))); $('.error-total').html("") self._removeError(0,false); this.$('#loyaltyWebEntryForm').find(".promoMsg").html(""); }, /** * Navigate to my submissions * @author santoshreddy.mogulla@gtech.com */ _navigateToMySubmissions: function _navigateToMySubmissions() { $("#myWebSubmissionsLink").click(); }, _openTicketImage : function _openTicketImage() { $("#modalSecondChanceTmpl").html(handleticketImageModalTemplate()); $("#modalSecondChance").find(".modal").modal(); } }); }(jQuery, portalGGA.utils.session));