RechargeCreditCard = {
rechargeAmountRegExp: null,
euroToRonExchangeRate: null,
minRechargeAmount: null,
maxRechargeAmount: null,
url3ds:null,
init: function() {
RechargeCreditCard.initVars();
RechargeCreditCard.initView();
RechargeCreditCard.initValidation();
RechargeCreditCard.bindFormEvents();
RechargeCreditCard.initPayment();
},
initVars: function() {
RechargeCreditCard.rechargeAmountRegExp = /(^\d+$)/;
RechargeCreditCard.euroToRonExchangeRate = $("span#euroToRonExchangeRate").data("value");
RechargeCreditCard.minRechargeAmount = $("span#minRechargeAmount").data("value");
RechargeCreditCard.maxRechargeAmount = $("span#maxRechargeAmount").data("value");
},
initView: function() {
$("input[name='rechargeType']").click(function() {
if ($(this).val() === '1') {
$(this).parent().parent().parent().find("#your-number").removeClass("hidden");
$(this).parent().parent().parent().find("#other-number").addClass("hidden");
} else {
$(this).parent().parent().parent().find("#other-number").removeClass("hidden");
$(this).parent().parent().parent().find("#your-number").addClass("hidden");
}
});
setTimeout(function() {
$("input[name='rechargeType']:checked").trigger("click");
$('#recharge-amount').trigger('change');
var amount = $('#recharge-amount').val();
$(".sidebar-slider").slider({value: amount})
}, 100);
},
initValidation: function() {
var validateConfigurationMap = {
ignore : ".ignore-js-validation",
highlight : function(element, errorClass, validClass) {
return $(element).closest(".control-group").removeClass("success").addClass("error");
},
unhighlight : function(element, errorClass, validClass) {
return $(element).closest(".control-group").removeClass("error").addClass("success");
},
success : function(label) {
return $(label).closest("form").find(".valid").removeClass("invalid");
},
errorPlacement : function(error, element) {
return element.closest("div").find(".error-wrapper").html(error.text());
}
};
$.validator.addMethod("checkMsisdn", (function(value, element, radioName) {
if($("input[name='" + radioName + "']:checked").val() == "2") {
var regExp = /^0\d{9}$/;
if(regExp.test($(element).val()))
return true;
} else
return true;
enableSubmit();
return false;
}));
$.validator.addMethod("checkAmountFormat", (function(value, element, radioName) {
if(RechargeCreditCard.rechargeAmountRegExp.test($(element).val())) {
return true;
}
enableSubmit();
return false;
}));
$.validator.addMethod("checkAmountValue", (function(value, element, radioName) {
var valueF = parseFloat($(element).val());
if(valueF >= RechargeCreditCard.minRechargeAmount && valueF <= RechargeCreditCard.maxRechargeAmount) {
return true;
}
enableSubmit();
return false;
}));
$("#rechargeCreditCardForm").validate(validateConfigurationMap);
},
bindFormEvents: function() {
$("#rechargeCreditCardForm").find("a.btn").click(function() {
$("#rechargeCreditCardForm").find("input[type=submit]").click();
// disableSubmit();
return false;
});
$("#recharge-amount").on("input change propertychange", function() {
var amount = $(this).val();
// alert('amount:'+amount);
if(RechargeCreditCard.rechargeAmountRegExp.test(amount)
&& amount >= RechargeCreditCard.minRechargeAmount && amount <= RechargeCreditCard.maxRechargeAmount) {
// $("#totalAmount").html(RechargeCreditCard.convertEuroToRon(amount));
var $this = RechargeCreditCard.convertEuroToRon(amount).toString() ;
var dec_pos = $this.indexOf('.');
$("#totalAmount").html($this.substring(0, dec_pos) + '' + "," + $this.substring(dec_pos + 1) + '');
// $('#totalAmount').html(function () {
// var $this = RechargeCreditCard.convertEuroToRon(amount).toString() ;
// var dec_pos = $this.indexOf('.');
// alert(dec_pos);
// $(this).html($this.substring(0, dec_pos) + '' + "," + $this.substring(dec_pos + 1) + '');
// alert($this.substring(0, dec_pos);
// });
} else {
$("#totalAmount").html("0");
}
});
function modal_content(obj)
{
var optionText = obj.prev('td').find('label').text();
var confirmationTextTpl=$("span#modal-text").data("template");
$("span#modal-text").html(confirmationTextTpl.replace("{{optionText}}", optionText));
}
$(".remove-card a").on("click", function(e) {
modal_content($(this).parent('.remove-card'));
$("#modal-confirm-btn").attr("onclick","deleteCreditCard('" + $(this).data('card-token-id') + "')");
$('#myAcc-remove-card').modal('show');
});
$('a.close-modal').click(function(event){
event.preventDefault();
$('.close').click();
});
},
initPayment: function() {
if($("#payUForm").length > 0) {
setTimeout(function() {
$("#payUForm").submit();
}, 150);
}
},
convertEuroToRon: function(amount) {
return Math.round((amount * RechargeCreditCard.euroToRonExchangeRate * (1 + Number($("#vat").html())/100) )*100) / 100;
}
}
$(document).ready(function() {
RechargeCreditCard.init();
initRechargeWithEO();
var euroToRonExchangeRateValue = $("#euroToRonExchangeRate").text();
$("#euroToRonExchangeRateSpan").text(euroToRonExchangeRateValue);
});
function deleteCreditCard(creditCardId) {
$('#deleteCreditCardForm').find("input[name=deleteCard]").val(creditCardId);
$("#deleteCreditCardForm").find("input[type=submit]").click();
}
function enableSubmit() {
if ($("#rechargeCreditCardForm").length > 0) {
if($("#rechargeCreditCardForm").find("a.btn").length > 0) {
$("#rechargeCreditCardForm").find("a.btn").removeClass("disabled");
}
}
}
function disableSubmit() {
if ($("#rechargeCreditCardForm").length > 0) {
if($("#rechargeCreditCardForm").find("a.btn").length > 0) {
$("#rechargeCreditCardForm").find("a.btn").addClass("disabled");
}
}
}
/***************************************/
/* Recharge with Extra option Tab code */
/***************************************/
function initRechargeWithEO() {
if ($('input[name=extraOptionId]:checked').length) {
$('input[name=extraOptionId]:checked').click();
}
if ($('#activateButton').length && $('#modal-confirm').length) {
$('#activateButton').click(function() {
$('#modal-confirm').modal();
});
}
}
function extraOptionSelected(extraOptionId) {
var accountBalance = parseFloat($("#accountBalance").html());
var promoPlanPriceEuro = parseFloat($("#promoPlanPriceEuro-" + extraOptionId).html());
//console.log("accountBalance: " + accountBalance);
//console.log("promoPlanPriceEuro: " + promoPlanPriceEuro);
if (!isNaN(accountBalance) && !isNaN(promoPlanPriceEuro) && (promoPlanPriceEuro - accountBalance) > 0) {
// not enough credit!
var notEnoughCreditMessage = $("#notEnoughCreditMessage-" + extraOptionId).html();
$("#notEnoughCreditMessage").html(notEnoughCreditMessage);
var minRechargeAmount = parseFloat($("#minRechargeAmount").html());
var maxRechargeAmount = parseFloat($("#maxRechargeAmount").html());
var extraCreditNeeded = Math.ceil(promoPlanPriceEuro - accountBalance);
if (extraCreditNeeded < minRechargeAmount) {
extraCreditNeeded = minRechargeAmount;
} else if (extraCreditNeeded > maxRechargeAmount) {
extraCreditNeeded = maxRechargeAmount;
}
$("#recharge-amount").val(extraCreditNeeded);
$("#totalAmount").html(RechargeCreditCard.convertEuroToRon(extraCreditNeeded));
$("#activateButton").addClass("disabled");
$("#activateButton").hide();
$("#notEnoughCredit").show();
} else {
var planName = $("#planName-" + extraOptionId).html();
var endReactivationDateStr = $("#endReactivationDateStr-" + extraOptionId).html();
var params = {"planName": planName, "reactivationEndDate": endReactivationDateStr};
var templateString = $('#manage-eo-modal-content-activate').html();
var html = Mustache.to_html(templateString, params);
$("#manage-eo-text").html(html);
//$("#modal-manageeo-title").html(???);
var currentPlanEposCode = $("#currentPlanEposCode-" + extraOptionId).html();
$("input#eposCodeInput").val(currentPlanEposCode);
$("input#extraOptionPrice").val(promoPlanPriceEuro);
$("input#activateInput").val("true");
$("#notEnoughCredit").hide();
$("#activateButton").removeClass("disabled");
$("#activateButton").show();
}
}