‘;
});
pollOptions.innerHTML = pollOptionsDom;
pollCount.innerHTML = totalVotes + ‘ votes’;
}
function updatePollCountOnAnswer(selectedOption) {
var pollData = pollDataDefault;
renderPollWidget(pollData, selectedOption, true);
}
function renderPollWidget(pollData, selectedOption, isAnswered) {
if (!pollData) return;
pollData.option1_count = pollData.option1_count || 0;
pollData.option2_count = pollData.option2_count || 0;
pollData.option3_count = pollData.option3_count || 0;
pollData.option4_count = pollData.option4_count || 0;
if (isAnswered) {
if (selectedOption == “option1”) pollData.option1_count += 1;
if (selectedOption == “option2”) pollData.option2_count += 1;
if (selectedOption == “option3”) pollData.option3_count += 1;
if (selectedOption == “option4”) pollData.option4_count += 1;
}
if (isAnswered || selectedOption) {
var predictorPromotionalBannerContainer = $(“.predictor-contest-banner-container.Article-poll”);
if (predictorPromotionalBannerContainer) {
removeClass(predictorPromotionalBannerContainer, “hidden”);
}
}
var totalVotes = Number(pollData.option1_count + pollData.option2_count + pollData.option3_count + pollData.option4_count);
if (totalVotes && !Number.isNaN(totalVotes)) {
var option1Percent = pollData.option1_count / totalVotes * 100;
var option2Percent = pollData.option2_count / totalVotes * 100;
var option3Percent = pollData.option3_count / totalVotes * 100;
var option4Percent = pollData.option4_count / totalVotes * 100;
var optionPercentages = [option1Percent, option2Percent, option3Percent, option4Percent];
var pollOptions = $(“#poll-options”);
var pollCount = $(“#poll-count”);
var pollOptionsDom = ”;
var optionsArray = [‘option1’, ‘option2’];
if (pollData.option3 !== “” && pollData.option3 !== null) {
optionsArray.push(‘option3’)
}
if (pollData.option4 !== “” && pollData.option4 !== null) {
optionsArray.push(‘option4’)
}
optionsArray.forEach(function (option, index) {
var clickHandler=”onclick=”answerPoll(event, \”‘ + option + ‘\’)”‘;
var optionClass = [‘poll-option’];
if (selectedOption) {
optionClass.push(‘poll-option-answered’);
clickHandler=””;
}
if (selectedOption === option) {
optionClass.push(‘poll-option-selected’);
}
pollOptionsDom += ‘
if (selectedOption) {
var widthPercentage = optionPercentages[index] < 5 && optionPercentages[index] != 0 ? 5 : optionPercentages[index];
if (selectedOption === option) {
if (widthPercentage > 97) {
pollOptionsDom += ‘‘;
} else {
pollOptionsDom += ‘‘;
}
} else {
if (widthPercentage > 97) {
pollOptionsDom += ‘‘;
} else {
pollOptionsDom += ‘‘;
}
}
}
pollOptionsDom += ‘
‘ + pollData[option] + ‘
‘;
if (selectedOption) {
pollOptionsDom += ‘
‘ + Math.round(optionPercentages[index]) + ‘%
‘;
}
pollOptionsDom += ‘
‘;
});
pollOptions.innerHTML = pollOptionsDom;
pollCount.innerHTML = totalVotes + ‘ votes’;
if (totalVotes > 10) {
pollCount.classList.remove(“hidden”);
}
trackArticlePollImpression(pollData);
}
}
function answerPoll(e, selectedOption) {
e.preventDefault();
try{
permutive.track(‘PollResponse’,{
“pagetype”: “Articlepage”,
“category”: “Anime”,
“answer”: {
“text”: e.target.textContent
},
“question”: {
“text”: pollDataDefault.question
}
});
} catch (err) {
console.log(err);
}
updatePollCountOnAnswer(selectedOption);
var isDesktop = “1”;
var gaPayload = {
“question” : pollDataDefault.question,
“answer” : e.target.textContent,
“answer_option” : selectedOption.replace(“option”, “Option “),
“category”: “Anime”,
“page_location”: window.location.href,
}
if (isDesktop) {
gaPayload[“device”] = “Desktop”;
} else {
gaPayload[“device”] = “Mobile”;
}
gtag(“event”, “ARTICLE_POLL_RESPONSE”, gaPayload);
var url=”
var data = {
“poll_type”: “article”,
“option”: selectedOption
}
pureJSAjaxPost(url, data, onPollResponseSuccess.bind(this, selectedOption), onPollResponseFail.bind(this, selectedOption), null, false);
}
function trackSponsoredLinkClick(e) {
}
var articlePollImpressionTracked = false;
function trackArticlePollImpression(pollData) {
var pollElement = $(“#poll”);
var intersectionObserverForArticlePoll = new IntersectionObserver(
function(entries) {
entries.forEach(function(entry) {
if (articlePollImpressionTracked) return;
if (!entry.target || !entry.isIntersecting || entry.intersectionRatio < 0.5) return;
setTimeout(function() {
if (isInViewport(entry.target)) {
articlePollImpressionTracked = true;
var isDesktop = “1”;
var gaPayload = {
“question” : pollData.question,
“category”: “Anime”,
“page_url”: window.location.href,
}
if (isDesktop) {
gaPayload[“device”] = “Desktop”;
} else {
gaPayload[“device”] = “Mobile”;
}
gtag(“event”, “ARTICLE_POLL_IMPRESSION”, gaPayload);
intersectionObserverForArticlePoll.unobserve(entry.target);
}
}, 1000);
});
},
{
threshold: 0.5
}
);
if (pollElement){
var isAnswered = pollElement.querySelector(“.poll-option-answered”);
if (!isAnswered) {
intersectionObserverForArticlePoll.observe(pollElement);
}
}
}
modalPopup.closeOnEsc = false;
modalPopup.setHeader(“Why did you not like this content?”);
modalPopup.setContentText(modalText);
modalPopup.addCancelOkButton(“Submit”, resetRatingAndFeedbackForm, sendRating);
modalPopup.removeCloseModalIcon();
modalPopup.disableDismissPopup();
modalPopup.open();
} else {
sendRating(index);
}
}
function sendRating() {
var requestPayload = {
“post_id”: 1524544,
“rating_value”: ratingValue
}
if (ratingValue > 3) {
requestPayload.rating_feedback_type = null;
requestPayload.rating_feedback = null;
} else {
if (!$(‘input[name=”drone”]:checked’) || !$(‘input[name=”drone”]:checked’).value) {
showErrorMessage(‘option’);
return;
}
if (!$(“.post-rating-feedback-note textarea”) || !$(“.post-rating-feedback-note textarea”).value) {
showErrorMessage(‘note’);
return;
}
var selectedOption = $(‘input[name=”drone”]:checked’).value;
var feedbackNote = $(“.post-rating-feedback-note textarea”).value;
requestPayload.rating_feedback_type = selectedOption;
requestPayload.rating_feedback = feedbackNote;
}
pureJSAjaxPost(addratingAPI, requestPayload, onsaveRatingSuccess, onsaveRatingFail, function() {}, true);
}
function resetRatingAndFeedbackForm() {
var activeStars = Array.from($all(‘.rating span.rating-star.active’));
for (var i=0; i < activeStars.length; i++) {
activeStars[i].classList.remove(“active”);
}
if ($(‘input[name=”drone”]:checked’)) {
$(‘input[name=”drone”]:checked’).checked = false;
}
var userNote = document.querySelector(“.post-rating-feedback-note textarea”);
userNote.value=””;
modalPopup.close();
}
function onsaveRatingSuccess() {
modalPopup.close();
savePostIdInUserRatedPostsCookie();
$(“#post-rating-layout”).classList.add(“hidden”);
$(“#post-rating-message”).classList.remove(“hidden”);
window.setInterval(function showMessage() {
$(“#post-rating-widget”).classList.add(“hidden”);
}, 3000);
}
function onsaveRatingFail() {
console.error(‘Saving post rating failed!’);
modalPopup.close();
}
function savePostIdInUserRatedPostsCookie() {
userRatedPostIds.push(1524544);
var expiryTime = new Date();
expiryTime.setMonth(expiryTime.getMonth() + 12); // Expiry after 1 year
setCookie(“user_rated_post_ids”, JSON.stringify(userRatedPostIds), expiryTime);
}
function isPostRatedByUser() {
var userRatedPostIds = getCookie(‘user_rated_post_ids’);
if (userRatedPostIds) {
try {
userRatedPostIds = JSON.parse(userRatedPostIds);
} catch (err) {
console.error(err);
return false;
}
} else {
return false;
}
if(userRatedPostIds.indexOf(1524544) >= 0) {
return true;
} else {
return false;
}
}
function getRatingCountByPostId(postId) {
return new Promise(function(resolve, reject) {
pureJSAjaxGet(
getRatingCountBaseURL + postId + ‘/rating/count’,
function(data) {
try {
data = JSON.parse(data);
if (data.meta_value) {
resolve(data.meta_value);
}
reject(“Failed to fetch rating count for the post:” + postId);
} catch (err) {
reject(“Failed to fetch rating count for the post:” + postId);
}
},
function(err) {
reject(“Failed to fetch rating count for the post:” + postId);
}, true);
});
}
function showErrorMessage(messageType) {
var messageContainerId = ‘#’ + messageType + ‘-error’;
$(messageContainerId).classList.remove(‘hidden’);
window.setInterval(function () {
$(messageContainerId).classList.add(“hidden”);
}, 5000);
}
if (!isPostRatedByUser()) {
getRatingCountByPostId(1524544)
.then(function(ratingCount) {
if (ratingCount < 10) {
$(“#post-rating-widget”).classList.remove(“hidden”);
}
})
.catch(function(err){
console.error(err);
})
}