FTSE 350PTEC
5 min read | July 09, 2026 01:01 PM BST | By
Vivek Singh
Google News:

How Seraphim Space Investment Trust (LSE:SSIT) Is Shaping the Next Cha

Why Saga (LSE:SAGA) Is Drawing Fresh Attention in UK Travel

Goodman Group (ASX:GMG) Move Reveals the Next Big Data Centre Race

AstraZeneca (LSE:AZN) Leads Mixed London Market as Tech Stocks Rise
Make Kalkine Media
My Trusted Source
Playtech (LSE:PTEC) reported stronger trading momentum supported by international growth, strategic partnerships, and technology expansion, highlighting its evolving position across the global gaming technology industry.
To keep reading, please log in to your account, create a free account, or simply fill out the form below
`;
$(document).find(“#signup_form button[type=’submit’]”).closest(“button”).before(htmlMsg);
setTimeout(() => {
$(“.errorDiv”).fadeOut(300, function () { $(this).remove(); });
}, 3000);
}
jQuery.validator.addMethod(“validName”, function(value, element) {
value = value.trim();
return this.optional(element) || /^(?=(?:.*[A-Za-z]){2,})[A-Za-z]+(?: [A-Za-z]+)*$/.test(value);
}, “Please enter at least 2 letters (letters and single spaces only).”);
function updateResendOtpTimer() {
if (countdown > 0) {
countdown–;
$(“#timer”).text(countdown + “s”);
} else {
clearInterval(timer);
countdown = 30;
otpSent = false;
$(“#resendOtpText”).hide();
$(“#sendOtpLink”).show();
}
}
function sendOtp() {
const phoneInputVal = $(document).find(“#lead_phone”).val().trim();
const dialCode = iti.getSelectedCountryData().dialCode;
const allowedCountries = [“44”, “61”, “1”, “91”, “64”];
if (!phoneInputVal) return showMessage(“error”, “Please enter a mobile number.”);
if (!iti.isValidNumber()) return showMessage(“error”, “Please enter a valid mobile number.”);
if (!allowedCountries.includes(dialCode)) return showMessage(“error”, “OTP is only available for “+ [“au”,”gb”,”ca”,”nz”,”us”,”in”,”uk”]);
if(!otpSent){
$(document).find(“#lead_otp”).val(“”);
}
const phoneNumber = dialCode + phoneInputVal;
request_id = $(document).find(“#ref_id”).val() || ”;
otpSent = true;
$(document).find(“#sendOtpLink”).hide();
$(document).find(“#resendOtpText”).show();
//$(document).find(“.otp-form-group”).hide();
$.ajax({
url: “https://kalkinemedia.com/a/verification”,
type: ‘POST’,
data: { phone_number: phoneNumber, request_id },
headers: { ‘X-CSRF-TOKEN’: ‘jmPWO3ysN006hDlPysBxKEB7lQw1Q5jxMIcWSjhp’ },
success: function (response) {
if (response.status === “success”) {
showMessage(“success”, response.message);
//$(document).find(“.otp-form-group”).show();
if ($(document).find(“#ref_id”).length) {
$(document).find(“#ref_id”).val(response.request_id);
} else {
$(”).attr({
type: ‘hidden’,
id: ‘ref_id’,
name: ‘ref_id’,
value: response.request_id
}).appendTo(‘#signup_form’);
}
countdown = 30;
timer = setInterval(updateResendOtpTimer, 1000);
} else {
otpSent = false;
showMessage(“error”, response.message);
$(document).find(“#resendOtpText”).hide();
$(document).find(“#sendOtpLink”).show();
}
},
error: function () {
otpSent = false;
showMessage(“error”, “An error occurred. Please try again.”);
$(document).find(“#resendOtpText”).hide();
$(document).find(“#sendOtpLink”).show();
}
});
}
function verifyOtp() {
$(document).find(“div.otp-form-group div.spinner-border”).removeClass(“d-none”);
// $(document).find(“div.otp-form-group span#verifyOtpLink”).addClass(“d-none”);
$.ajax({
url: “https://kalkinemedia.com/a/verificationChecks”,
type: ‘POST’,
data: {
request_id: $(document).find(“#ref_id”).val(),
code: $(document).find(“#lead_otp”).val()
},
headers: {
‘X-CSRF-TOKEN’: ‘jmPWO3ysN006hDlPysBxKEB7lQw1Q5jxMIcWSjhp’
},
success: function(response) {
$(document).find(“div.otp-form-group div.spinner-border”).addClass(“d-none”);
if (response.status === “success”) {
otpVerified = true;
showMessage(“success”, response.message);
$(document).find(“#lead_otp”).prop(“disabled”, true);
// $(document).find(“#signup_form button”).removeClass(“d-none”)
setTimeout(() => toggleReadNowButton(), 0);
// if($(“#hotstock_checkbox”).is(“:checked”)){
// $(document).find(“#signup_form button[type=’submit’]”).prop(“disabled”, false);
// }else{
// $(document).find(“#signup_form button[type=’submit’]”).prop(“disabled”, true);
// }
$(document).find(“#sendOtpLink”).addClass(“d-none”);
$(document).find(“#resendOtpText”).hide();
$(document).find(“#verifyOtpLink”).addClass(“d-none”);
$(document).find(“#successBadge”).removeClass(“d-none”);
} else {
otpVerified = false;
showMessage(“error”, response.message);
setTimeout(() => toggleReadNowButton(), 0);
// $(document).find(“#signup_form button[type=’submit’]”).prop(“disabled”, true);
// $(document).find(“#verifyOtpLink”).removeClass(“d-none”);
}
$(document).find(“#lead_otp”).prop(“disabled”, otpVerified);
},
error: function(xhr, status, error) {
$(document).find(“div.otp-form-group div.spinner-border”).addClass(“d-none”);
showMessage(“error”, error.message);
// $(document).find(“#verifyOtpLink”).removeClass(“d-none”);
$(document).find(“#signup_form button[type=’submit’]”).prop(“disabled”, true);
}
});
}
$(document).find(“#sendOtpLink”).on(“click”, sendOtp);
$(document).on(“input”, “#lead_otp”, function () {
const otp = $(this).val();
if (otp.length === 6) {
verifyOtp();
}
});
// $(document).find(“#verifyOtpLink”).on(“click”, verifyOtp);
function toggleSendOtpButton() {
// if (!iti) return;
const name = $(“#lead_name”).val().trim();
const email = $(“#lead_email”).val().trim();
const phone = $(“#lead_phone”).val().trim();
// const checkbox = $(“#hotstock_checkbox”).is(“:checked”);
const isNameValid = name.length >= 2 && /^[a-zA-Zs]+$/.test(name);
// Validate email: basic email format
const isEmailValid = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/.test(email);
// Validate phone using intlTelInput
const isPhoneValid = iti && iti.isValidNumber();
// Checkbox validation: must be checked
// const isCheckboxChecked = checkbox;
// If all fields are valid, enable the OTP button
if (isNameValid && isEmailValid && isPhoneValid) {
$(document).find(“#sendOtpLink”).css({“opacity”:”1″, “pointer-events”:”auto”});
} else {
$(document).find(“#sendOtpLink”).css({“opacity”:”0.5″, “pointer-events”:”none”});
}
// const formValid = $(“#signup_form”).valid();
//const phoneValid = iti.isValidNumber();
//if (formValid && phoneValid) {
// $(document).find(“#sendOtpLink”).css({“opacity”:”1″,”pointer-events”:”auto”});
//$(document).find(“#sendOtpLink”).show();
//} else {
// $(document).find(“#sendOtpLink”).css({“opacity”:”0.5″,”pointer-events”:”none”});
//$(document).find(“#sendOtpLink”).hide();
// }
}
function toggleReadNowButton(){
const name = $(“#lead_name”).val().trim();
const email = $(“#lead_email”).val().trim();
const phone = $(“#lead_phone”).val().trim();
const isNameValid = name.length >= 2 && /^[a-zA-Zs]+$/.test(name);
const isEmailValid = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/.test(email);
const isPhoneValid = iti && iti.isValidNumber();
checkbox = $(“#hotstock_checkbox”).is(“:checked”);
const isCheckboxChecked = checkbox;
if (isNameValid && isEmailValid && isPhoneValid && isCheckboxChecked && otpVerified) {
$(document).find(“#signup_form button[type=’submit’]”).prop(“disabled”, false);
}else{
$(document).find(“#signup_form button[type=’submit’]”).prop(“disabled”, true);
}
}
$(“#signup_form input”).on(“change”, function () {
setTimeout(() => toggleSendOtpButton(), 0);
});
$(“#lead_name”).on(‘input’, function() {
this.value = this.value.replace(/s{2,}/g, ‘ ‘);
this.value = this.value.replace(/[.]/g, ”);
$(this).valid();
toggleSendOtpButton();
});
$(“#lead_email”).on(‘input’, function() {
this.value = this.value.replace(/s/g, ”);
});
if(enableOTPJS){
$(“#signup_form input, #signup_form select”).on(“change”, function () {
setTimeout(() => toggleReadNowButton(), 0);
});
}
$(“#signup_form”).validate({
errorPlacement: function(error, element) {
//element.addClass(‘is-invalid’);
//$(element).siblings(‘.error’).remove();
//if ($(“.is-invalid”).length === 1) {
// error.appendTo(element.parent());
//}
if (element.attr(“name”) == “lead_name”)
error.appendTo(“#errordivname”);
else if (element.attr(“name”) == “lead_email”)
error.appendTo(“#errordivemail”);
else if (element.attr(“name”) == “lead_phone”)
error.appendTo(“#errordivmobile”);
else if (element.attr(“name”) == “hotstock_checkbox”)
error.appendTo(“#errordivcheckbox”);
else if (element.attr(“name”) == “lead_otp”)
error.appendTo(“#errordivotp”);
},
success: function(label, element) {
$(element).removeClass(‘is-invalid’);
label.remove();
},
rules: {
lead_name: {
required: true,
minlength: 2,
maxlength:50,
validName:true
},
lead_phone: {
intlTelNumber: true,
required: true,
number: true,
// validatePhone: true,
maxlength:12
},
lead_email: {
required: true,
email: true,
emailPattern: true
},
hotstock_checkbox: {
required: true,
},
lead_otp: {
required: function() {
// var selectedCountry = iti.getSelectedCountryData();
// return selectedCountry.iso2 === ‘gb’;
var selectedCountry = iti.getSelectedCountryData();
return selectedCountry.iso2 === ‘gb’ || selectedCountry.iso2 === ‘au’ || selectedCountry.iso2 === ‘ca’ || selectedCountry.iso2 === ‘us’;
},
minlength: 6,
maxlength: 6,
digits: true
},
},
onkeyup: function(element) {
this.element(element);
setTimeout(() => toggleSendOtpButton(), 0);
},
onfocusout: function(element) {
this.element(element);
setTimeout(() => toggleSendOtpButton(), 0);
},
messages: {
lead_name: {
required: ‘Please enter valid name.’,
minlength: ‘Name must be at least 4 characters long.’
},
lead_email: {
required: ‘Please enter a valid email address’,
email: ‘Please enter a valid email address (e.g., abc@gmail.com)’,
emailPattern: ‘Please enter a valid email address (e.g., abc@gmail.com)’
},
lead_phone: {
required: ‘Please enter valid mobile number.’
},
hotstock_checkbox: {
required: ‘Please read our Terms and Conditions.’
},
lead_otp: {
required: ‘Valid OTP is required that you’ve received on your number.’
},
},
submitHandler: function(form) {
event.preventDefault();
var navigate_url = $(“.navigate_url”).val();
$(“#signup_form”).find(‘:submit’).html(‘ Loading…’).prop(‘disabled’,true);
// var countryCode = $(“#signup_form”).find(‘div.iti__selected-dial-code’).html()
var selectedCountryData = iti.getSelectedCountryData();
var countryCode = selectedCountryData.iso2;
var countryCode2 = selectedCountryData.dialCode;
$(”).attr({
type: ‘hidden’,
id: ‘countryCode’,
name: ‘countryCode’,
value: countryCode2
}).appendTo(‘#signup_form’);
$(”).attr({
type: ‘hidden’,
id: ‘countryCodeISO’,
name: ‘countryCodeISO’,
value: countryCode
}).appendTo(‘#signup_form’);
var url = “https://kalkinemedia.com/a/checkPhoneNumber”;
url =`${url}/${countryCode2+$(document).find(“#lead_phone”).val()}`
if (enableOTPJS && !otpVerified) {
toast_msg(“OTP Verification required”, ‘error’);
$(“#signup_form”).find(‘:submit’).html(‘Read Now’).prop(‘disabled’, false);
return
}
$.get(url, function(response) {
if (response.status) {
$(”).attr({
type: ‘hidden’,
id: ‘telesignScore’,
name: ‘telesignScore’,
value: response.data.telesign_info ?? “NA”
}).appendTo(‘#signup_form’);
$(”).attr({
type: ‘hidden’,
id: ‘addrScore’,
name: ‘addrScore’,
value: ($(document).find(“#ref_id”).val() !== ” && otpVerified) ? ‘true’: ‘false’
}).appendTo(‘#signup_form’);
// if (response.otp_required && $(document).find(“.otp-form-group”).hasClass(“d-none”)) {
//$(document).find(“.otp-form-group”).removeClass(“d-none”)
// } else {
// $(document).find(“.otp-form-group”).addClass(“d-none”)
// }
$.ajax({
headers: {
‘X-CSRF-TOKEN’: ‘jmPWO3ysN006hDlPysBxKEB7lQw1Q5jxMIcWSjhp’
},
type: “POST”,
url: “https://kalkinemedia.com/user/content_block/lead”,
data: $(form).serialize(),
dataType: ‘json’,
success: function(result) {
if (result.status == 1) {
window.location.href = result.redirect_url;
showMessage(“success”, result.message)
} else {
showMessage(“error”, result.message)
$(“#signup_form”).find(‘:submit’).html(
‘Updating’).prop(‘disabled’, false);
}
}
});
}
}).fail(function(jqXHR, textStatus, errorThrown) {
// Handle errors
// console.error(‘Error:’, textStatus, errorThrown);
});
return false;
}
});
});
