1/* 2Date: 18-05-2018 3*/ 4var KAUMUDI = KAUMUDI || {}; 5$(document).ready(function () { 6 KAUMUDI.EPAPER.init(); 7}); 8KAUMUDI.EPAPER = (function () { 9 /*************** 10 *Private Region* 11 ****************/ 12 var web_url = '', areaimg_url = '', hostAddress = window.location.origin; 13 function alertSignIn() { 14 if ((typeof is_newstrack !== 'undefined' && is_newstrack) || (typeof reqProduct !== 'undefined' && reqProduct !== '')) { 15 return false; 16 } 17 window.location.href = window.location.origin + '/epaper/'; 18 } 19 function onDateSelect(date) { 20 var formatDte = moment(date, "DD/MM/YYYY").format("MMMM DD, YYYY"); 21 $("#epDateDialog").dialog("close"); 22 $(".audio-btn").addClass('hide'); 23 $(".video-btn").addClass('hide'); 24 $("#audio-wrap").find('audio')[0].pause(); 25 $("#audio-wrap").removeClass('sactive'); 26 $("#ep_dte_text").text(formatDte); 27 $("#ep_dte_text").attr("data-dte", moment(date, "DD/MM/YYYY").format("DD-MM-YYYY")); 28 var formData = new FormData(); 29 formData.append("prdt_code", $("#ep_prdt").attr("data-pdt")); 30 formData.append("ep_date", formatDte); 31 if (reqEdtn) { 32 formData.append("edition", reqEdtn); 33 } 34 KAUMUDI.utils.showLoader(); 35 function successCallBack(data) { 36 $("#no-edition").addClass('hide'); 37 $("#epEditionDialog").html(data.editions); 38 if (data.editions_list && data.editions_list[0]) { 39 if (!reqEdtn) { 40 $("#ep_edition_text").text(data.editions_list[0]["name"]); 41 $("#ep_edition").attr("data-edt", data.editions_list[0]["code"]); 42 $("#ep_edition").find('.dropdown-menu').html(data.edts_html); 43 } else { 44 $("#ep_edition").find('.dropdown-menu').html(data.edts_html); 45 if ($('#ep_edition').attr("data-edt") != reqEdtn) { 46 $("li[data-edt='" + reqEdtn + "']").click(); 47 } 48 } 49 setAudioURL() 50 } else { 51 $("#ep_edition_text").text("No Editions"); 52 $("#ep_edition").find('.dropdown-menu').html("<li>No Editions Exists</li>"); 53 $("#no-edition").removeClass('hide'); 54 $("#ep_audio_button").attr("href", "#"); 55 } 56 setPagesImgs(data); 57 } 58 function errorStatus(textStatus, errorThrown) { 59 KAUMUDI.utils.hideLoader(); 60 } 61 KAUMUDI.utils.sendAjaxPost('EpaperController/GetEditionsPages' + (reqEdtn || (typeof is_newstrack !== 'undefined' && is_newstrack) ? "?pr=1" : ""), formData, 'json', successCallBack, errorStatus); 62 } 63 function setWebNews(newsId, scrollNews) { 64 web_url = ''; 65 $(".audio-btn").addClass('hide'); 66 $(".video-btn").addClass('hide'); 67 $("#audio-wrap").removeClass('sactive'); 68 $("#audio-wrap").find('audio')[0].pause(); 69 var formData = new FormData(); 70 formData.append("news_id", newsId); 71 function successCallBack(data) { 72 web_url = data.web_url; 73 $("[data-network]").attr("data-url", web_url ? encodeURI(web_url + '&s_im=' + areaimg_url) : encodeURI(areaimg_url)); 74 $("[data-network]").attr("data-image", encodeURI(hostAddress + areaimg_url)); 75 var hasNewstrackAccess = (typeof reqEdtn !== 'undefined' && reqEdtn !== '') || (typeof is_newstrack !== 'undefined' && is_newstrack); 76 if (hasNewstrackAccess) { 77 if (web_url && web_url.indexOf('newstrack.live') === -1) { 78 web_url = "https://newstrack.live/Epaper/EpaperPreview?g_url=" + web_url + "&g_nt=1"; 79 } 80 } 81 $("#web_link").attr("data-url", web_url); 82 if (data.title) { 83 $("#no-web-news").addClass('hide'); 84 $("#news_head").text(data.title); 85 $("#news_pub").html(data.published_on); 86 $("#news_desc").html(data.news_desc); 87 $(".nws_con").show(); 88 if (data.audio_path) { 89 $("#audio-wrap").find('audio').attr("src", data.audio_path); 90 $(".audio-btn").removeClass('hide'); 91 } else { 92 $(".audio-btn").addClass('hide'); 93 } 94 if (data.video_id) { 95 $(".video-btn").attr("data-vid", data.video_id); 96 $(".video-btn").removeClass('hide'); 97 } else { 98 $(".video-btn").addClass('hide'); 99 } 100 } else { 101 setNoWebNews(); 102 } 103 } 104 function errorStatus(textStatus, errorThrown) { 105 KAUMUDI.utils.hideLoader(); 106 } 107 KAUMUDI.utils.sendAjaxPost('EpaperController/GetWebNews' + (reqEdtn || (typeof is_newstrack !== 'undefined' && is_newstrack) ? "?pr=1" : ""), formData, 'json', successCallBack, errorStatus); 108 } 109 function setSelectedAreaImg(coords, shape, scrollNews) { 110 var pageImg = $("#epaper_img").find('#epaper_pge_img').attr('src');
111 var coordinates = coords ? coords.replace(/,/g, "_") : "0"; 112 var imgPathPieces = pageImg ? pageImg.split("/") : []; 113 if (imgPathPieces) { 114 imgPathPieces[imgPathPieces.length - 1] = "images/" + shape + "_" + coordinates + '.jpg'; 115 areaimg_url = imgPathPieces.join("/"); 116 if (!shape) { 117 KAUMUDI.EPAPER.setNoAreaImg(); 118 } else { 119 $("#img_view").html('<img src="' + areaimg_url + '" onerror="KAUMUDI.EPAPER.setNoAreaImg()"/>'); 120 $("[data-network]").attr("data-url", web_url ? encodeURI(web_url + '&s_im=' + encodeURI(areaimg_url)) : encodeURI(areaimg_url)); 121 $("[data-network]").attr("data-image", encodeURI(hostAddress + areaimg_url)); 122 } 123 } 124 $("#img_view").removeClass('hide'); 125 $("#text_view").addClass('hide'); 126 $("#img_view_btn").addClass('hide'); 127 $("#txt_view_btn").removeClass('hide'); 128 if (scrollNews) { 129 var logoTop = $("#ep_prdt").attr("data-pdt") == 'FSH' ? 190 : 148; 130 $('html, body').animate({ 131 scrollTop: ($("#sel_disp").offset().top - logoTop) 132 }, 1500); 133 } 134 } 135 function setAvailableDateEdtPage(prdt, sp_id) { 136 $(".audio-btn").addClass('hide'); 137 $("#audio-wrap").removeClass('sactive'); 138 $("#audio-wrap").find('audio')[0].pause(); 139 var formData = new FormData(); 140 formData.append("prdt", prdt); 141 formData.append("sp_id", sp_id); //special page id 142 KAUMUDI.utils.showLoader(); 143 function successCallBack(data) { 144 $("#no-edition").addClass('hide'); 145 $("#ep_dte_text").text(data.ep_date ? moment(data.ep_date["day"] + "/" + data.ep_date["month"] + "/" + data.ep_date["year"], "DD/MM/YYYY").format("MMMM DD, YYYY") : moment().format("MMMM DD, YYYY")); 146 if (data.editions_list && data.editions_list[0]) { 147 $("#ep_edition_text").text(data.editions_list[0]["name"]); 148 $("#ep_edition").attr("data-edt", data.editions_list[0]["code"]); 149 $("#ep_edition").find('.dropdown-menu').html(data.edts_html); 150 } else { 151 $("#ep_edition_text").text("No Editions"); 152 $("#ep_edition").find('.dropdown-menu').html("<li>No Editions Exists</li>"); 153 $("#no-edition").removeClass('hide'); 154 } 155 setPagesImgs(data); 156 } 157 function errorStatus(textStatus, errorThrown) { 158 KAUMUDI.utils.hideLoader(); 159 } 160 KAUMUDI.utils.sendAjaxPost('EpaperController/GetAvailableEdition' + (reqEdtn || (typeof is_newstrack !== 'undefined' && is_newstrack) ? "?pr=1" : ""), formData, 'json', successCallBack, errorStatus); 161 } 162 function setPages() { 163 $(".audio-btn").addClass('hide'); 164 $("#audio-wrap").removeClass('sactive'); 165 $("#audio-wrap").find('audio')[0].pause(); 166 var formData = new FormData(); 167 formData.append("prdt_code", $("#ep_prdt").attr("data-pdt")); 168 formData.append("ep_date", $("#ep_dte_text").text()); 169 formData.append("edition", $("#ep_edition").attr("data-edt")); 170 KAUMUDI.utils.showLoader(); 171 function successCallBack(data) { 172 $("#no-edition").addClass('hide'); 173 setPagesImgs(data); 174 } 175 function errorStatus(textStatus, errorThrown) { 176 KAUMUDI.utils.hideLoader(); 177 } 178 KAUMUDI.utils.sendAjaxPost('EpaperController/GetEditionsPages' + (reqEdtn || (typeof is_newstrack !== 'undefined' && is_newstrack) ? "?pr=1" : ""), formData, 'json', successCallBack, errorStatus); 179 } 180 function setMapImgHtml(page) { 181 $(".audio-btn").addClass('hide'); 182 $("#audio-wrap").removeClass('sactive'); 183 $("#audio-wrap").find('audio')[0].pause(); 184 var formData = new FormData(); 185 formData.append("prdt_code", $("#ep_prdt").attr("data-pdt")); 186 formData.append("ep_date", $("#ep_dte_text").text()); 187 formData.append("edition", $("#ep_edition").attr("data-edt") || "EPR"); 188 formData.append("page", page); 189 KAUMUDI.utils.showLoader(); 190 function successCallBack(mapimg_html) { 191 $("#no-edition").addClass('hide'); 192 $("#epaper_img").html(mapimg_html); 193 setRelHeightCoords(); 194 $('#epaper_pge_img').maphilight(); 195 setNewsListHtml(); 196 var actCoords = $('area:first').attr("actcoords"); 197 setSelectedAreaImg(actCoords ? actCoords : $('area:first').attr("coords"), $('area:first').attr("shape"), false); 198 setWebNews($('area:first').attr("newsid"), false); 199 setMetaPageTitle(); 200 setGAPageViews(); // Google Analytics 201 } 202 function errorStatus(textStatus, errorThrown) { 203 KAUMUDI.utils.hideLoader(); 204 } 205 KAUMUDI.utils.sendAjaxPost('EpaperController/GetImageMapHtml', formData, 'html', successCallBack, errorStatus); 206 } 207 function setNoWebNews() { 208 $(".audio-btn").addClass('hide'); 209 $("#audio-wrap").removeClass('sactive'); 210 $("#audio-wrap").find('audio')[0].pause(); 211 $("#news_head").text(""); 212 $("#news_desc").html(""); 213 $("#news_pub").html(""); 214 $(".nws_con").hide(); 215 $("#no-web-news").removeClass('hide'); 216 } 217 function setPagesImgs(data) { 218 219 if (data.pages_list && data.pages_list[0]) { 220 var pageName = data.pages_list[0].split("_"); 221 $("#ep_page_text").text(parseInt(pageName[0]) + ' ' + pageName[1]); 222 $("#ep_page").attr("data-page", data.pages_list[0]); 223 $("#ep_page").find('.dropdown-menu').html(data.pges_html); 224 $(".pges-box").html(data.pges_thumb_html); 225 $(".pge-title").text($("#ep_edition_text").text()); 226 $("#epaper_img").html(data.mapimg_html); 227 setRelHeightCoords(); 228 setNewsListHtml(); 229 setMetaPageTitle(); 230 setGAPageViews(); 231 } else { 232 $("#ep_page_text").text("No Pages"); 233 $("#ep_page").find('.dropdown-menu').html("<li>No Pages Exists</li>"); 234 $("#no-edition").removeClass('hide'); 235 KAUMUDI.utils.hideLoader(); 236 } 237 $('#epaper_pge_img').maphilight(); 238 var actCoords = $('area:first').attr("actcoords"); 239 setSelectedAreaImg(actCoords ? actCoords : $('area:first').attr("coords"), $('area:first').attr("shape"), false); 240 setWebNews($('area:first').attr("newsid"), false); 241 setAudioURL(); 242 } 243 function getImgHtml() { 244 $(".epaper_view").css({ "overflow-x": "visible", "overflow-y": "visible" }); 245 html2canvas([document.getElementById('news_cont')], { 246 onrendered: function (canvas) { 247 document.body.appendChild(canvas); 248 var ctx = canvas.getContext("2d"); 249 ctx.fillStyle = "#FFF"; 250 ctx.fill(); 251 var data = canvas.toDataURL('image/png'); 252 $(".epaper_view").attr("style", "overflow-x:hidden;overflow-y:auto;"); 253 var a = document.createElement('a'); 254 // toDataURL defaults to png, so we need to request a jpeg, then convert for file download. 255 a.href = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); 256 a.download = 'keralakaumudi.jpg'; 257 a.click(); 258 canvas.remove(); 259 } 260 }); 261 } 262 263 function setNewsListHtml() { 264 var formData = new FormData(), 265 newsIds = []; 266 $(".nws-title").text($("#ep_page_text").text()); 267 $("#epaper_img").find("area").each(function () { 268 newsIds.push($(this).attr('newsid')); 269 }); 270 formData.append("news_ids", JSON.stringify(newsIds)); 271 KAUMUDI.utils.showLoader(); 272 function successCallBack(news_html) { 273 KAUMUDI.utils.hideLoader(); 274 $('.nws-box').html(news_html); 275 if (news_html) { 276 $("#pg_view").css({ "width": "50%" }); 277 $(".pges-list-box").css({ "border-left": "none" }); 278 $("#nws_list_view").css({ "display": "block" }); 279 } else { 280 $("#pg_view").css({ "width": "75%" }); 281 $("#nws_list_view").css({ "display": "none" }); 282 $(".pges-list-box").css({ "border-left": "1px solid #dedcdc" }); 283 } 284 setAudioURL() 285 } 286 function errorStatus(textStatus, errorThrown) { 287 KAUMUDI.utils.hideLoader(); 288 } 289 KAUMUDI.utils.sendAjaxPost('EpaperController/GetNewsListHtml', formData, 'html', successCallBack, errorStatus); 290 } 291 function cropImage(image_target, left, top, width, height) { 292 var crop_canvas; 293 crop_canvas = document.createElement('canvas'); 294 crop_canvas.width = width; 295 crop_canvas.height = height + 200; 296 var crop_canvas_ctx = crop_canvas.getContext('2d'); 297 crop_canvas_ctx.rect(0, height, width, height + 200); 298 crop_canvas_ctx.fillStyle = "#f1f1f1"; 299 crop_canvas_ctx.fill(); 300 crop_canvas_ctx.drawImage(image_target, left, top, width, height, 0, 0, width, height); 301 $('body').append('<img src="' + crop_canvas.toDataURL("image/jpeg") + '"/>'); 302 } 303 function setCalendarDaysActive() {
304 var month = parseInt($("#datepicker").find('[data-handler="selectMonth"]').val()) + 1, 305 year = parseInt($("#datepicker").find('[data-handler="selectYear"]').val()), 306 day = 0; 307 var formData = new FormData(); 308 formData.append("prdt_code", $("#ep_prdt").attr("data-pdt")); 309 formData.append("prdt_yr", year); 310 formData.append("prdt_mnth", month); 311 KAUMUDI.utils.showLoader(); 312 function successCallBack(days) { 313 $("#datepicker").find('.ui-datepicker-calendar tbody td[data-handler="selectDay"]').each(function () { 314 day = parseInt($(this).find('.ui-state-default').text()); 315 if (days.indexOf(day) === -1) { 316 $(this).css({ "pointer-events": "none" }); 317 $(this).find('.ui-state-default').css({ "background": "#d6d6d6" }); 318 } 319 }); 320 KAUMUDI.utils.hideLoader(); 321 } 322 function errorStatus(textStatus, errorThrown) { 323 KAUMUDI.utils.hideLoader(); 324 } 325 KAUMUDI.utils.sendAjaxPost('EpaperController/GetActiveDateList' + (reqEdtn ? "?pr=1" : ""), formData, 'json', successCallBack, errorStatus); 326 $('body').find('.ui-datepicker-month,.ui-datepicker-year').change(function () { 327 setCalendarDaysActive(); 328 }); 329 $('body').find('.ui-datepicker-prev,.ui-datepicker-next').click(function () { 330 setCalendarDaysActive(); 331 }); 332 } 333 function recalcCoords() { 334 var imgSize = $("#epaper_img").find('#epaper_pge_img')[0]; 335 var maskWidth = 580; 336 var scale = maskWidth / imgSize.naturalWidth, 337 widthRatio = imgSize.width / maskWidth, 338 heightRatio = imgSize.height / (imgSize.naturalHeight * scale); 339 if (imgSize.width == 580) return; 340 $("#epaper_img").find('area').each(function () { 341 var area = $(this), 342 shape = area.attr('shape').toLowerCase().substr(0, 4); 343 var i, coords = area.attr('coords').split(','); 344 if (shape == 'circ') { 345 var x1 = parseInt(coords[0]), 346 x2 = x1 + parseInt(coords[2]), 347 newRad = Math.round(x2 * widthRatio - x1 * widthRatio); 348 coords[0] = Math.round(x1 * widthRatio); 349 coords[1] = Math.round(coords[1] * heightRatio); 350 coords[2] = newRad; 351 } else { 352 for (i = 0; i < coords.length; i++) { 353 coords[i] = i % 2 == 0 ? parseInt(parseInt(coords[i]) * widthRatio) : parseInt(parseInt(coords[i]) * heightRatio); 354 } 355 } 356 var actCoords = area.attr('actcoords'); 357 area.attr('actcoords', actCoords ? actCoords : area.attr('coords')); 358 area.attr('coords', coords.join(',')); 359 }); 360 KAUMUDI.utils.hideLoader(); 361 362 } 363 function setRelHeightCoords() { 364 $("#epaper_img").find('#epaper_pge_img').one("load", function () { 365 $(".pges-box").css({ "height": $("#epaper_img").find('#epaper_pge_img').height() + 'px' }); 366 $(".nws-box").css({ "height": $("#epaper_img").find('#epaper_pge_img').height() + 'px' }); 367 recalcCoords(); 368 }).each(function () { 369 if (this.complete) { 370 $(this).trigger('load'); 371 } 372 }); 373 } 374 function setGAPageViews() { 375 var epPrdt = $("#ep_prdt").attr("data-pdt"), 376 epDate = moment($("#ep_dte_text").text(), "MMMM DD,YYYY").format("DD-MMMM-YYYY"), 377 epEdition = $("#ep_edition").attr("data-edt"), 378 epPage = $("#ep_page").attr("data-page"); 379 ga('set', 'page', '/epaper/article/' + epPrdt + '/' + epDate + '/' + epEdition + '/' + epPage); 380 ga('send', 'pageview', { 381 'page': '/epaper/article/' + epPrdt + '/' + epDate + '/' + epEdition + '/' + epPage, 382 'title': document.title 383 }); 384 } 385 function setMetaPageTitle() { 386 var epPage = $("#ep_page").attr("data-page").split("_"), 387 epPrdtNameSmall = $("#ep_prdt_text").text().toLowerCase(), 388 epPrdtName = epPrdtNameSmall.charAt(0).toUpperCase() + epPrdtNameSmall.slice(1), 389 epDate = moment($("#ep_dte_text").text(), "MMMM DD,YYYY").format("DD-MMM-YYYY").toUpperCase(), 390 epEdition = $("#ep_edition").attr("data-edt").toUpperCase(), 391 pageTitle = 'Kerala Kaumudi' + (epPrdtName == 'Flash' ? (' ' + epPrdtName) : (' ' + epPrdtName)) + ' Epaper | ' + epDate + ' ' + epEdition + ' ' + (epPage[0] + ' ' + epPage[1]) + ' :: Epaper'; 392 document.title = pageTitle; 393 $("meta[property='og\\:title']").attr("content", pageTitle); 394 } 395 396 function setAudioURL() { 397 var base_url = window.location.origin; 398 var prdt = $("#ep_prdt").attr("data-pdt"); 399 if (prdt == 'CLNDR' || prdt == 'FSH' || prdt == 'WKLY' || prdt == 'SPCL') { 400 $("#ep_audio").hide(); 401 } else { 402 $("#ep_audio").show(); 403 var date = moment($("#ep_dte_text").text(), "MMMM DD, YYYY").format("DD-MM-YYYY"); 404 var edtn = $("#ep_edition").attr("data-edt"); 405 $("#ep_audio_button").attr("href", base_url + "/news/audio.php?dt=" + date + "&p=" + prdt + "&e=" + edtn); 406 } 407 } 408 409 /************** 410 *Public Region* 411 ***************/ 412 return { 413 init: function () { 414 setGAPageViews(); // Google analytics page views 415 var width = (window.innerWidth > 0) ? window.innerWidth : screen.width; 416 if (window.location.href.indexOf('article') !== -1 && window.location.href.indexOf('articles-view') === -1 && width < 970) { 417 window.location = window.location.href.replace('article', 'articles-view'); 418 } 419 var logoWidth = $(".logo-sec").find('img:visible').width(); 420 $(".logo-title").css({ "margin-left": (((($(".logo-sec").width() - logoWidth) / 2) + logoWidth) - 93) + 'px', "display": "inline-block" });
421 var loggedIn = KAUMUDI.utils.getCookie("KKSTAYLOGIN"); 422 if (page == 'EPAPER-PLANS') { 423 $(".toolbar_button").on('click', '#user_info', function () { 424 $(this).closest('li').find('.account-box').attr("style", "display:block"); 425 }); 426 $("#signin-btn").click(function () { 427 $('body').addClass('modal-open'); 428 $('body').append('<div class="modal-backdrop fade in"></div>'); 429 $('#loginModal').addClass('in'); 430 $('#loginModal').css({ "display": "block" }); 431 }); 432 } else if (page == 'EPAPER-ARTICLE') { 433 $("#epDateDialog").dialog({ 434 autoOpen: false, 435 width: "auto", 436 modal: true, 437 title: "Pick Date", 438 draggable: false, 439 resizable: false, 440 minHeight: 120, 441 fluid: true, 442 close: function (event, ui) { 443 } 444 }); 445 $("#datepicker").datepicker({ 446 autoSize: true, 447 changeMonth: true, 448 changeYear: true, 449 defaultDate: new Date(), 450 dateFormat: 'dd/mm/yy', 451 onSelect: function (dateText, inst) { 452 onDateSelect(dateText); 453 }, 454 }); 455 //on page ready recal coords & find html 456 setRelHeightCoords(); 457 setNewsListHtml(); 458 459 //read specials 460 $(document).on('click', '.read-specials', function (e) { 461 var id = $(this).attr("data-id"); 462 $("#SpecialsModalBody").html(""); 463 $('.spcl-bg-black').hide(); 464 $('#SpecialsModal').removeClass('show-modal') 465 $('#ep_dte,#ep_edition,#ep_page,#ep_audio,#ep_video').hide(); 466 467 //reset logo 468 $("#kk_flash_logo").hide(); 469 $("#kk_logo").fadeIn(1000); 470 $(".logo-box").css({ "width": "40%" }); 471 $("#ep_prdt").attr("data-pdt", 'SPCL'); 472 $("#ep_prdt_text").text('Specials'); 473 474 setAvailableDateEdtPage('SPCL', id); 475 }); 476 477 //events 478 $("#ep_prdt,#ep_edition,#ep_page").click(function () { 479 loggedIn = KAUMUDI.utils.getCookie("KKSTAYLOGIN"); 480 if (!loggedIn && !reqProduct && !(typeof is_newstrack !== 'undefined' && is_newstrack)) { 481 alertSignIn(); 482 return false; 483 } 484 $("#ep_prdt,#ep_edition,#ep_page").find('.dropdown-menu').css({ "display": "none" }); 485 $(this).find('.dropdown-menu').css({ "display": "block" }); 486 }); 487 $("#ep_prdt").on('click', '.dropdown-menu li', function (e) { 488 if ($(this).attr("data-pdt") == 'SPCL') { 489 //Special page 490 KAUMUDI.utils.showLoader(); 491 $("#SpecialsModalBody").html('<div style="width: 100%;text-align: center;"><img src="/epaper/assets/images/loader.gif"></div>'); 492 $('#SpecialsModal').addClass('show-modal') 493 $('.spcl-bg-black').show(); 494 $("#ep_prdt .dropdown-menu").attr("style", "display:none"); 495 if (googletag && googletag.pubads) googletag.pubads().refresh(); 496 var formData = new FormData(); 497 KAUMUDI.utils.sendAjaxPost('EpaperController/GetSpecialsList', formData, 'html', 498 function (data) { 499 KAUMUDI.utils.hideLoader(); 500 $("#SpecialsModalBody").html(data); 501 }, 502 function (textStatus, errorThrown) { 503 KAUMUDI.utils.hideLoader(); 504 }); 505 } else { 506 //all other products 507 $('#ep_dte,#ep_edition,#ep_page,#ep_audio,#ep_video').show(); 508 if (googletag && googletag.pubads) googletag.pubads().refresh(); 509 if ($("#ep_prdt").attr("data-pdt") != $(this).attr("data-pdt")) { 510 $("#ep_prdt").attr("data-pdt", $(this).attr("data-pdt")); 511 $("#ep_prdt_text").text($(this).text()); 512 setAvailableDateEdtPage($(this).attr("data-pdt"), ''); 513 if ($(this).attr("data-pdt") == 'FSH') { 514 $("#kk_logo").hide(); 515 $("#kk_flash_logo").fadeIn(1000); 516 $(".logo-box").css({ "width": "18%" }); 517 } else { 518 $("#kk_flash_logo").hide(); 519 $("#kk_logo").fadeIn(1000); 520 $(".logo-box").css({ "width": "40%" }); 521 } 522 var logoWidth = $(".logo-sec").find('img:visible').width(); 523 $(".logo-title").css({ "margin-left": (((($(".logo-sec").width() - logoWidth) / 2) + logoWidth) - 93) + 'px' }); 524 $("#main-container").css({ "margin-top": ($(".fixed-header").height() + 10) + 'px' }); 525 } 526 $("#ep_prdt .dropdown-menu").attr("style", "display:none"); 527 e.stopPropagation();
528 loggedIn = KAUMUDI.utils.getCookie("KKSTAYLOGIN"); 529 if (!loggedIn && reqProduct && !(typeof is_newstrack !== 'undefined' && is_newstrack)) { 530 alertSignIn(); 531 return false; 532 } 533 } 534 }); 535 $("#ep_edition").on('click', '.dropdown-menu li', function (e) { 536 if (googletag && googletag.pubads) googletag.pubads().refresh(); 537 $("#ep_edition").attr("data-edt", $(this).attr("data-edt")); 538 $("#ep_edition_text").text($(this).text()); 539 $("#ep_edition .dropdown-menu").attr("style", "display:none"); 540 setPages(); 541 e.stopPropagation(); 542 }); 543 $("#ep_page").on('click', '.dropdown-menu li', function (e) { 544 // if ($(this).attr("data-page").substring(0,2) != '01') { 545 if ($(this).index() > 0) { 546 loggedIn = KAUMUDI.utils.getCookie("KKSTAYLOGIN"); 547 var hasNewstrackAccess = (typeof is_newstrack !== 'undefined' && is_newstrack) || (typeof reqProduct !== 'undefined' && reqProduct !== ''); 548 if (loggedIn || hasNewstrackAccess) { 549 if (!hasNewstrackAccess && sub_start != '') { 550 is_paid = false; 551 ep_dt = document.getElementById('epaper_pge_img').src.split('/'); 552 if (ep_dt[5] == 'DLY') { 553 eDate = new Date(ep_dt[6] + '/' + ep_dt[7] + '/' + ep_dt[8]); 554 today = new Date(); 555 cDate = new Date(`${today.getFullYear()}/${String(today.getMonth() + 1).padStart(2, '0')}/${String(today.getDate()).padStart(2, '0')}`); 556 for (let sr of sub_rec) { 557 from = new Date(sr.date_from); 558 to = new Date(sr.date_to); 559 if ((eDate >= from && eDate <= to) || (cDate >= from && cDate <= to)) { 560 if (ep_dt[9] == 'EPR') { 561 if ([0, 1, 3, 4, 7].includes(sr.plan_id)) { 562 is_paid = true; 563 break; 564 } 565 } else { 566 if ([0, 2, 5, 6, 7].includes(sr.plan_id)) { 567 is_paid = true; 568 break; 569 } 570 } 571 } 572 } 573 if (!is_paid) { 574 const targetDate = new Date(sub_start); 575 const today = new Date(); 576 targetDate.setHours(0, 0, 0, 0); 577 today.setHours(0, 0, 0, 0); 578 const diffTime = targetDate - today; 579 const diffDays = Math.round(diffTime / 86400000); 580 document.querySelector('[data-modal="sub-plans"]').click(); 581 if (diffDays < 0) return false; 582 } 583 } 584 } 585 } else { 586 alertSignIn(); 587 return false; 588 } 589 } 590 if (googletag && googletag.pubads) googletag.pubads().refresh(); 591 $("#ep_page").attr("data-page", $(this).attr("data-page")); 592 $("#ep_page").attr("data-curindex", $(this).attr("data-curindex")); 593 $("#ep_page_text").text($(this).text()); 594 $("#ep_page .dropdown-menu").attr("style", "display:none"); 595 setMapImgHtml($(this).attr("data-page")); 596 e.stopPropagation(); 597 }); 598 $("#ep_publications").click(function () { 599 $(this).find('.dropdown-menu').css({ "display": "block" }); 600 }); 601 // Function to check device token for single device login enforcement 602 function checkDeviceToken() { 603 if (typeof is_newstrack !== 'undefined' && is_newstrack) return; 604 if (!logged_in_user) return; 605 606 // Admin email (you) 607 // var isAdmin = (logged_in_user === "[email protected]"); 608 609 // Choose correct folder 610 // var folder = isAdmin 611 // ? "/apps/epaper/login_limit/" 612 // : "/apps/epaper/device_token/"; 613 614 // Add cache-busting parameter 615 // var url = folder + logged_in_user + ".txt?t=" + new Date().getTime(); 616 var url = "/apps/epaper/login_limit/" + logged_in_user + ".txt?t=" + new Date().getTime(); 617 618 $.ajax({ 619 url: url, 620 cache: false, 621 dataType: 'json' 622 }).then(function (serverData) { 623 var client_token = (KAUMUDI.utils.getCookie("DEVICETOKEN") || "").trim(); 624 625 // if (isAdmin) { 626 // Handle JSON token array 627 if (Array.isArray(serverData)) { 628 if (!serverData.includes(client_token)) { 629 console.log("Token mismatch ? user logged out (admin multiple login exceeded)"); 630 KAUMUDI.AUTH.userLogout('#logout_btn', '/epaper/'); 631 } 632 } else { 633 console.log("Invalid JSON token format for admin user"); 634 } 635 // } else { 636 // // Handle plain text token 637 // var server_token = (serverData || "").toString().trim(); 638 // if (client_token && server_token && client_token !== server_token) { 639 // console.log("Token mismatch � user logged out (new login detected)"); 640 // KAUMUDI.AUTH.userLogout('#logout_btn', '/epaper/'); 641 // } 642 // } 643 }).catch(function (error) { 644 console.log("Device token check failed:", error); 645 }); 646 } 647 648 // Check device token on page load 649 checkDeviceToken(); 650 651 // Check device token periodically every 10 seconds 652 setInterval(checkDeviceToken, 10000); 653 654 $('body').click(function (e) { 655 // Check device token on user interaction 656 if ($(this).index() > 0) { 657 checkDeviceToken(); 658 } 659 var container = $("#ep_prdt,#ep_edition,#ep_page,#user_info,.account-box,#ep_publications"); 660 if (!container.is(e.target) && container.has(e.target).length === 0) { 661 $("#ep_prdt .dropdown-menu,#ep_edition .dropdown-menu,#ep_page .dropdown-menu,#ep_page .dropdown-menu,.account-box,#ep_publications .dropdown-menu").attr("style", "display:none"); 662 } 663 }); 664 $("#ep_dte").click(function () {
665 loggedIn = KAUMUDI.utils.getCookie("KKSTAYLOGIN"); 666 if (!loggedIn && !(typeof is_newstrack !== 'undefined' && is_newstrack)) { 667 alertSignIn(); 668 return false; 669 } 670 if (googletag && googletag.pubads) googletag.pubads().refresh(); 671 $("#epDateDialog").dialog("open"); 672 setCalendarDaysActive(); 673 }); 674 $("#epaper_img").on('click', 'area', function () { 675 if (googletag && googletag.pubads) googletag.pubads().refresh(); 676 var newsId = $(this).attr("newsid"); 677 var actCoords = $(this).attr("actcoords"); 678 setSelectedAreaImg(actCoords ? actCoords : $(this).attr("coords"), $(this).attr("shape"), true); 679 setWebNews(newsId, true); 680 }); 681 //set default news on page loads on first area 682 var actCoords = $('area:first').attr("actcoords"); 683 setSelectedAreaImg(actCoords ? actCoords : $('area:first').attr("coords"), $('area:first').attr("shape"), false); 684 setWebNews($('area:first').attr("newsid"), false); 685 686 $("#get_img").click(function () { 687 var imgPath = $("#epaper_img").find('img').attr("src"); 688 var imgPathPieces = imgPath ? imgPath.split("/") : []; 689 if (imgPathPieces) { 690 imgPathPieces[imgPathPieces.length - 1] = "image_hd.jpg"; 691 } 692 var myImage = new Image(); 693 myImage.src = imgPathPieces.join("/"); 694 var x = document.createElement("IMG"); 695 x.setAttribute("src", imgPathPieces.join("/")); 696 cropImage(x, 90 * (3280 / 580), 260 * (4894 / 865), (502 * (3280 / 580)) - (90 * (3280 / 580)), (644 * (4894 / 865)) - (260 * (4894 / 865))); 697 }); 698 $("#ep_full_view").click(function () { 699 loggedIn = KAUMUDI.utils.getCookie("KKSTAYLOGIN"); 700 if (!loggedIn && !(typeof is_newstrack !== 'undefined' && is_newstrack)) { 701 alertSignIn(); 702 return false; 703 } 704 var imgPath = $("#epaper_img").find('img').attr("src"); 705 var imgPathPieces = imgPath ? imgPath.split("/") : []; 706 if (imgPathPieces) { 707 imgPathPieces[imgPathPieces.length - 1] = "image_hd.jpg"; 708 } 709 window.open(baseUrlEP + 'page-view?u=' + window.btoa(imgPathPieces.join("/")), "_blank"); 710 }); 711 $("#web_link").click(function () { 712 window.open($(this).attr("data-url"), "_blank"); 713 }); 714 //Trigger Audio 715 $("#trigger-audio").click(function () { 716 $("#audio-wrap").toggleClass("sactive"); 717 }); 718 $("#img_view_btn").click(function () { 719 $("#img_view").removeClass('hide'); 720 $("#text_view").addClass('hide'); 721 $("#img_view_btn").addClass('hide'); 722 $("#txt_view_btn").removeClass('hide'); 723 $("[data-network]").attr("data-url", web_url ? encodeURI(web_url + '&s_im=' + encodeURI(areaimg_url)) : encodeURI(areaimg_url)); 724 $("[data-network]").attr("data-image", encodeURI(hostAddress + areaimg_url)); 725 }); 726 $("#txt_view_btn").click(function () { 727 $("#img_view").addClass('hide'); 728 $("#text_view").removeClass('hide'); 729 $("#img_view_btn").removeClass('hide'); 730 $("#txt_view_btn").addClass('hide'); 731 $("[data-network]").attr("data-url", web_url ? encodeURI(web_url + '&s_im=' + encodeURI(areaimg_url)) : encodeURI(areaimg_url)); 732 $("[data-network]").attr("data-image", encodeURI(hostAddress + areaimg_url)); 733 }); 734 $(".pges-list-box").on('click', '.pge_list', function () { 735 var $this = $(this); 736 if ($('#ep_prdt').attr('data-pdt') == 'SPCL') { 737 $('#ep_prdt').attr('data-pdt', $this.attr('data-spclprod')); 738 $('#ep_edition').attr('data-edt', $this.attr('data-spcledtn')); 739 $('#ep_dte_text').text($this.attr('data-spcldte')); 740 $("#ep_page").find('.dropdown-menu li[data-page="' + $(this).attr("data-page") + '"]').click(); 741 //Reset after click for next click 742 setTimeout(function () { $('#ep_prdt').attr('data-pdt', 'SPCL'); $("#ep_audio").hide(); }, 1000); 743 } else { 744 $("#ep_page").find('.dropdown-menu li[data-page="' + $(this).attr("data-page") + '"]').click(); 745 } 746 }); 747 $(".nws-box").on('click', '.nws-item', function () { 748 $("#epaper_img").find('area[newsid="' + $(this).attr("data-newsid") + '"]').click(); 749 }); 750 $(".nws-box").on('mouseover', '.nws-item', function () { 751 $("#epaper_img").find('area[newsid="' + $(this).attr("data-newsid") + '"]').mouseover(); 752 }); 753 $(".nws-box").on('mouseout', '.nws-item', function () { 754 $("#epaper_img").find('area[newsid="' + $(this).attr("data-newsid") + '"]').mouseout(); 755 }); 756 $(".toolbar_button").on('click', '#user_info', function () { 757 $(this).closest('li').find('.account-box').attr("style", "display:block"); 758 }); 759 $("#signin-btn").click(function () { 760 $('body').addClass('modal-open'); 761 $('body').append('<div class="modal-backdrop fade in"></div>'); 762 $('#loginModal').addClass('in'); 763 $('#loginModal').css({ "display": "block" }); 764 }); 765 $('[data-toggle="tab"]').click(function () { 766 $(".tab-pane").removeClass('active'); 767 $($(this).attr('href')).addClass('active'); 768 $("#tabs").find('li').removeClass('active'); 769 $(this).closest('li').addClass('active'); 770 }); 771 $(".toggle-font-size").click(function () { 772 var $this = $(this), 773 $target = $("#news_desc"), 774 action = $this.attr("data-action"), 775 currentSize = parseInt($target.css('font-size')), 776 lineHeight = parseInt($target.css('line-height')); 777 if (action == 'plus') { 778 if (currentSize <= 30) { 779 $target.css('font-size', currentSize + parseInt(1) + "px"); 780 $target.css('line-height', lineHeight + parseInt(1) + "px"); 781 } 782 } else { 783 if (currentSize > 16) { 784 $target.css('font-size', currentSize - parseInt(1) + "px"); 785 $target.css('line-height', lineHeight - parseInt(1) + "px"); 786 } 787 } 788 }); 789 $(".cal_pge").click(function () { 790 var thumb_img_path = $(this).find('img').attr('src'); 791 var act_img_path = thumb_img_path.replace('thumbs', 'imgs'); 792 $("#epaper_img").html('<img src="' + act_img_path + '" width="100%">'); 793 }); 794 if (window.location.href.indexOf('/calendar/') > 0) {
795 loggedIn = KAUMUDI.utils.getCookie("KKSTAYLOGIN"); 796 if (!loggedIn && !(typeof is_newstrack !== 'undefined' && is_newstrack)) { 797 alertSignIn(); 798 return false; 799 } 800 } 801 802 //Play Video 803 $("#video_view_btn").click(function () { 804 var video = $(this).attr("data-vid"); 805 if (video) { 806 $('body').addClass('modal-open'); 807 $('#modal').addClass('in'); 808 $('body').append('<div class="modal-backdrop fade in"></div>'); 809 $('#modal').css({ "display": "block" }); 810 $("#info-body").html('<iframe width="100%" height="450" src="https://www.youtube.com/embed/' + video + '?autoplay=1&rel=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'); 811 $("#info-body").show(); 812 } 813 }); 814 815 if (reqProduct && reqDate && reqEdtn) { 816 setTimeout(function () { 817 //NT Dynamic Click 818 if ($('#ep_prdt').attr("data-pdt") != reqProduct) { 819 $("li[data-pdt='" + reqProduct + "']").click(); 820 } 821 onDateSelect(reqDate); 822 }, 500); 823 } else if (reqProduct) { 824 if ($('#ep_prdt').attr("data-pdt") != reqProduct) { 825 KAUMUDI.utils.showLoader(); 826 setTimeout(function () { 827 $("li[data-pdt='" + reqProduct + "']").click(); 828 KAUMUDI.utils.hideLoader(); 829 }, 500); 830 } 831 } 832 833 if (typeof home_cal_link !== 'undefined' && home_cal_link !== null) { 834 setTimeout(function () { 835 $("li[data-pdt='" + home_cal_link.hcl_product + "']").click(); 836 onDateSelect(home_cal_link.hcl_date); 837 setTimeout(function () { 838 $('#ep_dte_text').text('January 01, ' + home_cal_link.hcl_date.slice(-4)); 839 }, 500); 840 }, 500); 841 } 842 } 843 }, 844 setNoAreaImg: function () { 845 $("#img_view").html('<div id="no-web-news" class="hide"><p>Sorry, No clipping found for this selection.</p></div>'); 846 $("[data-network]").attr("data-url", encodeURI(web_url)); 847 } 848 } 849})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.