$(document).ready(function () {
var isMobileDevices = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));
$("#renewPolicyForm").attr("autocomplete","off");
$("#renewPolicyForm").attr('novalidate', 'novalidate');
$(".form-btn").addClass('disabled');
loadPlateCode();
var fields = {
"vehicle_regno" : [
{"required" : "required"},
{"onpaste" : "return true;"},
{"ondrag" : "return false;"},
{"ondrop" : "return false;"},
{"type" : "number"}
],
"vehicle_code" : [
{"required" : "required"},
{"onpaste" : "return true;"},
{"ondrag" : "return false;"},
{"ondrop" : "return false;"},
{"type" : "text"}
],
//KaizenADM - Release 8.5 - OMAN - Request Id#93239 -Renewal based on Civil ID and Vehicle Details - STARTS
"civil_id" : [
{"required" : "required"},
{"onpaste" : "return true;"},
{"ondrag" : "return false;"},
{"ondrop" : "return false;"},
{"type" : "text"}
],
//KaizenADM - Release 8.5 - OMAN - Request Id#93239 -Renewal based on Civil ID and Vehicle Details - Ends
};
setTimeout(function() {
$(".renewPolicyButton").hide();
}, 100);
var validators = {
"vehicle_regno" : {
id: "vehicle_regno",
label: "vehicle_regno-float",
errorMessage0: 'Please provide a valid Vehicle Registration Number.',
inputpattern: /^\d+$/,
required: false
},
"vehicle_code" : {
id: "vehicle_code",
label: "vehicle_regno-float",
inputpattern: /^[A-Za-z]+$/,
errorMessage0: 'Please provide vehicle plate code.',
required: false
},
"civil_id" : {
id: "civil_id",
label: "civil_id-float",
errorMessage0: 'Please provide a valid Civil ID.',
inputpattern: /^[0-9!@#$%^&*/]+$/,
},
};
for (var id in fields) {
for (var i = 0; i < fields[id].length; i++) {
var field = fields[id][i];
for (var attrName in field) {
$("#" + id).attr(attrName, field[attrName]);
}
}
}
var validate = function(key) {
$("#" + validators[key].label).next(".red").remove();
var glyphOk = "";
var glyphRemove = "";
var customErrorMessage = "", isFound = false, isInputValid = false;
if (validators[key]["id"]) {
var value = $('#' + validators[key].id).val();
if (validators[key].duplicate) {
var duplicateValidator = validators[key].duplicate;
var elemPos = duplicateValidator.findDuplicate(value);
var currPos = duplicateValidator.pos;
customErrorMessage = duplicateValidator.errorMessage;
if (validators[key].duplicate.edit) {
isFound = (elemPos == -1 || elemPos == currPos) ? false : true;
} else {
isFound = (elemPos == -1) ? false : true;
}
}
if (validators[key].required == false && validators[key].inputpattern) {
isInputValid = (value !="" && value != null) ? (validators[key].inputpattern.test(value) ? true : false) : true;
if (!isInputValid) {
$("#" + validators[key].id).css("border", "1px solid red");
$("#" + validators[key].label).after('
' + validators[key].errorMessage0 + '
');
$("#" + validators[key].label).closest('.elem').find(".glyrenpol").remove();
if(value!=null && value !=""){
$("#" + validators[key].label).closest('.glyphdiv').before(glyphRemove);
}
return false;
} else {
$("#" + validators[key].id).css("border", "1px solid #55565A");
$("#" + validators[key].label).next(".red").remove();
$("#" + validators[key].label).closest('.elem').find(".glyrenpol").remove();
if(value!=null && value !=""){
$("#" + validators[key].label).closest('.glyphdiv').before(glyphOk);
}
return true;
}
} else if (value.length == 0 || value.trim() == "" ||
(validators[key].pattern0 && !validators[key].pattern0.test(value)) || isFound) {
var errMsg = isFound ? duplicateValidator.errorMessage : validators[key].errorMessage0;
$("#" + validators[key].id).css("border", "1px solid red");
$("#" + validators[key].label).after('' + errMsg + '
');
$("#" + validators[key].label).closest('.elem').find(".glyrenpol").remove();
$("#" + validators[key].label).closest('.glyphdiv').before(glyphRemove);
return false;
} else if ((value != null && validators[key].patternFunc0 != null) && !validators[key].patternFunc0(value)) {
$("#" + validators[key].id).css("border", "1px solid red");
$("#" + validators[key].label).after('' + validators[key].errorMessage1 + '
');
$("#" + validators[key].label).closest('.elem').find(".glyrenpol").remove();
$("#" + validators[key].label).closest('.glyphdiv').before(glyphRemove);
}
else {
$("#" + validators[key].id).css("border", "1px solid #55565A");
$("#" + validators[key].label).next(".red").remove();
$("#" + validators[key].label).closest('.elem').find(".glyrenpol").remove();
$("#" + validators[key].label).closest('.glyphdiv').before(glyphOk);
return true;
}
} else {
var value = $("." + validators[key].class).val();
if(value == null) {
$("#" + validators[key].label).after('' + validators[key].errorMessage0 + '
');
return false;
}
else {
$("#" + validators[key].label).next(".red").remove();
return true;
}
}
};
//KaizenADM - Release 8.5 - OMAN - Request Id#93239 -Renewal based on Civil ID and Vehicle Details - STARTS
var renew_policy = ["vehicle_regno", "civil_id"];
//KaizenADM - Release 8.5 - OMAN - Request Id#93239 -Renewal based on Civil ID and Vehicle Details - Ends
var isFormValid = function(elements) {
var validCount = 0;
for (var i = 0; i < elements.length; i++) {
if (validate(elements[i])) {
validCount++;
}
}
return { isFormValid : validCount == elements.length, invalidCount: elements.length - validCount};
};
function ValidateRegNum() {
const reg_number_pattern = /^\d+$/;
var reg_code_pattern = /^[A-Za-z]+$/;
var reg_number = $('#vehicle_regno').val();
var reg_code = $('#vehicle_code').val();
//var pol_no = $('#policy_no').val();
var civilId=$('#civil_id').val();
var glyphOk = "";
var glyphRemove = "";
$('#vehicle_regno-float').next(".red").remove();
$("#vehicle_regno, #vehicle_code").removeClass('error');
$('#vehicle_regno-float').closest('.right-input').find(".glyphicon-remove").remove();
$('#vehicle_regno-float').closest('.right-input').find(".glyphicon-ok").remove();
var isNumberValid = (reg_number.trim().length == 0 || !reg_number_pattern.test(reg_number)) ? false : true;
var isPlateValid = (reg_code.trim().length == 0 || !reg_code_pattern.test(reg_code)) ? false : true;
if (!isNumberValid && !isPlateValid) {
$("#vehicle_regno, #vehicle_code").addClass('error');
$('#vehicle_regno-float').after('Please provide Vehicle Plate Code & Registration Number.
');
$("#vehicle_regno-float").closest('.glyphdiv').before(glyphRemove);
} else {
if (!isNumberValid) {
$("#vehicle_regno").addClass('error');
$('#vehicle_regno-float').after('Please provide Vehicle Registration Number.
');
$("#vehicle_regno-float").closest('.elem').find(".glyrenpol").remove();
$("#vehicle_regno-float").closest('.glyphdiv').before(glyphRemove);
} else if (!isPlateValid) {
$("#vehicle_code").addClass('error');
$('#vehicle_regno-float').after('Please provide Vehicle Plate Code.
');
$("#vehicle_regno-float").closest('.elem').find(".glyrenpol").remove();
$("#vehicle_regno-float").closest('.glyphdiv').before(glyphRemove);
}
else{
$("#vehicle_regno-float").closest('.elem').find(".glyrenpol").remove();
$("#vehicle_regno-float").closest('.glyphdiv').before(glyphOk);
}
submitbuttondisable()
}
}
$('.form-btn').click(function() {
if($('.form-btn').hasClass('disabled'))
{
return false;
}
else
{
return true;
}
});
function submitbuttondisable(){
var plateNo = $("#vehicle_regno").val();
var civilId=$("#civil_id").val();
var plateCode=$("#vehicle_code").val();
var plateCode_pattern = /^[A-Za-z]+$/;
var plateCode_test=plateCode_pattern.test(plateCode);
if(civilId == " " || civilId.length == 0 || plateNo == " " || plateNo.length == 0 || plateCode_test == false) {
$(".form-btn").addClass('disabled');
$(".form-btn").addClass('cursor-style');
}
else{
$(".form-btn").removeClass('disabled');
$(".form-btn").removeClass('cursor-style');
}
}
$("#vehicle_regno").on("keyup blur",function() {
//validate('vehicle_regno');
ValidateRegNum();
});
$("#vehicle_code").on("keyup change blur",function() {
//validate('vehicle_code');
ValidateRegNum();
this.value = this.value.toLocaleUpperCase();
});
$("#civil_id").on("keyup change blur",function() {
validate('civil_id');
var civilID=$('#civil_id').val();
if(civilID.length != 0 && civilID != " "){
submitbuttondisable();
}else{
$(".form-btn").addClass('disabled');
$(".form-btn").addClass('cursor-style');
}
});
var errMsg = "Please provide both Civil ID and Vehicle Registration Number.";
var errMsg1 = "Please provide both the vehicle plate code and plate number.";
//KaizenADM - Release 8.5 - OMAN - Request Id#93239 -Renewal based on Civil ID and Vehicle Details - STARTS
$("#renew_submit").click(function() {
if (isFormValid(renew_policy).isFormValid) {
var regnNo = $("#vehicle_regno").val();
var plateCode = $("#vehicle_code").val();
var civilId = $("#civil_id").val();
if(civilId!=null && civilId.trim()!="" && regnNo!=null && regnNo.trim()!="" && plateCode !='' && plateCode !="undefined" && plateCode != null ){
document.renewPolicyForm.action=contextPathUrl+"/renewPolicyDetails.do?civilId="+civilId+"®nNoText="+plateCode+regnNo+"";
document.renewPolicyForm.submit();
$(".loading-container").show();
$("body").addClass("show-loader");
}
else{
$("#vehicle_regno, #vehicle_code").addClass('error');
ValidateRegNum();
return false;
}
}
else{
return false;
}
});
//KaizenADM - Release 8.5 - OMAN - Request Id#93239 -Renewal based on Civil ID and Vehicle Details - Ends
setTimeout(function() {
$(".quoteAndBuyButton").removeClass("trackChanges").addClass("untrackChanges");
$(".retrieveQuoteButton").removeClass("trackChanges").addClass("untrackChanges");
$(".pageLogo").removeClass("goTohomeSite").addClass("homeSite");
$(".pageHome").removeClass("goTohomeSite").addClass("homeSite");
}, 100);
$("body").on("click", function(e) {
if (!$(e.target).hasClass("custom-tooltip")) {
$(".custom-tooltip").css("display", "none");
document.body.style.overflowY = '';
}
});
var showPopup = function(button, element) {
setTimeout(function(){
var val = button.offset();
if (!isMobileDevices || $('.submenu-left').is(':visible')) {
$(element)
.css({
left: val.left + button.outerWidth() + 15,
top: val.top - $(element).height() / 2 - 5
});
} else {
document.body.style.overflowY = 'hidden';
$(element).css({top:val.top - $(element).height() / 2 - 5});
}
// $(element).height(window.innerHeight - 90);
$(element).css('display', 'block');
});
};
//KaizenADM - Release 8.5 - OMAN - Request Id#93239 -Renewal based on Civil ID and Vehicle Details - STARTS
if (!isMobileDevices) {
$("#civil-id").hover(function(obj) {
showPopup(
$(this),
'.civilId'
);
}, function() {
$(".civilId").css('display', 'none');
});
} else {
$("#civil-id").click(function(obj) {
showPopup(
$(this),
'.civilId'
);
});
}
//KaizenADM - Release 8.5 - OMAN - Request Id#93239 -Renewal based on Civil ID and Vehicle Details - ENDS
if (!isMobileDevices) {
$("#vehicle-regno").hover(function(obj) {
showPopup(
$(this),
'.vehicleRegNumber'
);
}, function() {
$(".vehicleRegNumber").css('display', 'none');
});
} else {
$("#vehicle-regno").click(function(obj) {
showPopup(
$(this),
'.vehicleRegNumber'
);
});
}
$("#renewQuoteModal").modal("show")
$(".modal-backdrop").addClass("modal-bg-backdrop");
});
function loadPlateCode(vehPlateCode){
var ddName="vehPlateCodeList";
$.ajax({
type: "POST",
url: contextPathUrl+"/loadDropDown.do?ddName="+ddName+"&",
dataType: "json",
success: function(data, status,xhr){
$("#vehicle_code").html("");
$("#vehicle_codespan").text("Select");
$("#vehicle_code").append("");
$.each(data, function(index, value) {
$.each(value, function(key, name){
$("#vehicle_code").append('');
index++;
});
});
retrieveDropdownvalues(vehPlateCode,"vehicle_code");
},
error: function(status, errorThrown){
},
complete: function (textStatus){
}
});
}
function retrieveDropdownvalues(id,dropdownId){
var dispLength;
if(dropdownId == 'carFinance'){
dispLength = 17;
if(id == '99915'){
$('.other-required').show();
}
}else if(dropdownId == 'carModel' || dropdownId == 'vehNCDProvider' || dropdownId == 'nationality' || dropdownId == 'emirate' || dropdownId == 'orangeCardBranch'){
dispLength = 17;
}
else{
dispLength = 23;
}
var selectobject = document.getElementById(dropdownId);
if(selectobject!=null && selectobject.options){//Added null check
for (var i=0; i