$(function () {
console.log('Service Contact / info');
var redirectUrl;
var redirectData;
var sourceDetail = $("#user-service-contact--sourceDetail").val();
var campaignName = $("#user-service-contact--campaignName").val();
// GA var
var $pageUrl = window.location.href;
var $formTitle = "Service Contact";
var $buttonName = $("#serviceContactUsSubmit").text();
window.dataLayer = window.dataLayer || [];
// Captcha Code Init
jQuery.validator.addMethod("isValidCaptcha", function (value, element) {
var isOK = isValidCaptcha(value);
return this.optional(element) || isOK;
});
// Click code image
$(".mr--form-img").click(function () {
refreshCode();
});
// Refresh Captcha Code
function refreshCode() {
$("#reg-img-code")[0].src = '/bin/xpace/auth/getcaptcha?' + Math.random();
}
// Valid Captcha
function isValidCaptcha(value) {
let flag = false;
$.ajax({
type: "GET",
dataType: "json",
async: false,
cache: false,
contentType: "application/json",
url: '/bin/xpace/auth/checkcaptcha',
data: {
'imageCode': value
},
success: function (data) {
if (data === '0') {
flag = true;
}
},
});
return flag;
}
$.ajax({
type: "GET",
dataType: "json",
cache: false,
contentType: "application/json",
url: '/bin/xpace/auth/my?' + Math.random(),
success: function (data) {
if (data.userId != null && data.userId != "") {
$("#user-service-contact--user_name").val(data.userId);
$("#user-service-contact--first_name").val(data.firstname);
$("#user-service-contact--last_name").val(data.lastname);
$("#user-service-contact--email").val(data.email);
$("#user-service-contact--phone").val(data.phone);
$("#user-service-contact--country").val(data.country);
$("#user-service-contact--company").val(data.institution);
$("#user-service-contact--department").val(data.department);
$("#user-service-contact--job").val(data.jobTitle);
$("#user-service-contact--specialty").val(data.specialty);
// If the drop-down box has prefilled value, hide the placeholder label.
if ($("#user-service-contact--country").val() != '') {
$("#user-service-contact--country").nextAll('label').hide();
}
if ($("#user-service-contact--department").val() != '') {
$("#user-service-contact--department").nextAll('label').hide();
}
if ($("#user-service-contact--specialty").val() != '') {
$("#user-service-contact--specialty").nextAll('label').hide();
}
if ($("#user-service-contact--country").val() === '' && defaultCountry != null){
$('#user-service-contact--country').find("option[value='" + defaultCountry + "']").attr("selected", true);
$('#user-service-contact--country').nextAll('label').hide();
}
}
},
});
function getGenerateCode() {
return new Promise((resolve, reject) => {
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json",
url: "/bin/xpace/oauth/generateCode",
data: JSON.stringify({
uid: sessionStorage.getItem('granite.shell.badge.user') || ("U" + Math.floor(Math.random() * 100000)),
role: "3"
}),
success: function(res) {
resolve(res);
},
error: function() {
reject('Fail to generate code');
}
});
})
}
function handleRedirectButtonClick(e) {
e.preventDefault();
const { appid, code, timestamp } = redirectData;
redirectUrl = `https://imind.mindray.com/third/login?appid=${appid}&chatid=1&code=${code}×tamp=${timestamp}&lang=en`;
window.open(redirectUrl, '_blank');
}
function scrollToTopOnMobile() {
if (window.innerWidth > 768) {
return;
}
window.scrollTo(0, 0);
document.documentElement.scrollTop = 0;
document.body.scrollTop = 0;
}
$("#user-service--contact--contact_us").validate({
rules: {
firstName: {
required: true,
},
lastName: {
required: true,
},
email: {
required: true,
email: true
},
businessPhone: {
digits: true
},
countryRegion: {
required: true,
},
companyInstitution: {
required: true,
},
// serialNumber: {
// // required: true,
// },
verificationCode: {
required: true,
minlength: 4,
isValidCaptcha: true,
},
agreeNewsletter: {
required: false,
},
agreeTerms: "required"
},
messages: {
firstName: {
required: () => {
console.log("first=123", $(this).find('[name="firstName"]').data('error'))
return $(this).find('[name="firstName"]').data('error')
}
},
lastName: {
required: () => $(this).find('[name="lastName"]').data('error'),
},
email: {
required: () => $(this).find('[name="email"]').data('error'),
email: () => $(this).find('[name="email"]').data('error-valid')
},
businessPhone: {
digits: () => $(this).find('[name="businessPhone"]').data('error-valid')
},
countryRegion: {
required: () => $(this).find('[name="countryRegion"]').data('error'),
},
companyInstitution: {
required: () => $(this).find('[name="companyInstitution"]').data('error'),
},
serialNumber: {
required: () => $(this).find('[name="serialNumber"]').data('error'),
},
verificationCode: {
required: () => $(this).find('[name="verificationCode"]').data('error'),
},
agreeTerms: {
required: () => $(this).find('[name="agreeTerms"]').data('error'),
},
agreeNewsletter: {
required: () => $(this).find('[name="agreeNewsletter"]').data('error')
},
},
// api and GA
submitHandler: function (form) {
console.log('Service Contact / submitHandler info');
fnLoadingBtn($("#serviceContactUsSubmit"), true);
refreshCode();
window.dataLayer.push({
event: "uaEvent",
eventCategory: $pageUrl,
eventAction: $formTitle,
eventLabel: $buttonName,
nonInteraction: false,
});
window.dataLayer.push({
event: "Form_Submit",
page_url: $pageUrl,
form_title: $formTitle,
button_name: $buttonName
});
$.get("/libs/granite/csrf/token.json",
function (data, status) {
let formData = new FormData($('#user-service--contact--contact_us').get(0));
formData.append('_charset_', 'utf-8');
formData.append(':cq_csrf_token', data.token);
formData.append('actionName', $formTitle);
formData.append('utm_source', sourceDetail);
formData.append('utm_campaign', campaignName);
formData.append('_lan', document.getElementsByTagName('meta')['language'].content);
formData.append('_cou', document.getElementsByTagName('meta')['country'].content);
formData.append('agreeNewsletter', 'on');
$.ajax({
type: "POST",
dataType: "json",
url: "/bin/xpace/contact/smartKnowledge",
data: formData,
processData: false,
contentType: false,
success: function (data) {
fnLoadingBtn($("#serviceContactUsSubmit"), false);
if (data === "SUCCESS") {
window.dataLayer.push({
event: "uaEvent",
eventCategory: $pageUrl,
eventAction: $formTitle,
eventLabel: $buttonName + "_Success",
nonInteraction: false,
});
window.dataLayer.push({
event: "Form_Submit_success",
page_url: $pageUrl,
form_title: $formTitle,
button_name: $buttonName
});
$("#contactUsSuccess").show();
$('#user-service--contact--contact_us').hide();
$('#user-service-contact--tit').text('Thank you');
scrollToTopOnMobile();
getGenerateCode().then(res => {
redirectData = res.data;
const { appid, code, timestamp } = redirectData;
//console.log(res);
redirectUrl = `https://imind.mindray.com/third/login?appid=${appid}&chatid=1&code=${code}×tamp=${timestamp}&lang=en`;
document.cookie = `cust_info=1; path=/`;
document.cookie = `cust_ai=${redirectUrl}; path=/`;
setTimeout(function() {
window.open(redirectUrl, '_blank');
}, 5000);
}).catch(err => {
alert(err);
});
$("#redirectButton").on('click', handleRedirectButtonClick);
} else {
window.dataLayer.push({
event: "uaEvent",
eventCategory: $pageUrl,
eventAction: $formTitle,
eventLabel: $buttonName + "_Failed",
nonInteraction: false,
});
window.dataLayer.push({
event: "Form_Submit_failed",
page_url: $pageUrl,
form_title: $formTitle,
button_name: $buttonName
});
$("#contactUsFailure").modal();
}
},
error: function () {
fnLoadingBtn($("#serviceContactUsSubmit"), false);
window.dataLayer.push({
event: "uaEvent",
eventCategory: $pageUrl,
eventAction: $formTitle,
eventLabel: $buttonName + "_Failed",
nonInteraction: false,
});
window.dataLayer.push({
event: "Form_Submit_failed",
page_url: $pageUrl,
form_title: $formTitle,
button_name: $buttonName
});
$("#contactUsFailure").modal();
}
});
}
);
}
})
});
false
{"enabled":true,"consentTitle":"We value your privacy","message":"This content is hosted by an external provider. Enabling it may allow the provider to process your personal data and set cookies.\r\n","acceptLabel":"Allow \u0026 Continue","alwaysAcceptLabel":"Always trust and apply default supplier settings.","consentState":"undecided"}